Cauchy DecryptMe tutorial by Agent

Kurde, szkoda e nie umiem takich fajnych logoskw ascii robi, bo bym sobie takowego trzasn do tego tekstu, ale c zadowol si tym podkreleniem co widnieje pod tytuem... Co ja to waciwie miaem?? Aha! DecryptMe.. no tak co by tu napisa, obiecaem hauerowi, e napisze troch tekstw, a Tymonowi^HTBTeam^AAOCG^TKM! :>, e napisze tutka do tego caego DecryptMe, wic nie mam ju adnej drogi ucieczki... so... (czyt. so)

Caa moja przygoda z tym programikiem produkcji Cauchego zacza si w momencie, gdy zosta wysany na list HTB... a raczej jego pierwsza wersja, nie zawierajca jednej maej instrukcji po call getdlgitemtexta, mianowicie cmp eax, 36h... w pierwszej wersji byo bodaje cmp eax, 15h; jb daj_madafaka; No i co taki biedy szary czowieczek jak ja mg zrobi w tym wypadku... najgorszy moliwy scenariusz... nie zastanawiaem si dugo i przyjem, e kluczyk ma 21 albo 22 znaki (ju sam nie pamitam)... potem standardowa prba odszyfrowania, tego caego majdanu... czyli dziel sobie kryptogram na rzdy po 21 znakw, zadowolony generuj sobie te 0FFh moliwoci dla kadej kolumny (byy po bodaje 12 znakw, wic mylaem sobie, e szybko znajd te waciwe [czyt. bez krzaczkw]...), okazao si jednak, e co ciko uoy to w jaki sensowny sposb (rednio po 15 waciwych' zestaww na kolumn)... i czarna jak wgiel rozpacz (po kilku godzinach wpatrywania si w ten syfik). W kocu wpadem na genialny pomys wysania maila do Cauchego i zaspienia jakiej maej podpowiedzi... Od tego momentu poszo ju z grki... pierwsze co si dowiedziaem to, to e istnieje druga wersja DecryptMe z tym nieszczsnym cmp eax, 36h. Czyli wiadomo ju, e kluczyk ma 54 znaki. Teraz waniejsza cz maila Cauchego, czyli owoc mojego spienia :> 5 pierwszych znakw zaszyfrowanego tekstu: 'Najst'............ AGHHRR.. wiedziaem, e czego zapomniaem... A mogo by tak adnie wkomponowane w tre... no nic i tak powiem, chocia  ju po czasie i nie bdzie takiego efektu jaki mgby by :/. So (czyt. so) z chwila gdy wczyem pierwszy raz ten programik, pomylaem sobie, e fajnie byo by napisa co takiego z zaszyfrowanym tekstem z Silmarillionu, JRR Tolkiena... pewnie jeszcze nikt nie czai o co chodzi... :> poniejsi wyjani... Dobra ale przejdmy do 'deszyfracji', najpierw trzeba byo podzieli ten kryptogram na rzdy po 54 znaki, czyli tak jak przedtem robiem tylko z inn dugoci klucza. Wyszo z tego co takiego:

xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
--------------------------------------------------------
3C 12 7F 19 0E 15 17 6F 04 0A 7B 44 13 09 6A 06 0C 1C 69
52 11 6C 06 13 54 2A 72 11 17 64 0D 0E 49 2F 08 1F 00 6B
13 53 47 05 12 15 0B 69 50 53 53 0A 17 0A 78 02 00 59 7D
52 36 79 0E 1B 06 04 71 17 53 7F 44 14 09 6E 18 0B 10 62
05 16 39 4A 0E 1B 45 6C 0C 09 6F 0A 02 0F 62 05 0C 1C 6D

xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
--------------------------------------------------------
17 17 19 50 1C 07 1D 14 00 26 15 68 62 14 12 06 00 7C 5F
17 52 31 1E 0E 17 5C 46 2B 67 0B 70 77 46 00 09 18 33 0F
1B 06 1F 1E 12 1F 1B 46 16 6F 14 27 61 46 15 15 0D 77 1E
5E 37 18 14 16 01 1D 0B 45 7C 10 70 72 1C 0C 02 0F 69 1E
5E 11 1C 15 14 53 01 12 12 69 03 7D 73 08 0C 06 4C 64 13

xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
--------------------------------------------
1C 16 5E 2C 12 1A 19 7D 0E 69 15 2F 3B 00 09
17 1A 16 17 04 1A 15 3E 1D 2C 15 6A 04 0B 1B
0F 17 07 1B 08 40 1F 64 06 7F 1E 6C 16 52 0A
14 10 5E 12 05 13 10 77 47 62 16 6A 5E 1F 1F
19 0A 10 1D 07 0F 5C 74 02 76 06 64 1F 5C

Powinno by w jednej lini, ale mam nadziej, e kady kuma o co chodzi... Aha eby wydoby ten cay kryptogram z programiku najlepiej uy IDA, tylko najpierw trzeba sobie to rozpakowa, chyba kady bdzie potrafi?? Zreszt co ja si gupio pytam... Fajnie mona sobie to na wstpie poukada na wstpie przy pomocy naszego niezawodnego disassemblerka, w menu edit jest taka opcja array, zaznaczamy wic sobie nasz kryptogram (znale go mona od offsetem 0040347A) klikamy edit/array i tak jest taka kolejna opcja co si zowie 'items on a line', wpisujemy 53 i odznaczamy 'use "dup" construct' i klikamy OK. Teraz pasowaoby zaj si rozszyfrowaniem tego shitu. Jak ju bawie si takimi rzeczami, to miao moesz przesta czyta, bo ju nic ciekawego nie bdzie tylko mudna praca...

Skoro pierwszy znak to 'N'|4Eh to pierwszy bajt klucza musi by 4Eh^3Ch ('^'==xor), czyli 'r'|72h, no to jedziemy tak z tym co mamy: (ciko to rozpisa, eby byo adnie, wic bdzie brzydko :p)

++++++++++++++++++++++++
KEY: 72h,73h,15h,6Ah,7Ah
++++++++++++++++++++++++
TXT:
     Najst
      byli
     a Roh
      Elda
     we, t
++++++++++++++++++++++++

I tutaj wanie moje przeczucie wprawio mnie w osupienie, od razu wida, e to kawaek ktrego z Tolkienowskich dzie. A mwi e magiczna ZENobiusz 31337 cRacKinG tEknIk to bujda wymylona przez zych wiecznie pijanych craxorw... No nic w kadym razie byem mio zaskoczony... :)

Dalej ju deszyfracja przebiega w nudny sposb wic nie bde tu opisywa... kocowy efekt wyglda tak:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KEY:
72,73,15,6A,7A,74,65,1C,7E,73,16,64,63,65,0F,6B,65,79,07
7E,72,74,70,77,73,72,66,65,06,71,07,16,66,65,67,6C,13,7F
78,79,7E,78,60,60,7C,1E,67,0C,7F,0F,7E,72,70,xx
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TXT:
     Najstarszym plemieniem ktore dotrwalo do Trzeciej Ery
      byli Onodrim, czyli Enyd. Nazwa ent pochodzi z jezyk
     a Rohanu. Entowie zetkneli sie w pradawnych czasach z
      Eldarami i wlasnie Eldarow zawdzieczali jesli nie mo
     we, to przynajmniej chec stworzenia wlasnego jezyka.

Jest jeszcze jedna procka do odwrcenia, ale tylko j zacytuj, eby wicej bajtw nabio :)

Cauchy:00401127              lea     esi, ds:4033B0h ; wpisany klucz
Cauchy:0040112D
Cauchy:0040112D loc_0_40112D:                   ; CODE XREF: start+141 j
Cauchy:0040112D              mov     eax, 0
Cauchy:00401132              mov     al, [esi]
Cauchy:00401134              mov     ebx, 0
Cauchy:00401139              mov     bl, [esi+1]
Cauchy:0040113C              xor     al, bl
Cauchy:0040113E              mov     [esi], al
Cauchy:00401140              inc     esi
Cauchy:00401141              loop    loc_0_40112D  ; t ptelke to ju
                                                   ; chyba kady sobie sam
                                                   ; obczai ;p

Wychodzi na to, e jest kilka moliwych numerkw, mi wystarczy jeden (pierwszy pasujcy, ktry si nawin). Jako ostatni, 54 bajt klucza obraem sobie warto 34h, po odwrceniu tej ptelki wyszo szydo z worka ;) [edito: wiadomo o co chodzi, ty jaraczu jeden :D]

KEY: F4GR8B6SO1BT0S69R7NI7E1A6E7Q42CDR4Q6ZI6N7I1Q1MS48GH6D4

Mam nadziej, e wszyscy wszystko pojli, do zobaczenia w nastpnym odcinku.

Greetzy (kolejno random):

hauer - najlepszy group prezident pisany z maej literki ;)
Tymon - 31337! Czekam na crackme#1, chocia i tak pewnie nie zami :)
immy  - math genius!
Cauchy - moe DecryptMe#2?
m@rio - brute na cm5'o pochodzi i nie znalaz :( sniff, tyle prdu si zmarnowao...
+sfistack - :))
Alchemiko - czekam na nastpne cm!
HTBTeam - ostatni bastion :)
i dla wszystkich, ktrzy co robi!