0xdf
banner
0xdf.bsky.social
0xdf
@0xdf.bsky.social
Principal Training Architect @ HackTheBox
CTF Addict
"Potentially a legit researcher"
he/him

Website: https://0xdf.gitlab.io/
YouTube: https://www.youtube.com/c/0xdf0xdf
Twitter: 0xdf_
Discord: 0xdf
Mastadon: 0xdf@infosec.exchange
WhiteRabbit from HackTheBox targets a pentester's infra with Uptime Kuma enumeration, n8n webhook SQL injection via HMAC-signed requests, restic backup recovery, and reversing a time-seeded password generator for privilege escalation.
HTB: WhiteRabbit
WhiteRabbit is a pentesting company. I’ll exploit their Uptime Kuma instance to find the domain for their WikiJS wiki. On that I’ll find documentation for a n8n pipeline, and find an SQL injection vulnerability in how it processes email, as well as the key for crafting signatures. I’ll make a proxy to add signatures using mitmproxy and then use sqlmap to dump the database. In the DB I’ll find restic commands, which I’ll use to get a backup with SSH keys. I’ll abuse restic command injection to get root on a container, and find SSH keys for a user on the host. From there I’ll find a custom password generator, and using logs from the DB that leak the time the command was run, generate the right password for the next user. That user can run any command as root.
0xdf.gitlab.io
December 13, 2025 at 3:00 PM
#AdventOfCode Day 12 involves fitting presents in space under a tree. The problem for all solutions is either hard or impossible. I'll find a shortcut looking at the data and the space required for each tree. Claude gets the answer without recognizing it.
Christmas Tree Farm [AOC2025 Day 12]
Advent of Code 2025 Day 12 provides a challenge that on it's face I think is nearly impossibe, figuring out if I can place a lot of specific shapes into a sp...
www.youtube.com
December 12, 2025 at 2:39 PM
#AdventOfCode Day 11 involves nodes that connect to others. I'll use recursion to count paths through the nodes. functools cache is critical here.
Reactor [AOC2025 Day 11]
Advent of Code 2025 Day 11 provides a list of nodes and the nodes that come after each one. I'll use recusrion to build a function that can count the number ...
www.youtube.com
December 11, 2025 at 11:23 PM
#AdventOfCode Day 10 involves binary xor and linear equations. Claude tries an unfiesable long solution first when he thinks he can't use packages. When I tell him how to use packages, he uses scipy to solve quickly.
Factory [AOC2025 Day 10]
Advent of Code 2025 Day 10 has some buttons that each control one or more outputs. In part 1, they toggle on and off a light, and I'll have to find the minim...
www.youtube.com
December 11, 2025 at 9:50 PM
#AdventOfCode Day9 is a beast. I'll have to find squares inside a large polygon defined by almost 500 points. I'll use ray finding and edge crossing to solve it. Claude tries an unfiesable long solution first, then gets it.
Movie Theater [AOC2025 Day 9]
Advent of Code 2025 Day 9 processing the verticies of a polygon. First I'll loop over each pair of corners and find the largest possible square that can be m...
www.youtube.com
December 9, 2025 at 12:54 PM
#AdventOfCode Day8 showcases a union find technique to track and merge sets of points in 3D space. Claude does basically the exactly same thing I did :)
Playground [AOC2025 Day 8]
Advent of Code 2025 Day 8 involves connecting points in order of their distances apart. In part 1, I'll connect the closest 1000 points, and find the size of...
www.youtube.com
December 8, 2025 at 12:40 PM
#AdventOfCode Day7 is about tracking a beam down a space as it hits things that split it into two. In part 1 I'll count the number of splits for a beam, and in part two the number of paths a particle could take choosing left or right at each split.
Laboratories [AOC2025 Day 7]
Advent of Code 2025 Day 7 visualizes a bean as it moves down the space hitting splitters. In part 1, I need to count the number of splits that happen. In par...
www.youtube.com
December 7, 2025 at 12:40 PM
Editor from HackTheBox features unauthenticated Groovy script injection in XWiki's Solr search for RCE, password reuse from the Hibernate config, and PATH injection in NetData's ndsudo SetUID binary for root.
HTB: Editor
Editor is a Linux box hosting a code editor website, with documentation on an XWiki instance. I’ll exploit a vulnerability in XWiki’s Solr search that allows unauthenticated Groovy script injection to get remote code execution and a shell. From there, I’ll find database credentials in the XWiki Hibernate config and pivot to a user who reuses the password. Enumerating localhost services, I’ll find NetData running an older version that installs a vulnerable ndsudo SetUID binary that is vulnerable to PATH injection, which I’ll abuse to get root.
0xdf.gitlab.io
December 6, 2025 at 3:00 PM
#AdventOfCode Day6 is all about handling columns of data. In part 1, I'll combine columns of ints. In part 2, I'll build the ints from columns of characters. Claude nails it quickly, but with some verbose ugly code.
Trash Compactor [AOC2025 Day 6]
Advent of Code 2025 Day 6 is all about parsing columns of text. In part 1, I'll parse lines of integers and operators as columns, calculating their products ...
www.youtube.com
December 6, 2025 at 12:42 PM
#AdventOfCode Day5 is all about handling overlapping ranges. First I'll count from a list, then find the size of all the overlapping ranges.
Cafeteria [AOC2025 Day 5]
Advent of Code 2025 Day 5 plays with overlapping ranges. I get a long list of ranges for ids of fresh ingredients. In part 1, I work through another list of ...
www.youtube.com
December 5, 2025 at 12:04 PM
#AdventOfCode Day4 is the first grid challenge of the year. I'll count spaces with no more than 3 filled neighbors. In part 2, I'll iterate to remove those spaces and check again until I've removed all that can be removed.
Printing Department [AOC2025 Day 4]
Advent of Code 2025 Day 4 is the first grid challenge of the year. I'm given spaces in a warehouse that have pallets of paper on them. A forklift can only ac...
www.youtube.com
December 4, 2025 at 11:24 AM
#AdventOfCode Day3 is all about finding the largest int possible from a string by selecting n digits without changing the order. Claude went for a super long running solution today, but after I told it to find a better one, it solved quickly.
Lobby [AOC2025 Day 3]
Advent of Code 2025 Day 3 provides lines of digits. I need to pick digits from each line without changing the order to make the largest integer possible. In ...
www.youtube.com
December 3, 2025 at 12:11 PM
One of the challenges I wrote just went live on flagvent.org
December 2, 2025 at 5:07 PM
#AdventOfCode Day2 video is up! I'll compare using string operations and regex for part 1, and then regex makes part 2 trivial. Claude solves it just using string comparisons.
Gift Shop [AOC2025 Day 2]
Advent of Code 2025 Day 2 offers input with a bunch of number ranges. I'll parse those, and then loop through each, check for any invalid numbers and summing...
www.youtube.com
December 2, 2025 at 12:05 PM
#AdventOfCode Day1 video released yesterday! Part 1 is pretty straight forward using modulo to track a dial as it spins around 0-99. Part 2 is a bit trickier, with some edge cases to take into account.
Secret Enterance [AOC2025 Day 1]
Advent of Code 2025 Day 1 has a simple circular combination lock with a set of instructions. I'll count the number of times that it stops on 0, and then the ...
www.youtube.com
December 2, 2025 at 12:04 PM
Holiday CTFs are here! Intro video about Advent of Code and my approach this year. (And check out https://flagvent.org/ and the Sans Holiday Hack as well).
Advent of Code 2025 - Preview
Advent of Code 2025 is a coding CTF with 12 days of challenges. In this video I'll preview the 2025 CTF and talk about my approach to it. I'm going to be sol...
www.youtube.com
November 30, 2025 at 10:15 PM
Era from HackTheBox has multiple IDOR vulnerabilities followed by a PHP injection invoking the PHP SSH module to run commands on the host. Then there's a signed Linux binary to negotiate for root.
HTB: Era
Era starts with a custom file upload website full of insecure direct object reference vulnerabilities. I’ll create an account and abuse one IDOR to download a site backup from the admin account. Then I’ll abuse an IDOR like vulnerability to get admin access to the site. The admin panel has a PHP vulnerability where I can get it to use the SSH module to login to the host and run commands, providing a reverse shell. From there, I’ll create my own signed binary to replace one that I can run with sudo to get root.
0xdf.gitlab.io
November 29, 2025 at 3:00 PM
I had a lot of fun with Outbound from HackTheBox. I'll abuse a CVE in RoundCube, then extract passwords from the database and abuse below for root. Three beyond root sections in this one :)
HTB: Outbound
Outbound starts with a RoundCube instance and a set of creds to login. I’ll abuse a authenticated deserialization vulnerability to get remote code execution and a shell. From there, I’ll recover another user’s email password from the RoundCube database, showing both how to do it manually and using a RoundCube script. Finally, I’ll abuse a CVE in below to make the passwd file writable and get root. In Beyond Root, I’ll dig into the PHP exploit, showcase some neat CyberChef tricks, and play with the sudo rules on the box.
0xdf.gitlab.io
November 15, 2025 at 3:00 PM
RustyKey from HackTheBox is an assume breach AD box. I'll Timeroast to get a better foothold, and after some AD privilege chaining with BloodHound, perform a CLSID hijack, and then abuse AddAllowedToAct to RBCD to escalate to administrator.
HTB: RustyKey
RustyKey HTB walkthrough: Timeroasting to crack computer passwords, ForceChangePassword abuse, CLSID hijacking via registry, and RBCD for domain compromise.
0xdf.gitlab.io
November 8, 2025 at 3:00 PM
If you're using writeups to learn how to hack on HackTheBox (or other CTFs), use AI as a tutor. In this video I'll show a free prompt to use, as well as a Claude Skill I developed.
Free AI HTB Tutor
Generative AI has many applications. An amazing one is to give it a writeup to a challenge you're trying to solve but stuck on and getting it to coach you th...
www.youtube.com
November 5, 2025 at 3:42 PM
Dump from VulnLab released on HackTheBox last week. It has some very trick injections and a sudo rule puzzle to work out - I'll show two ways.
HTB: Dump
Dump has a website that collects packets on a specific port. It can also handle PCAP uploads and download all the current PCAP files in a zip archive. I’ll abuse wildcard injection in the zip command with some carefully crafted filenames to get RCE and a shell. I’ll pivot to the next user with a password from the database. I’ll then abuse how www-data can run sudo to run tcpdump to get root.
0xdf.gitlab.io
November 4, 2025 at 12:27 PM
Voleur is an assume breach active directory box from HackTheBox. It has lots of passwords, deleted user recovery, DPAPI, targeted kerberoasting, and hashes from registry hives.
HTB: Voleur
Voleur is an active directory box that starts with assume breach credentials. I’ll find an Excel notebook with credentials and get a shell. I’ll find a deleted user and switch to a service account to recover it. That user can access an SMB share with a user’s home directory backup, where I’ll find DPAPI encrypted credentials. I’ll recover those, getting access to an SSH key that provides access to a WSL instance. There I’ll find registry hive backups where I can dump the administrator hash.
0xdf.gitlab.io
November 1, 2025 at 3:40 PM
Store from VulnLab released on HackTheBox yesterday. It's got a web decryption known plaintext attack, directory traversal, node inspect, and Chrome debug.
HTB: Store
HTB Store walkthrough: exploiting XOR encryption for arbitrary file read, SFTP tunneling to Node.js debugger, and Chrome webdriver RCE for root access.
0xdf.gitlab.io
October 30, 2025 at 10:00 AM
Artificial from HackTheBox is starts with uploading a malicious TensorFlow model to get a foothold through deserialization. I'll abuse Backrest in three different ways for root.
HTB: Artificial
Artificial starts with an AI website where I can upload models that are run with TensorFlow. I’ll exploit a deserialization vulnerability in how TensorFlow handles h5 files to get RCE and a foothold. I’ll find hashes in the database and crack one to pivot to the next user. That user has access to an instance of Backrest running on localhost. I’ll find the config and crack the hash to get access, and then show three ways to get execution as root through the application.
0xdf.gitlab.io
October 25, 2025 at 3:00 PM