漏洞扫描器学习
工作原理
漏洞掃描器向目標計算機發送數據包,然后根據對方反饋的信息來判斷對方的操作系統類型、開發端口、提供的服務等敏感信息。
端口掃描原理:
端口掃描的原理其實非常簡單,簡單的利用操作系統提供的connect()系統調用(有各種協議),與目標計算機的端口進行連接。如果端口處于偵聽狀態,那么connect()能夠成功,否則,這個端口是不能用的,就是沒有提供服務。
漏洞掃描原理
檢測掃描目標主機中可能大量已知的漏洞,如果發現潛在漏洞可能,就報告掃描者。這種掃描器的威脅更大,因為黑客可以直接利用掃描結果進行攻擊。
理解
目標為ip
-
操作系統識別
-
端口掃描
- 開放的服務
- 服務版本
- 服務漏洞精準poc
- 服務版本
- web站點
- web指紋識別
- 確認web指紋
- poc打擊+漏洞掃描
- 非開源項目
- 漏洞掃描
- 確認web指紋
- web指紋識別
- 開放的服務
-
漏洞掃描
-
目錄掃描
- 目錄樹
-
信息搜集
- js等靜態文件中獲取
- 組件版本識別
-
登錄頁面查找
-
功能點測試
- sql注入
- xss
- 邏輯漏洞等
-
區別
也可以優缺點結合,采用AWVS接口去爬蟲,Xray去漏掃
被動+主動掃描器
xray
golang開發
通過代理模式進行被動掃描
代理模式下的基本架構為,掃描器作為中間人,首先原樣轉發流量,并返回服務器響應給瀏覽器等客戶端,通訊兩端都認為自己直接與對方對話,同時記錄該流量,然后修改參數并重新發送請求進行掃描。這種原理和Burpsuite的自帶的漏掃原理是一樣的。
- webscan --listen監聽本地端口
爬蟲模式主動掃描
- webscan --basic-crawler
因為被動掃描的特性(設置代理即可)
- 可以xray+burp
- xray+awvs
- xray+appscan
優點
- 支持主動、被動多種掃描方式
- 自備盲打平臺
- 可以靈活定義 POC
- 支持Windows /macOS /Linux 多種操作系統
缺點
- 容易造成差錯
- 如修改密碼重發,添加文章重發等
- 不進行指紋識別直接上特定組件poc
poc編寫
name: poc-yaml-example-com rules:- method: GETpath: "/update"expression: "true"search: |<input type="hidden" name="csrftoken" value="(.+?)"- method: POSTpath: "/update"body: |id=';echo(md5(123));//&csrftoken={{1}}expression: |status == 200 && body.bcontains(b'202cb962ac59075b964b07152d234b70')目標漏洞是一個簡單的代碼執行,但因為是POST請求,所以需要先獲取當前用戶的CSRF Token。所以,我們的POC分為兩個Rule,第一個Rule發送GET請求,并使用search指定的正則提取返回包中的csrftoken表單值,此時expression直接執行表達式true,表示第一條規則一定執行成功;第二個Rule發送POST請求,此時,我們可以在path、body、headers中使用前一個規則search的結果,如{{0}}、{{1}}等。
所以其實就是根據yaml文件構造請求,然后通過返回包數據判斷
也不能做到更復雜的利用POC
也可以用在線網站編寫
https://phith0n.github.io/xray-poc-generation/Goby
go開發,跨平臺
原理
Goby是一款基于網絡空間測繪技術的新一代網絡安全工具,它通過給目標網絡建立完整的資產知識庫,進行網絡安全事件應急與漏洞應急。
Goby可提供最全面的資產識別,目前預置了超過10萬種規則識別引擎,能夠針對硬件設備和軟件業務系統進行自動化識別和分類,全面的分析出網絡中存在的業務系統。Goby可提供最快速對目標影響最小的掃描體驗,通過非常輕量級地發包能夠快速的分析出端口對應的協議信息。Goby也為安全帶來了高效,Goby預置了最具攻擊效果的漏洞引擎,覆蓋Weblogic,Tomcat等最嚴重漏洞。并且每日更新會被用于真實攻擊的漏洞。
優點
- 速度快
- 系統掃描+應用掃描
- 截圖驗證非常直觀
- 自定義poc,自定義字典
- 支持子域掃描
POC編寫
依賴查詢規則
app=“Ruijie-NBR-Router”圖形化填寫,然后生成json文件
主動掃描
appscan
基于站點的掃描
工作原理
1)通過“探索”功能,利用HTTP Request和Response的內容,爬行出指定網站的整個Web應用結構
2)AppScan本身有一個內置的漏洞掃描的規則庫,可隨版本進行更新。從探索出的url中,修改參數or目錄名等方式,構造不同的url對照組向服務器發送請求or攻擊
3)根據HTTP Response返回的內容,和正常請求所返回的響應作對比,是否產生差異性,而這種差異性又是否符合掃描規則庫的設定規則,以此來判斷是否存在不同類型的安全漏洞
4)若APPScan可判斷存在安全漏洞,則對這些漏洞的威脅風險給出說明,進行嚴重程度提示,并給出修復的建議和方法,以及漏洞發現的位置提示
優點
- 詳細,監測問題比較全,樹結構清晰明了
- 可自定義掃描策略
- 準確率高
- 驗證方便,內置請求數據包對比清晰可見
- xss詳細,可測出單一瀏覽器的xss
- 可進行登錄掃描
缺點
- 速度慢
- 占用內存大,持續時間過長容易出現卡頓
- 僅windows
sqlmap
后面會跟代碼分析單獨寫一篇
nessus
Nessus采用客戶/服務器體系結構,客戶端提供了運行在window 下的圖形界面,接受用戶的命令與服務器通信,傳送用戶的掃描請求給服務器端,由服務器啟動掃描并將掃描結果呈現給用戶;掃描代碼與漏洞數據相互獨立,Nessus 針對每一個漏洞有一個對應的插件,漏洞插件是用NASL(NESSUS Attack Scripting Language)編寫的一小段模擬攻擊漏洞的代碼,這種利用漏洞插件的掃描技術極大的方便了漏洞數據的維護、更新
Nessus 具有掃描任意端口任意服務的能力
以用戶指定的格式(ASCII 文本、html 等)產生詳細的輸出報告,包括目標的脆弱點、怎樣修補漏洞以防止黑客入侵及危險級別。
Nessus的可延伸性使得掃描更具有發展空間,因為它隨意增加原本沒有的偵測模式,也就是可以自定義插件
優點
- 可拓展
- 主要用于系統層掃描
- 掃描速度快,準確率高,漏洞規則庫全面,報表功能強大
缺點
- 但是應用層不是很好
Awvs
工作原理
- 掃描整個網絡,通過跟蹤站點上的所有鏈接和robots.txt來實現掃描,掃描后AWVS就會映射出站點的結構并顯示每個文件的細節信息。
- 在上述的發現階段或者掃描過程之后,AWVS就會自動地對所發現的每一個頁面發動一系列的漏洞攻擊,這實質上是模擬一個黑客的攻擊過程(用自定義的腳本去探測是否有漏洞) 。AWVS分析每一個頁面中需要輸入數據的地方,進而嘗試所有的輸入組合。這是一個自動掃描階段 。
- 在它發現漏洞之后,AWVS就會在“Alerts Node(警告節點)”中報告這些漏洞,每一個警告都包含著漏洞信息和如何修補漏洞的建議。
- 在一次掃描完成之后,它會將結果保存為文件以備日后分析以及與以前的掃描相比較,使用報告工具,就可以創建一個專業的報告來總結這次掃描
優點
- 速度快準確率較高,漏洞規則庫較為全面。
- 報表功能完整且美觀。
- 漏洞驗證可查看請求響應代碼
缺點
- 無中文界面。
掃描器常見問題
WEB漏洞掃描器的好壞取決于爬行頁面數、漏洞庫數量、掃描效率、誤報率等等
誤報
不可避免,但是要盡量減少
減少手段
- 推廣,進行實戰測試,去除或者修改誤報率高的POC
漏洞檢測
插件分類
- 參考awvs
流量去重
重復請求包的定義是域名及協議和url路徑相同,同時參數的key是完全一致。
像這種為重復
- https://www.beysec.com/test.php?id=2&name=bey0nd
- https://www.beysec.com/test.php?id=6&name=zhangsan
這種則需要再次掃描
- https://www.beysec.com/test.php?id=2&name=bey0nd
- https://www.beysec.com/test.php?id=6&name=zhangsan&data=hello
識別同一錯誤頁面
訪問肯定不存在頁面,得到返回內容然后對比相似度>90
大量請求造成拒絕服務或掃描行為被入侵檢測設備發現
-
偽造請求假裝正常用戶交互
-
根據響應,提示是否放緩請求速度
-
代理
- 將所有執行掃描任務的 worker 的測試流量全轉發到 proxy 服務器上,由 proxy 服務器統一調度發送測試請求頻率,直接使用 proxy 方案優點是可以兼容之前沒做限速功能的掃描器,缺點是所有基于 time based 的檢測均無效(當然也可以讓 proxy 返回真正的響應時間來進行判斷,不過仍需要修改檢測模塊),也不允許在檢測模塊中加入超時設置。
-
雙重隊列
-
? 1.worker1 從隊列中取到名為 target1 的任務
? 2.worker1 從 target1 隊列中取出和 target1 相關的任務
? 3.默認單并發執行和 target1 相關任務,根據設置的 QPS 限制,主動 sleep 或者增加并發
-
-
漏洞特征庫
- 及時跟進國內外最新漏洞
總結
- 上一篇: 年底绩效考核期又来临,企业如何挑选一款好
- 下一篇: 3年以上经验Java开发面试题