Perun介紹

Perun是一款主要適用于乙方安服、滲透測試人員和甲方RedTeam紅隊人員的網絡資產漏洞掃描器/掃描框架,它主要適用于內網環境,加載漏洞檢測Vuln模塊后能夠快速發現安全問題,并根據需要生成報表,以方便安全人員對授權項目完成測試工作。

Perun由Python2.7和Python標準庫開發,所有功能(端口掃描,漏洞檢測,控制臺輸出,生成Html報告)兼容Windows系統和*nix系統,Html報告采用Vue+Element,支持對掃描結果的排序、搜索、分頁。

在內網環境中只需上傳Perun的啟動器文件(未安裝Python的主機環境下可以使用Pyinstaller打包生成的單個控制臺exe二進制啟動器文件,大小在3-5M),其余文件可以部署在云端,也可以部署在目標內網中,既可用作普通的端口掃描器,又可用作漏洞掃描器,方便安全人員在內網環境中進行工作。


Perun工作流程

  • 加載-l參數指定路徑下的項目代碼
  • 解析-t參數指定的目標
  • 進行ping掃描活躍主機(使用--skip-ping參數將跳過ping掃描階段)
  • 根據默認掃描端口或-p參數對指定端口進行端口掃描,默認掃描178個端口,詳見Perun/conf/globallistconf.py
  • 解析--vuln和--search(包括--filter和--exclude)參數指定的漏洞檢測Vuln模塊
  • 根據各Vuln模塊默認掃描端口或--set-port指定各Vuln模塊掃描端口,匹配目標主機開放端口,生成待掃描目標列表
  • 加載各漏洞掃描Vuln模塊Payload,進行漏洞掃描
  • 生成報告(使用--skip-report參數將跳過生成報告)

Perun啟動和加載

Perun由Perun.py(或是由Perun.py打包生成的二進制文件)啟動,有兩種方式加載,遠程加載和本地加載,通過-l/--load-file-path參數指定本地文件路徑或者遠程地址url后,Perun.py將會加載其他代碼和漏洞檢測Vuln模塊并執行。

這樣可以在保證項目開發目錄結構清晰的同時,只需要一個啟動器文件在內網環境中即可工作,其余文件可部署在公網云端或內網環境本地,單個啟動器文件方便打包成更小的exe二進制文件,且更新插件不需要重新打包(如導入新的Python庫則需要重新打包),一勞永逸。