一、巡风系统简介
巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。
其主体分为两部分:网络资产识别引擎,漏洞检测引擎。
网络资产识别引擎会通过用户配置的IP范围定期自动的进行端口探测(支持调用MASSCAN),并进行指纹识别,识别内容包括:服务类型、组件容器、脚本语言、CMS。
漏洞检测引擎会根据用户指定的任务规则进行定期或者一次性的漏洞检测,其支持2种插件类型、标示符与脚本,均可通过web控制台进行添加。
1.1 文件结构介绍
│  Config.py  # 配置文件
│  README.md  # 说明文档
│  Run.bat  # Windows启动服务
│  Run.py  # webserver
│  Run.sh    # Linux启动服务,重新启动前需把进程先结束掉
│  
├─aider
│      Aider.py  # 辅助验证脚本
│      
├─db  # 初始数据库结构
│      
├─masscan  # 内置编译好的Masscan程序,若无法使用请自行编译安装
│          
├─nascan
│  │  NAScan.py # 网络资产信息抓取引擎
│  │  
│  ├─lib
│  │      common.py 其他方法
│  │      icmp.py  # ICMP发送类
│  │      log.py  # 日志输出
│  │      mongo.py  # 数据库连接
│  │      scan.py  # 扫描与识别
│  │      start.py  # 线程控制
│  │      
│  └─plugin
│          masscan.py  # 调用Masscan脚本
│          
├─views
│  │  View.py  # web请求处理
│  │  
│  ├─lib
│  │      Conn.py  # 数据库公共类
│  │      CreateExcel.py  # 表格处理
│  │      Login.py  # 权限验证
│  │      QueryLogic.py  # 查询语句解析
│  │      
│  ├─static #静态资源目录
│  │              
│  └─templates #模板文件目录
│          
└─vulscan
    │  VulScan.py  # 漏洞检测引擎
    │  
    └─vuldb # 漏洞库目录
二、安装指南
2.1 第一部分
环境需求
python2.7 mongodb3.0
升级系统,安装依赖包
使用yum -y update命令进行系统更新,如果不想升级系统版本,可以忽略这一步(系统更新快慢根据更新包和网速决定)
安装扩展包
yum install git gcc libffi-devel python-devel openssl-devel libpcap-devel -y

2.2 更新python
2.2.1 下载一个2.7的python可以使用下面两个URL进行下载
wget http://down.hx99.net/Other/Python-2.7.6.tar.xz
wget http://down.hx99.net/Other/Python-2.7.6.tar.xz 

2.2.2 解压文件

cd Python-2.7.6  #进入安装文件目录
./configure          #进行安装,默认安装在/usr/local目录下

2.2.3 make && make altinstall #编译安装

2.3 解决yum命令不支持python2.7的问题
2.3.1 将老的python2.6进行备份
mv /usr/bin/python /usr/bin/python2.6.6
2.3.2 建立新的python链接
ln -s /usr/local/bin/python2.7 /usr/bin/python
2.3.3 修改 /usr/bin/yum文件
将第一行的 #!/usr/bin/python 改为 #!/usr/bin/python2.6.6
2.4 安装pip,建议使用豆瓣的pip源,否则可能会因为超时导致报错(自己可以选择合适pip源)
2.4.1 下载pip
wget https://sec.ly.com/mirror/get-pip.py --no-check-certificate

2.4.2 安装
python get-pip.py

2.4.3 更新pip到最新版本
pip install -U pip

2.4.4 安装依赖程序
pip install pymongo Flask xlwt paramiko

2.5 安装Masscan扫描软件
2.5.1 下载软件
git clone https://github.com/robertdavidgraham/masscan

2.5.2 安装masscan

chmod +x /opt/masscan/bin/masscan #给masscan脚本执行权限
2.5.3检测是否安装成功

三、mongo配置
3.1 克隆程序及mongoDB数据库软件
git clone https://code.aliyun.com/ysrc/xunfeng.git
wget https://sec.ly.com/mirror/mongodb-linux-x86_64-3.4.0.tgz
3.1.1 解压文件
tar -zxvf mongodb-linux-x86_64-3.4.0.tgz

mv mongodb-linux-x86_64-3.4.0 mongodb #将mongodb-linux-x86_64-3.4.0改名为mongondb
3.1.2 创建数据库目录
mkdir /opt/mongodb/DBData
后台启动mongodb
nohup /opt/mongodb/bin/mongod --port 65521 --dbpath=/opt/mongodb/DBData &

如果启动成功,就可以看到65521处于监听状态
3.1.3 导入巡风的初始数据库

3.1.4 增加数据库连接认证
/opt/mongodb/bin/mongo --port 65521
db.createUser({user:'scan',pwd:'你的密码',roles:[{role:'dbOwner',db:'xunfeng'}]})
exit

四、修改配置、启动
4.1 修改配置文件
vim /opt/xunfeng/Config.py

vim /opt/xunfeng/Run.sh
4.2 启动程序
批量启动 sh /opt/xunfeng/Run.sh
如果没有启动成功,检查80、8088和65521端口是否存在
打开web页面(默认端口80) #默认账号密码:admin/xunfeng321
4.2.1 在首页->配置->启用填上完整路径

4.2.2 在网络资产探测列表位置填上探测范围

4.2.3 几分钟后会在首页位置显示探测的数据

4.2.4 使用巡风系统进行弱密码探测
点击“搜索”项添加目标
IP和端口使用封号隔开
新增任务
保存任务

点击“任务”项,找到弱口令2

打开后即可看到扫描结果



