巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。巡风是YSRC/同程安全应急响应中心出品的开源作品
本软件只做初步探测,无攻击性行为。请使用者遵守《中华人民共和国网络安全法》,勿将巡风用于非授权的测试
其主体分为两部分:网络资产识别引擎,漏洞检测引擎。
1、网络资产识别引擎会通过用户配置的IP范围定期自动的进行端口探测(支持调用MASSCAN),并进行指纹识别,识别内容包括:服务类型、组件容器、脚本语言、CMS。
2、漏洞检测引擎会根据用户指定的任务规则进行定期或者一次性的漏洞检测,其支持2种插件类型、标示符与脚本,均可通过web控制台进行添加。
项目地址
https://github.com/ysrc/xunfeng
安装指南
https://github.com/ysrc/xunfeng/blob/master/docs/install/Linux.md
下面介绍CentOS7下安装部署巡风的具体步骤
1、安装操作系统依赖
yum install gcc libffi-devel python-devel openssl-devel libpcap-devel
2、上传巡风安装包
tar -zxvf /root/xunfeng-0.1.1.tar.gz -C /opt
cd /opt
mv xunfeng-0.1.1/ xunfeng
3、python 依赖库
建议使用pip进行管理
wget https://sec.ly.com/mirror/get-pip.py --no-check-certificate
python get-pip.py
更新到pip最新版本:
pip install -U pip
使用pip安装 python 依赖库, 这里使用了豆瓣的 pypi 源。
cd /opt/xunfeng
pip install -r requirements.txt -i https://pypi.doubanio.com/simple/
Tips:
若出现pyparsing报错用下面命令解决
pip install -I pyparsing==2.2.0
再次执行
pip install -r requirements.txt -i https://pypi.doubanio.com/simple/
4、安装mongodb
cat > /etc/yum.repos.d/mongodb.repo << \EOF
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.cloud.tencent.com/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1
EOF
yum install -y mongodb-org
5、创建数据库及数据库账户,并导入数据
启动数据库
service mongod restart
netstat -antlp | grep 27017
创建数据库账户及密码
mongo
use xunfeng
db.createUser({user:'scan',pwd:'password2021',roles:[{role:'dbOwner',db:'xunfeng'}]})
exit
导入数据
cd /opt/xunfeng/db
mongorestore -h 127.0.0.1 --port 27017 -d xunfeng .
可以使用navicat测试数据库是否可以正常连接
接下来停止数据库服务
service mongod stop
6、修改Config.py和Run.sh中端口与密码
cat Config.py
class Config(object):
ACCOUNT = 'admin'
PASSWORD = 'xunfen321'
class ProductionConfig(Config):
DB = '127.0.0.1'
PORT = 27017
DBUSERNAME = 'scan'
DBPASSWORD = 'password2021'
DBNAME = 'xunfeng'
cat Run.sh
#!/bin/bash
CURRENT_PATH=`dirname $0`
cd $CURRENT_PATH
XUNFENG_LOG=/var/log/xunfeng
XUNFENG_DB=/var/lib/mongo
[ ! -d $XUNFENG_LOG ] && mkdir -p ${XUNFENG_LOG}
[ ! -d $XUNFENG_DB ] && mkdir -p ${XUNFENG_DB}
nohup mongod --port 27017 --dbpath=${XUNFENG_DB} --auth > ${XUNFENG_LOG}/db.log &
nohup python ./Run.py > ${XUNFENG_LOG}/web.log &
nohup python ./aider/Aider.py > ${XUNFENG_LOG}/aider.log &
nohup python ./nascan/NAScan.py > ${XUNFENG_LOG}/scan.log &
nohup python ./vulscan/VulScan.py > ${XUNFENG_LOG}/vul.log &
Run.sh中修改XUNFENG_DB=/var/lib/mongodb为实际路径/var/lib/mongo
yum安装的mongodb数据库路径为:/var/lib/mongo
7、运行巡风
sh Run.sh
查看日志是否有报错
tail -f /var/log/xunfeng/web.log
防火墙放通web端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
8、使用巡风
http://IP
1)设置网络资产探测列表
2)启用MASSCAN,并设置实际masscan的路径及自定义弱口令字典
3)查询IP,下发POC漏洞扫描任务
4)下载扫描结果