https://github.com/b0bac/ApolloScanner
说在最前面
- 请合法使用,仅限于用于防守团队内部授权验证,不得用于非法或非授权行为
- 不提供任何实际攻击代码
- 基于当前AI发展趋势和作者个人时间问题,本项目不再更新,使用者可遇到错误以采用AI修正,作者正在思考利用SKILL技术重新构建类似框架的可行性
最新更新
2025.01.07
- 支持导入导出功能
![图片[1]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170737.png)
- 支持Nuclei扫描,可以按需配置yaml poc(支持调试),并进行扫描,当前扫描结果验证不稳定,还在优化中,Nuclei使用方法与自定义EXP扫描基本相同
![图片[2]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170756.png)
![图片[3]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170800.png)
![图片[4]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170805.png)
![图片[5]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170810.png)
使用前请下载nuclei(当前测试版本3.3.7)机器中,并配置路径
![图片[6]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170822.png)
- 新增员工和排班功能
![图片[7]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170836.png)
2023.09.14
- 增加新功能,可以支持根据关键字监控Github上面新的漏洞POC/EXP
![图片[8]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170857.png)
![图片[9]-ApolloScanner- 阿波罗自动攻击评估系统-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/04/d2b5ca33bd20260407170902.png)
python3 manage.py crontab add # 添加计划任务
python3 manage.py crontab show # 查看计划任务
2023.09.12
- 优化显示逻辑
2023.09.11
- 更新了依赖库和安装说明文件
- 修复了virustotal请求验证证书失败的问题
- 修复github找不到Github的问题
- 修复了详情扫描中间件具体信息不能扫描的问题的
安装
版本更新,不再支持虚机安装,请使用源码安装,部署过程的Trouble Shooting 也是一种成长
- python版本: 3.8.x 或 3.9.x
- django版本:4.0.1
- nmap:需要
- masscan:需要
- nuclei:若要使用则需要,请自行下载
- mysql
- 前端:基于simple-ui
- 支持操作系统:Ubuntu 20.04
- 应该支持但未测试:MacOS 系列/ Ubuntu 系列
sudo apt install masscan nmap libmysqlclient-dev mysql-server
sudo python3 -m pip install -r requirments.txt
# 需要手动修改mysql root密码 创建Apollo 数据库 并修改settings.py 中的数据库账密
sudo python3 manage.py migrate
sudo python3 manage.py createsuperuser
sudo python3 manage.py runserver 0.0.0.0:80
功能
- 资产收集(需要主域名,资产对象可直接在爆破和漏扫过程中调用)
- 子域名收集(需要virustotal-api-token)
- cname收集
- ip地址(a记录)收集
- 开放端口扫描(基于masscan)
- 端口对应服务、组件指纹版本探测(基于nmap)
- http标题探测
- http框架组件探测
- github敏感信息收集
- 基于域名和关键字的敏感信息收集(需要github-token)
- 暴力破解(基于exp的暴力破解)
- exp注册模块
- 代码动态编辑
- 代码动态调试
- 支持资产对象
- 破解任务模块
- 支持exp对象调用
- 支持资产对象
- 支持批量资产
- 支持多线程(可配置)
- 破解结果模块
- 支持结果显示
- 支持钉钉通知
- 敏感路径探测任务
- 敏感路径探测结果
- exp注册模块
- 漏洞扫描模块
- exp注册模块
- 代码动态编辑
- 代码动态调试
- 支持资产对象
- 漏扫任务模块
- 支持exp对象调用
- 支持资产对象
- 支持批量资产
- 支持多线程(可配置)
- 结果显示模块
- 支持结果显示
- 支持钉钉通知
- exp注册模块
- 配置模块
- 支持常用系统配置(各类token、线程数)
- 支持用户、用户组、权限配置模块
- 支持启动服务模块
- HTTP服务(支持HTTP请求记录)
- DNS服务(支持DNS请求记录)
exp编写规范
- 暴力破解
def brute_scan_function_name(ipaddress, port, username, password, logger):
import xx_module # 引入模块全部在函数内容写
# ...
# ...是爆破exp核心代码
logger.log("xxxxx") # 代替print
return True # 返回必须是true/false
- 漏扫扫描
def brute_scan_function_name(ipaddress, port, logger):
import xx_module # 引入模块全部在函数内容写
# ...
# ...是漏扫exp核心代码
logger.log("xxxxx") # 代替print
return True # 返回必须是true/false
报错解答
1、缺乏mysql_config命令:
- 报错示例
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [11 lines of output]
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-2er683ou/mysqlclient_5ba8560cf6ca429b8316cf1cf6771c9a/setup.py", line 16, in
metadata, options = get_config()
File "/tmp/pip-install-2er683ou/mysqlclient_5ba8560cf6ca429b8316cf1cf6771c9a/setup_posix.py", line 51, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-2er683ou/mysqlclient_5ba8560cf6ca429b8316cf1cf6771c9a/setup_posix.py", line 29, in mysql_config
raise EnvironmentError("%s not found" % (_mysql_config_path,))
OSError: mysql_config not found
- 解析:由于部分环境缺乏mysql_config命令导致mysqlclient依赖安装失败,可能是由于没有安装该命令或者没有建立该命令的软连接,可根据自己环境google解决。
- 参考文献 : 解决Mysql中mysql_config not found的方法
关于一些异常简单的报错的解答:
目前看到一些ISSUE报错的原因是以下几种情况:
- 自己环境mysql账号密码与配置文件不匹配
- 缺少相关依赖Python库或版本不对
- 缺少相关依赖的组件或版本不对 此类问题请自行Google解决,不要提ISSUE
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END















请登录后查看评论内容