Cosa fa#
Legge e modifica parametri del kernel Linux a runtime senza riavviare il sistema. I parametri vivono nel filesystem virtuale /proc/sys/ e controllano comportamenti fondamentali del sistema operativo: networking, memoria, sicurezza, IPC.
Sintassi#
sysctl [opzioni] parametro[=valore]
Comandi essenziali#
| Comando | Flag | Significato flag | Cosa fa |
|---|---|---|---|
sysctl -a | -a | all | Mostra tutti i parametri disponibili |
sysctl parametro | — | — | Legge il valore di un parametro |
sysctl -w parametro=valore | -w | write | Imposta un valore (richiede root) |
sysctl -p | -p | permanent | Ricarica configurazione da /etc/sysctl.conf |
Parametri importanti per Blue Team#
# IP Forwarding — trasforma Linux in un router
# 0 = disabilitato (default), 1 = abilitato
sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
# ICMP Redirect — manda redirect al mittente quando inoltri
# 0 = non mandare redirect, 1 = manda (default)
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
sysctl -w net.ipv4.conf.eth0.send_redirects=0
# ATTENZIONE: disabilitare solo su all e default non basta
# serve anche sull'interfaccia specifica (es. eth0)
# Accetta redirect ICMP in arrivo
sysctl -w net.ipv4.conf.all.accept_redirects=0Permanenza dei cambiamenti#
sysctl -w → volatile — perso al riavvio
utile per lab e test temporanei
/etc/sysctl.conf → permanente — sopravvive al riavvio
aggiungi la riga: net.ipv4.ip_forward=1
poi ricarica con: sysctl -pCome cercare un parametro#
# Cerca parametri relativi ai redirect
sysctl -a | grep redirect
# Output utile:
# net.ipv4.conf.all.send_redirects = 0
# net.ipv4.conf.default.send_redirects = 0
# net.ipv4.conf.eth0.send_redirects = 1 ← interfaccia specifica!
# net.ipv4.conf.lo.send_redirects = 1Scenario Reale — MITM con ARP Poisoning#
Per fare un MITM silenzioso con arpspoof, servono tre passi:
# 1. Abilita IP forwarding — altrimenti il traffico viene scartato
sudo sysctl -w net.ipv4.ip_forward=1
# 2. Disabilita ICMP Redirect — altrimenti la vittima capisce
# che c'e' un hop extra e potrebbe bypassarti
sudo sysctl -w net.ipv4.conf.all.send_redirects=0
sudo sysctl -w net.ipv4.conf.default.send_redirects=0
sudo sysctl -w net.ipv4.conf.eth0.send_redirects=0
# 3. Verifica che tutto sia impostato correttamente
sysctl net.ipv4.ip_forward
sysctl -a | grep send_redirectWarning
sysctl -w net.ipv4.ip_forward=1 trasforma la macchina in un router.
Su una macchina di produzione questo e' un rischio di sicurezza.
Verifica sempre lo stato di ip_forward sui server:
sysctl net.ipv4.ip_forward — deve essere 0 su server normali.
Tip
Non puoi scrivere direttamente in /proc/sys/ con redirect shell
anche da root. Usa sempre sysctl -w oppure:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Dove l'ho usato#
- Lab ARP poisoning — IP forwarding e disabilitazione ICMP Redirect


