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. 柳暗花明又一村
这里用到了一个技巧,做到了完全“消除”硬编码的内容
有师傅告诉我,
可以在收件箱的邮件中隐藏掉硬编码的内容!
编写话术文案+格式排版,如下图所示:
图:伪造邮件的payload
利用了标签和图片超链接
话术诱导受害者点击
从而跳转到钓鱼网站
如下图所示
图:受害者接收的邮件(打码严重)
钓鱼网站就不给你们看了。
接下来就需要发送钓鱼邮件了
那发送给谁呢?
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九号