Publicado: 19 de Junio de 2025
Autor: José Miguel Romero aKa x3m1SecDificultad: ⭐ Easy
📝 Descripción
Heist es una máquina Windows de dificultad Easy que simula un escenario de soporte técnico donde un usuario comparte inadvertidamente un archivo de configuración de un router Cisco que contiene credenciales cifradas. La explotación implica:
Reconocimiento inicial: Identificación de servicios web y SMB
Obtención de credenciales: Descifrado de contraseñas Cisco tipo 7 y cracking de hashes MD5
Enumeración lateral: Reutilización de credenciales para acceso SMB y WinRM
Escalada de privilegios: Extracción de credenciales de memoria del proceso Firefox mediante volcado de memoria
La máquina destaca la importancia de no compartir archivos de configuración y demuestra técnicas de análisis forense de memoria para la obtención de credenciales.
🎯 Resumen
Aspecto
Detalle
SO
Windows Server
Servicios principales
HTTP (80), SMB (445), WinRM (5985)
Vector de entrada
Credenciales expuestas en archivo de configuración
Escalada
Volcado de memoria del proceso Firefox
Flags obtenidas
user.txt, root.txt
🔭 Reconocimiento
🏓 Verificación de conectividad
💡 Nota: El TTL cercano a 128 sugiere que probablemente sea una máquina Windows.
🔍 Escaneo de puertos
🔧 Enumeración de servicios
🌐 Enumeración Web
🔗 Puerto 80 - Support Login Page
Al acceder al servicio HTTP encontramos un panel de login de un servicio destinado a soporte técnico.
🎫 Acceso como invitado
La aplicación permite iniciar sesión como invitado, lo que nos da acceso a un chat de asistencia donde un usuario llamado Hazard comparte un archivo de configuración sensible:
🔓 Análisis de credenciales
📄 Archivo de configuración Cisco IOS
El contenido del archivo adjunto revela ser una configuración de router Cisco IOS:
🔐 Descifrado de contraseñas Cisco Tipo 7
Las contraseñas Cisco Tipo 7 utilizan un cifrado muy débil que puede ser fácilmente revertido:
Probamos las credenciales obtenidas contra varios servicios, pero no funcionan directamente. Sin embargo, considerando el contexto del chat donde Hazard solicita una cuenta, probamos si reutilizó alguna contraseña:
✅ ¡Éxito! Las credenciales hazard:stealth1agent son válidas para SMB.
👥 Enumeración de usuarios mediante RID Brute Force
📋 Automatización de la extracción de usuarios
Para automatizar el proceso, extraemos y limpiamos la lista de usuarios:
🎯 Password Spraying
Creamos lista de contraseñas:
Verificación contra SMB:
Verificación contra WinRM:
Credenciales válidas encontradas:
SMB: Chase:Q4)sJu\Y8qz*A3?d
WinRM: Chase:Q4)sJu\Y8qz*A3?d
🚪 Acceso inicial
🔑 Conexión WinRM
Una vez dentro como Chase, obtenemos la primera flag en el directorio Desktop
🏁 Primera flag
📝 Análisis del archivo todo.txt
El archivo todo.txt revela información importante:
Chase consulta regularmente el sitio web para ver la lista de problemas
Configuración de la copia de seguridad del router
El usuario invitado tiene acceso limitado comparado con admin@support.htb
🔬 Análisis de la memoria
El único proceso relacionado con un navegador que vemos en el sistema es firefox. SI queremos intentar capturar credenciales, podemos usar la herramienta procdump64.exe
https://live.sysinternals.com/ y subirla con el comando upload de evil-winrm:
🛠️ Preparación de herramientas
Descarga de ProcDump:
Subida a la máquina objetivo:
💾 Volcado de memoria
Aceptación de licencia:
Generación del dump:
Descarga del archivo:
🕵️ Extracción de credenciales
🔍 Análisis del volcado de memoria
Ahora podemos usar el comando strings en combinación con grep para filtrar por posibles cadenas que contengan la palabra "password", "login" o "login_password":
Resultado:
Credenciales del administrador:Administrator:4dD!5}x/re8]FBuZ
👑 Escalada de privilegios
Usamos las credenciales obtenidas y evil-winrm par autenticarnos como Administrador y obtenemos la flag:
nmap -sC -sV -p$ports 10.10.10.149 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-19 09:38 CEST
Nmap scan report for 10.10.10.149
Host is up (0.047s latency).
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
| http-title: Support Login Page
|_Requested resource was login.php
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-server-header: Microsoft-IIS/10.0
| http-methods:
|_ Potentially risky methods: TRACE
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds?
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49669/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-06-19T07:39:22
|_ start_date: N/A
version 12.2
no service pad
service password-encryption
!
isdn switch-type basic-5ess
!
hostname ios-1
!
security passwords min-length 12
enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91
!
username rout3r password 7 0242114B0E143F015F5D1E161713
username admin privilege 15 password 7 02375012182C1A1D751618034F36415408
!
!
ip ssh authentication-retries 5
ip ssh version 2
!
!
router bgp 100
synchronization
bgp log-neighbor-changes
bgp dampening
network 192.168.0.0Â mask 300.255.255.0
timers bgp 3 9
redistribute connected
!
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.0.1
!
!
access-list 101 permit ip any any
dialer-list 1 protocol ip list 101
!
no ip http server
no ip http secure-server
!
line vty 0 4
session-timeout 600
authorization exec SSH
transport input ssh