项目:RuoJi6/DarKnuclei

1734789659349

0.1 思路

在前期怎么样对目标进行快速的渗透测试?通过测绘资产快速的进行收集互联网暴露资产,联动指纹识别以及联动扫描工具进行打点。

0.2 难点

在攻防或者是渗透测试的时候,组织方给的资产大致分为:

  1. 公司名单表
  2. 一堆杂乱资产

所以,在编写项目的时候也需要考虑到这两点问题,公司名单列表通过测绘引擎进行处理,一堆杂乱资产通过识别为IP以及WEB进行处理。

0.3 解决

0.3.1 测绘语法

多角度收集测绘语法如下,同时使用或逻辑进行处理资产。【关于测绘语法,请看下篇文章】

  1. ICP备案号
  2. 域名
  3. IP地址
  4. host信息
  5. 网站title和body
  6. 一年前后数据
  7. SSL证书
    • 公用名
    • 组织
    • 序列号

image-20241221205111286

0.3.2 处理资产

在攻防期间,组织方给的目标有可能是:

1
2
3
4
5
http://baidu.com
http://baidu.com:1122
https://192.168.23.1:8899
192.168.23.1
baidu.com

进行测试的时候,就需要对资产进行处理,才能进行下一步扫描。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
http://baidu.com  
http://baidu.com:1122
https://192.168.23.175:8899
http://baidu.com/asdxasd/asd
192.168.23.1
conasdasd.com
192.168.123.175:1122

处理为:
http://baidu.com
http://baidu.com/asdxasd/asd
http://baidu.com:1122
https://192.168.23.175:8899
http://conasdasd.com
https://conasdasd.com
https://192.168.124.175:8899
http://192.168.123.175:1122
https://192.168.123.175:1122


192.168.123.175
192.168.23.1
192.168.124.175

其中,处理分为两部分:WEB,IP。

0.4 扫描处理

0.4.1测绘引擎处理

得到测绘结果中的IP资产,使用gogo进行资产扫描。

将测绘结果去重,使用observer_ward进行指纹探针,找到对应的指纹使用nuclei使用对应的POC进行扫描。

0.4.2 杂乱资产处理

根据杂乱资产:我们可以分成两种情况需要扫描:

  1. WEB资产【测绘资产】
  2. IP资产

其中IP需要进行端口扫描,才能进行下一步操作。

资产识别→WEB等待[gogo探测结果]

资产识别→IP→gogo端口探测→收集WEB资产[包括一开始收集的结果]→指纹识别→漏洞扫描

  • 资产识别,分为两种资产,其中IP资产使用gogo自带指纹识别以及漏洞探针进行扫描,将带有WEB的资产和首次识别到的WEB资产进行合并,使用observer_ward进行指纹探针,找到对应的指纹使用nuclei使用对应的POC进行扫描。

0.5 优缺点

0.5.1 优点

  1. 使用多个测绘语句结合,保证资产结构最大化。
  2. 针对杂乱资产,不遗留资产。

0.5.1 缺点

需要人进行维护指纹以及POC保证是最新的,需要有一套漏洞运营流程,针对攻防出现的高危POC进行维护更新,这个也是我团队所在做的事情,需要日积月累才能有成效。

0.6 后续思考

  1. 针对红队C2服务器进行指纹识别。
    • C2服务器默认特征,vshell一键上线默认端口探测,以及红队扫描器WEB地址识别,以及yakit,和JNDI注入工具端口识别。
  2. 针对防守方蜜罐进行识别。
    • 蜜罐的JS文件,或者是蜜罐的一些特征,又或者是,探测首个发包之后,有没有请求一些敏感域名:qq,baidu等。