Skip to main content
  1. Comandi/

sysctl - configure kernel parameters at runtime

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

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
#

ComandoFlagSignificato flagCosa fa
sysctl -a-aallMostra tutti i parametri disponibili
sysctl parametroLegge il valore di un parametro
sysctl -w parametro=valore-wwriteImposta un valore (richiede root)
sysctl -p-ppermanentRicarica 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=0

Permanenza 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 -p

Come 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 = 1

Scenario 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_redirect
Warning

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

Collegato a
#

  • system — categoria
  • arp — ARP poisoning richiede ip_forward
  • arpspoof — tool che usa questi parametri
  • ip — complementare per configurazione rete

Related