Quando un exploit è stato eseguito con successo, c'è un modo per bloccare l'utente dal rimbalzare una shell?
Mi piacerebbe saperlo su entrambi i computer Windows e Linux.
Su un server Web di produzione, è necessario impedire la creazione di connessioni TCP in uscita, ad eccezione degli indirizzi attendibili. Qualsiasi firewall con stato dovrebbe consentire di creare regole per questo tipo di scenario.
Se stai utilizzando iptables
, prova qualcosa del tipo:
iptables -A OUTPUT -p tcp --tcp-flags ALL SYN -m state --state NEW -j DROP
Il mio iptables
-fu è un po 'arrugginito, quindi scusate eventuali errori in quel comando.
Questo elimina tutti i pacchetti TCP in uscita che appartengono a una nuova connessione TCP, con solo il flag SYN impostato. In altre parole, impedisce completamente le connessioni TCP in uscita.
Se parli di reverse shell, questo può essere piuttosto complicato da provare a prevenire. Ad esempio, l'hacker sfrutta la destinazione e utilizza il client per connettersi nuovamente all'attaccante sulla porta 80 che consegna una shell. La porta in uscita 80 dovrebbe ovviamente essere consentita. Provare a prevenire la firma della shell sulla porta 80 probabilmente creerebbe un sacco di falsi positivi.
Preferirei mirare al rilevamento piuttosto che alla prevenzione.
Leggi altre domande sui tag exploit