Reverse Engineer e exploit alla ricerca [closed]

-4

Qualcuno può darmi un punto di partenza per trovare exploit nel software e nel reverse engineering?

  • Ho bisogno di una specie di libro o di un sito ...
  • Ho uno sfondo con la programmazione con alto e basso livello come l'assemblaggio ...
  • Voglio sapere come gli "hacker" trovano tutti gli exploit sui sistemi operativi ... Per esempio ho sentito che qualcuno ha trovato un exploit su Apache che gira su Linux usando il reverse engineering ... .
posta Asaf fisher 02.09.2015 - 06:34
fonte

3 risposte

1

Prima di tutto, per essere in grado di eseguire il reverse engineering, dovresti sviluppare alcune buone capacità di programmazione in C ed essere in grado di comprendere anche alcuni comandi di Assembly.

Il "problema" con il reverse engineering è che perdi molte informazioni sul codice a seconda dei disassemblatori o decompilatori usati (ad es .: commenti al codice, nome della variabile, tipi di dati e così via ...). Questo rende complicata la tua vita come ricercatore di vulnerabilità.

Suggerisco come punto di partenza per dare un'occhiata ai programmi C. Cerca i comandi dati forniti dall'utente come: argv , gentenv() , read() , getc() , scanf() e recv() per verificare se il programmatore ha protetto la gestione degli ingressi contro i buffer overflow.

Ci sono buoni strumenti freeware nel mercato che ti semplificano la vita. Dai un'occhiata a questo libro: ISBN 978-0-07-183238-0 . Ne hanno elencati alcuni.

    
risposta data 02.09.2015 - 07:09
fonte
0

Di solito ci sono tre cose che puoi fare quando cerchi i buffer overflow:

Revisione codice sorgente

Se il codice sorgente è disponibile, potresti trovarlo esaminando il codice.

Decompila il codice e controlla l'origine

Se il codice sorgente non è disponibile, il reverse engineering potrebbe essere una delle opzioni. Una volta scoperto, è possibile farlo, il codice sorgente può essere rivisto.

Fuzzing and Debugging

Se le prime due opzioni non sono possibili a causa dell'offuscamento del codice o di qualsiasi altro metodo di protezione dei binari, l'opzione fuzzing e debug è un'opzione.

Ciò significa che inviando un buffer di grandi dimensioni a un campo di input specifico e vedere come l'applicazione lo gestisce.

Una buona risorsa per l'applicazione Windows a 32 bit per iniziare è: resources.infosecinstitute.com/stack-based-buffer-overflow-in-win-32-platform-part-1/

Ricorda che le protezioni di memoria come DEP e ASLR potrebbe causare problemi durante lo sfruttamento di un programma o servizio.

    
risposta data 02.09.2015 - 07:10
fonte
0

Le migliori risorse disponibili oggi sono 2 libri:

L'arte della valutazione del software, Dowd, McDonald e Schuh. Un lavoro d'arte. Questo libro ti insegnerà tutto ciò che devi sapere sulla metodologia, sull'analisi delle minacce e su come funzionano gli exploit e su cosa cercare.

The Tangled Web, Michal Zalweski. Il miglior libro là fuori in questo momento per proteggere le applicazioni Web. Scritto da un maestro.

    
risposta data 02.09.2015 - 09:15
fonte