Xhack
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CercaCerca  Ultime immaginiUltime immagini  RegistratiRegistrati  Accedi  

 

 L'arte del reversing - Esercizio

Andare in basso 
3 partecipanti
AutoreMessaggio
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyMer Ago 22, 2007 7:32 pm

Ecco un mio crackme per Linux, sviluppato con le librerie Qt, per allenare le vostre abilità di reverser.

http://digilander.libero.it/BlackLight86/crackme.zip

Quando lo eseguite vi verrà chiesta una password, che ovviamente non conoscete. Il vostro compito è entrare in possesso di questa password o bypassare il controllo, crackando l'eseguibile stesso.

Come crackarlo. Passatelo a objdump in modo da avere l'elenco delle funzioni disponibili al suo interno, e guardate bene. Vi ritroverete davanti a una funzione del genere:

Codice:
0804be90 <_ZN9MainPanel8checkPwdEv>:
 804be90:      55                      push  %ebp
 804be91:      89 e5                  mov    %esp,%ebp
 804be93:      56                      push  %esi
 804be94:      53                      push  %ebx
 804be95:      83 ec 28                sub    $0x28,%esp
 804be98:      8b 75 08                mov    0x8(%ebp),%esi
 ...........

Come potete intuire dal nome della funzione (MainPanel::checkPwd) è questa la funzione da crackare per bypassare la password. Diamo l'eseguibile in pasto a gdb e disassembliamo la funzione in questione:

Codice:
(gdb) disas _ZN9MainPanel8checkPwdEv
Dump of assembler code for function _ZN9MainPanel8checkPwdEv:
0x0804be90 <_ZN9MainPanel8checkPwdEv+0>:        push  %ebp
0x0804be91 <_ZN9MainPanel8checkPwdEv+1>:        mov    %esp,%ebp
0x0804be93 <_ZN9MainPanel8checkPwdEv+3>:        push  %esi
..........

Tra le prime righe del codice disassemblato ci ritroviamo qualcosa del genere:

Codice:
0x0804beab <_ZN9MainPanel8checkPwdEv+27>:      movl  $0x804c50f,(%esp)
0x0804beb2 <_ZN9MainPanel8checkPwdEv+34>:      push  %ebx
0x0804beb3 <_ZN9MainPanel8checkPwdEv+35>:      call  0x804b898 <_ZeqRK7QStringPKc@plt>
0x0804beb8 <_ZN9MainPanel8checkPwdEv+40>:      mov    0xffffffe8(%ebp),%edx
0x0804bebb <_ZN9MainPanel8checkPwdEv+43>:      mov    %al,%bl
0x0804bebd <_ZN9MainPanel8checkPwdEv+45>:      mov    (%edx),%eax
0x0804bebf <_ZN9MainPanel8checkPwdEv+47>:      dec    %eax
0x0804bec0 <_ZN9MainPanel8checkPwdEv+48>:      add    $0x10,%esp
0x0804bec3 <_ZN9MainPanel8checkPwdEv+51>:      test  %eax,%eax
0x0804bec5 <_ZN9MainPanel8checkPwdEv+53>:      mov    %eax,(%edx)
0x0804bec7 <_ZN9MainPanel8checkPwdEv+55>:      je    0x804bf30 <_ZN9MainPanel8checkPwdEv+160>
0x0804bec9 <_ZN9MainPanel8checkPwdEv+57>:      test  %bl,%bl
0x0804becb <_ZN9MainPanel8checkPwdEv+59>:      je    0x804bf50 <_ZN9MainPanel8checkPwdEv+192>

Ovvero una call ad una funzione che opera su QString e poco dopo un salto condizionato, quindi il controllo avviene qui. Gli argomenti della funzione che effettua l'uguaglianza tra le due stringhe sono salvati sullo stack, anzi abbiamo un indizio esplicito:

Codice:
0x0804beab <_ZN9MainPanel8checkPwdEv+27>:      movl  $0x804c50f,(%esp)

Andiamo a vedere cosa c'è a quell'indirizzo:

Codice:
(gdb) x/s 0x804c50f
0x804c50f <_ZTS6QGList+55>:      "crackme"

Ed ecco a voi la vostra password.

--PROPOSTA DI ESERCIZIO--

Nel modo descritto sopra è possibile entrare in possesso della password originale. Vi propongo invece di crackare il programma, ovvero fare in modo che qualsiasi password inserita sia corretta. Aiutino: basta giocare un po' con gli argomenti passati a checkPwd...
Torna in alto Andare in basso
http://blacklight.gotdns.org
abe93
membro importante
membro importante
abe93


Numero di messaggi : 205
Età : 31
Localizzazione : Piacenza
Data d'iscrizione : 18.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyMer Ago 22, 2007 7:39 pm

inizia a stare coi piedi per terra xkè io in pratica non ci ho capito una mazza... puoi rispiegarlo con termini + semplici???
Torna in alto Andare in basso
http://www.abe93.altervista.org
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyMer Ago 22, 2007 8:22 pm

È un esercizio di reversing, che consiste nel crackare un eseguibile in modo da trovarne la password o bypassare il controllo sulla password. Il tutto disassemblando l'eseguibile e agendo sul codice macchina, faccio prima vedere come si fa a entrare in possesso della password quindi propongo un esercizio. È un esercizio di reverse engineering abbastanza basilare (sempre se si conoscono un minimo di rudimenti di Assembly), se non conosci le basi dell'Assembly ti consiglio una qualsiasi guida sulla rete.
Torna in alto Andare in basso
http://blacklight.gotdns.org
abe93
membro importante
membro importante
abe93


Numero di messaggi : 205
Età : 31
Localizzazione : Piacenza
Data d'iscrizione : 18.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyGio Ago 23, 2007 3:04 pm

ok adesso ci sono ho capito ma il programma per il disassembly dove lo trovo che non riesco a trovarlo???
Torna in alto Andare in basso
http://www.abe93.altervista.org
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyGio Ago 23, 2007 3:57 pm

abe93 ha scritto:
ok adesso ci sono ho capito ma il programma per il disassembly dove lo trovo che non riesco a trovarlo???

me_stesso ha scritto:
Passatelo a objdump in modo da avere l'elenco delle funzioni disponibili al suo interno

.......

Diamo l'eseguibile in pasto a gdb e disassembliamo la funzione in questione

In questo caso uso solo objdump (un utility Linux che consente di avere informazioni su qualsiasi eseguibile, compreso il codice Assembly) e Gdb (il debugger della GNU per Linux, che consente di disassemblare eseguibili, eseguirli passo per passo, verificare la memoria in uso dal processo e molte altre cose. Su Windows un valido debugger è OllyDBG.
Torna in alto Andare in basso
http://blacklight.gotdns.org
abe93
membro importante
membro importante
abe93


Numero di messaggi : 205
Età : 31
Localizzazione : Piacenza
Data d'iscrizione : 18.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyGio Ago 23, 2007 4:34 pm

Grazie molto gentile
Torna in alto Andare in basso
http://www.abe93.altervista.org
giozh°_°
Moderatore
Moderatore
giozh°_°


Numero di messaggi : 156
Data d'iscrizione : 18.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyGio Ago 23, 2007 6:14 pm

BlackLight ha scritto:
se non conosci le basi dell'Assembly ti consiglio una qualsiasi guida sulla rete.
e io che ci sto a fare?? non sarà il massimo la mia guida però se la cava...anche se è agli inizi lol!

ma che file è???non me lo apre manco ollydbg....
Torna in alto Andare in basso
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyGio Ago 23, 2007 6:50 pm

giozh°_° ha scritto:
ma che file è???non me lo apre manco ollydbg....

me_stesso ha scritto:
Ecco un mio crackme per Linux

È un eseguibile per Linux, nel formato standard Linux (ELF) Wink
Torna in alto Andare in basso
http://blacklight.gotdns.org
giozh°_°
Moderatore
Moderatore
giozh°_°


Numero di messaggi : 156
Data d'iscrizione : 18.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyVen Ago 24, 2007 12:56 pm

ah ecco... comunque c'è una guida in italico che spiega come funziona ollydbg??? lo so che mi vorresti dire cerca con goOOogle, ma peccodi pigrizia Very Happy afro
Torna in alto Andare in basso
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio EmptyVen Ago 24, 2007 1:13 pm

Su quequero dovresti trovare qualcosa...

https://quequero.org/uic/destroyer_olly_vb_p2.html
Torna in alto Andare in basso
http://blacklight.gotdns.org
Contenuto sponsorizzato





L'arte del reversing - Esercizio Empty
MessaggioTitolo: Re: L'arte del reversing - Esercizio   L'arte del reversing - Esercizio Empty

Torna in alto Andare in basso
 
L'arte del reversing - Esercizio
Torna in alto 
Pagina 1 di 1

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Xhack :: Other :: Reverse Engineering-
Vai verso: