fuxi scanner 安裝+修復不能掃描域名端口bug
0x00 fuxi scanner 簡介
掃描器鏈接:https://github.com/jeffzh3ng/Fuxi-Scanner
伏羲掃描器是一款開源的網絡安全掃描工具,非常適合中小型企業對資產進行管理已經安全檢測。
伏羲掃描器通過模塊化提供了多種安全檢查功能
- 基於pocsuite框架poc掃描
- 持續化的漏洞管理
- 多種協議的弱口令掃描,比如 ssh、mysql、ftp、vnc
- 基於爆破的子域名收集
- 企業內部資產管理(也可以進行src挖掘資產管理)
6.端口掃描
7.AWVS接口調用
Dashboard 展示頁面
0x01 fuxi scanner 安裝
- 首先需要安裝docker,請自行google安裝
- docker pull jeffzh3ng/fuxi-scanner
- 啓動 docker run -dit -p 5000:5000 -v /opt/data:/data jeffzh3ng/fuxi-scanner:latest
0x02 使用手冊- 漏洞掃描模塊
可以拖拉式的添加poc插件,插件來源可以是自己編寫,也可以從github下載
可以進行任務用管理,定時每天、每週、每月掃描等
可以批量查看漏洞詳情
開啓一個掃描
添加poc插件
掃描任務管理0x03 使用手冊- 資產管理
可以添加單個資產,也可以批量添加資產
資產添加完成,掃描默認端口,將掃描結果保存到service
添加資產
資產對應的端口0x04 使用手冊- 弱口令掃描
可以掃描42種類型的弱口令,username password可以手動修改
允許同時批量掃描多個ip或域名
創建一個弱口令掃描
弱口令掃描結果查看0x04 使用手冊- 子域名爆破以及awvs接口,端口掃描
這些功能暫時沒有使用
0x04 fuxi scanner 存在的bug
默認情況下,添加資產是ip,可以掃描出對應的服務(端口)。但是添加域名及不能掃描出端口
修改bug方法:
查看正在運行的docker docker ps -a
docker exec -it 3f605984e78e /bin/bash 進入fuxi 的docekr
修改/opt/fuxi/fuxi/views/modules/discovery/asset_discovery.py 中的port_scanner函數
替換成:
def port_scanner(host, port_list):
result = []
scanner = nmap.PortScanner()
arguments = "-sT -sV -sC -A -Pn -p " + ','.join('%s' % port for port in port_list)
try:
# port processing
pscan = scanner.scan(host, arguments=arguments)
# port 'state' == 'open'
# print("Scanning: %s" % host)
scanner = pscan['scan']
scanner.keys()[0]=host
for port in scanner[host].all_tcp():
if scanner[host]['tcp'][port]['state'] == 'open':
if "script" in scanner[host]['tcp'][port].keys():
script = scanner[host]['tcp'][port]['script']
else:
script = ''
if len(scanner[host]['tcp'][port]['version']) > 0:
version = scanner[host]['tcp'][port]['version']
else:
version = 'Unknown'
if len(scanner[host]['tcp'][port]['product']) > 0:
product = scanner[host]['tcp'][port]['product']
else:
product = scanner[host]['tcp'][port]['name']
data = {
"product": product,
"version": version,
"name": scanner[host]['tcp'][port]['name'],
"script": script,
"extrainfo": scanner[host]['tcp'][port]['extrainfo'],
"cpe": scanner[host]['tcp'][port]['cpe'],
"host": host,
"port": port,
}
result.append(data)
return result
except Exception as msg:
print(msg)
pass
return result
然後退出docker,將這個容器保存爲鏡像,重新啓動剛纔保存的鏡像
將容器保存爲
docker commit -m "change port scan domain" -a "fuxi scan" 2c74d574293f xiaohuihui/fuxi-scanner:latest
啓動更改後的docker鏡像
docker run -dit -p 5000:5000 -v /opt/data:/data xiaohuihui/fuxi-scanner:latest
修改後即可掃描域名的端口了