随笔声音知识案例其他按这封连NSA雇员都中招了的钓鱼邮件,背后是何人操控?起底某钓鱼攻击与邮件推送。——先森再次奉献一篇堪称教科书式的网络犯罪侦查指南。
某天先森在别人邮箱里翻到一封钓鱼邮件,这让快蔫了的先森两眼放光,消沉的生活又有了动力。本文纪实了如何从一封钓鱼邮件,到结合攻击者的网络痕迹追踪溯源出相关人员,实现对此黑产领域的“窥探”,其中不乏涉及到邮件原文分析、反制钓鱼网站、取证相关日志、关联涉事人员和分析钓鱼背后的产业链等。希望本文能给各位网友在相关领域工作的开展带来一点启发,扩展应对此类网络犯罪的思路等。
溯源攻击者的流程图发现并反制钓鱼网站钓鱼内容的大意是因为客户长期不使用邮箱,服务商要将其收回,如果想要继续使用就得对账号信息进行验证。刚开始先森还真被唬住了,直到点开钓鱼网站才恍然大悟,请注意看那个高仿微软的邮箱,若不是前缀乱七八糟,以及钓鱼网址的太随意,怕是很多专业人员也会看走眼。
对此类网站我一般常用的思路:
1.whois查询域名持有者
2.找真实IP确定服务器
3.常规漏洞(注入、XSS等)测试一遍
4.扫目录
5.锁定特征并反查等。由于网站域名是.TK并且使用了CloudFlare,无法查询到有用的信息,并且并未找到任何漏洞,就在快要无功而返之际发现某个目录下存在另一套钓鱼系统,打开后自动跳转到sxxxxxxx.tk/xxxxx/app/login/index。
这URL风格很像是用ThinkPHP框架写的,于是从网上找了几个漏洞利用代码,通过测试还真存在RCE。但站长把整个目录的权限锁死并且启用了disable_function了,估计是被批量入侵搞怕了,如此看来站长应该不会修复漏洞?没办法只能先将后门代码写入到/tmp目录,然后将payload指向/tmp/,但奇葩的事情又来了,/tmp目录下的后门明明可以执行(例如执行phpinfo或者echo 123等基础代码)但就是无法控制网站…
跑去请教了两位朋友,大家都表示没遇到过这奇葩状况,于是只能继续修改payload。直到我把请求方式从http改成https,奇迹出现,网站终于被控制了。
下一步我们需要查找攻击者是如何保存受害者信息的,常见的记录方式有写入文本、写入数据库、邮件转发和上传FTP等。前期对网站测试时,成功将发信端代码爆出,102行写明是通过sendEmail函数来实现发信的。
那么发信端的配置信息在哪?通过对TP手册的查阅可知,配置信息一般是在application目录下,如数据库的配置信息database.php、定义公共函数common.php等。逐个文件查看后找到了发信的账号密码,看来攻击者常用的账号名为z****(代码中的“汪玉龙”与钓鱼网站没有任何关系,是攻击者盗用了人家的代码)。
当先森迫不及待地尝试登录其foxmail时,提示账号密码不正确,在朋友C的提醒下改用客户端收信。现在的邮箱为了保护用户安全,单独为客户端设置了密码,所以只能通过客户端来完成收取信件。
取证并分析相关日志为了取证相关日志和更好的溯源攻击者的真实身份,需要对服务器上其他痕迹进行提取。当我尝试访问/www/wwwroot/的时候提示没有权限访问,除当前路径和/tmp目录,其他目录皆无访问权限,查看.user.ini后得知受到open_basedir的限制。
查阅相关资料发现是可以绕过的。秉承着拿来主义,将exploit代码直接插到后门里即可绕过限制并以当前www-data权限访问其他文件。由于服务器内核较新及disable_function的限制,并未进一步提权。
网站服务器是通过宝塔面板搭建的,所以我们需要围绕着宝塔面板展开工作。此前宝塔也存在一个较为严重的安全问题,但是无奈攻击者使用的是最新版。好在虽然不能获取完全的访问权但这并不影响我们对攻击者痕迹的取证和溯源分析:

根据以上线索可以推测出攻击者可能位于江苏省南京市,不过仅通过IP和一个可疑账号来推测,这实在是太牵强了。为了进一步溯源攻击者的真实身份,我们需要继续对已有的线索抽丝剥茧。
回到正文,通过上述分析邮件原文的思路,我追踪到攻击者可能在浙江某机房的服务器上通过Foxmai程序批量发送的,并且每次实施钓鱼攻击的邮箱都不一样。有趣的一点,每次发送钓鱼邮件的主机名是固定的YGLIUCHANG-VM,但发送的IP却次次变化,说明攻击者可能出于担心被溯源及IP遭到邮件网关拉黑等目的使用了专门的IP拨号器或代理池等(即发送钓鱼邮件的服务器不一定在浙江)。
除此之外,还从其他邮件里找到了四个钓鱼网站。通过对这四个钓鱼网站的分析,发现其中两个是搭建在美国的一台服务器上,一个域名已停止解析,另一个则是前面已获取访问权限的。
有趣的是那两个钓鱼网站,其中有一个源码同被反制的网站完全一致,换言之可以直接用漏洞拿到网站的访问权。很幸运,这次网站权限并没有锁死,可以直接写入后门,接着在common.php里找到了其中一个实施钓鱼攻击的邮箱账号密码和接收受害者信息的收信邮箱1*******7@qq.com,取证日志等过程不再赘述。
尝试登录实施钓鱼攻击的邮箱。其中收件箱有大量拒收的通知,已发送邮件文件夹中只有一部分邮件,结合前面已控制的foxmail中的收件情况来看,攻击者会频繁更换发送钓鱼邮件的邮箱。
从最早的已发邮件和草稿箱里找到了一个QQ邮箱,与刚才在网站配置文件里找到的收信邮箱完全一致,很有可能是攻击者的真实QQ。这封邮件或许是攻击者专门测试能否过企业的反垃圾邮件网关留下的。
利用搜索引擎查找此人QQ的网络痕迹,通过腾讯微博可知此人的居住地【可能】在重庆,这也就解释了攻击者的B服务器登录IP为什么在重庆,而他手机号的归属地似乎又解释了A服务器登录IP为什么在江苏南京(大胆推测一下,攻击者在攻击期间可能去过南京)。此外,该QQ在一些论坛和网站上发过”邮件代发、精准引流”的广告,这就更加实锤了QQ、手机号与攻击者的关
系。
通过搜索此人的QQ,发现与博客的头像完全吻合并且昵称一致。这说明博主与QQ主人是一个人,同时博客的英文地址与攻击者的邮箱一致,综上所述锁定攻击者就是此人。
关于攻击者的真实身份继续扩展。从A服务器中提取了3个被宝塔面板删除的压缩包,压缩包中的网站日志里出现了前面没有被发现的域名j********.cn,利用whois查到域名持有者的姓名**鑫、邮箱为1******7@qq.com,虽然阿里云要求是实名制的,但是我表示怀疑。
随后翻阅此人博客中的几篇文章,在一篇编程文章中的代码里,得知博主正是*******xin。
继续梳理日志。通过A服务器里获取的几个压缩包及网站上的日志,与B服务器对比后发现6月以前它们的日志是基本一样的;最早的日志都是本地调试产生的,通过目录的命名可以大致推测出开发者正在建设一个影视网站,内容应该与钓鱼无关;直到当日12.30左右开发者POST字段的数据开始画风突变,与本次钓鱼网站表单中的字段重叠。
粗略看了当天的日志,基本上都是在用几个邮箱做钓鱼测试,因此推测其中可能会有攻击者的邮箱,于是对所有localhost日志中出现的邮箱进行提取。
得到s*****@****.com、*****@qq.com、1********0@qq.com、a********0@qq.com、*******@qq.com、*********@qq.com,剔除不存在的邮箱,猜测开发者应该是s*****@****.com或者1********0@qq.com。
反查网络痕迹,找到网站开发者。s*****@****.com在网络上留有大量痕迹,很轻松得知此人叫沈**,可能是广东人,在某知名企业做销售工作,由此看来此人可能不是涉事人。对于另一个QQ邮箱,通过支付宝实名校验得知号主可能叫**星(*超),贴吧里找到一个用户名与QQ重叠的账号,根据发帖内容可知此人经常活跃于“建站”、“CP盘口”等灰色领域。由此我们就将此人列为重要嫌疑人。
继续梳理翌日的访问日志,利用正则表达式提取当日的所有IP并批量查询归属地。其中有两个重庆的IP引起了我的注意,183.***。*.24一直在访问钓鱼网站并且经常会访问/home/www/、/www/等地址,说明此人并非受害者而且似乎还对计算机不是很懂行…另一个183.**.***.33则多次访问并测试(可以看到有明显的测试痕迹,例如是通过QQ邮箱安卓版访问的、多次测试多次更换邮箱等),留下最多的是邮箱6******6@qq.com。
老思路查找QQ的网络痕迹,在某些灰色领域论坛里找到了此人并且贴吧里也有他的账号,通过此人QQ的空间的动态可知,经常发布“接单”一类的广告并且在某些QQ黑客论坛上活跃频繁。我们可以推测出,此人可能也是涉事嫌疑人之一。
后面日志有的不全有的太大,搞得先森很崩溃。偶然翻到一条访问记录更是惊呆我了,希望被老美溯源的时候不要连累到我…比较有趣的一点是NSA的人居然还用huawei的手机(仿佛听到了
一句“You are Fired!” O(∩_∩)O )。
到这里先森也累了,基本上也完成了对主要人员的溯源。钓鱼网站的开发人员很有可能是1********0@qq.com(*超)
此人的邮箱频繁出现在网站搭建时的调试日志中且本人长期游走在黑产圈,当然不排除钓鱼攻击者基于**星(*超)的源码基础上二次开发;
团伙中可能还有一个6******6@qq.com(**成),此人长期游走在QQ黑客和易语言开发等领域,可能起到定制软件的作用;
实锤的钓鱼邮件实施者1******7@qq.com(**鑫),此人擅长python开发,但对PHP脚本和Linux等方面不是很懂,这也就解释通了*超可能是网站开发人员。
前面还有个疑问,主要攻击者**鑫到底是哪里人?重庆人。先森这里还要分享下如何利用开源情报落查目标籍贯的思路——利用各地公安公开的姓名查重接口:
简单“窥探”此类黑色产业通过对**鑫的网络痕迹的搜集,可知此人主要从事邮件引流和外贸等领域。顺便提一下外贸领域中的那些黑灰产业:外贸行业最重要的就是老外客源,所以推广员需要与外国人推广的各种渠道;
其中较为重要的渠道有Facebook、Twitter、邮件推广等等,众所周知这些账号都需要注册才能使用,但注册成本越来越高了,所以黑市里出现一些以卖号养号为生的数据贩子。这些账号除了批量注册外,更多还是通过针对邮箱的钓鱼盗号、撞库等非法手段获取到的,毕竟邮箱可以作为找回账号密码的重要依据并且失去价值的邮箱还可以用于垃圾邮件推广,所以这也滋生了针对老外的盗号行业。近期发生过Facebook上名人账号实施比特币诈骗事件、YouTube频道劫持等等,都是邮箱等重要密保方式的访问权限遭到攻击所致。
此人在几个地下黑客论坛里发布过收购某某邮箱的帖子,需求量极大。不知道这些邮箱是被用于新一轮的钓鱼攻击还是精准引流推广,或是其他目的。
最后将两台服务器上找到的受害者IP整理并可视化处理,得到下面的热力图。通过热力图我们可以直观看出受害者主要集中在北美、欧洲和东南亚地区,(可惜日志不全只是展示一小部分受害者的情况),这也能象征性地展显出外贸行业主要面向的客户群体的范围。
最后再梳理下攻击者的攻击流程和产业链。
【编者注】来自@信息时代的犯罪侦查先森同学再次奉献一篇教科书式的实战指南。