2023版漏洞評估工具Top10(含容器方向)
對于發現資產中已知漏洞、配置不當等問題的工具,大家習慣性稱之為“漏洞掃描”工具,但隨著技術演進,很多工具越來越智能,逐漸具備分析總結能力,因此將它們稱為“漏洞評估”工具似乎更準確。
大多數漏洞評估工具都能覆蓋常規漏洞,例如OWASP Top10,但一般都各有所長。常見的區分維度包括部署靈活性、掃描速度、掃描準確度以及與流程管理、代碼開發等平臺的整合性。如果不考慮license的限制和成本,很多團隊都會選擇同時部署多款工具。本文推薦的開源工具能與主流的流程管理平臺集成,輸出包含優先級的處置分析報告,而且這些工具仍有團隊在積極維護。
另外,針對容器方向的漏洞評估工具,盡管有一些新工具出現,如Anchore,Clair?, Dagda,Trivy,但大量用戶反映這些工具存在功能不全、整合性差等問題,因此考慮到易用性,本文僅推薦OSV-Scanner、OpenSCAP、ZAP這幾款支持或包含一部分容器安全掃描功能的開源工具。
OSV-Scanner(開源代碼掃描)
OSV Scanner由谷歌團隊開發,發布于2022 年 12 月 13 日。開源市場也不乏能有效掃描靜態代碼漏洞的SCA(軟件成分分析)工具。但作為“新秀”,OSV從OSV.dev 開源漏洞數據庫中提取并適用于不同的生態系統,其漏洞來源和支持的語言更加廣泛,可以很好地為DevOps 團隊降本增效。
主要功能:
- 依賴項和漏洞定位
- 以JSON格式存儲受影響版本的信息,便于開發集成
- 掃描目錄、軟件物料清單(SBOM)、鎖定文件、基于Debian的docker鏡像或在Docker容器中運行的軟件
優:
- 漏洞提取來源廣泛,包括Apine, Android, crates.io, Debian, Go, Linux, Maven, npm, NuGet, OSS-Fuzz, Packagist, PyPl, RubyGems等等
- 報告結果精煉,節約處置時間
- 可以根據漏洞ID忽略漏洞,提高處置效率
- 目前谷歌仍在積極開發中,可以期待更多與時俱進的新功能
劣:
與開發者工作流集成、發現C/C++漏洞等功能不完善;
在某些編程語言的漏洞檢測中可能弱于一些早期的開源SCA工具:
- Bandit: Python
- Brakeman: Ruby on Rails
- VisualCodeGrepper: C, C++, C#, VP, PHP, Java, PL/SQL, Cobol
Sqlmap(數據庫掃描)
傳送門:??Sqlmap??
一些DevOps團隊會在后端數據庫與代碼hook之前對數據庫進行安全掃描。Sqlmap就是其中的代表工具。
主要功能:
- 自動識別密碼哈希值
- 用Python開發,可以在任何有Python解釋器的系統上運行
- 可以通過DBMS憑證、IP地址、端口和數據庫名稱直接連接到數據庫進行測試
- 完全支持的數據庫管理系統達35個以上,包括MySQL、Oracle、Postgre SQL、Microsoft SQL Server、IBM DB2、Sybase、SAP MaxDB、Microsoft Access、Amazon Redshift、Apache Ignite等等
- 具備六類SQL注入技術:布爾盲注、時間盲注、報錯盲注、聯合查詢注入、堆查詢注入和帶外注入
優:
- 支持密碼爆破
- 能搜索特定的數據庫名和表名
- 支持執行任意命令并檢索數據庫服務器底層操作系統上的標準輸出
劣:
- 命令行工具沒有圖形用戶界面
- 過于專業,需要數據庫方面的專業知識才能有效使用
Wapiti(SQL注入檢測)
傳送門:??Wapiti??
Wapiti是一款針對應用的黑盒掃描工具,采用fuzzing技術,在腳本中注入payload來發現常見漏洞。
主要功能:
- 支持GET和POST的HTTP攻擊方法
- 針對SQL注入(SQLi)、XPath注入、跨站腳本(XSS)、文件泄露、XXE注入、文件夾和文件枚舉等的模塊測試
- 支持HTTP、HTTPS和SOCKS5
- 通過Basic、Digest、NTLM或GET/POST對登錄表單進行認證
- 可掃描域、文件夾、頁面和URL
優:
- 覆蓋漏洞類型更廣
- 測試各類潛在漏洞
- 不少測試顯示Wapiti比其他開源工具(如ZAP)能檢測到更多SQL注入和盲注漏洞
劣:
- 命令行工具無圖形界面
- 熟練操作需要大量專業知識背景
ZAP (OWASP Zed Attack Proxy) (XSS檢測)
傳送門:??ZAP??
OWASP的Zed攻擊代理(ZAP)在瀏覽器和web應用之間,以代理身份攔截請求,并通過模擬用戶和黑客行為,如修改內容、轉發數據包等進行安全測試。
主要功能:
- 支持主流操作系統和Docker
- 能快速啟動Docker包掃描
- 支持自動化框架
- 支持全量API
- 支持手動或自動
優:
- OWASP團隊仍在積極維護
- 命令行界面有圖形界面
- 完善的學習曲線和操作文檔
- 適合各類水平用戶
- XSS漏洞檢測表現突出
- 支持fuzzing測試
- ZAP在滲透測試從業者中非常流行,因此熟悉ZAP有利于從攻擊角度發現漏洞
劣:
- 有些功能需裝插件
- 需要一些專業知識
- 誤報比很多商業產品高
CloudSploit(云資源安全掃描)
傳送門:??CloudSploit??
Aqua公司開源了CloudSploit的核心掃描引擎,供廣大用戶下載、更改和使用。CloudSploit支持按需掃描也可配置為持續運行,并及時告警。
主要功能:
- 采用RESTful API
- API可以從命令行、腳本或構建系統(Jenkins、CircleCL、AWS CodeBuild等)調用
- 讀寫控制器可以為每個API密鑰提供特定權限
- 每個API調用都是可以單獨追蹤的
- 對AWS、Azure和Google云進行持續的CIS基準審計
- 持續掃描可以在云基礎設施發生變化時發出告警,這些變化可能存在安全隱患,如安全組更改、出現新的受信任的SSH密鑰、MFA設備停用、刪除日志等。
優:
- 掃描結果實時
- 通過HMAC-SHA256簽名實現API密鑰認證
- 秒級掃描95種以上的安全風險類型
- 直觀的web界面
- 支持HIPAA和PCI DSS合規框架
- 支持通過Slack、Splunk、OpsGenie、Amazon SNS、郵件等發送告警
劣:
- 無法通過GitHub獲取
- 自動推送、一些報告工具和一些整合功能可能只在付費產品中提供
Firmwalker (物聯網)
傳送門:??Firmwalker??
有些開源團隊開發了很多安全工具來掃描網絡設備和物聯網(IoT)的固件,但漏洞掃描器比較少。Firmwalker可以搜索提取或裝好的固件,并報告潛在漏洞。
主要功能:
- 可搜索SSl相關文件和etc/ssl目錄
- 可搜索配置、腳本和pin文件
- 能識別admin、password和remote等關鍵詞
- 可搜索URL、電子郵件地址和IP地址
優:
- 對物聯網、網絡、OT和其他固件進行安全審計
- 可找到異常文件、嵌入式密碼或隱藏的URL
- 支持以bash腳本運行
劣:
- 需要一些編程知識才能有效使用
- 沒有圖形用戶界面
- 目前對Shodan API的支持仍在實驗階段
Nikto2(Web Server)
傳送門:??Nikto2??
Nikto2是一個開源的web server掃描器,可發現風險文件、程序、錯誤配置。用戶也可在Kali Linux訪問Nikto。
主要功能:
- 覆蓋6700余種風險文件和程序
- 覆蓋1250余個舊服務器版本和270種版本問題
- 支持檢測多種索引文件、HTTP server options
- 驗證已安裝的web服務器和軟件
- 支持憑證破解
- 具備降低誤報技術
- 報告格式支持TST、XML、HTML、NBE或CSV
優:
- 小巧輕便但功能強大
- 支持文件的輸入和輸出
- 掃描項目和插件經常更新(自動更新)
- 對web服務器的常見問題進行標記
- SSL支持Unix和Windows操作系統,支持HTTP代理
- 可選擇部署編碼技術,用于入侵檢測系統(IDS)的繞過和測試
劣:
- 沒有界面,只有命令行
- 過于具體,初學者可能會困惑
- 搜索功能比一些商業產品略遜色
- 全面掃描需耗時45分鐘以上
OpenSCAP(合規類)
傳送門:??OpenSCAP??
OpenSCAP是一個Linux平臺的開源框架,對標美國國家標準與技術研究所(NIST)維護的安全內容自動化協議(SCAP),實施合規評估。OpenSCAP支持掃描web應用、網絡基礎設施、數據庫和主機。與絕大部分CVE掃描器不同,OpenSCAP根據SCAP的標準執行安全測試。
主要功能:
- 漏洞評估
- 訪問公共漏洞數據庫
- OpenSCAP Base提供經NIST認證的命令行掃描工具,以及圖形用戶界面便于使用
- OpenSCAP Daemon可根據SCAP標準對基礎設施進行持續掃描
- 其他OpenSCAP工具提供桌面掃描、掃描結果匯總等功能
- 支持整合系統管理解決方案,如Red Hat Satellite 6、RH Access Insights等
- Atomic Scan選項可掃描容器的安全漏洞和合規問題。
優:
- 快速發現安全問題并即時糾正
- 獲Red Hat和其他開源廠商的大力支持
- 結合了安全漏洞和合規性掃描
- 可掃描docker鏡像
劣:
- 學習難度高于同類工具
- OpenSCAP包含多款工具,更為復雜
- 用戶首先需了解與自身相關的政策條款
- 很多工具只能在Linux上運行,有些甚至只能在特定的Linux發行版上運行
OpenVAS (終端和網絡)
傳送門:??OpenVAS??
Nessus是Tenable發布的一款全球領先的漏洞評估產品。而OpenVAS是Nessus的一個開源分支,功能豐富,漏洞來源廣泛,可對傳統端點和網絡進行大規模的漏洞評估。
主要功能:
- 發現系統的已知漏洞和缺失補丁
- 具備web管理控制臺
- 可安裝在任何本地或云服務器
- 具備漏洞分析能力,輸出如何修復漏洞或攻擊者如何利用該漏洞等信息
優:
- Greenbone積極維護中
- 覆蓋很多CVE漏洞
- 定期更新漏洞數據庫
- 已形成大型社區,供用戶交流
- 可隨著企業發展從社區版升級到Greenbone企業版或Greenbone云服務
劣:
- 需要一定專業知識。
- 大量并發掃描會使程序崩潰
- 沒有策略管理
- Greenbone社區版只掃描基本的端點資產或家庭應用產品,如Ubuntu Linux,MS Office等(掃描企業設備或獲取策略權限需升級到付費的Greenbone企業版)
Nmap(網絡和端口)
傳送門:??Nmap??
Nmap支持絕大多數操作系統,通過IP數據包掃描設備端口并確定被檢查的資產有哪些主機、服務和操作系統,是滲透測試人員和IT團隊必不可少的工具之一。
主要功能:
- 快速發現IP地址
- 通過TCP/IP協議猜測設備操作系統
- 持續更新的500個腳本庫,用于提高性能
優:
- 快速掃描系統上的開放端口,確定可用的TCP/UDP服務
- 通過端口測試確定運行的協議、應用類型和版本號
- 用戶群龐大,開源社區成熟
劣:;
- 沒有正式的客戶支持
- 需要一些專業知識背景
參考資料:https://www.esecurityplanet.com/applications/open-source-vulnerability-scanners/