在過去介紹過的工具裡,有一些是收集資訊用的,像是作業系統、軟體版本等資訊,找到這些資訊後,可能要到處尋找該版本後續是否有什麼安全性更新,或是還存在著未修復的漏洞,那是否有著一個資料庫,能夠方便查詢關於漏洞的相關資料呢?有的,這邊要介紹的是Exploit Database,這個平台收集了最新的漏洞資訊,包含了一些公開的攻擊事件、漏洞報告,甚至提供腳本幫助測試。
除了可以直接在Exploit Database線上搜尋,Kali上也提供了searchsploit
這個工具,他有離線模式可使用,但也因此需要確保離線資料庫是最新的,可以透過searchsploit -u
來更新資料庫
[i] Updating via apt package management (Expect weekly-ish updates): exploitdb
[sudo] password for kali:
Get:1 http://kali.cs.nctu.edu.tw/kali kali-rolling InRelease [30.6 kB]
Get:2 http://kali.cs.nctu.edu.tw/kali kali-rolling/main amd64 Packages [17.9 MB]
Get:3 http://kali.cs.nctu.edu.tw/kali kali-rolling/main amd64 Contents (deb) [40.2 MB]
Get:4 http://kali.cs.nctu.edu.tw/kali kali-rolling/contrib amd64 Packages [111 kB]
Get:5 http://kali.cs.nctu.edu.tw/kali kali-rolling/contrib amd64 Contents (deb) [148 kB]
也可以輸入關鍵字來搜尋,關鍵字之間是用AND
關聯起來,所以關鍵字越多,能夠找到的結果越是收斂、精確
searchsploit afd windows local
searchsploit linux reverse password
用searchsploit linux reverse password
找出來的結果如下,可以看到關鍵字查找也會找Path
下的內容,如果只想找標題部分的話可以透過-t
來指定只搜尋標題部分
Shellcode Title | Path |
---|---|
Linux/ARM - Reverse (127.0.0.1:4444/TCP) Shell (/bin/sh) + Password (S59!) + Null-Free Shellcode (100 bytes) | arm/46736.txt |
Linux/ARM - Reverse (192.168.1.1:4444/TCP) Shell (/bin/sh) + Password (MyPasswd) + Null-Free Shellcode (156 | arm/43778.asm |
Linux/x64 - Reverse (10.1.1.4/TCP) Shell + Continuously Probing Via Socket + Port-Range (391-399) + Password | linux_x86-64/40079.c |
Linux/x64 - Reverse (10.1.1.4:46357/TCP) Shell + Subtle Probing + Timer + Burst + Password (la crips) + Mult | linux_x86-64/40139.c |
如果額外用-w
的話,就可以把後面Path換成線上版URL來顯示
searchsploit linux reverse password -w
結果如下
Shellcode Title | Path |
---|---|
Linux/ARM - Reverse (127.0.0.1:4444/TCP) Shell (/bin/sh) + Password (S59!) + Null-Free Shellcode | https://www.exploit-db.com/shellcodes/46736 |
Linux/ARM - Reverse (192.168.1.1:4444/TCP) Shell (/bin/sh) + Password (MyPasswd) + Null-Free Shel | https://www.exploit-db.com/shellcodes/43778 |
Linux/x64 - Reverse (10.1.1.4/TCP) Shell + Continuously Probing Via Socket + Port-Range (391-399) | https://www.exploit-db.com/shellcodes/40079 |
如果想要反向濾掉某些不要的內容,可以透過--exclude
searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
假設最後找到了目標漏洞,可以透過-p
來完整顯示路徑
searchsploit -p 47291
就可以看到漏洞腳本在/usr/share/exploitdb/shellcodes/linux_x86-64/47291.c
Shellcode: Linux/x86_64 - Reverse (127.0.0.1:4444/TCP) Shell (/bin/sh) + Password (pass) Shellcode (120 bytes)
URL: https://www.exploit-db.com/shellcodes/47291
Path: /usr/share/exploitdb/shellcodes/linux_x86-64/47291.c
File Type: C source, UTF-8 Unicode text
但如果想要修改檔案的話,建議不要去直接編輯路徑下的檔案,可以透過-m
先把檔案複製到當前目錄下
searchsploit -m 47291
可以看到檔案已經被複製到/home/kali/47291.c
,可以對其任意做修改以方便測試了
Shellcode: Linux/x86_64 - Reverse (127.0.0.1:4444/TCP) Shell (/bin/sh) + Password (pass) Shellcode (120 bytes)
URL: https://www.exploit-db.com/shellcodes/47291
Path: /usr/share/exploitdb/shellcodes/linux_x86-64/47291.c
File Type: C source, UTF-8 Unicode text
Copied to: /home/kali/47291.c