介绍
这是一款基于 Flask 应用框架的漏洞扫描系统,同时集成了渗透测试常用的端口扫描、子域名爆破等功能,后端漏洞扫描采用的是知道创宇安全团队的开源漏洞测试框架 Pocsuite
仅用于测试、学习使用,不得用于其他非法目的

安装
测试安装环境Ubuntu 16.04
git clone
Python 及 pip
- sudo apt update
- sudo apt install python python-pip
安装 MongoDB
- sudo apt-key adv --keyserver hkp:
- echo "deb [ arch=amd64,arm64,ppc64el,s390x ] http://repo.mongodb.com/apt/ubuntu xenial/mongodb-enterprise/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise.listecho "deb http://repo.mongodb.com/apt/ubuntu "$(lsb_release -sc)"/mongodb-enterprise/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-3.4.list
- echo "deb http://repo.mongodb.com/apt/ubuntu "$(lsb_release -sc)"/mongodb-enterprise/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-3.4.list
- sudo apt-get update
- sudo apt-get install -y mongodb-enterprise
安装 Python 依赖包
- cd InsectsAwake
- sudo pip install pip -U
- sudo pip install -r requirements.txt
安装 Nmap
配置启动数据库
- sudo service mongod start
- mongo --host 127.0.0.1:27017
添加用户
- use InsectsAwake
- db.createUser({user:'you username',pwd:'you password',roles:[{role:'dbOwner',db:'InsectsAwake'}]})
- exit
修改扫描器配置
扫描器配置文件路径: InsectsAwake-Project/instance/config.py
- class Config():
- WEB_USER = 'admin'
- WEB_PASSWORD = 'whoami'
- WEB_HOST = '127.0.0.1'
- WEB_PORT = 5000
- POCSUITE_PATH = basedir + '/../InsectsAwake/views/modules/scanner/pocsuite_plugin/'
-
- class ProductionConfig(Config):
- DB_HOST = '127.0.0.1'
- DB_PORT = 27017
- DB_USERNAME = 'testuser'
- DB_PASSWORD = 'testpwd'
- DB_NAME = 'test'
-
-
- PLUGIN_DB = 'test_plugin_info'
- TASKS_DB = 'test_tasks'
- VULNERABILITY_DB = 'test_vuldb'
- ASSET_DB = 'test_asset'
- CONFIG_DB = 'test_config'
- SERVER_DB = 'test_server'
- SUBDOMAIN_DB = 'test_subdomain'
- DOMAIN_DB = 'test_domain'
- WEEKPASSWD_DB = 'test_weekpasswd'
初始化数据库
- cd /InsectsAwake/migration
- python start.py
运行系统
完成依赖安装、数据库配置及修改扫描器配置后
项目默认运行在127.0.0.1:5000 (可以 修改 默认的 WEB_HOST 及 WEB_PORT),无法外网访问,建议配置 Nginx 或者 Caddy 等Web服务代理访问
这里简单介绍下 Caddy 使用
Caddy 配置
Caddy 是一个能自动创建 HTTPS 功能的 HTTP/2 网站服务器
安装
Linux 64-bit 一键安装脚本:
安装 Golang 的通过 go get 获取
- go get github.com/mholt/caddy/caddygo get github.com/mholt/caddy/caddy
配置
创建配置文件
- sudo mkdir /etc/caddy
- sudo touch /etc/caddy/caddy.config
- sudo chown -R root:www-data /etc/caddy
- sudo vi /etc/caddy/caddy.config
配置文件示例:
- www.cesafe.com {
- log /var/log/caddy_insectsawake.log
- proxy / 127.0.0.1:5000 {
- transparent
- }
- }
创建 SSL 证书路径
- sudo mkdir /etc/ssl/caddy
- sudo chown -R www-data:root /etc/ssl/caddy
- sudo chmod 0770 /etc/ssl/caddy
启用
- sudo caddy -conf /etc/caddy/caddy.config
后台运行
- sudo nohup caddy -conf /etc/caddy/caddy.config > /var/log/caddy_log.log &
使用
漏洞扫描调用的 Pocsuite 进行扫描,默认有80多个插件,其他插件自行解决。

扫描目标只能是单个 IP 或者 URL
任务周期可以选择临时、每日、每周或每月
添加各系统或部门网络资产

可以通过各资产库创建漏洞扫描任务,同样资产库只能是单个 IP 或者 URL。
开启端口发现功能后,后端会定时调用 nmap 对资产进行端口扫描,需要扫描的端口可以在设置里进行配置
即子域名爆破功能,但目前功能尚不完善,只能通过配置字典进行暴力猜解,域名字典可以在设置处进行配置。

插件编写
后端扫描功能采用的是 Pocsuite 漏洞测试框架,插件编写请参考 Pocsuite 项目插件编写要求
依赖项目
- Pocsuite
- wydomain
- xunfeng
- Flask
- Nmap
展开内容