Mi sento come se fosse impossibile imparare il reverse engineering [chiuso]

28

So come usare la maggior parte degli strumenti in Kali come msfvenom e msfconsole e posso tranquillamente definirmi uno script kiddie. Ho imparato le basi di C # e questo mi aiuta a capire alcune delle cose in C, ma mi sento ancora facilmente perso. Conosco le basi dell'assemblaggio come mov xor add jmp cmp etc ma è difficile per me seguire il flusso del codice reale e molto probabilmente non sarò in grado di creare uno pseudo codice C da un programma di assemblaggio

Voglio smettere di essere uno script kiddie e iniziare a essere migliore, non per farne una carriera, ma solo perché mi piace l'intero concetto di strumenti di programmazione, trovare exploit e sfruttare i buchi nel sistema.

Ho iniziato a seguire questo libro "The Shellcoder's Handbook" e ho letto i primi 4-5 capitoli. In genere ottengo l'idea e il concetto ma è molto difficile per me seguire ciò che sta realmente accadendo.

Ho studiato per 8 ore ogni giorno seguendo il libro e video simili, ma non mi sento molto migliorato.

Il mio metodo è sbagliato?

Sto appena iniziando da un brutto posto?

È meglio imparare ogni comando in python / C e in generale nelle lingue o dovrei impararli mentre studio libri e video come questi dato che sono abbastanza bravo in C # (o almeno così credo)?

È normale capire a malapena queste cose? Voglio dire, posso capire come funziona uno script di shell, ad esempio, ma non posso crearne uno da solo se lasciato da solo per codificarlo.

    
posta Nikolay Atanasov 05.07.2018 - 23:47
fonte

4 risposte

50

Quindi permettimi di prefarti questo con "Non sto insinuando che tu sia un bambino"

Spesso quando insegno ai bambini sulla CSI e loro ascoltano quello che faccio per vivere, la prima domanda è

"Come posso modificare?"

Ti dirò la stessa cosa che dico loro. L'hacking non è una cosa che impari tanto quanto è il risultato di anni di esperienza in una serie di argomenti relativi alla sicurezza.

Spesso troverai persone che entrano nel campo della sicurezza provenienti da sfondi software e sfondi di rete. Ho iniziato il mio percorso di sicurezza alcuni anni fa frequentando defcon, derbycon e altri eventi legati alla sicurezza. Ho imparato che se volevo farlo professionalmente, dovevo scavare più a fondo. Ho imparato che non c'era alcuna conoscenza magica che ti rendesse un professionista della sicurezza. Basta lavorare e conoscere ciò che serve per rendere le cose sicure.

Dopo aver creato molti progetti Arduino, creato molti server web da zero, costruendo molti siti Web dal database, prendendo (e non badando a te) il mio OSCP, sono finalmente arrivato a un punto in cui mi sentivo a mio agio nel definirmi ingegnere del software di sicurezza. La società in cui lavoravo in quel periodo aveva un programma di sicurezza per gli ingegneri. Hanno dato a un singolo membro del team una formazione sulla sicurezza più avanzata per essere l'ingegnere della sicurezza del team. L'ho fatto e l'ho adorato.

Circa un anno e mezzo fa ho fatto il salto e ho ottenuto un lavoro per la creazione di software di rilevamento delle intrusioni e lo adoro. La maggior parte del mio lavoro è la codifica standard, ma riesco ad applicare le mie conoscenze sulla sicurezza su base regolare in vari modi.

Credo che il mio punto a lungo termine sia, continua ad imparare. Lo stai facendo nel modo giusto imparando diverse tecnologie. Guarda il mio blog link e puoi vedere i progetti che ho fatto che mi hanno portato dove sono ora.

Continua ad imparare. Come menzionato nei commenti, la sicurezza è difficile. Ecco perché c'è una tale richiesta! È davvero raro che sia facile per le persone. Le persone che vedi che sono esperti nel campo ci sono perché hanno passato anni e anni a macinare quella dura conoscenza.

    
risposta data 06.07.2018 - 00:00
fonte
10

Il reverse engineering è divertente. Uso IDA una volta ogni due settimane, quindi non sono un esperto nel campo, ma lo faccio abbastanza spesso. Se vuoi capire il reverse engineering devi sapere come ingegnerizzare per primo.

Se lo fai professionalmente, trascorri il tuo tempo in terra Windows. Quindi, per essere bravo, impara alcuni interni di Windows, codifica alcuni progetti in C # e C per Windows.

I migliori tecnici di reverse engineering che conosco sono stati gli ingegneri del software per primi.

Costruisci alcuni programmi e usa Radare2 e IDA su di essi e inizierai a imparare.

Buona fortuna e buon divertimento!

    
risposta data 06.07.2018 - 01:57
fonte
1

Smetti di perdere tempo con libri e video. Ottieni alcuni programmi che vuoi invertire (come un gioco che vuoi hackerare), ottieni i tuoi strumenti per l'analisi statica / dinamica (il cheat engine è ottimo per iniziare se sei su Windows) e inizia ad armeggiare con loro ... googling su ogni cosa non lo sai ancora non appena lo trovi. All'inizio sarà lento e doloroso, ma presto capirai il codice assembly solo guardando, diventa una seconda natura.

    
risposta data 07.07.2018 - 04:39
fonte
-1

C'è un modo semplice per visualizzare il reverse engineering e la sicurezza. Non travolgere te stesso con le parti noiose, semplicemente guardare ogni problema come un puzzle. Ogni passo è un traguardo e un passo avanti verso la comprensione del perché no. Ecco perché l'hacking può essere come la febbre un senso di realizzazione di Sherlock Holmes. O lo prendi o non lo fai.

    
risposta data 06.07.2018 - 17:28
fonte

Leggi altre domande sui tag