記一次在實戰靶機中使用`SearchSploit`的總結
記一次在實戰靶機中使用 SearchSploit
的總結
本文首發:記一次在實戰靶機中使用 SearchSploit
的總結: ofollow,noindex" target="_blank">https://xz.aliyun.com/t/2857
什麼是 SearchSploit
?
GitHub上的漏洞資料庫儲存庫 中包含 “ searchsploit
”,這是一個 Exploit-DB 的命令列搜尋工具,它還允許您隨身攜帶漏洞利用資料庫的副本。
SearchSploit
使您能夠通過本地檢出的儲存庫副本執行詳細的離線搜尋。此功能對於無法訪問 Internet
的隔離或空中網路的安全評估特別有用。
許多漏洞包含指向未包含在標準儲存庫中的二進位制檔案的連結,但可以在我們的 漏洞利用資料庫二進位制漏洞儲存庫 中找到。如果您預計在評估時
無法訪問 Internet
,請確保檢出兩個儲存庫以獲取最完整的資料集。
注意:此實用程式的名稱是 Search Sploit
,正如其名稱所示,它將搜尋所有漏洞和 shellcode
,
它不會包含 Google Hacking Database 的任何結果,終端輸 searchsploit
啟動(已經預設在 Kali/Parrot
中安裝)
如何安裝SearchSploit
Linux的
Kali Linux:
如果您使用的是 Kali Linux
的標準GNOME版本,預設情況下已經包含“ exploitdb
”軟體包!但是,
如果您使用的是 Kali Light
變體或您自己定製的 ISO
,則可以按如下方式手動安裝軟體包:
root @ kali:〜#apt update && apt -y install exploitdb
Apple OS X / macOS
如果您安裝了 自制程式 ( Homebrew/homebrew-core/blob/master/Formula/exploitdb.rb" rel="nofollow,noindex" target="_blank">包 , 公式 ),執行以下命令將使您進行設定:
user @ MacBook:〜$ brew update && brew install exploitdb
Windows
對於 windows
沒有簡單或直接的方式來使用 searchsploit
(官方給的訊息),並且建議的最佳替代方案是在虛擬機器, docker
或 Linux
子系統 Linux
中使用 Kali Linux
。
Git
我們可以通過執行以下命令輕鬆檢出 git
儲存庫
$ git clone https://github.com/offensive-security/exploitdb.git / opt / exploitdb
使SearchSploit保持最新狀態
無論您如何安裝 SearchSploit
,只需執行以下命令即可進行更新
$ searchsploit -u
如果您使用 Kali Linux
軟體包一直未更新,您將首先需要以傳統方式更新軟體包:
root @ kali:〜#apt update && apt -y full-upgrade
使用SearchSploit
使用“ -h ”,您可以看到可用的所有功能和選項:
詳細引數
root @ kali:〜#searchsploit -h 用法:searchsploit [options] term1 [term2] ... [termN] ========== 例子 ========== searchsploit afd windows local searchsploit -t oracle windows searchsploit -p 39446 searchsploit linux kernel 3.2 --exclude =“(PoC)| / dos /” searchsploit linux反向密碼 有關更多示例,請參閱手冊:[https://www.exploit-db.com/searchsploit/](https://www.exploit-db.com/searchsploit/) ========= Options ========= -c, --case [Term]區分大小寫(預設不區分大小寫) -e, --exact[Term]對exploit標題進行EXACT匹配 (預設為 AND) [Implies "-t"]. -h, --help 顯示幫助 -j, --json [Term]以JSON格式顯示結果 -m, --mirror [EDB-ID]把一個exp拷貝到當前工作目錄,引數後加目標id -o, --overflow [Term]Exploit標題被允許溢位其列 -p, --path [EDB-ID]顯示漏洞利用的完整路徑(如果可能,還將路徑複製到剪貼簿),後面跟漏洞ID號 -t, --title[Term]僅僅搜尋漏洞標題(預設是標題和檔案的路徑) -u, --update檢查並安裝任何exploitdb軟體包更新(deb或git) -w, --www[Term]顯示Exploit-DB.com的URL而不是本地路徑(線上搜尋) -x, --examine [EDB-ID]使用$ PAGER檢查(副本)Exp --colour搜尋結果不高亮顯示關鍵詞 --id顯示EDB-ID --nmap [file.xml]使用服務版本檢查Nmap XML輸出中的所有結果(例如:nmap -sV -oX file.xml) 使用“-v”(詳細)來嘗試更多的組合 --exclude="term"從結果中刪除值。通過使用“|”分隔多個值 例如--exclude=“term1 | term2 | term3”。 ======= 筆記 ======= * 你可以使用任意數量的搜尋詞。 * Search terms are not case-sensitive (by default), and ordering is irrelevant. * 搜尋術語不區分大小寫(預設情況下),而排序則無關緊要。 * 如果你想用精確的匹配來過濾結果,請使用用 -e 引數 * 使用' - t '將檔案的路徑排除,以過濾搜尋結果 * 刪除誤報(特別是在搜尋使用數字時 - i.e. 版本). * 當更新或顯示幫助時,搜尋項將被忽略。
基本搜尋
只需新增您想要查詢的任意數量的搜尋詞:
root@kali:~# searchsploit afd windows local --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title |Path | (/usr/share/exploitdb/) --------------------------------------------------------------------------------------- ------------------------------------------ Microsoft Windows (x86) - 'afd.sys' Local Privilege Escalation (MS11-046)| exploits/windows_x86/local/40564.c Microsoft Windows - 'AfdJoinLeaf' Local Privilege Escalation (MS11-080) (Metasploit)| exploits/windows/local/21844.rb Microsoft Windows - 'afd.sys' Local Kernel (PoC) (MS11-046)| exploits/windows/dos/18755.c Microsoft Windows 7 (x64) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) | exploits/windows_x86-64/local/39525.py Microsoft Windows 7 (x86) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) | exploits/windows_x86/local/39446.py Microsoft Windows XP - 'afd.sys' Local Kernel Denial of Service| exploits/windows/dos/17133.c Microsoft Windows XP/2003 - 'afd.sys' Local Privilege Escalation (K-plugin) (MS08-066) | exploits/windows/local/6757.txt Microsoft Windows XP/2003 - 'afd.sys' Local Privilege Escalation (MS11-080)| exploits/windows/local/18176.py
注意: SearchSploit
使用 AND
運算子,而不是 OR
運算子。使用的術語越多,濾除的結果越多。
Tip:如果你沒有收到預期的結果,可以使用更通用的術語進行更廣泛的搜尋。如: Kernel 2.6.25 - >Kernel 2.6 / / Kernel 2.x。
Tip:不要使用縮寫如: SQLi -> SQL Injection
。
標題搜尋
標題搜尋只匹配標題,不會對路徑中的關鍵詞進行匹配
如: searchsploit -t oracle windows
root@kali:~# searchsploit -t oracle windows --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title |Path | (/usr/share/exploitdb/) --------------------------------------------------------------------------------------- ------------------------------------------ Oracle 10g (Windows x86) - 'PROCESS_DUP_HANDLE' Local Privilege Escalation | exploits/windows_x86/local/3451.c Oracle 9i XDB (Windows x86) - FTP PASS Overflow (Metasploit)| exploits/windows_x86/remote/16731.rb Oracle 9i XDB (Windows x86) - FTP UNLOCK Overflow (Metasploit) | exploits/windows_x86/remote/16714.rb Oracle 9i XDB (Windows x86) - HTTP PASS Overflow (Metasploit)| exploits/windows_x86/remote/16809.rb Oracle MySQL (Windows) - FILE Privilege Abuse (Metasploit) | exploits/windows/remote/35777.rb Oracle MySQL (Windows) - MOF Execution (Metasploit)| exploits/windows/remote/23179.rb Oracle MySQL for Microsoft Windows - Payload Execution (Metasploit)| exploits/windows/remote/16957.rb Oracle VM VirtualBox 5.0.32 r112930 (x64) - Windows Process COM Injection Privilege Esc| exploits/windows_x86-64/local/41908.txt Oracle VirtualBox Guest Additions 5.1.18 - Unprivileged Windows User-Mode Guest Code Do| exploits/multiple/dos/41932.cpp --------------------------------------------------------------------------------------- ------------------------------------------
刪除不想要的結果
使用 --exclude=
選項刪除不想要的結果
如: searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
root@kali:~# searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/" --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title |Path | (/usr/share/exploitdb/) --------------------------------------------------------------------------------------- ------------------------------------------ Linux Kernel 2.6.39 < 3.2.2 (Gentoo / Ubuntu x86/x64) - 'Mempodipper' Local Privilege E| exploits/linux/local/18411.c Linux Kernel 2.6.39 < 3.2.2 (x86/x64) - 'Mempodipper' Local Privilege Escalation (2)| exploits/linux/local/35161.c Linux Kernel 3.2.0-23/3.5.0-23 (Ubuntu 12.04/12.04.1/12.04.2 x64) - 'perf_swevent_init'| exploits/linux_x86-64/local/33589.c Linux Kernel 3.2.x - 'uname()' System Call Local Information Disclosure| exploits/linux/local/37937.c Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.04/13.10 x64) - 'CONFIG_X86_X32=y' Local Privilege| exploits/linux_x86-64/local/31347.c Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.10) - 'CONFIG_X86_X32' Arbitrary Write (2)| exploits/linux/local/31346.c Linux Kernel < 3.2.0-23 (Ubuntu 12.04 x64) - 'ptrace/sysret' Local Privilege Escalation| exploits/linux_x86-64/local/34134.c --------------------------------------------------------------------------------------- ------------------------------------------
利用管道輸出(刪除不想要的結果的另一種方法)
如: searchsploit XnView | grep -v '/dos/'
root@kali:~# searchsploit XnView | grep -v '/dos/' --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title |Path | (/usr/share/exploitdb/) --------------------------------------------------------------------------------------- ------------------------------------------ XnView 1.90.3 - '.xpm' Local Buffer Overflow| exploits/windows/local/3777.c XnView 1.92.1 - 'FontName' Slideshow Buffer Overflow| exploits/windows/local/5346.pl XnView 1.92.1 - Command-Line Arguments Buffer Overflow | exploits/windows/remote/31405.c XnView 1.93.6 - '.taac' Local Buffer Overflow| exploits/windows/local/5951.c XnView 1.97.4 - '.MBM' File Remote Heap Buffer Overflow| exploits/windows/remote/34143.txt --------------------------------------------------------------------------------------- ------------------------------------------
Tip:建議使用“ / dos /
”與 grep
而不是“ dos
”,以便過濾器應用於路徑,而不是標題。雖然拒絕服務條目可能在其標題中不包含“ dos
”,
但它們在路徑中仍然具有“ dos
”。根據路徑刪除結果還可以確保您不會無意中過濾掉在其標題中合法包含“ dos
”的結果
複製到剪貼簿
-p
引數可以獲取更多關於該漏洞的資訊,以及將完整的路徑複製到剪貼簿上(如果可能的話)
如: searchsploit -p 39446
root@kali:~# root@kali:~# searchsploit -p 39446 Exploit: Microsoft Windows 7 (x86) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) URL: https://www.exploit-db.com/exploits/39446/ Path: /usr/share/exploitdb/exploits/windows_x86/local/39446.py File Type: Python script, ASCII text executable, with CRLF line terminators
複製到資料夾
不建議在本地的漏洞資料庫中修改 exp
,建議使用 -m
引數複製那些有用的到當前的工作目錄
如: searchsploit -m 39446 win_x86-64/local/39525.py
root@kali:~# searchsploit -m 39446 win_x86-64/local/39525.py Exploit: Microsoft Windows 7 (x86) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) URL: https://www.exploit-db.com/exploits/39446/ Path: /usr/share/exploitdb/exploits/windows_x86/local/39446.py File Type: Python script, ASCII text executable, with CRLF line terminators Copied to: /root/39446.py
聯網搜尋
一些開發的元資料沒有儲存在本地,如果要訪問他們,需要聯網搜尋
如: searchsploit WarFTP 1.65 -w
root@kali:~# searchsploit WarFTP 1.65 -w --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title |URL --------------------------------------------------------------------------------------- ------------------------------------------ WarFTP 1.65 (Windows 2000 SP4) - 'USER' Remote Buffer Overflow (Perl)| https://www.exploit-db.com/exploits/3482/ WarFTP 1.65 (Windows 2000 SP4) - 'USER' Remote Buffer Overflow (Python)| https://www.exploit-db.com/exploits/3474/ WarFTP 1.65 - 'USER' Remote Buffer Overflow| https://www.exploit-db.com/exploits/3570/ --------------------------------------------------------------------------------------- ------------------------------------------
參考資料:SearchSploit - 手冊: https://www.exploit-db.com/searchsploit/#installgit