随着攻防演练的进行,外网能够直接进入内网必定会越来越困难,而且常规Web渗透耗时长,这个时候利用钓鱼攻击不仅效率高,并且能够为我们节省大量的时间和人力,说不定未来钓鱼攻击会成为每个一线渗透人员必须掌握的技能。钓鱼的手法有很多种,其中我们会遇到各种各样的问题,要去不断的进行尝试和反思。
本次分享分为两个章节,一是红队钓鱼攻击经验分享,二是蓝队溯源反制经验分享。
01 红队钓鱼攻击流程
信息收集
前期的准备是为了让我们有充足的时间去思考会发生的各种问题,而在我们没有收集到足够信息之前,建议不要盲目进行钓鱼。
突破口选择
钓鱼需要一个下手的地方,对于我们的目标,通常会有多个钓鱼的口子供我们选择,如:
QQ/微信(群)钓鱼
客服钓鱼
邮件钓鱼
电话钓鱼
……
想到了可以突破的点,我们就需要去搜寻相关信息。
QQ/微信群收集
很多公司都会开放对外的客服群、售后群、活动群甚至内部员工群、公司群,通过QQ或者其他的搜索方式多多少少都能搜索到群聊,伪装成员工或者客服进群聊。
如何伪装进入群聊:
1、修改个人信息为员工/客户信息(包括姓名、签名、头像等等)
2、提前半个月或者一个月进入群聊(攻防演练阶段进去的可能性不大)
邮箱收集
邮箱的收集会很重要,所以尽量收集全面一点,最好能够弄到邮箱的账号密码,对后期钓鱼很有用,整体思路如下:
邮箱收集网址和工具:
https://github.com/bit4woo/teemo
https://github.com/laramies/theHarvester
https://www.email-format.com/i/search/
邮箱验证网址和工具:
https://mailtester.com/testmail.php
https://github.com/Tzeross/verifyemail
邮箱爆破工具:
https://github.com/shack2/SNETCracker
https://github.com/sensepost/ruler
brupsuite
推荐使用pop/smtp协议爆破,web端爆破可能会产生告警。
其他信息调研
除了上述我们收集的目标信息,我们还需要尽可能的调研到以下几点:
组织架构:部门领导信息、信息技术部成员信息、运维人员信息、新入职员工信息…
安全设备部署情况:TSM、HIDS、奇安信天眼、EDR、赛门铁克、卡巴斯基…
……
前期准备
邮件服务器
搭建邮件服务器是为了方便我们发送钓鱼邮件,最好准备两台邮件服务器,一主一备。
邮服搭建:
https://www.iredmail.com/
http://www.ewomail.com/
服务器选择:
阿里云、华为云等大型服务厂商会禁止搭建邮服,可以选择小型服务器提供商。
伪装域名:
com/cn/co这样的后缀可以,top/me/xyz后缀容易被识破。
SSL证书:
防止被归类为垃圾邮件
邮件正文编写
标题
可以在标题上加上【紧急通知】字眼,催促对方查看邮件。
正文主题
HW终端加固方案
内部软件更新包
客服态度恶劣举报
参赛作品投递
签名
很多公司都会有各自的签名,我们前期搞到一个邮箱的账号密码,就知道签名是什么样子了。
附件
木马附件添加压缩密码,压缩码直接写在正文中或者用图片格式插入。
CS服务器配置
修改随机端口+密码
修改SSL证书
配置Malleable-C2-Profiles(隐藏隧道、伪装流量)
配置Server酱上线通知
使用便捷cna插件(on beacon_initial )
删除空格后门
删除stager特征
……
免杀木马
对于前期调研的内部安全防护工具,针对性的制作免杀木马,减少在免杀上面花费的时间。
二进制免杀
静态免杀
动态免杀
https://github.com/TideSec/BypassAntiVirus
绕过邮件网关
有的时候我们发送的邮件会被拒收或者拦截,我们要尝试绕过:
附件密码以图片形式插入,而非直接写在正文当中
附件和附件密码分开发送
不接收有附件的邮件,百度网盘,火狐网盘插入到正文当中
诱导点击
安全意识测试
我们在诱导的前期可以检查目标员工是否有安全意识,可以先发一个无毒文件过去,若验证对方没有很强的安全意识,我们可以再发木马过去,减少被发现钓鱼攻击的可能性。
话语诱导
伪装客户诱导客服
你们的xxx系统/app无法登陆,我发个截图给你们看吧!
请你们配合我的工作!不要耽误我的时间!
伪装运维人员诱导员工
你好,我是(信息)安全/管理部门的xxx,后台监测到您的电脑触发了告警,请使用我们提供的工具进行清理。
你好,我们后台监控到您的vpn存在异常,请提供账号密码(验证码)!情况紧急!
伪装上级诱导下属员工
我给你发了个表格,尽快帮我整理好,等会开会需要。
伪装钓鱼邮件被发现,进行回击
再发一封邮件:《关于近期收到钓鱼邮件应对措施》
由于近期钓鱼事件频发,为了避免公司内部网络木马感染,请运行公司下发的清理程序。
后台会实时监控您是否运行了程序,纳入绩效考核!请立即运行程序清理!
xss漏洞诱导
XSS配合Flash或者自制木马进行钓鱼
https://github.com/r00tSe7en/Fake-flash.cn
或者你觉得Flash钓鱼已经过时,可以结合CS脚本进行钓鱼。
https://github.com/TheKingOfDuck/XSS-Fishing2-CS
https://github.com/timwhitez/Doge-XSS-Phishing
权限维持
我们会遇到员工下班关机或者使用的是云桌面,这个时候我们的权限第二天可能就没了,需要做好权限维持进行后续的内网渗透。
常见权限维持方法:
修改注册表
修改服务(包括svchost-x…)
配置启动项
配置计划任务
Dll劫持(白加黑)
PE感染
……
结合CS插件进行权限维持:
https://github.com/0xthirteen/StayKit
https://github.com/0xthirteen/MoveKit
后期复盘
后期需要对钓鱼的人员、获取的信息、木马的名称、邮箱的附件进行统计,方便后续的复盘以及清理。
总结钓鱼中出现的问题,进行讨论给出解决方案,避免问题再次出现。
02 蓝队溯源钓鱼流程
作为防守人员,当我们收到钓鱼攻击的告警时,可以备份钓鱼样本或者邮件,分析其中能够利用的信息,如:
IP/域名
邮箱
手机号
微信
支付宝
常用圈子ID
……
若我们能够获取一个或者数个价值信息,可以由溯源小组开始进行溯源。
溯源案例(虚假邮箱)
背景:下午15:49收到钓鱼邮件,由于原始邮件被删除,只收到了一张截图:
发送的邮件为163邮件,第一时间去查询QQ:
发现非个人使用的QQ,后续通过搜索引擎搜索该QQ号,发现账号为购买的测试账号,并且账号密码都有了。
登陆该账号的163邮箱,成功登陆,发现已发送的大量钓鱼邮件,可以看到也发了其他防守厂商的邮件。
网易邮箱可以查看登陆的地址,不过现在看不了IP了,这里可以看见攻击者在15:01登陆了该邮箱,可以猜测为北京的攻击队。
在邮件中获取攻击者的exe样本,放到沙箱上去分析,分析出攻击者的服务器IP地址:
这期间尝试过通过该IP从web层面反制,端口开发的比较少,没有思路,通过whois也没有查询出有价值的信息。
通过威胁情报进行IP反查,找到该IP对应的域名。
ping该域名与我们沙箱查出来的IP一致,再次搜索该域名,查到攻击者真实姓名:
访问该域名,为攻击者的博客地址,只留下了一个tg的用户名:
翻来覆去博客上也没有其他有价值的信息,没办法,通过两个ID查询也没有搜索出价值信息,看来攻击者隐藏的不错。
后续想着(既然你有博客,一般博客都有可能是通过Github搭建的,于是将博客地址放到Github上搜索),搜索到博客的子域名。
这里攻击者的ID又变了,到目前为止有了3个ID。
当查到这里的时候,再想一想,Github还能提供什么有价值的信息?
由于Github会保留近期Git上项目的邮箱地址,可以通过该接口反查到邮箱:https://github.com/paulirish/github-email
继续搜索该gmail邮箱,搜索到twitter,定位到攻击者的家乡为四川省,并且发现和之前相同的ID。
到了现在我们搜索到攻击者的服务器IP、域名、真实姓名、邮箱以及4个ID号,最终通过猜解微信ID成功获取攻击者的微信,并且微信名称也为其中的一个ID。
整个溯源过程流程图如下:
总结
钓鱼攻击已经成为攻防演练中的一个重要的、也是很常见的攻击方式,所以对于攻击方来说,明白溯源的思路,能够让我们更好的隐藏自己;防守方也可以猜解攻击者的习惯、以及攻击手法去进行溯源或者反制;对于参与攻防演习的甲方,可以配置邮件网关、沙箱等物理设备防范钓鱼攻击,同时可以组织内部钓鱼项目,提高员工安全意识。
声明:本文来自奇安信安全服务,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。