
HackTheBox - SmartHire
Source: YouTube · IppSec · published Sep 26, 2026 · 40:20
BLUF
This video demonstrates the manual exploitation of the "Smart Hire" Hack The Box machine, focusing on leveraging an insecure default credential in MLflow to upload a malicious pickle artifact for Remote Code Execution (RCE) 2:15. The attacker then escalates privileges by abusing a Python plugin mechanism to gain root access 0:35.
Key Takeaways:
• Initial reconnaissance reveals an Ubuntu server running Nginx and SSH, with the web application identified as a Flask-based MLflow instance 1:12.
• The MLflow interface (models.smarthire.htb) uses an old default password (admin/password), which can be guessed to gain administrative access 8:30.
• Once logged in, the attacker identifies that the system uses Cloud Pickle for model serialization, highlighting a potential deserialization vulnerability 9:41.
• Instead of relying on complex public exploits, the attacker manually constructs a malicious pickle payload using Python 3.10 to match the server's environment, ensuring successful deserialization 19:43.
• The malicious pickle is uploaded via the MLflow REST API (PUT request) and triggered by analyzing a CSV file, resulting in a reverse shell as the svc_web user 25:36.
• Privilege escalation is achieved by exploiting a pseudo-rule that allows writing Python code in .pth files, bypassing the need for Vim/Nano editors 0:38.
By manually crafting the exploitation chain, the attacker avoids the confusion of public tools and gains a deeper understanding of the MLflow deserialization vector and Python plugin loading mechanisms.
Sources:
- 0:02 Introduction to the Smart Hire Hack The Box machine.
- 1:12 Nmap scan results identifying SSH and HTTP services.
- 8:30 Discovery of default MLflow credentials.
- 9:41 Identification of Cloud Pickle usage in the model.
- 19:43 Creation of a compatible malicious pickle payload.
- 25:36 Execution of the payload via CSV analysis to get RCE.
- 0:38 Explanation of privilege escalation via .pth files.
Generate CPE Credits
Generate a professional CPE document from this video's transcript.
Estimated credit: 0.5 CPE hours
Estimate uses the video runtime (1 hour ≈ 1 CPE, rounded to the nearest 0.5, minimum 0.5, maximum 2.0). The final amount can be lower after review, never higher.
Topic: Penetration Testing. Commonly maps to: Security Assessment and Testing, Security Operations. Exact CISSP domains are assigned during generation.
Free account. One generation at a time, with a daily limit.
CPEBuddy is independent and not affiliated with or endorsed by ISC2, ISACA, or any certification body. Exports are formatted for common CPE submissions; acceptance is at your certification body's discretion.
Transcript Preview
First 800 characters of the transcript
What's going on YouTube? This is Ippsec, and today we'll be doing Smart Hire from Hack The Box, which is a pretty easy box, but the public exploits are pretty confusing for it. However, it's one of the few boxes where I think exploiting it manually may be easier, and of course, you learn a little bit more. Before you get into exploitation, you have to log in. This is a ML Flow application, and it has an old default password, but you may just guess it because it's just admin password. Once logging in, we can poison a Python pickle, but we'll have to read the API documentation to understand how to upload files, and this leads to RCE. Once you're on the box, exploitation is taken advantage of a pseudo rule to a Python program that can write plugins in the form of a PTH file. If you try to wri…