2.主动信息收集

Pasted image 20250508124228

1. 主动信息收集思路总结

  • Step1:
    主动对被动信息收集获取的所有主域名进行子域名爆破,扩大攻击面
  • Step2:
    将前两轮(被动、主动)收集到的所有子域名去重复后进行全端口扫描,得到domain:port的格式资产将前两轮(被动、主动)收集到的所有IP(排除CDN)去重复后进行全端口扫描,得到IP:Port格式资产
  • Step3:
    将ip:port、domain:port格式的资产用HTTPX用于存活验证,因为HTTP不属于漏洞利用,极低概率被封IP 获取URL 将ip:port、domain:port格式的资产用EZ、ARL进行URL探测(仅探测,关闭漏扫功能) 服务识别 获取URL以及端口指纹信息 (防止在信息收集阶段就被封IP)
    将IP、子域名给EZ,让EZ自己做一轮top2000端口的扫描,并生成URL、端口指纹信息
  • Step4:
    指纹识别:
    ARL、EZ会自动进行指纹识别,该操作会有可能触发漏洞,无法避免通过Finger、ehole对所有存活的非空URL进行WEB资产指纹识别
  • Step5:
    将URL中有WEB服务的资产,去重复之后,进行JS文件探测、接口探测等
    将404、403、401以及各种nginx、apache、IIS、spring等默认页面的资产进行路径探测
  • Step6:
    对所有的有功能的、正常的网站,通过content-length去重复之后,进行路径探测,接口探测,包括(404、403、401以及各种nginx、apache、IIS、spring等默认页面)的网站在爆破找到入口路径之后,也需要放进来,该目的是为了探测网站的敏感目录,接口泄露情况,未授权情况等

step5和step6存在部分冗余,中间有个度需要自己把控,越难渗透的资产,目录遍历的次数应该更多,才能发现薄弱点
可以fuzz接口,可以嵌套fuzz路径,比如某个url 我们发现/web目录是网站入口,还可以再对/web这个目录进行目录爆破

前五步可以照着做,后面5、6,里面会涉及到递归扫描URL,重复的扫描(比如 http://192.168.1.1 扫了之后,发现存在/web路径,那么继续扫 http://192.168.1.1/web ),扩大字典的扫描,结合已知路径再循环爆破的操作,大家根据实际情况利用

2. 子域名爆破

在被动信息收集的环节,我们拿到的子域名都是基于各大接口和DNS解析记录查询获取的。
我们还需要爆破来获取更多的子域名。

  1. 字典攻击:这是最基本的子域名爆破技术之一。攻击者使用预定义的字典文件,其中包含可能的子域名,然后对目标域名进行穷举。
  2. 穷举攻击:攻击者尝试通过使用字符组合来穷举所有可能的子域名。这可能包括使用数字、字母、特殊字符等的各种组合,从而生成大量的可能性。

2.1. ARL

老生常谈的HW利器,许多HW打点都是靠ARL贡献,shiro反序列化功能、子域名导出功能比较好用搭建&实战演示

2.2. EZ

近年新晋神器,资产管理做的比较好,IP、端口、URL自动去重复,以项目创建来区分不同资产。最喜欢的
功能是各种IP、端口、URL资产的导出和去重复

2.3. layer挖掘机

需要搭配字典进行使用,默认凑合

3. 端口扫描

3.1. 全端口扫描

单个站IP推荐Nmap
集群资产推荐使用Masscan

 
Des师傅本人是用Masscan在服务器上搭建使用
相应的方案也会在下文进行分享
Nmap的效率实在太低,一般用于精准打击或者HW溯源等场景
在HW反向扫描(高级蓝队溯源工作)中通常都是IP直接丢进ARL\EZ 有资产再去挖掘漏洞进行突破
在红队真实攻防中一般会通过FOFA\HUNTER等资产测绘平台先通过主域名、解析IP去批量拿URL和对应的端口服务进行批量化渗透打点

再通过主动信息收集中的top1000和全端口(ARL的top1000端口 Masscan的全端口)去扩大信息收集的面。

获取到资产之后,结合第一轮被动信息收集的ip:port资产,我们一起纳入资产探活、指纹识别

top100

21,22,23,53,80,81,82,83,85,88,135,139,443,445,888,1433,1521,3306,3389,3443,4430,4433,4443,4899,54 32,5443,5900,5985,6379,7001,8000,8001,8002,8003,8008,8009,8010,8080,8081,8082,8086,8088,8089,8090,8443,8888,9000,9043,9100,9200,9443,9999,10443,11211,27017

top1000

7,9,11,13,17,19,21,22,23,26,37,38,43,49,51,53,67,69,70,79,80,81,82,83,84,85,86,8 8,89,102,104,111,113,119,121,123,135,137,138,139,143,161,175,179,199,211,264,311 ,389,443,444,445,465,500,502,503,512,515,520,548,554,564,587,623,631,636,646,666 ,771,777,789,800,801,808,853,873,880,888,902,992,993,995,999,1000,1022,1023,1024 ,1025,1026,1027,1080,1099,1177,1194,1200,1201,1234,1241,1248,1260,1290,1311,1344 ,1400,1433,1443,1471,1494,1515,1521,1554,1588,1701,1720,1723,1741,1777,1863,1883 ,1900,1911,1935,1962,1967,1991,2000,2001,2002,2020,2022,2030,2031,2049,2052,2053 ,2077,2080,2082,2083,2086,2087,2095,2096,2121,2123,2152,2181,2222,2223,2252,2323 ,2332,2375,2376,2379,2401,2404,2424,2427,2443,2455,2480,2501,2601,2628,3000,3001 ,3002,3006,3128,3260,3283,3288,3299,3306,3307,3310,3333,3388,3389,3390,3443,3460 ,3541,3542,3689,3690,3749,3780,4000,4022,4040,4063,4064,4111,4343,4369,4430,4433 ,4443,4444,4500,4505,4567,4664,4712,4730,4782,4786,4840,4848,4880,4911,4949,5000 ,5001,5002,5004,5005,5006,5007,5009,5050,5060,5084,5222,5258,5269,5351,5353,5357 ,5400,5432,5443,5500,5554,5555,5556,5560,5577,5601,5631,5672,5678,5683,5800,5801 ,5900,5901,5902,5903,5938,5984,5985,5986,6000,6001,6002,6003,6005,6006,6050,6060 ,6068,6110,6363,6379,6443,6488,6560,6565,6581,6588,6590,6600,6664,6665,6666,6667 ,6668,6669,6699,6881,6998,7000,7001,7002,7003,7005,7006,7010,7014,7025,7070,7071 ,7077,7080,7170,7288,7306,7307,7312,7401,7443,7474,7493,7537,7547,7548,7634,7657 ,7777,7779,7788,7911,8000,8001,8002,8003,8004,8006,8008,8009,8010,8015,8020,8025 ,8030,8040,8060,8069,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091 ,8092,8093,8094,8095,8096,8097,8098,8099,8111,8112,8118,8123,8125,8126,8139,8159 ,8161,8180,8181,8182,8200,8222,8291,8333,8334,8377,8378,8388,8443,8500,8545,8546 ,8554,8649,8686,8800,8834,8880,8883,8887,8888,8889,8899,8983,8999,9000,9001,9002 ,9003,9009,9010,9030,9042,9050,9051,9080,9083,9090,9091,9100,9151,9191,9200,9295 ,9333,9418,9443,9444,9527,9530,9595,9600,9653,9700,9711,9869,9944,9981,9997,9999 ,10000,10001,10003,10162,10243,10333,10443,10554,11001,11211,11300,11310,12300,1 2345,13579,14000,14147,14265,16010,16030,16992,16993,17000,18000,18001,18080,180 81,18245,18246,19999,20000,20547,20880,22105,22222,23023,23424,25000,25105,25565 ,27015,27017,28017,28080,29876,30001,32400,33338,33890,37215,37777,41795,45554,4 9151,49152,49153,49154,49155,50000,50050,50070,50100,51106,52869,55442,55553,555 55,60001,60010,60030,60443,61613,61616,62078,64738

3.2. Masscan

masscan 192.168.1.1/24 -p 1-65535
masscan -iL ip.txt -p 1-65535 -oL masscan.txt --rate 2000

4. url存活验证&基础识别

4.1. httpx

https://github.com/projectdiscovery/httpx
做完这个后 再做指纹识别、漏扫

5. 指纹识别

5.1. finger

5.2. ehole

6. JS文件探测

6.1. jjjjjjs

6.2. Urlfinder

6.3. Findsomething

7. 路径爆破

7.1. dirsearch

7.2. 7kbscan

https://github.com/7kbstorm/7kbscan-WebPathBrute
7kbscan-WebPathBrute Web路径暴力探测工具

8. 总结-工作流介绍以及实战

如何高效率的在信息收集环节对目标进行信息分类

无影工具介绍 实战 (优点:方便进行excel导出 字典导入爆破dir等,通常用于补齐信息收集的结果,主要还是参考之前讲的步骤,因为在攻防中只有注重细节,从多个维度获取数据,去重复,才能做到比别人发现的更多,那么成功发现漏洞获取权限的概率也会相应增加)

8.1. 第一轮

目标单位--》发现域名--》资产测绘平台第一波信息收集(domain="qianxin.com")-->将获取到的IP 端口信息用于URL探测、指纹识别、服务识别

result:获取到基于IP:port的应用指纹信息 以及基于URL的各种网页链接及其WEB指纹信息

8.2. 第二轮

主域名-->oneforall、subfinder、arl、ez 通过VPS或其他主机进行挂机扫描 获取目标子域名
(建议VPS或todesk远控其他主机进行该操作,第二轮和第一轮的IP最好区分开,第一轮是自己的物理机,很多操作可能导致已经被封IP了,所以第二轮通过另一个IP或者代理池,可以发现是否出现了被封IP的问题,这样能收集到更多可能因为被封IP而漏掉的指纹信息或者漏洞)

将第一轮的结果进行漏洞利用(也建议使用VPS,信息收集和漏洞利用可以是同一台,漏扫不要用本机)

和手工测试(物理机本机 手机开启移动热点进行,手工测试不容易被封IP,不要使用家庭宽带用于渗透测试,实在担心风险建议用proxifier全局流量socks代理进行

(关于代理方面的建议:非完全层面的全流量代理,大部分tcp确实能走全局,icmp无法代理,想要规避溯源风险可通过虚拟机(仅主机模式)连接宿主机shadows socks服务端出网,但是效率较低,通常用于APT 工作)

8.3. 第三轮

将VPS、 第三方主机的收集结果汇总去重复(第一轮已经扫过,考虑到效率这里将扫过的去掉重复项)
进行新一轮自动化漏扫 和手工渗透
后续打点章节细讲

8.4. 关于换IP,选择VPS、Todesk某台终端、或者是使用代理池的思路

  1. 本机尽量不要去做主动指纹识别、漏扫xray的操作 我个人是优先本机去做手工渗透,需要IP可用,挂代理始终没有本机方便
  2. 漏扫、指纹识别、域名收集 这种脚本化、工具化的东西都可以VPS、第三方主机搞定
  3. 一定要先信息收集,后漏扫,为了确保在漏扫前,我们的IP是干净的,没有被封禁的。 这样才能收集到更多的资产,排除被误封的情况
  4. 在爆破路径前先做HTTPX批量识别框架、title、content-length、解析IP、JS探测等操作,跟第三条同理,先信息收集再漏扫,先做不会被封IP的操作,再漏扫因为JS探测、HTTPX在没有涉及到FUZZ的时候,都不会被封IP
  5. 一旦开始路径扫描、漏扫、ARL\EZ自动化的时候,就可以默认IP会被封了,漏扫可以考虑代理池。

9. 一些补充

9.1. 代理池

proxifier+nps默认口令
或者
fofa搜索socks节点去做验证

9.2. 获取闭源软件源码

body="web.config" && "oa" && "rar" && country="CN"
body="web.config" && "U8" && country="CN"
body="web.config" && "EAS" && country="CN"
body="web.config" && "k3s" && country="CN"
body="web.config" && "kingdee" && country="CN"
body="web.config" && "系统" && country="CN"
body="web.config" && "办公" && country="CN"
body="web.config" && "EKP" && country="CN"

9.3. WSDL测试

可用 burp 插件 Wsdler
Soap接口存在SQL注入到旁站开花再到后台getshell

9.4. JS利用-api接口测试

推荐插件https://github.com/momosecurity/FindSomething
遇到这种登录框一般测试思路如下:
首先登陆,查看api接口
Pasted image 20250413013201
Pasted image 20250413013205
对接口目录逐级扫描
Pasted image 20250413013220
Pasted image 20250413013222
扫描的情况不是很理想
我们利用apikit插件进行调用
https://github.com/API-Security/APIKit
Pasted image 20250413013233

9.5. JS利用-敏感信息收集

通过在JS
F12全局搜索寻找secret key等敏感字符
建议直接findsomething插件
以及JJJJJ
https://github.com/ttstormxx/jjjjjjjjjjjjjs
之前在主动信息收集介绍的工具进行搭配使用
Pasted image 20250413013252

9.5.1. findsomething使用

Pasted image 20250413013345
点击findsomething右上角的复制URL选项
然后用httpx批量请求
通过content-length辨别结果,去重复
也可以把接口收集起来,放在txt里面
放进burp跑 记得把下面这个地方取消打勾,不然会自动URL encode
Pasted image 20250413013411