随着攻防演练的进行,外网能够直接进入内网必定会越来越困难,而且常规Web渗透耗时长,这个时候利用钓鱼攻击不仅效率高,并且能够为我们节省大量的时间和人力,说不定未来钓鱼攻击会成为每个一线渗透人员必须掌握的技能。钓鱼的手法有很多种,其中我们会遇到各种各样的问题,要去不断的进行尝试和反思。

本次分享分为两个章节,一是红队钓鱼攻击经验分享,二是蓝队溯源反制经验分享。

01 红队钓鱼攻击流程

  • 信息收集

前期的准备是为了让我们有充足的时间去思考会发生的各种问题,而在我们没有收集到足够信息之前,建议不要盲目进行钓鱼。

突破口选择

钓鱼需要一个下手的地方,对于我们的目标,通常会有多个钓鱼的口子供我们选择,如:

QQ/微信(群)钓鱼

客服钓鱼

邮件钓鱼

电话钓鱼

……

想到了可以突破的点,我们就需要去搜寻相关信息。

QQ/微信群收集

很多公司都会开放对外的客服群、售后群、活动群甚至内部员工群、公司群,通过QQ或者其他的搜索方式多多少少都能搜索到群聊,伪装成员工或者客服进群聊。

如何伪装进入群聊:

1、修改个人信息为员工/客户信息(包括姓名、签名、头像等等)

2、提前半个月或者一个月进入群聊(攻防演练阶段进去的可能性不大)

邮箱收集

邮箱的收集会很重要,所以尽量收集全面一点,最好能够弄到邮箱的账号密码,对后期钓鱼很有用,整体思路如下:

邮箱收集网址和工具:

    https://github.com/bit4woo/teemohttps://github.com/laramies/theHarvesterhttps://www.email-format.com/i/search/

    邮箱验证网址和工具:

      https://mailtester.com/testmail.phphttps://github.com/Tzeross/verifyemail

      邮箱爆破工具:

        https://github.com/shack2/SNETCrackerhttps://github.com/sensepost/rulerbrupsuite

        推荐使用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-CShttps://github.com/timwhitez/Doge-XSS-Phishing

                • 权限维持

                我们会遇到员工下班关机或者使用的是云桌面,这个时候我们的权限第二天可能就没了,需要做好权限维持进行后续的内网渗透。

                常见权限维持方法:

                修改注册表

                修改服务(包括svchost-x…)

                配置启动项

                配置计划任务

                Dll劫持(白加黑)

                PE感染

                ……

                结合CS插件进行权限维持:

                  https://github.com/0xthirteen/StayKithttps://github.com/0xthirteen/MoveKit

                  • 后期复盘

                  后期需要对钓鱼的人员、获取的信息、木马的名称、邮箱的附件进行统计,方便后续的复盘以及清理。

                  总结钓鱼中出现的问题,进行讨论给出解决方案,避免问题再次出现。

                  02 蓝队溯源钓鱼流程

                  作为防守人员,当我们收到钓鱼攻击的告警时,可以备份钓鱼样本或者邮件,分析其中能够利用的信息,如:

                  IP/域名

                  邮箱

                  手机号

                  微信

                  QQ

                  支付宝

                  常用圈子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。