031-一个支付宝木马的分析溯源之旅.md
12.25 KB / 2021-07-17 00:01:36
# 一个支付宝木马的分析溯源之旅
**Author: 360天眼实验室**
0x00 引子
=======
* * *
人在做,天在看。
与网络的黑暗面斗争中,我们看到太多的年轻人陷入黑产的陷井,少数人暴发横财及时收手还能全身而退,多数人身处产业链的底端所得不多却受牢狱之灾。年轻人是国家的未来,他们敢想敢干而又无知鲁莽,希望他们不要为一时的无知付出太大的代价,今天的这个文章可以算作一个警醒,千金不换回头路。
网络从来就是一把双刃剑,越来越便捷的知识传播让广大的网络黑产工作者们只需简单修改别人的代码就可以制作出所谓的原创木马病毒,并进一步出售进行获利。近期,360天眼实验室拦截到一类盗取用户支付宝余额的木马,追根溯源揪出了木马制造者及一批木马放马者,而背后的造马者竟是一个高三学生,我们想说考不考得上大学还在其次,这位同学现在最应该读一下网络犯罪相关法条立即收手以免终身受此所累。
0x01 样本分析
=========
* * *
为了对抗查杀,使用易语言做木马开发极其常见,我们所看到的这个样本即是如此,相关的信息如下,供大家参考。
木马文件MD5: 1976f6cbbc32fcbd7eaa75318642a182
尽管分析起来有点麻烦,但搞清楚木马行为只是时间问题,主要包括:
* 代码加入花指令,对抗分析调试
* 过期自动失效(失效后想再次使用木马就要向木马作者缴费再次购买)
* 访问腾讯微博、新浪微博链接地址获取支付宝交易的钱数、次数、频率
* 开线程监控用户的支付宝转账操作,同时将转账地址替换成放马者指定的支付宝账户
### 加入花指令,对抗分析调试
部分花指令如下:
![](http://drops.javaweb.org/uploads/images/b4a7264e8ce13247c38fa4115eae68f910004506.jpg)
### 判断木马是否过期
过期时间是2016年1月14日,如图:
![p2](http://drops.javaweb.org/uploads/images/ce6f7e9986ec948e9d07f13f5d6f3e9e80ba170c.jpg)
### 访问微博链接获取交易欺诈参数
访问`http://t.qq.com/q912xxx937`微博地址,匹配出木马所需的信息,微博内容为:
![p3](http://drops.javaweb.org/uploads/images/b983f0c3a7454cf8cb3d76b8e8d63a0453ee1c9f.jpg)
解密出微博地址:
![p4](http://drops.javaweb.org/uploads/images/41db8245de66b781159610bffe5ba3bf592a5178.jpg)
访问腾讯微博地址,得到微博内容:
![p5](http://drops.javaweb.org/uploads/images/11dc9b32e15cb110323de5bab33c7885863e411c.jpg)
从微博页面中匹配“支付宝读取头部”和“支付宝读取尾部”,匹配出木马预留信息:
![p6](http://drops.javaweb.org/uploads/images/215e8f420c3e9d1bf8543e7875c5a530d742630a.jpg)
获取到页面数据后,通过作者预先写好的开始标记和结束标记读取到用到的数据:
![p7](http://drops.javaweb.org/uploads/images/7d46890f13002b844f94faa9ef2ec915e70d80ce.jpg)
从微博读取到的支付宝所需数据格式为"13267932191|1100|80|1100",其中的13267932191表示支付宝账号,1100表示快捷金额,80表示触发金额,1100 是最大限额。当然,如果腾讯微博格式发布信息格式不正确,木马还会弹窗报错,提示发布正确格式的微博内容。
![p8](http://drops.javaweb.org/uploads/images/2a795eed118cbdb119ab43c5bbb835927b147a16.jpg)
对于木马转账的支付宝账号:13267932191,推测应该是一个手机号,从搜索引擎搜索结果得知,手机归属地是广州惠州的,如图:
![p8](http://drops.javaweb.org/uploads/images/82e6d14d084982ffa7c093c2e81a574d878227e8.jpg)
![p9](http://drops.javaweb.org/uploads/images/735695023a9532ea10bfe1300a2d848a35b6443e.jpg)
### 账号替换
木马程序打开后起线程不停查找浏览器的窗口,直到浏览器的地址栏包含alipay字符后,木马开始对支付过程进行劫持:
调用易语言的类库,获取当前的URL地址,用于判断用户是否正在进行支付操作。
![p10](http://drops.javaweb.org/uploads/images/ee4c5105b140160abac2b5234231bbdb60ea7226.jpg)
如果用户正在进行支付操作,就查找`https://personalweb.alipay.com/portal/newhome.htm`网址中的`<span class="integer"`标签和`<input type="hidden" id="J-mfund-balance" value=`标签分别得到用户的账户余额和余额宝的余额。
![p11](http://drops.javaweb.org/uploads/images/37bb45c8b663799adb5dacbb540ae87fe9787e25.jpg)
![p12](http://drops.javaweb.org/uploads/images/6ba116705eb6e98062f1b5b9e6a2ad51ba7d1e55.jpg)
在后台进行封包劫持:
![p13](http://drops.javaweb.org/uploads/images/2b0f63193ac78796b094f238f09bad4ba2359cc1.jpg)
![p14](http://drops.javaweb.org/uploads/images/1d0b945898abc7c6bd3bf6e9e5a3f25da82ac7f4.jpg)
木马通过注入浏览器,后台Post提交参数的方式,用户从浏览器中看不出有任何的异常,而只有在支付之后的交易记录中,才有可能发现收款人已被替换。而一切都以为时晚矣。
0x02 推手追索
=========
* * *
通过搜索引擎搜索“支付宝读取头部”关键字,我们找到了一批有问题的腾讯微博账号,这些账号大多都是直接从木马作者手中购买木马的“放马者”:
![p15](http://drops.javaweb.org/uploads/images/7a08c1d136347c979288c2734a7f7060d65a6961.jpg)
然后,我们就从这批放马者的账号中发现一个亮瞎眼的账号内容
`http://t.qq.com/hy617xxx31`
至于亮瞎眼的原因见下图,由此,我们定位到了可疑造马者,QQ号为:5500xxx39和617xxx31 :
![p16](http://drops.javaweb.org/uploads/images/6648d59a5a60c874cc68739329853804da3f6e03.jpg)
下面我就将按照”造马者”与“放马者”两条线索分别展开。
### 造马者追踪
通过对造马者的发微博时的实时位置,定位到造马者经常在四川省南充市活动,如图:
![p17](http://drops.javaweb.org/uploads/images/46405c1e503d003f74564cada4b90dbaffe18e82.jpg)
![p18](http://drops.javaweb.org/uploads/images/c3298eb7daf760ca43fb4e85dacf934419e09d44.jpg)
另外,通过对上面两个QQ号公开的信息比较,也确定这两个QQ号都是造马者的QQ号,其中5500xxx39的QQ号为造马者的小号。
![p19](http://drops.javaweb.org/uploads/images/2e7d52af583877f1b2fb776cf4becbce220b43c2.jpg)
而617xxx31为造马者联系木马业务的常用号码:
![p20](http://drops.javaweb.org/uploads/images/db67dfe98f1e3854f967c0447cc57fec7d900d00.jpg)
从搜索引擎也得知,造马者曾被人举报,称造马者盗源码写软件:
![p21](http://drops.javaweb.org/uploads/images/b0bc5deeb4790c1c6e20fdc2a7f0fca72301129f.jpg)
造马者为了销售木马,还专门成立了一个QQ群,推测群里应该有好多放马者,当然根据群位置信息,也可以进一步确定造马者所在的地理位置正是南充,与前面关于造马者地理的推断一致。
![p22](http://drops.javaweb.org/uploads/images/832341739ede6f92ed45f4864d0eb4f6a091a2c4.jpg)
过对造马者QQ持续的关注,基本可以断定造马者是高中生。
2015年12月份,造马者QQ的修改签名为“秒余额,快捷,余额宝免杀马代秒鱼。回5。需要的私聊大量收家庭肉鸡,有的窗口。”,如下图
![p23](http://drops.javaweb.org/uploads/images/01f68cd1986f9ad98ee84df72a232077affc0ce1.jpg)
而2016年2月29日,QQ个性签名更改为“3月份停工,高考后复出,学习新技能”,可以推断出造马者是高中生:
![p24](http://drops.javaweb.org/uploads/images/5c11dfabd75291596d5924736811a8e1aac11de4.jpg)
与此同时,我们还在造马者的腾讯微博中看到造马者对木马书写的“产品说明书”(支持Windows所有版本)、“广告语”(高度人性化,可操作性强,稳定性强)、价格(支付宝收款700/月,银行卡收款1000/月)等,见下图:
![p24](http://drops.javaweb.org/uploads/images/0ecfe1cd65390fba873608e8073096b192f6747d.jpg)
查询QQ群关系数据库,得到造马人的另外一个常用的QQ号码:963xxxx39:
![p25](http://drops.javaweb.org/uploads/images/62bf7a617990ff0cb17aa67f4387b8f01059ee38.jpg)
![p28](http://drops.javaweb.org/uploads/images/27911b44df95a200d80288bc63395d73b543cfc8.jpg)
通过网上搜索QQ963xxxx39,发现造马者经常关注一些网络上的黑客教程,并且曾经从易语言论坛下载过支付宝支付账单源代码,如图:
![p27](http://drops.javaweb.org/uploads/images/167ce7c479eb1f5001e59ea03fa3a80493abd8b7.jpg)
![p28](http://drops.javaweb.org/uploads/images/9312a55eaf008b12d276744a765a32167a1a3a6d.jpg)
![p29](http://drops.javaweb.org/uploads/images/7c04cb46f1a5449c20996e2817aadc16bab12501.jpg)
把易语言论坛上的这份“支付宝支付账单的源代码”下载后得知,代码的作用是查询支付宝交易记录,造马者在造马的过程中参考过这份源码。如图:
![p30](http://drops.javaweb.org/uploads/images/9f668f69ee294d031a86fb92ebf305d00257d8c8.jpg)
索引擎查询造马者QQ号关键字找到了这个人的优酷账号,其上传的视频中表明造马者的另一个身份:dnf玩家。
![p31](http://drops.javaweb.org/uploads/images/d2807a8d5fe55cd8605bcbaf0cdb602bf04230ac.jpg)
同时搜索引擎告诉我们的还包括造马者的淘宝账号:a963xxxx39
![p32](http://drops.javaweb.org/uploads/images/37dfa6f582496c61714e095562cb176699e095bb.jpg)
在此,我们推测这人的邮箱地址可能为:`a96*****[email protected]`
通过163找回密码,发现账号绑定的手机号码的后三位与淘宝账号中的手机的后三位是相同的,这就断定`a96*****[email protected]`邮箱是属于造马者的,如图:
![p33](http://drops.javaweb.org/uploads/images/6b08bf57b7761198253922bea8ad254168720eb6.jpg)
通过尝试,找到了造马者的163邮箱密码:96xxxxx39
在邮箱中的已发送邮件中,大量的cf木马发送的邮件,邮件内容里面都是木马盗取的cf账号和密码等游戏信息。
![p34](http://drops.javaweb.org/uploads/images/8085b15a4e618472aee75a3ef6fc5a3a3d93603d.jpg)
![p35](http://drops.javaweb.org/uploads/images/4d69f747b01048da709ce266c8d16551aeff6811.jpg)
此外,观察到邮箱中有作者的MAC地址:00-50-56-c0-00-01,应该是造马者在测试程序时发送的,如图:
![p36](http://drops.javaweb.org/uploads/images/8491e85454279d7dbfd5615076fdecb9d8d52802.jpg)
总结:
造马者经常活动于南充,可能的身份为:在校高中学生。机器mac地址可能为: 00-50-56-c0-00-01,作者不仅编写支付宝木马,还曾经盗取过cf游戏账号,常用邮箱为:[email protected],常用密码为:a96xxxxx39,常用的三个QQ号为617xxx31,5500xxx39,和963xxxx39,其中617xxx31号多用来卖支付宝木马;963xxxx39号多用来盗取游戏账号;5500xxx39为小号,不常使用。淘宝账号为:a963xxxxx39,手机号为:136xxxx5205
### 放马者分析
购买木马的人数众多,根据360威胁情报中心的数据,木马买家超过40人。我们随意抽取一个购买木马的用户进行探讨。
以下都是通过搜索引擎得到的放马者的微博地址:
* http://t.qq.com/g29q200w4231975
* http://t.qq.com/r12tb9753197
* http://t.qq.com/oclt519753
* http://t.qq.com/k93y642086
* http://t.qq.com/chenjiaxi88
![p37](http://drops.javaweb.org/uploads/images/d8080f542a08dbc2ea5d458240437518ac7aa5f5.jpg)
![p38](http://drops.javaweb.org/uploads/images/33857bfe4b7c887efaaf1b9b7662d992a44353b6.jpg)
对于其中一个放马者,通过微博发现@chenjiaxi88的用户的名字为陈佳西,腾讯微博中有其上传的生活照,如下:
![p39](http://drops.javaweb.org/uploads/images/35a3a21c5d7a9afd94655ee547e299fbb7192b8a.jpg)
最后,用这位放马者的QQ群关系来结束这次的追踪之旅:
![p40](http://drops.javaweb.org/uploads/images/5339debda5386355bbe7bf759381e354f9270e18.jpg)
0x03 总结
=======
* * *
我们看到的木马本身的技术并不复杂,传播手段也不见得高明,低技术门槛使网络犯罪的参与者呈现年轻化的分布。本次的攻击者溯源完全依赖公开可搜索的数据,甚至无需运用社工技巧,木马开发与使用者的无知无畏实在让人心惊。从造马者自发暴露的大量信息来看,他似乎并不觉得自己在违法犯罪,我们的中学教育在法律学习方面应该加入网络犯罪的内容。