NucleiPlatform:分布式扫描系统 nuclei-scan

admin 2025年2月10日16:49:40评论10 views字数 2402阅读8分0秒阅读模式
0x01 工具介绍

NucleiPlatform 扫描模块 —> 逻辑设计简单,随时添加目标资产,针对大量资产进行扫描。 —> 支持对资产进行项目分组。 —> 至少两至三台机器去做 Nuclei Agent 分布式扫描。 —> 支持对节点状态,扫描队列的查询。AssetsDetectAPI 资产收集模块 —> 支持 celery 分布式任务调度。 —> 支持对资产进行项目分组,主要功能流程域名收集(域名爆破和网络测绘)、端口扫描、站点查询、指纹识别、服务识别、证书信息、站点截图、目录扫描。主控端服务器建议最低使用 4h8g VPS 服务器,客户端服务器最低使用 4h4g,画的图有偏差因为中途修改了扫描逻辑。

0x02 安装与使用

项目部署

测试环境: Ubuntu 24.04.1 LTS 、Python 3.12.3 正常来说会上下兼容,其他操作系统未进行测试(暂且不支持 Windows 系统部署)。

主控端机器

安装基础依赖

apt update apt install python3 python3-dev python3-pip gcc nmap gunicorn screen celerygit clone https://github.com/evilc0deooo/NucleiPlatform.git && cd NucleiPlatformpython3 -m pip install -r requirements.txt --user --break-system-packages

永久修改控制文件描述符限制

将下面的 BASH SHELL 脚本保存到服务器并命名为 init.sh。

#!/bin/bash# 系统echo 'fs.file-max = 65535' | sudo tee -a /etc/sysctl.confsudo sysctl -p# 用户 cat /etc/security/limits.confsudo tee -/etc/security/limits.conf << EOF*               hard    nofile          65535*               soft    nofile          65535root            hard    nofile          65535root            soft    nofile          65535*               soft    nproc           65535*               hard    nproc           65535root            soft    nproc           65535root            hard    nproc           65535*               soft    core            unlimited*               hard    core            unlimitedroot            soft    core            unlimitedroot            hard    core            unlimitedEOF# Systemd  # cd /etc/systemd/# grep -rn -F"DefaultLimitNOFILE"sudo sed -i '/DefaultLimitNOFILE/DefaultLimitNOFILE=65535/etc/systemd/*.confsudo systemctl daemon-reexec

执行保存的 BASH SHELL 脚本。

chmod u+x init.shbash init.sh

如果永久修改控制文件描述符限制,需要关闭终端重新打开,并用 ulimit -n 命令来查看是否修改成功。

临时修改控制文件描述符限制

如果不想重开终端,执行下面的命令即可,并用 ulimit -n 命令来查看是否修改成功。

ulimit -n 65535

创建启动 Redis 容器

docker pull redis:latestdocker run -d --name redis -p 6379:6379redis:latest --requirepass "redis_password"创建启动 Mongo 容器docker pull mongodocker run -d   --name mongodb   -p 27017:27017  -e MONGO_INITDB_ROOT_USERNAME=admin   -e MONGO_INITDB_ROOT_PASSWORD=mongo_password   mongo

修改配置

修改 config.py 文件中的配置。

AUTH_USERNAME -> 平台认证账户AUTH_PASSWORD -> 平台认证密码REDIS_HOST -> Redis 主机 IPREDIS_PORT -> Redis 主机端口REDIS_PWD -> Redis 密码MONGO_HOST -> Mongo 主机 IPMONGO_PORT -> Mongo 主机端口MONGO_PWD -> Mongo 密码

启动 Nuclei Web 服务

screen python3 app.py

Agent 客户端机器

Agent 客户端服务器需要重复操作上面的安装流程(⚠️注意:不需要重复安装 Docker 内的数据库相关服务)。

修改配置

修改 config.py 文件中的数据库相关配置让其可连接主控端。

REDIS_HOST -> 主控端 Redis 主机 IPREDIS_PORT -> 主控端 Redis 主机端口REDIS_PWD -> 主控端 Redis 密码MONGO_HOST -> 主控端 Mongo 主机 IPMONGO_PORT -> 主控端 Mongo 主机端口MONGO_PWD -> 主控端 Mongo 密码

运行 Nuclei Agent 客户端

cd NucleiPlatformscreen python3 nuclei_agent.pyscreen python3 zombie_agent.py

系统界面 DEMO

NucleiPlatform:分布式扫描系统  nuclei-scan

NucleiPlatform:分布式扫描系统  nuclei-scan

NucleiPlatform:分布式扫描系统  nuclei-scan

NucleiPlatform:分布式扫描系统  nuclei-scan

NucleiPlatform:分布式扫描系统  nuclei-scan

· 下载

https://github.com/evilc0deooo/NucleiPlatform

 

原文始发于微信公众号(网络安全者):分布式扫描系统 -- nuclei-scan

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月10日16:49:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NucleiPlatform:分布式扫描系统 nuclei-scanhttps://cn-sec.com/archives/3690043.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息