// Writing

The Blog

Security research, career reflections, and technical deep-dives. No fluff.

Machine Write-ups

Root-to-administrator compromises with full attack chains, tool output, and lessons learned.

Windows Machines
HTB Write-up 15 min read

Open Share. Default Password. Three Accounts. Backup the SAM.

HackTheBox Cicada: Anonymous SMB finds a default password in an HR notice. impacket-lookupsid SID brute force builds the user list without credentials. Spray hits michael.wrightson. AD description field leaks david.orelious credentials. DEV share holds a PowerShell backup script with emily.oscars plaintext password. SeBackupPrivilege dumps the SAM. Pass-the-Hash delivers Administrator.

HTB Write-up 13 min read

Cisco Config in a Ticket. Crack It. Spray It. Dump the Browser.

HackTheBox Heist: Cisco router config in a support ticket yielded three passwords via Type 7 decode and Type 5 hashcat crack. RID brute force built the user list, credential spray hit Chase over WinRM. Firefox process memory dump revealed the Administrator password in plaintext.

HTB Write-up 12 min read

Change the Server Address. Catch the Password. Hijack the Service.

HackTheBox Return: printer admin panel on port 80 transmits LDAP credentials to a netcat listener when the server address is updated. svc-printer is in Server Operators. VSS service binary path hijack adds the account to local Administrators. Domain owned.

HTB Write-up 14 min read

Zip on a Share. Certificate Gets You In. History Leaks the Rest.

HackTheBox Timelapse: cracked a zip-protected PFX certificate on an anonymous SMB share, authenticated to WinRM over HTTPS using the extracted certificate, found svc_deploy credentials in PowerShell history, and read the LAPS Administrator password via ldapsearch.

HTB Write-up 16 min read

Custom Binary. XOR Creds. LDAP Info Field. RBCD to Domain Admin.

HackTheBox Support: reversed a custom .NET binary on an anonymous share to recover XOR-encoded LDAP credentials, dumped a plaintext password from a user's LDAP info field, and exploited GenericAll over the DC via RBCD to compromise the domain.

HTB Write-up 14 min read

Anonymous SMB. Groups.xml. Kerberoast the Admin. Domain Gone.

HackTheBox Active: anonymous SMB access exposed Groups.xml in SYSVOL, gpp-decrypt recovered SVC_TGS credentials, Kerberoasting the Administrator SPN cracked Ticketmaster1968, psexec delivered a SYSTEM shell.

HTB Write-up 15 min read

Web OSINT. AS-REP Roast. AutoLogon. DCSync. Full Domain Gone.

HackTheBox Sauna: harvested 6 employee names from a bank website, AS-REP Roasted fsmith, pivoted via WinPEAS AutoLogon credentials to svc_loanmgr, then DCSync'd the domain via pre-assigned replication rights.

HTB Write-up 15 min read

AS-REP Roasting to DCSync. Full Domain Compromise.

HackTheBox Forest: RPC null session user enumeration, AS-REP Roasting svc-alfresco, BloodHound path through 4 nested groups to WriteDACL, PowerView DCSync grant, and Pass the Hash to Administrator.

Linux Machines
HTB Write-up 12 min read

HTML Comment. Default Creds. PHP Upload. Writable sudo Script. Root.

HackTheBox Nibbles: an HTML comment in the index page source reveals the Nibbleblog CMS before any enumeration tool runs. admin/nibbles logs you in. The My Image plugin saves the PHP file to disk despite throwing errors. Shell lands as nibbler. sudo -l exposes a world-writable script in a NOPASSWD path. printf overwrites it. Root.

HTB Write-up 11 min read

phpbash in /dev/. Sudo Lateral to scriptmanager. Cron Runs Your Script as Root.

HackTheBox Bashed: gobuster finds a /dev/ directory with directory listing enabled. phpbash.php is sitting there, left over from the developer's own research. Web shell lands as www-data. sudo -l reveals scriptmanager NOPASSWD:ALL. Lateral move to scriptmanager, /scripts/ ownership reveals a cron job executing test.py as root. Overwrite the script, wait for cron, root shell on port 5555.

HTB Write-up 10 min read

403 on the Directory. 200 on the Script Inside. Shellshock. Sudo Perl. Root.

HackTheBox Shocker: gobuster with .sh extension finds user.sh inside a forbidden /cgi-bin/ directory. Shellshock via User-Agent header fires through Apache's CGI handler on bash 4.3. Shell lands as shelly. sudo -l reveals Perl NOPASSWD as root. GTFOBins exec one-liner completes the escalation.

HTB Write-up 9 min read

Samba 3.0.20. CVE-2007-2447. Root Without a Privesc Step.

HackTheBox Lame: nmap service scan identifies Samba 3.0.20-Debian. CVE-2007-2447 exploits the username map script option, passing shell metacharacters in the authentication username directly to /bin/sh. The Samba daemon runs as root. One Metasploit module call delivers an immediate root shell with no privilege escalation required.

HTB Write-up 10 min read

IDOR to Root. How Cap Punishes Lazy Authorization.

HackTheBox Cap: exploited an IDOR to download another user's PCAP, extracted FTP plaintext credentials with Wireshark, reused them on SSH, and escalated to root via cap_setuid on Python 3.8.

Linux Breach Investigation

Six challenges. Five evidence types. One attacker. Read in order: each challenge builds on the last.

Ch 01. Log Analysis 12 min read

Six Log Files. One Attack. Full Reconstruction.

A Linux server compromised on November 14, 2025. Full attack timeline reconstructed through log analysis alone. 6/6 flags captured.

Ch 02. Memory Forensics 14 min read

One Memory Dump. A Beacon in /tmp. Six Flags.

A Cobalt Strike beacon disguised as a kernel process, credentials recovered from RAM, and a staged exfil archive. Reconstructed using Volatility. 6/6 flags captured.

Ch 03. Network Forensics 13 min read

One PCAP. DNS Exfil Uncovered. Five Flags.

C2 domain identified via DNS traffic, credentials stolen over a reverse shell, base64-encoded data hidden inside DNS subdomains. Reconstructed from one PCAP. 5/5 flags captured.

Ch 04. Disk Forensics 14 min read

Two Disk Images. Five Flags. Nothing Stays Deleted.

Hidden stolen-data file on a USB image, a log-shredding cleanup script, a PNG carved from raw sectors, and deleted credentials recovered from a wiped disk. 5/5 flags captured.

Ch 05. Malware Triage 15 min read

One Binary. One Macro. No Execution Required.

C2 address extracted from an ELF binary, beacon User-Agent identified, and a two-stage VBA macro infection chain fully reversed using only strings and cat. 5/5 flags captured.

Ch 06. Incident Timeline 16 min read

Five Challenges. One Timeline. The Full Breach Reconstructed.

The final challenge: correlate all previous evidence, reconstruct twelve attack events in exact chronological order. 4/5 flags captured.