记⼀次对Steam盗号病毒的反制过程
*严正声明:本⽂仅限于技术讨论与分享,严禁⽤于⾮法途径。
事情起缘
事情起缘于上周的⼀个⽆聊的周末,周末总是⽆聊⽽⼜乏味,好基友每周也准时约我吃鸡,可奈何我这个穷逼买!不!起!号!怎么办呢?对!卡盟,随便百度了⼀个某某卡盟,果然⾥⾯各种各样的游戏的账号都有,⽽且⼤部分的都是⿊号,⾄于什么是⿊号就不多说了(像这种倒卖⿊号的也是⼀条产业链),就随便下了个订单。果不其然,并不是简简单单的直接发账号密码给你,⽽且还需要你下载所谓的登录器,有些安全意识的朋友都知道陌⽣可执⾏的⽂件千万不要随便去运⾏。下载下来后,AV软件不出所料的报红了。
可是我头铁啊,不怂!直接解压添加⽩名单⼀⽓呵成运⾏软件,运⾏后我傻眼了,what??软件居然在跟远程服务器做交互。
起初我以为这只是单纯的从远程服务器上下载账号所需的⽂件⽽已,⼤家都知道当steam在新的⼀台电脑上登陆的时候是要登陆验证的,其实这类的绕过验证的原理也很简单,steam登陆的时候在根⽬录产⽣了两个⽂件类似于cookie,估计是那些盗号者通过不为⼈知的⼿段盗取到号者的秘钥⽂件然后统⼀到
远程服务器,在然后下载到本地替换⽂件从⽽到达了绕过验证的操作。确实,这台服务器只是简单的储存账号的秘钥⽂件,可是!!可是!!登陆授权软件这个⼩碧池背着我⼜偷偷的在后台搞⼩动作,还好AV软件给我及时的拦了下来,省去了进⼀步对软件⾏为的分析。居然!在Windows的⽬录下⽣产个shell⽂件夹,⾥⾯还是有⼀套ms17-010⼯具,嗯?给你钱了还要搞我⼀波内⽹?这谁乐意啊。
信息探测
由于前⾯已经抓到了该软件跟服务器交互的ip,既然是跟盗号有关的我第⼀个念头想到的就是威胁情报,直接把该ip丢到了某威胁情报看看能不能到什么线索,果不其然在五⽉份的时候就有⽤户标记出了此IDC服务器是⽤于steam盗号的,且爆出了疑似该服务器的所有者的⼀些联系⽅式。
虽然得到了⼀些可能跟该服务器有关的⼀些信息,或许这些信息对后续需要爆破时制作密码表是有⼀定的帮助的,爆破属于后续且咱们现在还对该服务器⼀⽆所知,还不清楚开放了哪些端⼝提供哪些服务,废话不多说上nmap⼀顿扫描再说。 Nmap -sV -Pn -O -95,得到以下信息,中间件使⽤的是Apache2.4.39版本,服务器是Windows server 2008 R2,且开放的web端⼝是90,1433的mssql数据库端⼝也是对外⽹开放的(这⾥我们可以结合上⾯得到的信息制作密码表对数据库进⾏爆破)。
上⾯只是对该服务器的⼀些端⼝信息初步的探测,接下来咱们在⽤nmap⾃带的漏洞脚本进⼀步对主机的漏洞进⾏探测,nmap –=95这⾥是利⽤nmap脚本对⽬标主机进⾏检查是否存在常见的
漏洞,且如果存在漏洞nmap也会给出相应的cve编号,然后咱们在利⽤kali⾃带的metasploit渗透框架进⾏对应的cve编号搜索验证利⽤。很遗憾,这⾥就探测出了⼀个有cve编号的漏洞cve-2014-3566,该漏洞是属于ssl3.0的信息泄露漏洞可进⾏中间⼈攻击,这⾥咱们就不深⼊研究了(实际利⽤的可能性不⼤)。
那么接下来就让我们看看该主机所开放的90端⼝都有什么web服务吧,如果是采⽤cms套件搭建的⽹站那对于我们后续进⼀步的渗透可能会有所帮助,可遗憾的是该主机所能访问的web端⼝并未建⽴起任何的服务。难道真的只能通过爆破1433数据库了?爆破成不成功先不说,爆破所花费的时间也是⼤量的,且直觉告诉我,这台服务器应该只是提供账号秘钥的存储与下载,就不花费太多的精⼒在上⾯了。
柳暗花明
正当我⼀筹莫展的时候,思路⼜回到了起始点,该授权登录器我还没好好的去分析呢,起初只是通过杀毒软件的拦截简单的进⾏判断⽽已,扔进虚拟沙箱跑⼀遍看看。果然是盗号软件,⾚裸裸的按键记录⾏为。
接下来在看看该盗号软件的执⾏流程,发现该软件释放出来的⼦程序还有跟另⼀台服务器有HTTP交互,且该服务器上的Windows.zip⽂件正是那套ms17-010的内⽹扫描⼯具。
这⾥直接抓到了有交互的web端⼝,咱们访问之….看看病毒传播者是⽤什么容器来搭建的web服务,⽤的是HttpFileServer v2.3 b 271 随波版,随⽽⽹上查阅了相关的资料,发现该版本存在⾼危远程代码执⾏漏洞随即进⾏了验证,由于验证时使⽤了shutdown -s -t 1导致了服务器关机,后⾯估计病毒传播者发现⾃⼰服务器被搞了就下线了该服务,更多详细的步骤也没能及时截图下来。
拿下权限
服务器关停了⼀天,不过这样也好⾄少市⾯上的软件⽆法从服务器上下载恶意软件进⾏传播了,我以为此事到这来就要结束了,可谁曾想⽹站⼜重新开起来了,只不过换了另⼀种搭建服务器。这刺眼的phpinfo.php想都不⽤想百分之百是⽤PHPstudy搭建的。
Phpstudy?这让我不禁想到了个把⽉前爆出的后门事件,也是妥妥的属于⾼危远程代码执⾏漏洞啊。⾄于phpstudy后门事件我这⾥也不多说了,就简单的说⼀说所可能存在后门的特性。后门代码存在于\ext\php_xmlrpc.dll模块中的,这⾥我们可以打开phpinfo.php⽂件通过浏览器Ctrl+f键快速的搜索查看是否它调⽤了xmlrpc这个模块。
果然是有调⽤这个xmlrpc模块的,我估计这个病毒的传播者并不是很关注安全这⼀块的,前⾯的hfs早在15年就爆出有远程执⾏漏洞,现在重新搭建了服务还是有后门的(不禁笑出了声,可见关注安全情报的重要性),接下来就是验证漏洞后门是否可以利⽤了,咱们先⽤⽕狐浏览器对他简单的抓包在重新构
造数据包发送看看。因为后门的特性所以需要对构造的恶意代码echo system(‘whoami’);进⾏besa64编码才可执⾏成功。
然后发完包后再点击重新发包后的连接查看所有返回的响应页⾯,果不其然的成功执⾏了whoami命令已可以确认该phpstudy是存在后门的。
为了能更直观的展现出来也为了⽅便,咱们⽤burp来抓包发包,设置好到burp的代理后刷新⼀遍就可以抓到浏览器的发包了,在然后Ctrl+r发送到burp的Repeatr测试发包,这⾥试试net user的命令看看都有哪些⽤户。
命令⼀样的执⾏成功了,在systeminfo看看系统的信息……过了许久服务器终于回包了,居然安装了330个补丁
包估计是关他服务器时感到了警觉把能打的补丁都打上了吧,可他万万没想到漏洞不是出在系统的。
接下来在netstat -an看看都开了些什么端⼝,好对下⼀步进⾏⼯作有帮助,果然是控制⾁鸡的服务器,⼤量的ip跟服务器的8000端⼝有tcp流量。
为了不引起管理员的警惕这⾥使⽤net user administrator看看管理员账号上次的登陆时间是多少然后我们在添加⾃⼰的账号进去,这⾥算是个⼩技巧吧不像第⼀次验证漏洞的可⽤性时直接把⼈家机⼦给关
用phpstudy搭建网站
机了,⼋点的时候登陆的,现在已经凌晨了,估计管理员已经睡觉了可以放开⼿去⼲了。
经凌晨了,估计管理员已经睡觉了可以放开⼿去⼲了。
之前net user的时候有mysql这个账号那么我们就新建个mysq1的账号把L模仿成数字1,或者可以在账号后⾯加个$⽤于隐藏账号,这样⾄少在管理员粗⼼的情况下新建的账号能存活⼀段时间。
万事具备只⽋连接端⼝了,尝试了⼀下默认端⼝3389发现连接失败,我估计可能是管理员修改了默认端⼝,没事,上nmap来⼀波-p 1-65355端⼝扫描,把所有开放的端⼝都给它扫出来,可以看到原有的3389被管理员修改成了33890。开启⼩飞机代理连接之…….成功拿下病毒代理服务器。
翻了翻资料,⽬前已经盗取到了1061个吃鸡账号。
盗号的太可恶了,把他的远控马全给下了也把盗到的账号数据也给清空了,最后留张图清⽇志⾛⼈。
*本⽂原创作者:夜⽆名,本⽂属于FreeBuf原创奖励计划,未经许可禁⽌转载