导读:
在整个红队攻防体系中,打点是最基础也是最重要的一步。它对于红队在攻防比赛中取得快速和高效的进展至关重要。然而,在实际的攻防比赛中,由于资产数量庞大、红队人员稀缺以及时间紧迫等各种因素,导致打点的效果常常不尽如人意。
在打点阶段快人一步、率先进入内网并获得更高的分数对于红队来说非常关键。在攻防比赛中,打点的质量和效率直接影响着整个红队的表现和成绩。那么如何能提高打点的质量呢?
01
打点
打点的好坏取决于两个关键的因素,人力的投入和工具的投入。其中人力的投入无法弥补,有些队伍红队人员就那么几个,而有些队伍看似是两三个人,实则背后是十几个人甚至整个公司在背后支持,打点效率自然快不少。人力因素无法弥补,因此只能在工具上下文章了。
打点实质上是一项体力劳动,在众多的资产中找到脆弱的资产从而利用,说白了,只要比别人队伍搜集资产的数目更多,比别人找到脆弱的资产更快,在打点方面就更胜一筹。因此,打点的流程化建设至关重要,而有了流程化,就可以实现自动化,这样以来,打点的效率更加高效。
02
打点的流程化
打点的步骤分为:人工收集、工具扫描、弱口令爆破、指纹识别、POC验证。
人工收集:
人工收集:根据客户所给资产,进一步扩充资产列表,如:
1.给定单位名称,如:某某单位,则需要扩充,某某单位下属所有网站域名、IP地址、各省、备案信息、小蓝本、资产测绘语法搜索、证书等多种收集手段,获取目标网站的IP、域名资产、URL资产等,其中URL资产可能存在新域名,则也加入到域名资产中。
2.给定资产列表,如:Excel文档(包含域名、IP、URL等)。
3.给定资产范围:如:某某公司(网站域名、IP地址、各省、备案,语法搜索)。
对于某些上述某些操作,可使用脚本来代替人工,如:
1.ICP信息收集:根据主域名、备案信息、主办单位名称快速提取网站域名(可能为IP地址)。
2.根据资产测绘语法,对“后台、管理、系统、password、域名、证书、icp备案”关键词等信息进行IP、URL、域名的资产收集。
最终结果:域名、IP地址、URL资产表。
举例:通过备案信息查询百度的网站域名。
工具扫描:
工具扫描是指利用各种扫描工具进一步扩充人工收集到的资产信息。
1.针对域名,利用域名爆破、oneforall等手段获取域名,若为oneforall,则可获取更多IP地址,加入IP资产表。
如:利用oneforall对某某网站进行资产收集。
2.针对IP地址,对获得到域名进行IP获取,排除CDN,对IP地址从大到小排序,补充C段。
3.对IP地址进行端口探测以及服务扫描,服务分为主机服务和Web服务(可能存在WAF,需要考虑)。
4.根据Web服务更新URL资产表。
流程图如下:
脚本实现:包括域名爆破,域名反查IP、补C段、端口服务扫描。
最终结果:URL资产表(包括IP服务资产表)、IP服务资产表。
弱口令爆破:
弱口令爆破:利用工具对常见主机服务进行弱口令爆破。
对服务资产表中的Redis、Mysql、Telnet、SSH、RDP等服务进行弱口令爆破(可针对目标生成常见弱口令,密码账号组合不超过100个,top100等)。
脚本实现:常见主机服务器弱口令爆破脚本编写(Telnet、SSH、Redis、Mysql、RDP等)。
如:Mysql爆破示例代码(Python)。
指纹识别:
指纹识别:利用指纹库对所有URL资产表进行指纹识别。
对URL资产表进行指纹识别,识别结果字段(目标URL、跳转URL、状态码、title字段、CMS指纹信息等)。
最终结果:指纹识别表,包括已识别的URL资产和未识别的URL资产。
运营:指纹库运营,需要建立内部指纹库。
指纹库规则可参考Finger,将指纹对应的POC关联起来形成内部漏洞指纹库,如:
POC认证:
POC验证:根据指纹识别表中的已识别的URL资产进行POC验证。
1.根据指纹信息对URL资产进行批量POC验证;
2.对403、404等状态码页面进行目录扫描;
3.对登录界面进行快速弱口令检测;
4.对各种路由器、摄像头、默认口令设备进行默认弱口令测试(收集常见默认设备弱口令);
5.对Web服务器进行人工测试(目录扫描、接口测试、逻辑漏洞、登录框等);
最终结果:漏洞信息汇总。
举例:当我们通过指纹信息对Web资产进行识别后,同时会获得poc文件名,我们直接可调用该yaml文件进行漏洞扫描,这样既能节约漏洞扫描时间,又能提高漏洞扫描的准确度。
03
另类打点手段
钓鱼:
近些年来,在攻防比赛中,随着防守方大量部署安全设备,如WAF、IDS、IPS等,以及各家单位都开展了很多次攻防比赛,想要从Web端打点的方式进入对方内网难度颇高,而人类因素仍是网络安全中最大的漏洞,因此钓鱼攻击已经成为在攻防比赛中必不可少且非常有效的攻击手段,一旦有人中招,攻击方就可绕过层层防护,直接进入对方内网。事实上,钓鱼攻击也一直是APT的主要打点手段。
近源:
近源攻击不同于有线网络进行攻击,而是攻击人员靠近或处于目标单位各种网络环境中,利用各类无线通信技术、物理接口和智能设备进行渗透测试,包括WiFi、蓝牙、Ethernet、蜂窝等各类物联网通信技术,甚至包括智能设备的嵌入式安全
0day:
0day攻击指的是利用未公开的、未修复的漏洞或安全漏洞进行攻击的方法。这些漏洞通常是软件、操作系统、应用程序或其他技术中的未知漏洞,对于开发者和供应商是未知的,因此受害者通常没有时间采取防御措施或修复漏洞,可能导致数据泄露、系统瘫痪等众多危害。在经历了常规打点、钓鱼等多种手段无法进入内网的情况下,掌握0day可以让攻击者事半功倍。
供应链:
供应链攻击是一种针对软件供应链中的弱点或漏洞进行的攻击方式。在供应链中,包括软件开发、分发、集成和部署等环节,攻击者可以利用其中的环节漏洞或不安全的实践,将恶意代码或恶意组件植入到正常的软件或系统中。
在常见的红队攻击中,针对某些单位来说,采用了其他公司的产品或系统,攻击者可以将矛头指向上游公司,上游公司的安全防护能力也许不足,打入供应链公司内部,获取产品源代码或者目标公司数据,通过产品源代码进行代码审计,获得0day,或者利用目标公司数据掌握更多信息,不过这种方式成本巨大,并且有可能耗费巨大且效果不佳,在一般短期的攻防比赛中基本不采用。
04
总结
打点的手段无非那么几种,如果能把这些手段变成自动化,不仅减少重复繁重的人力劳动,更能提高打点效率,将重心放到后渗透阶段中,此不失为一种好方式。