干红队这些年,最怕碰到啥?就是目标就给你一个登录框,外网啥资产都没有,常规扫描、漏洞利用全扑空。这时候硬碰硬就是找死,真正的高手都懂四个字——曲线救国。
今天咱们就唠唠,供应链打法里头怎么快速找到同类站点和源码。
先说说为啥要打供应链
现在的企业学精了,边界防护搞得跟铁桶似的。你正面硬刚,人家有WAF、有EDR,一有风吹草动直接封你IP。有个真实案例,红队面对某大型企业,外网防护极其严密,常规手法根本打不进去。最后怎么着?从供应链下手。
攻击队搜索目标系统名称,在招投标网站上发现这套系统是某供应商开发的。转头去打供应商,发现人家子域名下有.git信息泄露,源码直接扒下来。代码里又翻出云服务AK/SK,直接控制供应商云主机,最后在研发人员的测试机里找到了目标系统的源码。
这就是典型的供应链攻击思路:我不打你,我打帮你干活的人。
搞供应链攻击,拿到源码是关键。有了源码,代码审计找漏洞,比你在外网盲扫效率高一百倍。业内有个说法:现在红队人员基本上靠供应链的漏洞打进去的情况较多。
找同类站点的三板斧
第一板斧:特征提取 + 网络空间测绘
目标站点的title、favicon.ico的hash、body里的特征字符串、URL路径里的特殊参数,这些都是指纹。
实操流程是这样的:
F12看页面源码,找找有没有CMS特征,比如版权信息、特殊的CSS/JS路径 把特征丢到FOFA、Hunter、Quake这些网络空间测绘平台里搜 搜出来一堆同类站点,挨个看
选目标有个讲究。搜索结果里,我一般优先挑云厂商的机子下手。为啥?云上的机器往往挂着多个站点,防护也相对薄弱,容易打开突破口。成功拿下云主机后,翻配置文件、找源码就方便多了。
对了,别忘了favicon.ico这个好东西。很多站点改来改去,图标却忘了换。把图标的hash值拿去Fofa搜,经常能捞出一窝同源码的站。
第二板斧:扫备份文件
很多运维图省事,直接把源码压缩包扔在web目录下。web.rar、www.zip、backup.7z,这些都是经典名字。
用dirsearch这类目录扫描工具,挂一个备份文件字典扫一圈。某次实战中,红队就是通过Fofa找到同类站点,用dirsearch扫出了web.rar,源码直接到手。
这招糙是糙了点,但架不住好用。尤其是碰到那种多年没人维护的老系统,一搜一个准。
第三板斧:网盘泄露 + 代码托管平台
百度网盘、阿里云盘这些地方,搜目标系统的名字或者供应商名字,经常能翻到老版本源码、开发文档、甚至离职人员打包的代码。
GitHub、Gitee也是宝藏。搜系统名称、供应商名称、特殊类名、包名。有个案例里,红队在GitHub上找到了部分源码和邮箱地址,配合其他信息完成了打点。
拿到源码之后怎么用
源码到手,别急着高兴。先搞清楚版本对不对得上。
有次红队在一个同类型测试站上拿到了源码,本地审计出文件上传漏洞,测试站上跑得通。转头去打目标,发现同一个接口没反应。仔细一看,目标站的登录接口多了一个getPhoneByLoginName,跟测试站的源码对不上——版本不一样,白忙活一场。
所以要确认版本,怎么确认?
看页面底部有没有版本号 看静态资源的路径特征( .css?ver=xxxx)看接口请求的差异
版本对上了,代码审计才能发挥价值。否则就是浪费时间。
审计的时候,重点关注几个地方:
鉴权逻辑:比如JWT的密钥是不是硬编码在配置文件里。有案例就是翻到JWT密钥,然后通过遍历用户ID伪造token,直接登了管理后台 上传功能:全局搜 multipart、upload这些关键词,找文件上传点SQL注入:登录前的注入点最值钱,不需要认证就能利用 配置文件:数据库密码、云服务AK/SK、调试模式开关,全在这
绕过防护的骚操作
有时候你找到漏洞了,目标上有WAF挡着,Payload死活打不进去。别慌,换思路。
有个真实案例,红队拿到源码后发现了登录前的SQL注入,但在正式目标上被WAF拦截,尝试各种变形都没用。后来改路子,分析整套鉴权逻辑,发现有个接口用JWT鉴权,密钥就写在源码配置文件里。通过爆破用户ID,伪造admin的JWT token,成功登录后台。整个过程绕过了WAF,因为注入点压根用不着了。
所以说,拿到源码不是为了死磕一个漏洞,而是为了理解整个系统的设计逻辑,找到最刁钻的角度打进去。
自动化工具,得会用
现在红队都开始搞自动化武器库了。几个好使的:
网络空间测绘:Fofa、Hunter、Quake、Shodan,集成的工具如 AsamF,多平台Key一起用企业信息收集: ENScan_GO,专门搞国内企业的工商信息、关联公司资产侦察平台:ARL灯塔、Nemo,Docker一键部署,自动化收集子域名、端口、指纹 红队工具集: All-Defense-Tool,集成了全网优秀的开源攻防武器
工具是辅助,思路才是核心。
老油子几句掏心窝的话
1. 别死磕一个点
正面打不进去就绕,招投标网站、供应商官网、开发人员测试机、云主机,到处都是突破口。国内大型HVV里,供应链0day漏洞和超级0day是红队的核武器,很多超难目标全靠这两种方法打进去。
2. 信息收集决定成败
找到供应商之后,别急着打。先全面收集信息:子域名、开放端口、Git泄露、网盘文件、招投标记录。一个.git泄露就能让你省掉90%的工作量。
3. 版本确认是生死线
费半天劲拿到源码,结果版本对不上,等于白干。拿到源码第一件事——确认版本号。
4. 审计要快,但要准
红队时间紧,没工夫逐行读代码。先看web.xml(Java项目)或配置文件,捋清楚鉴权流程和路由,然后盯着上传、注入、反序列化这些高危点打。
5. 社工永远是辅助
钓鱼、水坑攻击配合供应链打法,效果倍增。但有前提——你得有目标员工的邮箱、手机号,不然发给谁去?所以信息收集永远是第一步。
供应链打法说白了就是一句话:你打不过铁桶,就绕到铁桶后面,把造铁桶的人拿下。这套路糙是糙了点,架不住有效。只要细心收集信息、耐心确认版本、专心审计代码,迟早能找到突破口。
这行干久了你就明白:红队打的不只是技术,打的是信息差,是耐心,是思路。谁先找到那个"软柿子",谁就赢了一半。
夜雨聆风