Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

Defcon XIX CTF - Beszámoló és B100

2011.06.17. 19:11 | buherator | 6 komment

 Néhány hete zajlott a 19. Defcon Capture the Flag játékának selejtezője, melyen a hazai IT-biztonsági színtér minden szegletéből toborzott csapattal indultunk el, Senkihaziak néven. Remélem a poszt végére mindenki kellően át fogja érezni a minket ért megrázkódtatásokat :)

Mivel még egyikünk sem vett részt ezen a versenyen, csak az előző évek feladataiból tudtunk tájékozódni a feladatok jellegét illetően. Ezek alapján a magam részéről az esélytelenek tökéletes nyugalmával indultam neki az 52 órának, az ember idegeivel játszadozó kincsvadászatoktól ugyanis a hideg ráz ki. Mint kiderült, más jellegű problémákkal kellett szembenéznünk. A hivatalos fórumokon három IRC csatornát hírdettek meg, ahol információkat lehetett szerezni a versennyel kapcsolatban. Mint kiderült, ezek közül valójában egy működött információs csatornaként, a másik kettőn dezinformálták a jónépet azt állítva, hogy késik a kezdés, és hogy addig is a DDTEK weboldalának hátteréből, illetve az ott látható videóból lehet információt gyűjteni...


Miután sikeresen bejelentkeztünk az eredménytáblára, elénk tárult a 25 feladat, öt kategóriába rendezve (Pwtent Pwnables, Retro Revisited, Binary L33tness, Grab Bag, Forensics). Mivel a feladatok közül csak a B100-as volt aktiválva, ennek estünk neki.

(Az agyam megpróbálja elnyomni az emlékeket, az esetleges pontatlanságokért szíves elnézéseteket kérem) 

Itt egy ELF binárist kaptunk kézhez, aminek számokat lehetett adni parancssori argumentumként 1-től 12-ig (illetve rendelkezésre állt az all opció is, mindezt egy barátságos usage() üzenetből tudtuk meg). A számokat végigpróbálva különböző karaktersorozatokat kaptunk,melyek mosolygó illetve szomorú arcokat megjelenítő ASCII-artokká álltak össze. A bináris kód statikus analízise szerint más rejtett funkció nem volt a programban. 

A visszakapott karaktersorozatok néhány hosszú '@'-sorozatot leszámítva base64 kódoltnak tűntek, így sorban megtisztítotttuk, majd dekódoltuk az összes kimenetet. Mivel az így kapott fájlok nagyrészt értelmezhetetlenek voltak, a 12 bináris összefűzésével próbálkoztunk. 

Ez egy "archive-bombhoz" vezetett, azaz egy fájl volt betömörítve tucatnyi alkalommal, különböző eljárásokkal. Azt hiszed, hogy minden tömörítő programot ismersz? Tévedsz. 

Miután összevadásztuk az összes szükséges szoftvert a tömörítések feloldásához, egy újabb ELF binárist kaptunk, ami szintén az előzőekhez hasonló karaktersorozatokat pumpált ki magából. Ezek megtisztítása, dekódolása, majd az itt meglévő (de az előzőtől különböző) tömörítési rétegek lefejtése után egy szép szövegfájlt kaptunk, benne ugyanaz a mondat sokszor ismételve. Azoban az eredménytábla ezt a mondatot, vagy módosított változatait (kis-nagybetű, eltolás, l33t-speach feloldása stb...) nem fogadta el...

Beletellt némi időbe, mire rájöttünk, rossz nyomon járunk. Visszatértünk a második binárishoz, melyet IDA-val szétkapva azonnal látszott a trükk: amennyiben a program első parancssori argumentumként egy speciális kódszót kap, más karaktersorozatot produkál, mint egyébként. Ezzel az új karaktersorozattal aztán megint el kellett játszani a tisztítás-dekódolás-kitömörítés játékot, így jutottunk el a harmadik binárishoz (és a sírás határára).

Erről annyit sikerült kiderítenünk, hogy statikusan volt linkelve a komplett libc-vel, a debug információk pedig minden függvényre valamilyen egészen hülye nevet adtak. A megoldás azonban közelebb volt, mint hittük: a feladat megoldása a libc saját stringjei után következő első ASCII karakterlánc volt...

A többi megoldott pályáról is tervezek majd írni (pontosabban remélem, hogy a kedves csapattársak is aktivizálják magukat :), de azt hiszem, a fentiek elég jó képet adnak a küzdelmekről.

Végül 1100 ponttal 60. helyen végeztünk, összesen 280 csapat ért el pontot a versenyen, és az első 10 kapott meghívást a las vegasi döntőre. Én nagyon elégedett vagyok ezzel az eredménnyel, és el kell ismernem, hogy volt haszna a részvételnek, hiszen sok olyan készséget gyakorolhattam, amit nem alkalmazok nap mint nap. Jövőre, ha rendesen megszervezzük a dolgot (és mondjuk nem megyünk el szombat este bulizni...) akár a top20-at is megcélozhatjuk, addig viszont gyúrjunk tovább agyra!

Címkék: esemény verseny defcon frusztráció ctf ddtek

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

axt · http://axtaxt.wordpress.com/ 2011.06.18. 12:39:36

Szerintem is szép eredmény, gratulálok!

A top20 as tervhez egy kis bíztatás: 12-en jutottak tovább idén :-)

buherator · http://buhera.blog.hu 2011.06.18. 12:50:49

@axtaxt: @Udi: Kösz srácok! :)

A 12 továbbjutóból egyébként 2-en már a selejtező előtt kvalifikálták magukat (valahogy). A top10-et azért nem tartom jó célnak, mert a teljes csapat úgysem tudna kiutazni a döntőre :(

Spala Ferenc 2011.06.19. 08:16:16

Ezt olvasva megerősödött bennem az az érzés, amit a feladatokat látva is gondoltam. Elmennék ám a ....ba :)))
Ez a "ki tud szivatósabb feladatot kitalálni, hátha rájön valaki a megoldásra" dolog nekem nagyon nem tetszik.
Mennyivel jobbak már a Hacktivity wargame-ek, nem? ;)

axt · http://axtaxt.wordpress.com/ 2011.06.19. 16:08:37

@Spala Ferenc: Azon én is elgondolkoztam, hogy egy ilyen feladatot például hogyan lehet megoldani:

"gb300 from the author: The string is encoded via Signed fibonacci sequence bit-packed encoding, with each character stored as an offset of the previous character, padding with 1 bits to the byte boundary"

(forrás:pastebin.com/7Nb9nDS1)

synapse · http://www.synsecblog.com 2011.06.22. 11:43:53

Ilyen wargamet enis tudok csinalni. lvl0: milyen szamra gondoltam?

synapse