Práctica Taller: Cap (HackTheBox) – Pentest completo paso a paso
De interese: Labs Hack The Box
- Adventure Modei(modo sen guía): exploración libre da máquina, sen pasos nin checks. Ideal se queres probar por ti mesmo.
- Guided Mode(modo guiado): pasos e pistas paso a paso que che levan desde o recoñecemento ata a obtención da “flag”. Mellor para principiantes.
- Official Writeup — abre/descarga o informe oficial da máquina (se está dispoñible para esa máquina). Útil para revisar solucións e axudar no aprendizaxe.
- Video Walkthrough — reproduce un vídeo con explicacións e demostracións da resolución (se existe para esa máquina).
- Ás
labspódese acceder mediantePwnBoxouVPN.
- As contas Free soamente poderán iniciar o
PwnBoxgratuíto 2 horas ao día. Debes abonarte para acceso ilimitado a PwnBox. - Se se accede por
PwnBoxxa conectas dende o propia navegador a unha máquina atacante, con moitas ferramentas preinstaladas, a cal posúe conectividade coa máquina vítima(lab). - Se se accede por
VPNdebes configurar a túa propia máquina para o ataque e conectar dende ela, por VPN, á máquina vítima(lab). - Usa a máquina desta
labcomo práctica inicial antes de abordar máquinas máis complexas.
Obxectivo
Realizar un test de intrusión completo (6 fases) sobre a máquina, desde enumeración ata explotación, persistencia e redacción do informe.
Pasos básicos
-
Configurar en VirtualBox unha máquina Kali Linux coa rede en modo NAT.

-
Arrancar a máquina Kali Linux:
- Acceder a HackTheBox e facer clic en
Guided Mode - Conectar a Hack The Box a
Play Machinesmediante PwnBox ou VPN. - Arrancar a máquina facendo clic en
Join Machine. Unha vez arrancada obterase a IP da máquina. - Detectar vulnerabilidades en servizos e/ou aplicacións.
- Explorar un vector de ataque e conseguir acceso ao sistema.
- Recoller información do sistema.
- Conseguir contido ficheiro
user.txt - Elevación de privilexios e conseguir acceso coma root.
- Conseguir contido ficheiro
root.txt
- Acceder a HackTheBox e facer clic en
- Elaborar un informe final coas evidencias obtidas.
Fases dun test de intrusión (Pentest)
Fase 1: Recopilación de información
Prerrequisito
Arrancar a máquina Kali Linux na primeira opción de arranque.
1) Acceder a Cap - HackTheBox:

2) Acceder mediante VPN
A primeira vez que un se conecta...
A. Picar en CONNECT TO HTB:
B. Escoller en Machines:
C. Escoller OpenVPN:
D. Escoller Servidor VPN para establecer a conexión VPN e picar en DOWNLOAD VPN para descargar o ficheiro de configuración VPN:
Unha vez descargado o ficheiro .vpn correspondente ao teu usuario abrir unha consola e executar:
sudo openvpn username.vpn
Lanza o cliente OpenVPN usando o ficheiro de configuración username.vpn. O que sucede en concreto:
sudo— require permisos de root para crear a interface de rede virtual (tun0) e modificar táboas de ruteo.openvpn username.vpn— OpenVPN le o ficheiro.vpn(contén certificado/clave, servidor, portas, rutas, DNS, etc.) e establece a conexión coa infraestrutura de HTB.- Ao conectar: créase unha interface
tun0(ou similar), aplícanse rutas e DNS proporcionadas polo servidor, e o teu tráfico cara ás IPs do lab pasa pola VPN. - Resultado práctico: podes executar
ping,nmape acceder (ssh, web, etc.) ás máquinas da room como se estiveseches na mesma rede do lab. - Comprobación rápida noutra consola:
ip a(vertun0) eip route/ping <IP-da-machine>para asegurarte de conectividade. - Para deter a conexión VPN:
Ctrl+Cna terminal onde corre OpenVPN (ou mata o proceso).
Aviso/boas prácticas
Non deixes a VPN activa cando non a uses.
Usa isto só para labs autorizados (HackTheBox/CTF).
3) Estando en Cap - HackTheBox elixir Guided Mode e facer clic en Join Machine:

Unha vez arrancada a máquina obteremos a súa IP
4) Agora xa podemos comezar coa máquina e resolver as Tasks.
Hints
Se algunha vez estás atascado nalgún HTB ofrece Pistas(Hints) que poden ser de axuda para saír dese atasco.
5) Comprobación de conectividade e detección do sistema operativo. Así, executar na anterior consola:
IP de HTB servida para esta máquina
No caso de execución deste procedemento a IP servida foi: 10.10.10.245, pero no voso caso pode variar. Tédeo en conta para o seguimento desta práctica.
TTL
- TTL ≃ 64 ⇒ GNU/Linux
- TTL ≃ 128 ⇒ Microsoft Windows
Como podemos observar na saída do comandopingestamos ante unha máquina obxectivo GNU/Linux.
6) Task1 - Escaneo básico con Nmap:
Servizos atopados: 3(FTP, SSH e Apache)
Fase 2: Análise de vulnerabilidades
Identificación de servizos vulnerábeis:
- Servizos atopados: FTP, SSH e Apache
Dende a máquina Kali GNU/Linux emprega varias ferramentas para obter información:
- whatweb é unha ferramenta de fingerprinting web que identifica tecnoloxías, cabeceras e versións dun servidor HTTP a partir dunha URL ou enderezo IP.
-
dirb é unha ferramenta de descubrimento de directorios/ficheiros web que usa wordlists para forzar URLs e localizar rutas ocultas nun servidor HTTP.
Task 2 - Con esta ferramenta atopamos rutas no servidor que podemos explorar, como: http://10.10.10.245/data/[id]

Voltamos a executar de novo o comando dirb sobre esa URL para seguir descubrindo directorios/ficheiros atopando, entre outras, a seguinte URL:
Task 3 e Task 4 - http://10.10.10.145/data/0 -> Atopamos a posibilidade de descargar un ficheiro .pcap que imos investigar.
wfuzz - Outra ferramenta de Fuzzing
Tamén poderiamos empregar outra ferramenta de Fuzzing como wfuzz:

Descargamos ese ficheiro e abrímolo con "Wireshark" para estudalo:
Task 5 - Atopamos unha conexión FTP, na cal conseguimos unhas credenciais:
Usuario: nathan
Password: Buck3tH4TF0RM3!
Fase 3: Explotación
Comprobamos o acceso FTP con esas credenciais e conseguimos o acceso ao sistema como usuario nathan:

Fase 4: Post-explotación
Recolleita de información (datos sensibles):
Task 6 - Comprobamos que con esas credenciais tamén podemos acceder por SSH:
Task 7 - Xa obtemos a flag user.txt Xa somos o usuario de sistema nathan, co cal executamos:
Task 8 - Seguimos investigando e atopamos que un ficheiro executable posúe a capabilitie setuid:
Explotamos esa capabilitie conseguindo unha consola de root.

Task 9 - Xa conseguimos a flag de root
Xa somos root, co cal executamos:
De interese
- GitHub swisskeyrepo
- GitHub repoEDU-CCbySA - Ver páx. 18
Fase 5: Persistencia
Aínda que as Flags xa se conseguiron...
Podemos intentar conseguir a Persistencia na máquina.
Engadir usuario permanente e ademais facelo root
Non podemos reiniciar a máquina e gardar o estado actual, pero...
Unha vez reiniciada a máquina seriamos capaces de acceder mediante ssh co usuario root pentester
Fase 6: Informe final
Seguir o indicado en Informes de Pentesting para obter os informes.
Exemplos nas seccións
