In this post, I would like to share a walkthrough of the Crafty Machine from Hack the Box
This room will be considered an Easy machine on Hack the Box
What will you gain from the Crafty machine?
For the user flag, you must exploit a Minecraft server, which is particularly vulnerable to the Log4Shell exploit due to its use of the Java Log4J package, I will connect using a free Minecraft command-line client. By sending a Log4Shell payload, I will gain shell access to the system.
As for the root flag, you need to locate and analyze a plugin for the Minecraft server to uncover the administrator password.
Information Gathering on Crafty Machine
Once we have started the VPN connection which requires a download from Hackthebox, we can start
┌─[darknite@parrot]─[~/Documents/htb/crafty]
└──╼ $nmap -sV -sC 10.10.11.249 -oA initial
Starting Nmap 7.93 ( https://nmap.org ) at 2024-06-14 17:00 EDT
Nmap scan report for 10.10.11.249
Host is up (0.28s latency).
Not shown: 999 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
|_http-title: Did not follow redirect to http://crafty.htb
|_http-server-header: Microsoft-IIS/10.0
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 34.57 seconds
┌─[darknite@parrot]─[~/Documents/htb/crafty]
└──╼ $
Let’s access the website interface
It looks like a website that hosts a game online
At the bottom of the website, it provides one subdomain that doesn’t show any valid interface.
At this point, I was stuck on the machine for almost 3 hours, and I didn’t receive any useful information
CVE-2021-44228 vulnerability on Crafty machine
After thinking hard, I did remember that Minecraft system is been vulnerable to log4j and that’s thanks for John Hammond’s video a long time ago
Therefore, let’s exploit that vulnerability from John Hammond’s video and apply it here. To use the exploit, you can download the exploit here to proceed further
Therefore, let’s install the exploit payload into our attacker’s machine
The screenshot above show the content of the file inside the github
As a result, we need to modify the content on “String cmd” with cmd.exe because the victim’s machine is based on the Windows Operating System.
We need to fulfil the required which need to install jdk1.8.0 181 on our attacker’s machine
However, we need to rename the directory from jdk1.8.0.1_181 into jdk1.8.0.1_20
Next, we need to start our listener on the attacker’s machine
Aside from that, we also need to run the log4j-shell payload as shown above
We also required to download pyCraft on our attacker’s machine
To be cautious of the tools, let’s run it within the docker environment
It will take a few minutes to fully configure the requirement
We can paste the command that we found earlier here which it will provide back the reverse shell connection to us
At last, we have successfully retrieved the reverse shell
We can read the user flag by typing the “type user.txt” command
Escalate to Root Privileges Access on Crafty machine
We need to download one file from plugins directory into our attacker’s machine
Analysis using Java decompiler
For this purpose, we need to use jd-gui to read the content within the .jar file format
We can start the java decompiler with the command above
At last, we managed to obtain the password for the next step
Let’s upload the malicious exe file and RunasCs.exe into the victim’s machine
We can use the command above to retrieve administrator’s shell
We can read the root flag by typing the “type root.txt” command
No responses yet