记录一次红队钓鱼攻击—组合漏洞利用

  • A+
所属分类:安全文章

0x01 背景故事


首先解释一下,消失的几个月去了哪

————————————————

    Halo everyone, I am soooo embrassed that I have a long time no update my  Official Accounts. 😶Maybe you have been disappointed to me, but you don't konw what happend for me. I experienced a vary life in the past half year, for instance: track a threat actor in the DeepWeb👥, assist the Ministry of Public Security👮, join a big activity about protecting  our country and so on. 🌇Last but not least, the above are all my excuses, I am lazy, so I just wanner enjoy my life. hahaha~ But don't worry, I can adjust myself so that  write and share all my little rubbish hacking technology to you. just hope is useful to you. thx! 💯

—————————————————

碍于面子,就不用母语解释了哈哈

总结:去了黑暗一趟,带回一片面包




0x02 正文开始


目标:大型传统行业单位C集团

情况:拥有多名蓝队防守方,明面资产已被多次排查


1. icon_hash技巧查找隐形资产

其实这个小技巧相信现在蛮多人知道了,最早是去年在国外的hack圈流传,当时是国外的漏洞赏金猎人用来做资产搜集,进一步挖掘隐形资产的漏洞。期间这个技巧,我用在溯源上,挖掘到了一些重要威胁情报,言归正传。


①将单位C集团的网站各种代表性的favicon.ico图标文件donwload下载到本地,再计算其hash值,丢到fofa/shodan等搜索引擎查找资产。


所谓icon图标文件

记录一次红队钓鱼攻击—组合漏洞利用

比如百度的ico:

记录一次红队钓鱼攻击—组合漏洞利用





2. 发现后台登录界面,爆破无果


找到单位C的两处隐匿资产:21x.xxx.xxx.198 和 21x.xxx.xxx.194,发现两个资产都是相同界面的系统,如下图所示:

记录一次红队钓鱼攻击—组合漏洞利用

    

网站使用vue.js搭建,一些小伙伴看到这种系统无从下手

因为没有什么可利用的漏洞。


粗糙一点:手动尝试几个弱口令admin/123456等,失败


蛮狠一点:尝试直接弱口令账号500/密码6000,打开burpsuite 选择cluster bomb模式爆破。失败


细腻一点:21x.xxx.xxx.194系统网站的JS文件(记住这里我们翻的是194的系统资产)

一般来说找两个东西:

①Key密钥和账号密码等敏感信息

②URL路径和各种api端点

记录一次红队钓鱼攻击—组合漏洞利用

手工翻阅效率太低,使用JSFinder.py工具


记录一次红队钓鱼攻击—组合漏洞利用

提取了一大堆的URL

记录一次红队钓鱼攻击—组合漏洞利用


再利用http_title工具扫一下,快速排查404、200和301等URL,如下图所示

记录一次红队钓鱼攻击—组合漏洞利用

一堆404状态码,没有可利用的URL端点


再细腻一点:上文说到过,两个一样的系统资产21x.xxx.xxx.198 和 21x.xxx.xxx.194,这里21x.xxx.xxx.194的系统没有找到可利用的东西,继续尝试找21x.xxx.xxx.198。



4. 细心有惊喜,发现一处api端点,如下图所示

    

记录一次红队钓鱼攻击—组合漏洞利用


打开泄露大量的用户名和账号密码(截图未保存)

(但密码加盐处理了,且不知道加密方式,非前端加密)


尝试找师傅帮忙

记录一次红队钓鱼攻击—组合漏洞利用

试了几种典型的加解密方式,未果

兜兜转转回到原地


5. 二次爆破,峰回路转

结合泄露的用户名进行密码爆破,爆破出多个账号的密码均为Password1


记录一次红队钓鱼攻击—组合漏洞利用


(ps: 以下内容部分不能贴图了,当时未保存下来,只能介绍思路)





6.成功登录系统后台,毫无收获



用其中一个账号密码:xinming.zhang/password1进入后台后

①找文件:没有找到敏感数据

②试上传:发现有上传接口,白名单机制且不解析

③换账号:更换多个账户,均没有敏感数据


兜兜转转又回到原地....



7. 组合漏洞,深度利用


写到这我都累了,当时更心累

实战中讲究心态

怎么能轻言放弃


仔细排查每个账户的功能,终于在20多个可登录后台账户中,发现了一个账户,在其:“监测-提醒”中,隐含了一个发送邮件提醒的功能。(截图未保存)



刚好这时候,我们准备进行钓鱼攻击

伪造域名,并搭建了一个该单位使用的邮件系统钓鱼网站

但经过测试发现,使用普通的邮箱是无法正常投递钓鱼邮件

原因是被网关拦截了!


推测网关做了白名单机制,即只允许接收本集团邮箱域名的邮件


于是我想到上文中,挖掘到后台的“邮件提醒”功能

是否可以组合起来利用!


8. 山重水复疑无路


但又遇到了一个困难,

这个邮件提醒功能,只能选择收件人

除此之外,并无其它可以输入的地方。


于是想到抓包,尝试纂改数据包试试



记录一次红队钓鱼攻击—组合漏洞利用

(历史截图)

分析发现

我可以篡改的地方有:收件人、发件标题和时间日期

但无法完全篡改发件内容!

什么是无法完全篡改呢?


系统在服务器后端采用了硬编码发件内容

如下图所示:

原始固定邮件内容:

记录一次红队钓鱼攻击—组合漏洞利用



测试篡改邮件内容:


记录一次红队钓鱼攻击—组合漏洞利用


发现我无法消除硬编码区域的内容。

但如果这么发送钓鱼邮件,很明显会容易引起警惕!


9. 柳暗花明又一村


这里用到了一个技巧,做到了完全“消除”硬编码的内容


有师傅告诉我,<script>标签

可以在收件箱的邮件中隐藏掉硬编码的内容!

编写话术文案+格式排版,如下图所示:


记录一次红队钓鱼攻击—组合漏洞利用

图:伪造邮件的payload


利用了<a>标签和图片超链接

话术诱导受害者点击

从而跳转到钓鱼网站

如下图所示


记录一次红队钓鱼攻击—组合漏洞利用

图:受害者接收的邮件(打码严重)


钓鱼网站就不给你们看了。


接下来就需要发送钓鱼邮件了

那发送给谁呢?


10. 回归本质—信息搜集


这里介绍一个平时做威胁情报用到的接口

可以帮我们快速的查找指定域名的邮箱账号和子域等

记录一次红队钓鱼攻击—组合漏洞利用

比如查下cia[.]gov

记录一次红队钓鱼攻击—组合漏洞利用

当然,实战中不能这么简单了事。



我打了他们的一个供应商平台

利用供应商平台在Github的信息泄露


>拿到 测试系统的管理员账号密码

>登录  测试系统

>现场挖掘测试系统漏洞

>发现一处api 未授权访问的接口,可以获取注册人的邮箱账号信息

>利用此漏洞,打该供应商用于单位C的生产系统

>成功获取单位C集团的邮箱账号,员工职业,姓名等精准信息


如下图所示:

记录一次红队钓鱼攻击—组合漏洞利用

图:未授权接口泄露的信息


ok, 万事俱备

此时     真想说一句:


二营长,把我的迫击炮拉过来!!!



拉个锤子,前辈的经验告诉我

所有的实战,要以尽可能小的动作,来达到我们的目的。


所以,不能批量发钓鱼邮件!!

筛选出了一些信息安全意识薄弱的部门员工,进行钓鱼投递


最终成功窃取到了单位C集团员工的邮箱账号密码

鱼儿”上线结果示例:

记录一次红队钓鱼攻击—组合漏洞利用

发现这密码真是复杂,大小写字母+特殊字符+数字

后面就转交专业选手了。


至此,完成组合漏洞利用 + 供应链初步攻击!



“宇宙间最渺小的星宿,一样有着惊人的力量”

你可以看到,其实再小的漏洞,一旦组合利用起来

也可能会触发意想不到的的结果






0x03 实战总结


1. icon_hash寻找隐形资产

2. JS文件暴露URL端点,其中一处api泄露明文账号和加密的密码

3. 使用泄露的账号,组合6k+字典爆破出密码Password1

4. 通过登录后台,翻阅多个账号,找到一处较高权限用户

5. 利用其隐藏的邮件提醒功能,通过抓包分析,隐藏硬编码内容,最终成功篡改邮件内容

6. 搭建钓鱼网站,打供应商,搜集精准信息,小动作发送钓鱼邮件

实战中,细心,耐心,运气缺一不可!




我是一个小菜ji, 并不会RCE/Getshell等高级的技术

能为圈子的师傅们分享的也只有这些


希望有用!


Peace&Love

                                        ——N10th九号









本文始发于微信公众号(冷渗透):记录一次红队钓鱼攻击—组合漏洞利用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: