Evading IDS nello sviluppo degli exploit

9

Nel contesto dello sviluppo degli exploit del buffer overflow, mi è stato chiesto:

Discuss how your exploit may be modified to evade an Intrusion Detection System.

Non sto chiedendo di fare i miei compiti, ma dopo aver usato il mio miglior Google Fu, l'unica risposta che riesco a trovare è usare gli encoder (come shikata_ga_nai) .

Esistono altri metodi per lo sviluppo degli exploit per l'evasione di IDS?

Dato il contesto, sembra improbabile che questa sia l'unica cosa che dovrei discutere, ma come ho detto, dopo aver passato la serata non riesco a trovare nient'altro.

    
posta Juicy 16.03.2015 - 00:13
fonte

4 risposte

9

Mentre l'altra risposta si concentra sulla modifica dell'exploit stesso, è anche possibile modificare il trasporto dell'exploit, in modo che l'IDS non lo rilevi (Disclaimer: alcuni di questi puntano alla mia ricerca).

Alcuni esempi su come eseguire questa operazione sul livello dell'applicazione con HTTP (ad esempio per i download drive-by durante la navigazione sul Web, ecc.):

Simili evasioni possono essere fatte da giocando con la codifica di trasferimento dei contenuti quando si invia il malware tramite e -mail.

E poi c'è una bella ricerca sull'evasione di IDS a livello di trasporto. C'è un articolo su Evading Deep Inspection for Fun and Shell e anche un video da Blackhat 13 .

E ovviamente puoi anche modificare l'exploit stesso. Qui è una bella descrizione di come modificare gli exploit esistenti in modo che l'AV comune non li rileverà più.

Altre tecniche di evasione utilizzano metodi sociali per eludere l'IDS, come mettere l'exploit in un file ZIP crittografato, allegare anche una mail e scrivere la password anche nella posta. Se fatto bene, la vittima sarà sedotta per aprire il file con la password fornita solo per ottenere il contenuto (come i presunti elenchi di stipendi della sua azienda o simili trap). Poiché la password non è nota all'IDS, non è in grado di rilevare il malware.

    
risposta data 16.03.2015 - 07:23
fonte
4
  1. Utilizzo di risorse di sistema prontamente disponibili.
  2. Codice shell alfanumerico.
  3. Cripta lo shellcode.
  4. Codici di shell polimorfici.
  5. Codice shell metamorfico.

link

Segui il link e vai a "Altre tecniche avanzate" per ulteriori informazioni.

    
risposta data 16.03.2015 - 00:26
fonte
0

Piuttosto che usare google per trovare le risposte per "Come evitare IDS", giralo. Cerca IDS e leggi le varie soluzioni IDS. Per rispondere a questa domanda, è necessario prima definire cosa si intende per IDS. Non è ciò che le lettere rappresentano, ma quello a cui si capisce il termine si riferisce e le principali tecniche utilizzate. Troverete questi tipi in alcuni tipi tipici - ad esempio, sistemi IDS di rete / firewall che possono fare cose come deep packet e protocol inspection, pattern di connessione sospetti e rilevamento di port scanning, ecc. E OS IDS che cercano processi insoliti, cambiamenti nel filesystem , attività di rete insolite ecc. e ID applicazione che potrebbero monitorare connessioni, input di dati, ecc.

Una volta che hai una definizione chiara, leggi le varie tecniche che si adattano alla tua definizione. Quindi considera come potresti essere in grado di sconfiggere quelle tecniche.

Poiché la tua domanda si riferisce alla discussione su come il TUO exploit può essere modificato per evitare il rilevamento, si può presumere che tu abbia un exploit specifico. Guarda come i vari ID che trovi potrebbero rilevare il tuo exploit e poi far volare la tua immaginazione. Ad esempio, se il tuo exploit fa più connessioni, potresti aggiungere un ritardo tra ogni connessione per sconfiggere un IDS che cerca alti livelli di connessioni da un IP in un breve periodo o potresti cambiare il tuo exploit per usare un protocollo di trasporto differente che ha un elevato livello di traffico, ad esempio http o forse puoi mascherarlo come traffico DNS ecc.

La risposta dipende davvero dal tuo exploit. Per fornire una buona risposta, è necessario sapere quali tecniche IDS rilevano il tuo exploit.

    
risposta data 19.03.2015 - 23:09
fonte
0

Concorda con Steffen nei suoi primi approcci.

Inoltre, ho risposto a una domanda simile qui - link - e si dovrebbe applicare la tecnica di utilizzo di SniffJoke . Spesso è meglio cambiare il traffico di rete piuttosto che modificare il tuo exploit stager o payload. Tuttavia, ogni situazione è diversa. Raccogli maggiori informazioni sui tuoi ambienti di destinazione e prendi in mano un attacco in un laboratorio prima di fare la cosa reale.

La risposta alla codifica si riduce a questi problemi - link - gli encoder sono concepiti per gestire la terminazione NULL da spazi bianchi, newline e interruzioni di caratteri. Gli Encoder non sono pensati per offuscare l'offuscamento.

    
risposta data 15.05.2015 - 00:55
fonte

Leggi altre domande sui tag