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

Ilyen erős a Fu-nk

2010.05.12. 22:50 | buherator | 11 komment

A hétvégén került megrendezésre az Offensive-Security 48 órás "How-Strong is Your Fu?" címet viselő versenye, melyen összesen több mint ezer (>1000!), a világ különböző tájáról érkező hacker mérhette össze a tudását a szervezők által berendezett mini-pokolban. Mi is ott voltunk, az alábbiakban következzenek a tapasztalatok, és persze a különböző pályák megoldásai!

n00b-filter

A jelentkezők nagy számára való tekintettel a szervezők először is egy selejtező pályát állítottak fel, amit a játékosok frusztrációjának növelése érdekében nemes egyszerűséggel csak n00b-filternek neveztek el. A célpont egy nyilvánosan elérhető domain webszervere volt, melyet a terheléselosztás miatt aldomaineken kétszerezve lehetett elérni. Az első 100 bejutó kaphatta meg a hozzáférést a további kihívásokhoz.

A kedves látogatót ezen az oldalon egy szép kis login felület fogadta. Persze neki is estünk, mint Micimackó a mézescsupornak, és csak fokozta a lelkesedésünket, mikor láttuk, hogy bizony egy DotDefender alkalmazás-tűzfal védi a login.php-t. Ezt megkerülni ugyanis nem volt nagy tudomány, egy ' or 3>2 /* már nem verte ki szegény buta IPS-nél a biztosítékot. Innentől kezdve viszont jókedvünk meredeken zuhanni kezdett, főleg mikor a start után kb. másfél órával már ott figyelt Woff - aki(k) nem mellesleg szintén hazánk fia(i), de ennél pontosabbat nem tudunk - a ranglista első helyén 25 ponttal. 

Ezek után mindent kipróbáltunk a puffer-túlcsordulástól az LDAP injectionig, hiába. 11 órán keresztül azt hiszem az összes ismert támadási formát bevetettük, és újakat eszeltünk ki, de egyre csak azt kaptuk a pofánkba, hogy "Próbáljátok keményebben ti lusta disznók!".

Arra jutottunk, hogy a login szkript valószínűleg semmit sem csinál, csak ezt az üzenetet jeleníti meg, így más felé kell próbálkoznunk. A megoldás utólag pofonegyszerű, és tényeg azt a fajta gondolkodásmódot igényli, amire egy hackernek szüksége van: ha nem tudod feltörni az alkalmazást, törd fel a védelmi rendszert!

Már az indulás pillanatában elkezdtünk feltelepíteni egy DotDefendert, hogy kiismerjük a kicsikét, de mikor a telepítő szólt, hogy tele fogja szemetelni az összes konfigurációnkat, a védelmet pedig már úgyis kijátszottuk, inkább letettünk a dologról, ez hiba volt (meg az is, hogy nem virtuális gépbe próbáltuk kapásból telepíteni a kis drágát). No persze, elég lett volna megnézni az exploit-db.com-ot, hogy lássuk, létezik publikus exploit a DotDefender bizonyos változataihoz... 

Végül is innentől fogva már csak a DotDefender menedzsment felületét védő HTTP autentikáció állta az utunkat, de szerencsére az admin/password kombinációt már nem volt nehéz kitalálni. Az exploit távoli parancsfuttatásra adott lehetőséget, a HTTP kiszolgáló pedig éppen elegendő jogosultságot adott ahhoz, hogy hozzáférjünk az áhított n00bSecret.txt-hez (amit természetesen valami véletlengenerált könyvtárba pakoltak el kedves házigazdáink:). Megkönnyebbülve léptünk be a "nem-n00bok" szintjére, nagyjából középmezőnyben.

killthen00b

A selejtező teljesítése után VPN hozzáférést kaptunk az Offensive Security laborhálózatához, ahol két gép várta a játékosokat, összesen hat felé replikálva, fél óránként revert-elve. A könnyebbik darabnak a killthen00b nevet viselő kiszolgáló tűnt, mivel a SurgeMail nevű e-mail-szerver-csoda kinyitott rajta legalább egy tucat portot, ráadásul a szervezők voltak olyan kedvesek, hogy megajándékoztak egy korlátozott jogú FTP felhasználóval is erre a szerverre.

Miután installáltunk egy SurgeMailt (itt már tanultunk az előzőekből) láttuk, hogy ez a szoftver önmagában komoly biztonsági kockázatot jelent, a távoli asztalon (mert ilyen is volt) láttuk viszont, hogy az egész kóceráj egy Windows7 Ultimate-en fut, amire nem a legviccesebb exploitot írni. Másrészt az az FTP hozzáférés sem lehetett fölösleges...

Az FTP felhasználó be volt zárva a saját My Documents könyvtárába, ahol nem volt semmi a standard könyvtárakon kívül. Magáról az FTP szolgáltatásról nem találtunk semmilyen használható infót, ami azonosíthatta volna a szoftvert, így nekiálltunk letesztelni a tipikus FTP sérülékenysgeket: puffer túlcsordulás, directory traversal. 

Utóbbi próbálkozásunkat siker koronázta: megfelelően hosszú "..\" szekvenciákkal ki lehetett látni egészen a gyökérig. Az FTP szolgáltatással viszont még nem tudtunk kódot futtatni, és az Adminisztrátor asztalát - ahol a továbbjutáshoz szükséges kód leledzett - sem voltunk képesek elérni. 

A SurgeMail viszont megtette nekünk azt a szívességet, hogy a WWW gyökerébe feltöltött állományokat CGI-ként lefuttata, ha meghivatkoztuk őket egy böngészőből. Így hát szépen feltöltöttünk egy NetCat-et meg néhány segédszkriptet a megfelelő könyvtárba, és máris kaptunk egy szép kis shellt, méghozzá a levelező webszerverének jogosultságaival, ami itt NT AUTHORITY/SYSTEM volt (egyéb esetben egy kis mázlival tudtuk volna használni az ominózus univerzális jogosultságkiterjesztő exploitot).

ghost

Az utolsó célpont ghost névre hallgatott, és a pszihológiai hadviselés jegyében egy a n00bfilterhez nagyon hasonló login felület látszódott belőle összesen. Mielőtt rátérnék a pálya megoldására megemlékeznék arról a néhány kedves kis csapdáról, amit a szervezők megszerkesztettek ezen a gépen:

A login szkript ezúttal a login.asp nevet viselte, a webszerver pedig Microsoft IIS-ként azonosította magát a fejlécben (más szolgáltatás nem volt elérhető). Ez persze mind hazugság volt. A login szkriptnek néhány PHP easter egget megadva nyilvánvalóvá vált, hogy egy legalább 5.0-s verziójú PHP interpreterrel van dolgunk. A webkiszolgáló azonosításának bevett módszere a visszaküldött HTTP fejlécek sorrendjének, valamint a hibaüzenetek vizsgálata. Ezek az információk egyetlen általunk vizsgált webszerverére sem illeszkedtek. Végül döntő bizonyítékként értékeltük, hogy a túloldal rendelkezik az alapértelmezett Apache könyvtárakkal és htaccess beállításokkal, valamint a hibaüzenetek formátuma is szinte pontosan egyezett. Végül az operációs rendszerek közül kizártuk a Windows-okat, mivel a fájlnevek nagybetű-érzékenyek voltak.

Mindez azonban csak részben járult hozzá a megoldáshoz, ami valójában itt is pofonegyszerű volt: a /1/ útvonalon elérhető volt egy újabb login felület, melynek mezőnevei alapján egy kis guglizással kideríthető volt, hogy Mario Valdez Simple Text-File Login script-je figyel a túloldalon. A forráskódot letöltöttük, és melegség tötötte el a szívünket mikor láttuk, hogy vannak szorgalmas programozók, akik időt és energiát nem kímélve fejlesztenek olyan szoftvereket, amelyek kaput nyitnak a t. felhasználó számítógépére.  Nagyjából 5 perc alatt találtunk egy távoli fájl inclusion sebezhetőséget, amit ki is használtunk, bent voltunk a szerveren, de csupán www-data jogosultsággal.

A jogosultságkiterjesztés eszközeinek halmazát jelentősen leszűkítette, hogy egy viszonylag új kernel futott a kiszolgálón, miután pedig láttuk, hogy az fstabban ott figyel egy felhasználóként mountolható, de fel nem csatolt ReiserFS fájlrendszer, egyértelművé vált, hogy Jon Oberheide a rendszermag ReiserFS kezelését célzó exploitja lesz a segítségünkre.

A nyilvánosan elérhető szkriptet persze kicsit át kellett írni, hogy illeszkedjen a környezetbe, ami nem lett volna baj, ha valamelyik jószándékú versenytársunk nem törölgette volna folyamatosan a feltöltött fájljainkat, meg nem éppen a  meló közepén revertelték volna a virtuális gépeket amiken játszottunk... De mindez már nem állíthatott meg minket, sikerül root jogot szerezni ghoston is, ezzel az összes feladatot teljesítettük.

Eredmények és konklúzió

A 48 órás versenyt  kb. 26 óra alatt teljesítettük, ez alatt 4-5 órát aludtunk, elfogyott 4 üveg Club Mate, egy Bomba, egy Hell, kb. 6 doboz sör és két pizza. A pontszám majd részidő alapján rendezett ranglistában jelenleg az 5. és a 6. hely a miénk, közvetlenül utánunk következik  Woff nevű honfitársunk/aink, aki(k)nek ezúton is külön gratulálunk, (különösen a n00bfilteres teljesítményhez!), és üzenjük, hogy jó lenne ha lerántaná(k) az anonimitás leplét :) Az eredményekbe 40%-ban be fog számítani a leadott dokumentáció, így a fentiek még változhatnak az elkövetkező 48 órában.

Összességében rendkívül színvonalas versenyen vehettünk részt, neves társaságban, és azt hiszem az eredmények miatt sem szégyenkezhetünk. Az Offensive-Security blogposztja szerint hagyomány lesz a "How Strong is Your fu?", jövőre az első helyért indulunk!

Azoknak pedig, akik a Hacktivity wargame-re készülnek csak annyit mondok: kössétek fel a gatyát, sokat tanultunk! :)

A poszt a végleges eredmények megjelenése előtt született. Az Offsec azóta frissítette a pontszámokat a dokumentációkra adott osztályzatok alapján, így összességében a 3. helyre sikerült befutnunk. Ezen kívül megjelent a hivatalos megoldás első része is, melyben látható, hogy nem vettünk észre mindent, de hát jó pap holtig tanul (meg a franc gondolta, hogy 3 szintű 0day-t kell keresni a beugró szinten :P)... Még egyszer gratulálunk az összes résztvevőnek, különösen az ezüstöt szerzett Touzoku-nak és a megosztott első helyet szerző Vadiumnak és Woffnak (akivel tényleg szívesen meginnánk egy sört)!

Címkék: esemény verseny offensive security how strong is your fu

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.

synapse · http://www.synsecblog.com 2010.05.12. 23:50:38

ugyes, bar nem tiszta hogy kikrol is van szo :D

Nembaj, szep volt fiuk ;)

synapse

EQ · http://rycon.hu 2010.05.13. 00:44:13

hohh-on volt egy hasonló nevű user. Btw élvezetes leírás és grat :)

RGrof 2010.05.13. 06:15:26

Szép teljesítmény!
Gratula!

|Z| 2010.05.13. 09:28:27

Szép munka, és gratula minden résztvevőnek :)

_2501 2010.05.14. 00:00:00

Miért csak 3.-ik? :D btw nice job... :)
Kaptatok ajánlatot is?

axt · http://axtaxt.wordpress.com/ 2010.05.14. 14:00:41

Gratulálok! Szép teljesítmény!

conscience 2010.05.16. 02:04:58

Srácok, ez gyöngyörű! Minden elismerésem! A cikket pedig külön megköszönöm, kiemelkedő, számomra rendkívül élvezetes volt. Végezetül pedig megemlíteném, hogy a - amennyiben jól vettem ki a sorok közül - dupla-dobogós magyar eredményre, mint olyanra határtalanul büszke vagyok.

flawless 2010.05.21. 06:40:55

Elnezest, hogy kozbe merek szolni, en nem dicsekednek azzal, hogy egy 4-5 vagy nem tudom hany fobol allo buhera team nem tudott elerni 3.helynel jobb poziciot. Mikozben egy fiatal legenyke egy szal maga uberelt mindannyiotokat. Ezzel magatokat irtatok le.

Masodik dolog amit le szeretnek irni, hogy nem volt szep dolog titokban tartani ezt az esemenyt es sunyi modon benevezni rajta, figyelmen kivul hagyni a tobbieket, nem rolam van szo megint, altalanossagban beszelek, olvasok peldaul. Talan ha kihirdetitek az esemenyt egy jobb csapat osszegyult volna. Ezek utan remelem, hogy nem fogunk talalkozni a DEFCON CTF-en, felteve hogy ott is indultok. Mi a taktika, ha jo helyet csiptek meg flameltek vele, ha utolsok lesztek elsunyizzatok?

buherator · http://buhera.blog.hu 2010.05.21. 11:16:27

@flawless:

- Ne kérj elnézést, azért van a kommentdoboz hogy kiírd a véleményedet
- Mi is maximalisták vagyunk, de nem hinném hogy leírtuk volna magunkat egy összetett harmadik hellyel, mint ahogy a többi versenyző sem írta le magát azzal, hogy néhány "csóringer magyar" rájuk vert x órát és y pontot. Woff idén jobb jelentést írt, mi meg kicsit gyorsabbak voltunk, legközelebb visszavágó, így megy ez.
- Durva lenne, ha rajtam múlna, hogy egy ilyen esemény titokban marad-e vagy sem, a felhívás kint volt az interneten. Szánom-bánom hogy a blogon nem volt róla poszt, de ha megnézed az archívumot láthatod, hogy az utóbbi időben a posztgyakoriság sajnos visszaesett, ennek az oka pedig nem az hogy titokban akarok tartani bármit is - a személyes problémáimmal nem traktálnék senkit.
- Az álláspontodat figyelembe véve miért nem futnál velünk össze egy másik megmérettetésen?

_2501 2010.05.23. 17:39:26

flawless buta vagy.