Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

自动化巡航扫描框架(可用于红队打点评估)

License

Notifications You must be signed in to change notification settings

darcychen2010/ApolloScanner

Repository files navigation

通知

由于两位开发者处于生病或工作忙碌状态的情况,ApolloScanner将在短期内暂停更新和修复BUG,预计清明节后继续。

请因缺少依赖库、依赖库版本不对、缺少组件、数据库账号口令与配置文件不同等引发的报错的使用者,先自行Google解决。

对于没有兴趣自己解决环境报错的小伙伴们,这里提供了虚拟机文件可直接下载导入运行。

ApolloScanner

自动化巡航扫描框架(可用于红队打点评估) 图片

安装

提供了虚拟机版本

  • 系统账号: apollo/apollo
  • web访问账号: apollo/apollo
  • 连接地址百度网盘
  • 链接: https://pan.baidu.com/s/164TUtMLqv8yyxfrse5VR2g
  • 提取码: s5ti
  • 格式:
    • ova 适用于virtual box
    • ovf(zip压缩包)适用于 vmware workstations 和 vmware fusion
  • 使用简便
cd ~/ApolloScanner
sudo python3.8 manage.py runserver 0.0.0.0:8080
  • 虚拟机迁移可能导致的网络问题
ifconfig -a 
# 查看所有网卡,假设网卡为ens33
# 调整为NAT模式
ifconfig ens33 down
ifconfig ens33 up

图片

源码安装

  • python版本: 3.8.x 或 3.9.x
  • django版本:4.0.1
  • nmap:需要
  • masscan:需要
  • mysql
  • 前端:基于simple-ui
  • 支持操作系统:MacOS Monterey 12.3 / Ubuntu 18.04 LTS
sudo python3 -m pip install -r requirments.txt
sudo python3 manage.py migrate
sudo python3 manage.py createsuperuser
sudo python3 manage.py runserver

功能

  • 资产收集(需要主域名,资产对象可直接在爆破和漏扫过程中调用)

    • 子域名收集(需要virustotal-api-token)
    • cname收集
    • ip地址(a记录)收集
    • 开放端口扫描(基于masscan)
    • 端口对应服务、组件指纹版本探测(基于nmap)
    • http标题探测
    • http框架组件探测
  • github敏感信息收集

    • 基于域名和关键字的敏感信息收集(需要github-token)
  • 暴力破解(基于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命令:

  • 报错示例
×ばつ 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 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed ×ばつ Encountered error while generating package metadata. ╰─> See above for output.">
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-e×ばつ 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
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed×ばつ Encountered error while generating package metadata.
╰─> See above for output.
  • 解析:由于部分环境缺乏mysql_config命令导致mysqlclient依赖安装失败,可能是由于没有安装该命令或者没有建立该命令的软连接,可根据自己环境google解决。
  • 参考文献 : 解决Mysql中mysql_config not found的方法

关于一些异常简单的报错的解答:

目前看到一些ISSUE报错的原因是以下几种情况:

  • 自己环境mysql账号密码与配置文件不匹配
  • 缺少相关依赖Python库或版本不对
  • 缺少相关依赖的组件或版本不对 此类问题请自行Google解决,不要提ISSUE

About

自动化巡航扫描框架(可用于红队打点评估)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 72.5%
  • Python 16.2%
  • CSS 8.6%
  • Less 2.7%

AltStyle によって変換されたページ (->オリジナル) /