Torna agli aggiornamenti
UpdatedJul 28, 2026

persisthunt — Updated!

Script per il rilevamento della persistenza, la caccia e la raccolta di artefatti su Linux

Condividi

Rilevamento Persistenza Linux, Caccia alle Minacce e Raccolta di Artefatti

Sommario

persisthunt.sh aiuta ad accelerare le indagini raccogliendo artefatti mirati relativi alla persistenza ed evidenziando pattern sospetti comunemente associati alle tecniche di persistenza Linux.

Lo script assiste nel rilevamento della persistenza, nella caccia alle minacce e nella raccolta di artefatti attraverso i meccanismi di persistenza Linux più noti. I risultati sono categorizzati in tre livelli - High, Low, e Informational - in base a confidenza e severità. Gli esempi includono voci di autorun sospette che fanno riferimento a /tmp/, /home/, /dev/tcp, curl, o il rilevamento di bind/reverse shell attive.

È progettato come una base flessibile che i difensori possono personalizzare per i propri ambienti aggiungendo o rimuovendo logiche di rilevamento e parole chiave. L'output può essere voluminoso e potrebbe richiedere un'analisi specifica dell'ambiente, ma è anche adatto alla revisione e al riepilogo tramite LLM o agenti AI.

Utilizzo

Esegui come utente root e reindirizza l'output su un file

sudo persisthunt.sh > output.log

Esegui su un host remoto tramite SSH

ssh [email protected] 'bash -s' < persisthunt.sh > output.log 2>&1

Esempi di Rilevamento

=== [HIGH] Reverse shell attiva ===
bob      3889906  0.0  0.0   2800  1848 pts/2    S+   06:38   0:00 sh -i

=== [HIGH] Bind shell attiva ===
LISTEN 0      1                                     0.0.0.0:4444  0.0.0.0:* users:(("python3",pid=3891687,fd=3))
bob      3891687  0.7  0.3  19540 12320 pts/3    S+   06:41   0:00 python3 -c exec("""import socket as s,subprocess as sp;s1=s.socket(s.AF_INET,s.SOCK_STREAM);s1.setsockopt(s.SOL_SOCKET,s.SO_REUSEADDR, 1);s1.bind(("0.0.0.0",4444));s1.listen(1);c,a=s1.accept(); while True: d=c.recv(1024).decode();p=sp.Popen(d,shell=True,stdout=sp.PIPE,stderr=sp.PIPE,stdin=sp.PIPE);c.sendall(p.stdout.read()+p.stderr.read())""")

=== [HIGH] Programmi eBPF con socket di rete grezzi (possibile persistenza BPFdoor) ===
PID: 3903559, Eseguibile: bpfdoorpoc, Stack trace: /proc/3903559/stack:[<0>] packet_recvmsg+0x6e/0x5c0

=== [LOW] Recente binario ELF in directory tmp/home/nascoste ===
/var/tmp/.test

Tecniche

Categorie