前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享一款基于Pocsuite的漏洞扫描系统

分享一款基于Pocsuite的漏洞扫描系统

作者头像
FB客服
发布2018-07-30 14:46:33
1.6K0
发布2018-07-30 14:46:33
举报
文章被收录于专栏:FreeBuf

PS:本项目仅用于测试、学习使用,不得用于其他非法目的。

本项目是一款基于 Flask 应用框架的在线漏洞扫描系统,同时集成了渗透测试常用的端口扫描、子域名爆破等功能,后端漏洞扫描采用的是知道创宇安全团队的开源漏洞测试框架 Pocsuite。

项目地址:https://github.com/jeffzh3ng/InsectsAwake

主要功能

漏洞扫描

漏洞扫描通过调用创宇的 Pocsuite 进行扫描,扫描插件通过 Seebug 可以获取,或者自己编写。

扫描目标只能是单个 IP 或者 URL,不支持网段扫描(公司是中小型公司,就忘写这块需求了),默认有80余个插件,大多是 Seebug 的免费PoC

任务周期可以选择临时、每日、每周或每月

资产管理

添加各系统或部门网络资产

可以通过各资产库创建漏洞扫描任务,同样资产库只能是单个 IP 或者 URL。

开启端口发现功能后,后端会定时调用 nmap 对资产进行端口扫描,需要扫描的端口可以在设置里进行配置

域名发现功能

即子域名爆破功能,但目前功能尚不完善,只能通过配置字典进行暴力猜解,域名字典可以在设置处进行配置,项目 tests 文件夹内提供了一份子域名字典(字典来源 ring04h 的 wydomain 项目)

系统安装

安装演示所使用的操作系统为 Ubuntu 16.04

获取项目源码

代码语言:javascript
复制
git clone https://github.com/jeffzh3ng/InsectsAwake.git

安装 Python 及 pip

代码语言:javascript
复制
sudo apt update
sudo apt install python python-pip

安装 MongoDB

代码语言:javascript
复制
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
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

其他系统安装参考官方手册:

https://docs.mongodb.com/manual/installation/

安装 Python 依赖包

代码语言:javascript
复制
cd InsectsAwake
sudo pip install pip -U
sudo pip install -r requirements.txt

安装 Nmap

代码语言:javascript
复制
sudo apt install nmap

或者源码安装

配置数据库

启动数据库

代码语言:javascript
复制
sudo service mongod start
mongo --host 127.0.0.1:27017

添加用户

代码语言:javascript
复制
use InsectsAwake
db.createUser({user:'you username',pwd:'you password',roles:[{role:'dbOwner',db:'InsectsAwake'}]})
exit

修改扫描器配置

扫描器配置文件路径:InsectsAwake-Project/instance/config.py

代码语言:javascript
复制
class Config():
    WEB_USER = 'admin'          // 扫描器登录用户
    WEB_PASSWORD = 'whoami'     // 扫描器登录密码
    WEB_HOST = '127.0.0.1'      // 本地访问
    WEB_PORT = 5000             // Web服务端口
    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'

初始化数据库

代码语言:javascript
复制
cd /InsectsAwake/migration
python start.py

运行系统

完成依赖安装、数据库配置及修改扫描器配置后

代码语言:javascript
复制
sudo ./run.sh restart

项目默认运行在127.0.0.1:5000 (可以 修改 默认的 WEB_HOST 及 WEB_PORT),无法外网访问,建议配置 Nginx 或者 Caddy 等Web服务代理访问,这里简单介绍下 Caddy 使用

Caddy 配置

Caddy 是一个能自动创建 HTTPS 功能的 HTTP/2 网站服务器

安装

Linux 64-bit 一键安装脚本:

代码语言:javascript
复制
curl https://getcaddy.com | bash -s personal

其他版本操作系统安装参考Caddy 官网

安装 Golang 的通过 go get 获取

代码语言:javascript
复制
go get github.com/mholt/caddy/caddy

配置

创建配置文件

代码语言:javascript
复制
sudo mkdir /etc/caddy
sudo touch /etc/caddy/caddy.config
sudo chown -R root:www-data /etc/caddy
sudo vi /etc/caddy/caddy.config

配置文件示例:

代码语言:javascript
复制
www.example.com {
    log /var/log/caddy_insectsawake.log
    proxy / 127.0.0.1:5000 {
        transparent 
    }
}

修改 为你的域名,127.0.0.1:5000 为你配置的服务端口

创建 SSL 证书路径

代码语言:javascript
复制
sudo mkdir /etc/ssl/caddy
sudo chown -R www-data:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

运行

测试

代码语言:javascript
复制
sudo caddy -conf /etc/caddy/caddy.config

后台运行

代码语言:javascript
复制
sudo nohup caddy -conf /etc/caddy/caddy.config > /var/log/caddy_log.log &

运行成功

参考及依赖项目

Pocsuite wydomain xunfeng Flask Nmap

还有参考了一些其他项目但不记得地址了,感谢各位开源

写在后面

项目是三月初开始写的(惊蛰那天),断断续续写了一个多月了,最早的想法是将一些常用的工具如DNSLog、端口扫描、目录爆破、爬虫等渗透常用功能集成在线的形式,但最近公司开始忙起来,没有太多精力继续放在该项目上了,目前只实现了漏洞扫描、端口扫描及子域名爆破,后面有时间会继续完善

使用过程中遇到问题或者建议可以联系我:

Telegram:jeffzhang Telegram Group:Insects Awake E-Mail:jeffzh3ng@gmail.com

*本文作者:jeffzh3ng,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要功能
    • 漏洞扫描
      • 资产管理
        • 域名发现功能
        • 系统安装
          • 获取项目源码
            • 安装 Python 及 pip
              • 安装 MongoDB
                • 安装 Python 依赖包
                  • 安装 Nmap
                    • 配置数据库
                      • 修改扫描器配置
                        • 初始化数据库
                          • 运行系统
                            • Caddy 配置
                              • 安装
                                • 配置
                                  • 运行
                                  • 参考及依赖项目
                                  • 写在后面
                                  相关产品与服务
                                  数据库
                                  云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档