0.1 DarKnuclei 入门技巧
DarKnuclei是一款适合针对红蓝对抗的一款工具【可跨平台使用】,不仅仅可以在红队视角下的快速打点,还可以在蓝队视角下针对红队基础设施与服务进行探针扫描,DarKnuclei在针对红队基础设施进行扫描针对C2,采用强/弱特征,通过C2一些特征值去识别探针,在保证准确率的情况下去尽可能识别多C2,内置yaml语法,使用者可以自己编写yaml文件,识别特定的C2。
项目地址:https://github.com/RuoJi6/DarKnuclei
0.1.1 前置配置
在使用DarKnuclei之前要进行一些设置,需要满足以下条件:
- 如果需要进行漏洞扫描需要将nuclei加入环境变量【同时需要下载nuclei-templates,并在config.ini中配置】。
- 如需使用测绘功能请修改
config.ini添加key。 - python版本:
python3。 - 如果是mac或linux请下载对于的执行程序在plugin目录,并配置
config.ini。
配置完以上信息,就可以完美的使用DarKnuclei。
0.1.2 在红队视角下
不管是蓝队模块还是会对模块扫描后的结果会保存在project文件中,其中txt为详细信息,html为简略信息。
在上文中,配置完成之后,我们运行python main.py -h可以查看帮助信息;

此时NSM WEB GOGO属于红队模块,RTSCAN属于蓝队模块,接下来我们展开讲讲红队模块:
0.1.2.1 NSM [测绘资产]
解决问题:在攻防的时候,拿到手资产,是ip或者是域名又或者是公司怎么样进行快速打点?
此模块是通过测绘平台进行扫描,前提是需要配置好fofa,以及quake key。

python3 main.py NSM -h查看帮助信息。
案例1
在案例1中,我们可以看到输入目标资产的一些信息,查询相关资产【注意如果没有加上-n或-b视为只资产测绘进行查询,而不进行指纹识别以及漏洞扫描】
1 | python3 main.py NSM -ip xxx.xxx.xxx.xxx -icp 京ICP证030173号 -domain baidu.com -body 百度公司 -title 百度公司管理 |
在下面两个参数重,根据需求选择,选择之后,将进行相应的模块。
1 | -b, --observer 指纹扫描 |
【DarKnuclei在设计只初参考了大量的扫描器,DarKnuclei在进行漏洞扫描的时候,均是先指纹识别,通过指纹查询对于的POC,才进行对应的漏洞扫描】
0.1.2.2 WEB [WEB扫描]
解决问题:在攻防的时候,拿到一堆资产的时候,怎么样快速打点?
此模块没有测绘功能,需要用户输入目标,或者是目标集合的文件【如:url.txt】,而且需要注意的是,输入的目标需要是http://或者是https://开头的资产才行,否则会跳过此资产。

0.1.2.3 GOGO [GOGO扫描]
解决问题:在攻防的时候,拿到一堆资产的时候,而且资产杂乱,有的是IP,有的是域名,有的带有http,又或者是https,这个时候此工具可以快速的识别并整理资产。【自动识别web资产还有扫描IP信息,识别是http或者是https】
强烈推荐此模块,此模块在针对上一个模块中,针对资产杂乱的问题进行解决,并且,可以定制指定端口扫描。

其中,此工具在使用的时候,必须调用下面两个参数,二选一。
1 | -b, --observer 指纹扫描 |
0.1.3 在蓝队视角下 【RTSCAN】
解决问题:在通过设备捕捉到红队IP的时候,蓝队成员在编写溯源报告的时候,针对红队服务器上开放了什么服务,或者说使用了什么C2进行的攻击,不清楚,此工具不仅仅针对红队平台【ARL…..】,可以针对服务【JNDI…】,还可以针对红队部署的C2【vshell…..】等。
在下图中,列出了目前版本覆盖类型以及指纹。
0.1.3.1 特征覆盖
✅ 强特征
☑️ 弱特征
平台/服务
| 名字 | 类型 | 特征 | 计划中 | 备注 |
|---|---|---|---|---|
| ARL(灯塔) | platform | ✅ | ||
| Scope Sentry | platform | ✅ | ||
| NPS | platform | ✅ | ||
| AWVS | platform | ✅ | ||
| Nessus | platform | ✅ | ||
| XSS平台 | platform | ✅ | ||
| BeEF | platform | ✅ | ||
| H | platform | ✅ | ||
| LangSrcCurise | platform | ✅ | ||
| Medusa | platform | ✅ | ||
| NextScan | platform | ✅ | ||
| prismx | platform | ✅ | ||
| CyberEdge | platform | ✅ | ||
| SerializedPayloadGenerator | platform | ✅ | ||
| web-chains | platform | ✅ | ||
| RevSuit | platform | ✅ | ||
| MemShellParty | platform | ✅ | ||
| vulfocus | platform | ✅ | ||
| gophish | platform | ✅ | ||
| testnet | platform | ✅ | ||
| rengine | platform | ✅ | ||
| JNDI-Injection-Exploit-Plus | Tools | ✅ | 只针对ldap强特征,rmi,jetty弱特征 | |
| JNDI-Injection-Exploit | Tools | ✅ | 只针对ldap强特征,rmi,jetty弱特征 | |
| rogue-jndi | Tools | ✅ | 只针对ldap强特征,rmi,jetty弱特征 | |
| JNDIMap | Tools | ✅ | 只针对ldap强特征,rmi,jetty弱特征 | |
| ysoserial | Tools | ✔️ |
C2
| 名字 | 版本 | 登录/连接 | 监听端口 | UDP流量 | TCP流量 | HTTP/S流量 | 计划中 | 备注 |
|---|---|---|---|---|---|---|---|---|
| vshell | 4.9.3~4.6.0 | ✅ | ✅ | ✅ | ✅ | |||
| Cobalt Strike | ✅ | ✅ | ||||||
| Metasploit | ✅ | ✅ | ||||||
| Supershell | 2.0.0 | ✅ | ✅ | |||||
| Viper | ✅ | ☑️ | ✔️ | |||||
| Daybreak | ✔️ | |||||||
| chisel | ✔️ | |||||||
| sliver | ✔️ | |||||||
| Havoc | ✔️ | |||||||
| Iom | ✔️ | |||||||
| Villain | ✔️ | |||||||
| VenomRA | ✔️ | |||||||
| ShadowPad | ✔️ | |||||||
| Shad0w | ✔️ | |||||||
| Remcos RAT | ✔️ | |||||||
| QuasarRAT | ✔️ | |||||||
| Pupy-C2 | ✔️ | |||||||
| PoshC2 | ✔️ | |||||||
| PlugX RAT | ✔️ | |||||||
| Orcus-RAT | ✔️ | |||||||
| Ninja | ✔️ | |||||||
| Mythic | ✔️ | |||||||
| Havoc | ✔️ | |||||||
| Hak5 Cloud | ✔️ | |||||||
| Gh0st | ✔️ | |||||||
| Empire | ✔️ | |||||||
| DeimosC2 | ✔️ | |||||||
| DcRAT | ✔️ | |||||||
| Covenant | ✔️ | |||||||
| Brute Ratel C4 | ✔️ | |||||||
| BitRAT | ✔️ | |||||||
| AsyncRAT | ✔️ | |||||||
| manjusaka | ✔️ |
0.1.3.2 使用

python3 main.py RTSCAN -a 此命令可以查看支持的C2的类型,name,以及tags等。
在下面命令中,扫描xxx.xxx.xxxIP中的带有C2 tags的yaml文件。【如果没有指定端口,将会扫描默认常见红队开放端口】
1 | python3 main.py RTSCAN - i xxx.xxx.xxx -t c2 |
注意:有些扫描时有感的,所以请配置代理。
效果:


0.1.4 日志&报错
在程序运行的时候,不可避免因为代码或者说网络问题出现的错误,日志文件会在log_目录下,以周为单位记录日子,且保留最多3个备份文件,超过的旧文件会被删除。
日志的多个格式:
1 | 2025-01-25 16:11 || INFO || run_def.py || gogo+指纹+漏洞 || /Users/hacker/filename/代码/代码/RT/DarKnuclei_scan/run_def.py 263 |
0.1.5 扩展红队YAML
DarKnuclei 在红队视角下,用户可自定义YAML文件,针对特定的服务或者C2进行扩展。【待定完成】