Exploit VS Reverse Engineering VS PenTest [chiuso]

2

Per iniziare lasciami dire che sto cercando di trovare la mia strada in InfoSec ... Voglio sapere quale percorso seguire. Il mio background è la programmazione di base del database CRUD (HTML Php, JavaScirpt, Java ecc.)

Ho appena letto un articolo cnn su una violenta violazione dei dati yahoo Dicono che fosse "un individuo" sponsorizzato da qualche stato ...

Quindi pensavo che l'individuo potesse essere un pentecoste, un reverse-engineer (cioè un ricercatore di vulnerabilità), uno scrittore di exploit ....

La mia domanda è: cosa consiglieresti a un principiante di fare se il suo obiettivo è passare da "conoscenza zero (cioè che la conoscenza è il mio attuale background di programmazione)" a "conoscenza di esperti"?

Per esempio per le vacanze estive (da 3 a 4 mesi nessuna scuola a casa a studiare infosec), come dovrei studiare almeno uno dei campi seguenti per raggiungere un livello intermedio alla fine delle vacanze estive:

  • sfruttare la scrittura (mi piace quel campo perché conosco un po 'di programmazione);
  • reverse engineering (ricerca di vulnerabilità);
  • pentesting;
  • nome anytoher campo di cui non sono a conoscenza

... una sorta di tabella di marcia con i libri di testo, se possibile.

    
posta John Sebastian 22.09.2016 - 23:23
fonte

1 risposta

0

Ci sono diversi lavori tecnici e non tecnici in infosec, ma per gli sviluppatori web, con il tuo profilo, ti consiglierei di leggere sulle applicazioni web e sui suoi difetti.

Il pentest di solito è un'attività a più passaggi, quando viene eseguito da un team, forse solo pochi membri hanno una buona conoscenza di più di un campo. Lo sfruttamento della scrittura è davvero vago, se si prevede di scrivere buffer overflow (stack, heap), la base dell'assembly è fondamentale, ma se si mantiene l'attenzione sulle applicazioni Web, ciò non sarà necessario.

Non ci sono molti libri o raccomandazioni sul web per un libro finale completo che leggi e magicamente ottieni tutta la conoscenza. Di solito ciò che leggerai è la documentazione tecnica per l'applicazione, le pagine man e i libri sul tuo campo. Per iniziare bene, installa DVWA, abituati a leggere il codice, capire le vulnerabilità nel tuo campo di studio (php / java), imparare come sfruttarlo. Sarebbe più facile avviarlo spendendo ore a debuggare il tuo shellcode in gdb. Lascia quei passaggi per un altro momento e vedrai i risultati più velocemente.

Parallelamente, continua a raccogliere vecchie versioni del software, abituati alla finestra mobile e al vagabondaggio, perché lo utilizzerai molto per costruire i tuoi ambienti di prova.

E mantieni la regola magica che, dovresti essere in grado di sapere come fare certe attività per essere qualcuno in grado di eseguire una valutazione della vulnerabilità su quel campo. Verrai spesso chiesto "ma come lo risolviamo?", Se stampi e invii un rapporto di scansione, non sarai mai veramente in grado di metterti in contatto con questo tipo di attività.

Oltre alle competenze tecniche, trascorrerai la maggior parte del tuo tempo a spiegare l'impatto di una vulnerabilità per un cliente e come risolverlo. Succede molto, un ragazzo che esporta un report Nessus in pdf e lo invia tramite e-mail. Questo di solito non è qualcosa che i manager IT tengono d'occhio, una volta che ho lavorato per un'azienda che vuole solo una seconda opinione, il risultato, il loro principale database Oracle è stato pwned in una questione di un giorno, con tutto ciò che ospita anche nel percorso compromesso. Ora immagina la tua reputazione sul mercato, dopo 2 anni di invio di rapporti di Nessus che dicono che l'ambiente è ok al 100%, hanno finito il loro contratto con l'altra compagnia nello stesso giorno. Ma questo è quello che succede quando le persone non lavorano nella loro area di competenza. Questo auditor è un professionista eccellente, con molte conoscenze sui processi interni, ISO, PCI e politiche di sicurezza, gli errori si verificano, ma non ha mai toccato un database Oracle, un Open VPN Server, un router Cisco e un server Windows. Senza una profonda comprensione di un argomento, non sarai in grado di eseguire un pentest completo su quella piattaforma. Ad esempio, lo stesso accadrà con me se provo a fare una valutazione della vulnerabilità su un Solaris, quello che accadrà è un sacco di ricerche su google e diverse attività eseguite perché ne ho letto, in altre parole, sarebbe meglio risultati appena eseguendo Nessus, perché i miei testicoli sarebbero in mancanza di coerenza ed è possibile che io lasci qualcosa dietro.

Un altro campo che potrebbe interessarti è la risposta agli incidenti. Se anche tu sei in grado di ottenere una laurea in legge, o conosci un buon avvocato con cui collaborare, sarai in grado di eseguire l'intera risposta. Ma dovrai essere versatile, sapere bloccare un attacco DDoS, scrivere una regola del firewall, correggere un file php all'interno di un server di produzione, analizzare i vecchi log delle applicazioni per generare una lista bianca in pochi minuti. Fondamentalmente è per mitigare l'attacco, recuperare dall'attacco, raccogliere prove, fare gli aspetti legali dell'attività e aiutare gli investigatori con le prove raccolte.

Come ogni tipo di attività, dovresti pensare a quale sia il valore del tuo lavoro per i tuoi clienti e una valutazione di pentest / vulnerabilità dovrebbe portare a una migliore comprensione del livello di sicurezza del tuo cliente, dando come risultato cosa hai provato, come hai testato, cosa hai trovato e cosa deve fare il tuo cliente per archiviare il livello di sicurezza necessario .

    
risposta data 23.09.2016 - 00:46
fonte