Navigation
Breadcrumb

Posts on: Methodology

srl

Pentesting Methodology

A methodology is a decision loop, not a linear checklist. You gather facts, choose the cheapest action that could confirm or kill a hypothesis, record the result, and re-enter the loop. Phases below are named for orientation; in practice you drop back to enumeration every time something new appears β€” a share, a password, a hostname, a service banner. 2025–2026 context: This methodology is built for a landscape where identity is the new perimeter (OAuth, SAML, ADCS, cloud IAM), defenders automate containment (EDR, SOAR, automated account disabling), and exploits are increasingly deterministic (page-cache LPEs, parser differentials) rather than memory-corruption races. The loop is more important than ever: “Try harder” is not a strategy; “Read the source, check the clock, reuse the password” is.
srl

Pentesting Command Checklist

Copy-paste command sheet for a general pentest or an OSCP-style exam: one block per phase, checkboxes for the steps, exact commands for the tool versions shipped on current distributions. It is the companion to the methodology β€” the methodology explains why and when, this page is what you actually type. Every command is a template: read it, substitute the variables, and check the precondition before running it. Version drift is the #1 cause of a “broken” cheat sheet. Recent tool releases changed flags in nxc, certipy, impacket, ligolo-ng, and hashcat. Before trusting a command: nxc --help, certipy <subcommand> -h, impacket-<tool> -h, hashcat --example-hashes. If your install predates mid-2026, several of the modules below (ADCS ESC17, nxc --ntds --use-vss, --remove-mic) will not exist.
srl

Pentesting Pattern Library

A problem-first index of the recurring techniques that decide the boxes on the OSCP-like lab list. Each pattern is deliberately small: when to reach for it, the prerequisite check that must pass, the commands worth memorising, and the machines where it was the difference between stuck and rooted. It sits between three neighbours: the command checklist you run at the start of every box, the Linux, Windows and AD machine pages that walk one box end-to-end, and the “Cross-machine patterns” summary at the end of each machine page. This page is the layer that transfers: a technique is worth learning when you can name two machines it appears on and the condition that makes it fire. Nothing here is a walkthrough, and every command still needs its placeholders replaced.
srl

OSCP Machine Index

One row per box for the whole OSCP-like list β€” 76 machines: 39 Linux, 18 Windows, 16 AD and 3 non-AD. Use it to pick a box by technique, to revise a path in 30 seconds, and to tick off what you have actually rooted. Detail lives in Linux, Windows and Active Directory; this page only routes you there. How to use this page Revision: read the row, then explain the path out loud without looking at the page. If you stall on the privesc cell, open the machine page. Progress: [ ] β†’ [x] only when you rooted it unaided (no writeup, no hint). Reset a tick if you needed help. Choosing by technique: scan the Key tool or CVE and Privesc / path columns, not the names. The Study tracks below give ready-made orders. Gaps: the Coverage check shows which phase you have been avoiding β€” usually the one you keep skipping. Linux Machine Foothold Privesc / path Key tool or CVE Done Enigma NFS onboarding PDF OliveTin mysqldump break-out showmount Β· OpenSTAManager Β· CVE-2026-29782 [ ] Nibbles NibbleBlog plugin upload sudo writable monitor.sh CVE-2015-6967 Β· NibbleBlog [ ] Solidstate Apache James admin 4555 root cron /opt/tmp.py CVE-2015-7611 Β· Apache James 2.3.2 Β· pspy32 [ ] Poison LFI log poisoning VNC secret.zip β†’ root vncpasswd Β· proxychains [ ] Editor XWiki Groovy RCE ndsudo PATH hijack CVE-2025-24893 Β· CVE-2024-32019 [ ] Sunday finger enum β†’ SSH 22022 sudo wget hashcat 7400 Β· finger-user-enum [ ] Keeper Request Tracker default creds KeePass dump β†’ PuTTY key CVE-2023-32784 Β· kpcli Β· RT root:password [ ] Pilgrimage .git β†’ ImageMagick read binwalk PFS traversal CVE-2022-44268 Β· CVE-2022-4510 [ ] Cozyhosting Spring actuator session hijack sudo ssh ProxyCommand actuator/sessions Β· GTFOBins ssh [ ] Codify vm2 sandbox escape glob bypass β†’ pspy vm2 3.9.16 Β· pspy [ ] Tartarsauce WordPress gwolle-gb RFI sudo tar β†’ backuperer race wpscan Β· GTFOBins tar [ ] Jarvis UNION SQLi β†’ phpMyAdmin SUID systemctl unit CVE-2018-12613 Β· sqlmap [ ] Tabby Tomcat manager WAR deploy lxd group mount manager-script Β· lxd [ ] Connected FreePBX pre-auth SQLi incron writable init.conf CVE-2025-57819 Β· incron [ ] Mentor SNMP community β†’ admin JWT snmpd.conf cleartext β†’ sudo snmpwalk Β· COPY PROGRAM [ ] Devvortex Joomla config leak apport-cli pager CVE-2023-23752 Β· CVE-2023-1326 [ ] Irked UnrealIRCd backdoor shell SUID viewuser /tmp/listusers UnrealIRCd 3.2.8.1 Β· steghide [ ] Popcorn upload Content-Type bypass PAM MOTD passwd write CVE-2010-0832 Β· DirtyCow [ ] Bashed /dev/phpbash.php webshell writable /scripts cron phpbash Β· pspy [ ] Broker ActiveMQ OpenWire exploit sudo nginx root config CVE-2023-46604 Β· nginx [ ] Silentium Flowise reset-token ATO Gogs symlink β†’ root keys CVE-2025-58434 (ATO) Β· CVE-2025-59528 (RCE) Β· CVE-2025-8110 [ ] Networked backup.tar source leak cron filename injection AddHandler Β· changename.sh [ ] UpDown dev header β†’ .git source sudo easy_install setup.py phar:// Β· easy_install [ ] Swagshop Magento admin object injection sudo vi wildcard shoplift Β· Magento 1.9 [ ] Nineveh type-juggling login β†’ LFI port knock β†’ chkrootkit phpLiteAdmin Β· CVE-2014-0476 [ ] Pandora SNMP args β†’ internal SQLi SUID backup PATH hijack snmpbulkwalk Β· ltrace [ ] OpenAdmin OpenNetAdmin xajax injection internal vhost β†’ sudo nano OpenNetAdmin 18.1.1 Β· sudo nano [ ] Precious PDFKit URL injection sudo ruby YAML.load CVE-2022-25765 Β· exiftool [ ] Busqueda Searchor eval() injection full-checkup CWD hijack Searchor 2.4.0 Β· docker-inspect [ ] Monitored SNMP args β†’ Nagios token getprofile symlink zip CVE-2023-40931 Β· getprofile.sh [ ] BoardLight Dolibarr default creds Enlightenment SUID escape CVE-2023-30253 Β· CVE-2022-37706 [ ] Magic SQLi login β†’ upload bypass SUID sysinfo PATH exif_imagetype Β· ltrace [ ] Help GraphQL credential leak kernel 4.4.0-116 LPE CVE-2017-16995 Β· GraphQL [ ] Editorial SSRF to internal API GitPython ext:: clone SSRF Β· GitPython ext:: [ ] Builder Jenkins CLI file read admin β†’ root SSH key CVE-2024-23897 Β· jenkins-cli [ ] Linkvortex dev .git β†’ Ghost CVE sudo clean_symlink env CVE-2023-40028 Β· git-dumper [ ] UnderPass SNMP β†’ daloRADIUS panel sudo mosh-server snmpwalk Β· mosh-client [ ] Dog Backdrop .git β†’ module upload sudo bee eval git-dumper Β· bee [ ] Cctv ZoneMinder SQLi tcpdump caps β†’ motionEye CVE-2024-51482 Β· CVE-2025-60787 [ ] Windows Machine Foothold Privesc / path Key tool or CVE Done Markup default creds β†’ XXE writable job.bat as SYSTEM XXE Β· icacls [ ] Jerry Tomcat default creds WAR deploys as SYSTEM Tomcat 7.0.88 Β· msfvenom [ ] Netmon anonymous FTP = C: drive PRTG notification injection PRTG Β· psexec [ ] Servmon NVMS-1000 path traversal NSClient++ 0.5.2.35 NSClient++ Β· 8443 tunnel [ ] Chatterbox AChat UDP overflow Alfred ACL β†’ root.txt AutoRunScript Β· icacls [ ] Jeeves Jenkins no-auth console KeePass PTH β†’ ADS KeePass Β· psexec -hashes [ ] Sniper LFI β†’ session poisoning weaponized .chm Out-CHM Β· AppLocker [ ] Querier xlsm macros β†’ MSSQL creds xp_dirtree β†’ GPP cpassword olevba Β· GPP [ ] Giddy stacked SQLi xp_dirtree UniFi taskkill.exe hijack xp_dirtree Β· Ebowla [ ] Bounty IIS upload null byte SeImpersonate β†’ LonelyPotato web.config Β· LonelyPotato [ ] Arctic ColdFusion FCKeditor upload MS10-059 kernel MS10-059 Β· exploit-suggester [ ] Remote NFS Umbraco.sdf XSLT RCE β†’ TeamViewer AES Umbraco Β· TeamViewer 7 [ ] Buff Gym Management upload CloudMe overflow via Chisel Chisel Β· CloudMe 1.11.2 [ ] Love TLS cert vhost β†’ SSRF AlwaysInstallElevated β†’ SYSTEM AlwaysInstallElevated Β· msiexec [ ] Secnotes XSRF password reset SMB share β†’ WSL history CSRF Β· WSL rootfs [ ] Access FTP mdb + PST cmdkey β†’ runas /savecred runas /savecred Β· DPAPI [ ] Mailing traversal β†’ hMailServer.ini CVE-2024-21413 β†’ CVE-2023-2255 CVE-2024-21413 Β· CVE-2023-2255 [ ] Heist guest portal Cisco config Firefox dump β†’ admin reuse Cisco type 7 Β· procdump [ ] Active Directory Machine Foothold Privesc / path Key tool or CVE Done Active anonymous Replication share GPP β†’ Kerberoast Administrator gpp-decrypt Β· GetUserSPNs [ ] Forest null RPC β†’ AS-REP roast WriteDacl domain β†’ DCSync GetNPUsers Β· secretsdump [ ] Sauna kerbrute β†’ AS-REP fsmith AutoLogon β†’ GetChanges kerbrute Β· secretsdump [ ] Flight UNC include β†’ NetNTLMv2 machine TGT β†’ DCSync ntlm_theft Β· Rubeus tgtdeleg [ ] Return printer panel LDAP bind Server Operators binPath swap Responder Β· Server Operators [ ] Blackfield profiles share β†’ AS-REP ForceChangePassword β†’ SeBackup rpcclient setuserinfo2 Β· diskshadow [ ] Cicada guest SMB β†’ HR note spray β†’ reg save SAM netexec –rid-brute Β· reg save [ ] TheFrizz Gibbon LMS file write GPO abuse β†’ SYSTEM CVE-2023-45878 Β· SharpGPOAbuse Β· hashcat 1420 [ ] Administrator assumed breach β†’ BloodHound GenericAll chain β†’ DCSync BloodHound Β· targetedKerberoast [ ] Monteverde querydispinfo β†’ user spray ADSync LocalDB β†’ DA ADSync Β· mcrypt.dll [ ] Escape SMB PDF creds β†’ MSSQL coerce β†’ ESC1 Certipy ESC1 Β· xp_dirtree [ ] EscapeTwo assumed breach β†’ xlsx WriteOwner β†’ ESC4 β†’ ESC1 Certipy ESC4 Β· bloodyAD [ ] Certified assumed breach β†’ WriteOwner shadow creds β†’ ESC9 Certipy ESC9 Β· owneredit [ ] Puppy assumed breach β†’ HR group KeePassXC β†’ DPAPI KeePassXC Β· dpapi.py [ ] Timelapse null SMB zip β†’ pfx cert WinRM β†’ LAPS pfx2john Β· LAPS [ ] Signed assumed breach SQL login silver ticket β†’ OPENROWSET ticketer.py Β· OPENROWSET [ ] Also on the list (not AD) Linux boxes that sit in the AD column of the source sheet but have no domain, no Kerberos and no BloodHound. They belong with the web β†’ Linux privesc cluster.
srl

HTB Linux Machines β€” OSCP Edge Cases

Consolidated index of 39 OSCP-like HTB Linux boxes β€” one path per box, the non-obvious steps that decide it, and the exact commands worth memorising. These are edge-case notes, not walkthroughs: every command must be adapted to the target (IPs, vhosts, ports, usernames, payload paths), and the source writeup remains the walkthrough of record. Companion pages: Command Checklist Β· Pattern Library Β· Methodology Β· Machine Index. How to use this page Start with a full TCP scan plus the UDP ports people skip (161, and NFS/mountd on dynamic ports), then fuzz vhosts before directory-brute-forcing the IP root. Treat every credential as a username+password pair and spray it at SSH, su and the application itself before hunting another bug. After landing a shell, run the triad β€” sudo -l, SUID/capabilities, and pspy/cron/timers β€” plus ss -tnl for localhost-only services. When an exploit fails, read the application’s own source and config (.git, backups, *.inc.php, JAR/ZIP contents) before assuming the target is patched. Enigma Path: NFS export /srv/nfs/onboarding holds an onboarding PDF with webmail creds β†’ Roundcube mail001 β†’ password reuse to a second mailbox β†’ OpenSTAManager 2.9.8 support portal β†’ www-data β†’ DB hash β†’ haris β†’ OliveTin on 1337 β†’ root.
srl

HTB Windows Machines β€” OSCP Edge Cases

Eighteen standalone Windows boxes from the OSCP-like list β€” one intended path each, the non-obvious step that decides it, and the exact command worth memorising. These are edge-case notes, not walkthroughs: every IP, hostname, port, user and payload path must be adapted to the target, and the linked writeup remains the walkthrough of record. Companion pages: Command Checklist Β· Pattern Library Β· Methodology Β· Machine Index. How to use this page Full port scan, then UDP. nmap -sT -p- --min-rate 5000 --max-retries 1 is the baseline; several boxes answer on nothing in the top 1000 (Chatterbox, Arctic) and services hide on UDP (AChat on 9256). Enumerate SMB and RPC before attacking. Null sessions, share listings (smbclient -N -L //IP when smbmap fails), and RID cycling (lookupsids, 1000–1050) often produce the userlist no wordlist would give you. Re-try every credential against SMB, WinRM, RDP, MSSQL and the application itself β€” including username-format variants (admin vs admin@domain, user vs DOMAIN\user). Then run whoami /priv, check service ACLs and writable service paths before any kernel exploit. Assume Defender and AppLocker. Prefer living-off-the-land, shell_exec over system, staged and encoded payloads; a payload that does nothing is usually AV or .NET-version mismatch, not a broken exploit. Markup Path: Default creds on the MegaShopping login β†’ Order page posts raw XML to /process.php β†’ XXE reads Daniel’s id_rsa β†’ SSH β†’ users-writable job.bat run by a SYSTEM schedule.
srl

HTB Active Directory Machines β€” OSCP Edge Cases

The AD half of the OSCP-like HTB list β€” one path per box, the step that actually decides it, and the exact command worth memorising. These are edge-case notes, not walkthroughs: every IP, domain, user and path must be adapted to your target, and the linked writeup remains the walkthrough of record. Companion pages: Command Checklist Β· Pattern Library Β· Methodology Β· Machine Index. How to use this page Assumed breach vs unauthenticated. Only five boxes hand you credentials at the start β€” Administrator (olivia:ichliebedich), Certified (judith.mader:judith09), EscapeTwo (rose:KxEPkKe6R8su), Puppy (levi.james:KingofAkron2025!) and Signed (scott:Sm230#C5NatH). For those, the first ten minutes are --shares, BloodHound, certipy find and per-service auth checks β€” not brute force. Everything else starts with null SMB/RPC, a web bug, or a share. BloodHound before exploitation. Collect with bloodhound-python -c all --zip (or bloodhound-ce-python) and read the Abuse Info of each edge; rights on the domain node show up as GetChanges/GetChangesAll, not as an edge called “DCSync” (Sauna). Every found secret is a reuse test. Fan out nxc smb/ldap/winrm/mssql/ftp with --continue-on-success; a service that fails is not the service that matters (Return: WinRM but no SMB admin; Administrator: FTP but no WinRM for benjamin). Try the actual account name when a config spells it differently (Sauna). ADCS, delegation and time. None of Active/Forest/Sauna/Flight/Return/Blackfield/Cicada/TheFrizz/Administrator/Monteverde exposes a CA β€” do not burn exam minutes on Certipy there. The ESC paths live in Escape (ESC1), EscapeTwo (ESC4β†’ESC1) and Certified (ESC9). Clock skew is the single most common time sink: sudo ntpdate <dc fqdn>, expect the VPN to drop, reconnect β€” but note that AS-REP roasting tolerates hours of skew (Sauna). At-a-glance Box Start Entry technique Key escalation Difficulty Active Unauthenticated GPP cpassword in DFS-R share Kerberoast Administrator Easy Forest Unauthenticated Null RPC β†’ AS-REP WriteDacl β†’ DCSync Easy Sauna Unauthenticated Kerbrute β†’ AS-REP AutoLogon β†’ GetChanges/GetChangesAll Easy Flight Unauthenticated PHP LFI β†’ UNC β†’ NetNTLMv2 Machine TGT (tgtdeleg) β†’ DCSync Hard Return Unauthenticated Printer panel β†’ LDAP cleartext Server Operators sc config Easy Blackfield Unauthenticated Profiles share β†’ AS-REP ForceChangePassword β†’ LSASS β†’ SeBackup Hard Cicada Unauthenticated Guest SMB β†’ HR share β†’ RID brute LDAP description β†’ Backup Operators Easy TheFrizz Unauthenticated Gibbon LMS CVE-2023-45878 Kerberos SSH β†’ GPO abuse Medium Administrator Assumed breach BloodHound ACL chain GenericAll β†’ FTP psafe3 β†’ targeted Kerberoast Medium Monteverde Unauthenticated RPC querydispinfo β†’ spray ADSync LocalDB + mcrypt Medium Escape Unauthenticated SMB PDF β†’ MSSQL Coerce β†’ ESC1 Medium EscapeTwo Assumed breach xlsx β†’ MSSQL sa WriteOwner β†’ shadow creds β†’ ESC4β†’ESC1 Medium Certified Assumed breach WriteOwner Management group Shadow creds Γ—2 β†’ ESC9 Medium Puppy Assumed breach HR group β†’ GenericWrite Developers KeePassXC β†’ GenericAll β†’ DPAPI Medium Timelapse Unauthenticated winrm_backup.zip β†’ pfx Certificate WinRM β†’ LAPS Easy Signed Assumed breach SQL login scott Silver ticket β†’ OPENROWSET Medium Active Path: Anonymous SMB on the DFS-R Replication share β†’ Groups.xml cpassword β†’ gpp-decrypt β†’ svc_tgs β†’ Kerberoast (SPN owned by Administrator) β†’ psexec.