Ma kíváncsiságból megnéztem, hogy fel tudnék-e iratkozni az Offensive Security Cracking The Perimeter tanfolyamára : itt : www.fc4.me lehet próbálkozni
Elszórakoztam vele egy kicsit mire rájöttem, hogy mi a kulcs... de végül bejutottam : :)
A PWB és a CTP lenne a következő tanfolyam, ha lenne rá most időm (és pénzem) ez jóval olcsóbbnak tűnik a CEH tanfolyamnál (A kettő együtt sincs annyi mint a CEH) úgyhogy lehet, hogy ezzel kellett volna inkább kezdeni, de most már mindegy. Ha lesz kis időm (egy hónap láblógatás) és pénzem, szépen meg próbálom elvégezni mind a kettőt. Előbb a PWB-t aztán a CTP-t. De lehet, hogy nem az idén :) Most lesz kis munkám, meg egyelőre elég volt a tanfolyamokból...
Ezt a megjegyzést eltávolította a szerző.
VálaszTörlés\x31\xC0\x50\x68\x23\x74\x27\x23\x68\x20\x73\x78\x73\x68\x22\x75\x27\x70\x68\x24\x20\x27\x71\x68\x70\x77\x22\x25\x68\x22\x78\x25\x27\x68\x24\x25\x75\x73\x68\x24\x22\x27\x20\x68\x74\x20\x23\x20\x68\x20\x73\x76\x74\x68\x27\x72\x76\x24\x68\x23\x25\x75\x74\x68\x78\x78\x23\x79\x68\x77\x78\x73\x22\x68\x77\x77\x76\x70\x68\x70\x76\x74\x70\x68\x72\x71\x76\x22\x68\x27\x72\x74\x71\x68\x75\x23\x79\x27\x68\x72\x22\x24\x75\x68\x77\x70\x79\x70\x68\x72\x76\x72\x70\x68\x72\x24\x71\x78\x68\x70\x76\x74\x20\x68\x23\x25\x78\x24\x68\x72\x75\x71\x24\x68\x23\x27\x79\x74\x68\x23\x77\x73\x79\x68\x71\x25\x22\x77\x68\x79\x76\x27\x70\x68\x79\x74\x70\x23\x68\x76\x23\x71\x75\x54\x5E\x8B\xFE\x8B\xD7\xFC\xB9\x80\x00\x00\x00\xBB\x41\x00\x00\x00\x31\xC0\x50\xAC\x33\xC3\xAA\xE2\xFA\x54\x5E\xCC itt megakadtam tudnál segíteni??? :)
VálaszTörlésEz egy assembly code.
VálaszTörlésdisassembláld itt :
http://pyms86.appspot.com/
Ha nem megy az assembly fejből, akkor annyi a lényeg, hogy a betöltött stringet 0x41-el Xor-olja.
De arra figyelj, hogy a strig fordítva (reverse) szerepel, mert ugyebár a veremből LIFO módon (Last in first out) kerül ki a tartalom...
Vagyis az értékek reverse-ét kell venni...
Magyarul xor-old a stringet 0x41-el és utána olvasd ki visszafelé egyesével a veremből -> ez a lényeg kb.
Ha még így se érthető, kérdezz bátran :)
Ja, és a kulcs nem a hexa kód, hanem a stringé alakított megfelelője.
Egyáltalán nem értek az assembly-hez. Nekem ez a kód kínai :(. C,C++,Java ezek az én művfajaim! :) De megpróbálkozok vele! :)
VálaszTörléshttp://seclists.org/fulldisclosure/2012/Feb/62
Törlés(Shellcode íráshoz ismerni kell, hogy hogy működik a gépi kódú program.)
Írj rá egy c programot, ami beolvassa ezt a hexa kódot egy tömbbe, de csak a megfelelő 128 byte-ot : (az első 4 byte-ot nem, minden 5-iket sem (\x68). Így lesz egy stringed. Ennek az elemeit xor-old \x41-el. Utána revertáld a stringet kiiratod és kész is vagy. :)
Nem megy... :(((( Ez a xor-olás nem megy :((
VálaszTörléshttp://www.unsw.adfa.edu.au/~lpb/src/XORcalc/ ezzel próbáltam szerinted ez jó???
VálaszTörlésInkább ezt próbáld :
VálaszTörléshttp://www.darkfader.net/toolbox/convert/
Alul a Xor-olásos résznél bemásolod a 128 byte hosszú stringet és egyszerűen xor-olod...
És kimásolod a Result (string) mezőt . ennyi.
Előtte azonban ne feledkezz meg róla, hogy a bemeneti stringben a karakterek jó sorrendben legyenek...
A stack-be 4-esével vannak betöltve a karakterek , tehát kiolvasáskor is ezt a sorrendet kell használni.
például
push abcd
push efgh
push ijkl
ha most a stack címéről kezdel el kiolvasni a stringeket, akkor l,k,j,i lesz a sorrend
viszont, a hexa códban így van a string : \xd\xc\xb\xa stb...
Szóval még trükközni kell vele egy kicsit. :)
bocs, ne a stringet másold be az inputba hanem a hexadecimális értéket. vagy pipáld ki a string input négyzetet...
TörlésAkkor leírom hogy eddig mit oldottam meg. Itt a 128 bites
VálaszTörlés\x23\x74\x27\x23\x20\x73\x78\x73\x22\x75\x27\x70\x24\x20\x27\x71\x70\x77\x22\x25\x22\x78\x25\x27\x24\x25\x75\x73\x24\x22\x27\x20\x74\x20\x23\x20\x20\x73\x76\x74\x27\x72\x76\x24\x23\x25\x75\x74\x78\x78\x23\x79\x77\x78\x73\x22\x77\x77\x76\x70\x70\x76\x74\x70\x72\x71\x76\x22\x27\x72\x74\x71\x75\x23\x79\x27\x72\x22\x24\x75\x77\x70\x79\x70\x72\x76\x72\x70\x72\x24\x71\x78\x70\x76\x74\x20\x23\x25\x78\x24\x72\x75\x71\x24\x23\x27\x79\x74\x23\x77\x73\x79\x71\x25\x22\x77\x79\x76\x27\x70\x79\x74\x70\x23\x76\x23\x71\x75\x54\x5E\x8B\xFE\x8B\xD7\xFC\xB9\x80\x00\x00\x00\xBB\x41\x00\x00\x00\x31\xC0\x50\xAC\x33\xC3\xAA\xE2\xFA\x54\x5E\xCC
Ez így jó?? Ez a stackezés elég bonyolult :DDD erre is írni kéne egy progit... :)
Nem jó...
VálaszTörlésA végén \x00-ák vannak ott eleve véget érne a string. :)
valamit szerintem rosszul számoltál. Ez nem 128 :)
\x23\x77 <--- itt a vége (eddig 128)
illeve \x71\x75 <- ez a vége.
TörlésÉs a stackezést hogy oldjam meg?
VálaszTörléshát így :
Törlés"abcdefghijklmnopqrst" -> "qrstmnopijklefghabcd"
remélem így már világos.