Tekrardan herkese merhaba. ­čÖé

FristiLeaks ne kadar sahibi taraf─▒ndan “Basit” seviyede lab olarak g├Âsterilmi┼č olsa da, ortalama 3 saatimizi alm─▒┼č, cengaver bir makinam─▒z. ─░├žerisinde kulland─▒─č─▒m─▒z metodlar bizi olduk├ža zorlam─▒┼čt─▒ a├ž─▒k├žas─▒.

Bu laboratuvar─▒m─▒z─▒ arkada┼člar─▒mla beraber ├ž├Âzd├╝k. Eminim ki aram─▒zdan birisi eksik olsayd─▒, ├ž├Âzme zaman─▒m─▒z ├žok daha uzar belkide pes eder, bitiremezdik. O y├╝zden tak─▒m ├žal─▒┼čmas─▒n─▒n ├Ânemini vurgulamak istedim bu konuda. E─čer sizde bize e┼člik etmek isterseniz, memnuniyet duyar─▒z. Bir PM uza─č─▒n─▒zday─▒m. ­čÖé

Daha fazla ├žene ├žalmadan, hemen laboratuvar─▒m─▒za ge├žmek istiyorum.

Sunucumuzun a├ž─▒lmas─▒n─▒n ard─▒ndan, bize ipsini kendi elleriyle teslim etmesiyle beraber hemen port tarama i┼člemine ge├ži┼č yap─▒yoruz.

Port i┼člemimizin sonucunda sadece “80” portumuz a├ž─▒k g├Âr├╝n├╝yor. Hemen web sitemize, taray─▒c─▒m─▒zla giri┼č yap─▒yoruz..

Taray─▒c─▒m─▒zla giri┼č yapmam─▒z─▒n ard─▒ndan ├Ân├╝m├╝ze a├ž─▒lan sayfada, ” BE CALM AND DRINK FRISTI ” mottosu dikkatimizi ├žekiyor. Sayfan─▒n boyutu b├╝y├╝k oldu─čundan dolay─▒ maalesef g├Âsteremedim. :/ Elimizde daha fazla bir bilgi olmad─▒─č─▒ i├žin hemen sayfan─▒n kaynak kodlar─▒n─▒ incelemek istiyoruz.

G├Ârd├╝─č├╝m├╝z ├╝zere bize verilen tek ipucu, sunucu sahibinin bize verdi─či zaman s─▒n─▒r─▒. A├ž─▒k├žas─▒ bu bizi korkutan ilk hareket oluyor.

Buradanda i┼č ├ž─▒kmad─▒─č─▒na g├Âre, dirb ile sayfam─▒zda bulunan filelar─▒n, folderlar─▒n listelenmesini istiyoruz.

Tabii Robot.txtyi g├Ârmemizle beraber son s├╝rat incelemeye koyuluyoruz.

Sonunda ilk ger├žek ipucumuza rastlay─▒p derin bir oh ! ├žekiyoruz tak─▒mca. Aksi taktirde port tarama i┼člemimizi geni┼čletmek zorunda kalacak, ortalama 30-40 dakika s├╝ren bir zaman kayb─▒m─▒z meydana gelecekti. Ama pa├žay─▒ ucuz y─▒rtt─▒k tabii !

Bize verilen bu ipucundan yola ├ž─▒karak belirtilen adresleri incelemeye koyuluyoruz.

Fakat belirtilen adreslerin tamam─▒nda ayn─▒ resim bizi kar┼č─▒l─▒yor.

Acaba bu resimde bir ┼čey mi var, i├žine bakal─▒m yok ┼čifre mi var tarayal─▒m derken ortalama bir 20 dakikam─▒z ge├žiyor. Akl─▒m─▒zada ba┼čka bir fikir gelmeyince k├Âs k├Âs monit├Âre bak─▒yoruz tabii.

Taa ki o ana kadar. Elimizde toplanan t├╝m bilgileri bir incelemeye ba┼člad─▒─č─▒m─▒zda a├ž─▒k├žas─▒ sadece
“Cola, beer, sisi” bize yard─▒m ediyor. Olay─▒ farkl─▒ bir a├ž─▒dan inceledi─čimizde, asl─▒nda hepsinin bir i├že├žek oldu─čunu ├Â─čreniyoruz. Sisiyide internette aratmay─▒ ihmal etmiyoruz tabii. :))

Daha sonra iki, ├╝├ž sayfa aras─▒nda s├╝rekli devam eden gezintimizde mottomuz dikkatimizi ├žekiyor. “DRINK FRISTI !”

Hemen Google amcam─▒z yard─▒m─▒m─▒za yeti┼čiyor.

Ne yapal─▒m, fristininde bir i├že├žek oldu─čunu google yard─▒m─▒yla ├Â─čreniyoruz. Tabii biz Link ile b├╝y├╝m├╝┼č├╝z, bilmeyiz fristi neymi┼č. ­čÖé

Gerekli ipucuyu edinmemizle beraber, fristiyide aramaya koyuluyoruz adres ├žubu─čumuzda ve ba┼čar─▒ya ula┼č─▒yoruz.

“192.168.1.34/fristi”

Kar┼č─▒m─▒za ├ž─▒kan sayfa g├Ârd├╝─č├╝m├╝z gibi bir login ekran─▒ fakat tekrar elimiz kolumuz ba─čl─▒ kald─▒─č─▒ i├žin, sayfam─▒z─▒n kaynak kodlar─▒n─▒ g├Âr├╝nt├╝lemeye koyuluyoruz.

├ľn├╝m├╝ze a├ž─▒lan sayfada, ” eezeepz ” taraf─▒ndan bir not kar┼č─▒m─▒za ├ž─▒k─▒yor. Fakat onun alt─▒ndakide ne ├Âyle derken indik├že iniyoruz..

Tam tam─▒na “1701” sat─▒r Base64 ┼čeklinde ┼čifrelendi─čini umdu─čumuz kodla bo─ču┼čuyoruz. Birimiz bununla u─čra┼č─▒yor, di─čerimiz onun alt─▒nda ye┼čil renkte olanla. Tam bir kaos ortal─▒kta d├Ânerken, mutlu bir haber geliyor o anda.

Ye┼čil renkte olan base64 kodunun a├ž─▒lmas─▒yla beraber bir png dosyas─▒ olu┼čuyor ve bu neymi┼č derken a├ž─▒yoruz dosyam─▒z─▒.

A├ž─▒k├žas─▒ ilk ba┼čta bunun ne oldu─čuna dair bir fikir ├╝retemiyoruz. Birimiz bu ┼čifreyi farkl─▒ bir ┼čifreleme t├╝r├╝nden olup olmad─▒─č─▒n─▒ kontrol ediyor, di─čerimiz bunun bir bir login ┼čifre olup olmad─▒─č─▒na dair denemeler yap─▒yor.

B├Âyle b├Âyle ge├žiriyoruz, bir 20 dakika daha. Tamam diyoruz sakin olal─▒m, biraz dinlenelim, ├Â─črendiklerimize bakal─▒m. Sadece ” eezeepz ” taraf─▒ndan yaz─▒lm─▒┼č bir notumuz var elimizde. ” eezeepz ” demi┼čken.. Yoksaaa?

Olabilir mi??!

Bundan sonra ki i┼člemi art─▒k ezberledi─čimiz i├žin zaman kaybetmeden, hi├ž bir yeri kurcalamadan bir reverse_tcp olu┼čturup sayfam─▒za uploadlamay─▒ deniyoruz.

Yemedi falan derken o anda “MV” yard─▒m─▒yla dosyam─▒z─▒n format─▒n─▒ de─či┼čtirip tekrardan ├Âne s├╝r├╝yoruz.

Peki, s─▒rada ne var?

Hadi, o zaman !

Sunucumuzda, ├Ânceden yarat─▒lm─▒┼č g├Âr├╝len yaz─▒l─▒mlar─▒m─▒z ilk giri┼č testimizden kalan, heyecanla LHOST parametresine sunucunun ipsini girip patlayan dosyalar─▒m─▒z. Bir selam verip devam ediyoruz..

K─▒sa bir s├╝re sonra ufak bir nota kavu┼čup, gelecek ad─▒m─▒m─▒z hakk─▒nda tavsiye almaya ├žal─▒┼č─▒yoruz.
Fakat tek ├Â─črendi─čimiz ┼čey, eezeepzÔÇÖin ├žok pasakl─▒ oldu─ču, klas├Âr ve dosyalar─▒n─▒ biran ├Ânce hizaya sokmas─▒ gerekti─či.

Hemen eezeepzin mekan─▒n─▒ aramaya koyuluyoruz..

EezeepzÔÇÖe ula┼čmam─▒zla beraber, tekrardan bir not dikkatimizi ├žekiyor ve cehennem azab─▒ i┼čte bu noktada ba┼čl─▒yor.

Bu paragraftan anlad─▒─č─▒m─▒z─▒ ├Âzetlersek, eezeepzÔÇÖe ” /home/admin ” klas├Âr├╝nden baz─▒ yetkiler verildi─či, “runthis”i /tmp klas├Âr├╝ne koyarsak ├ž─▒kt─▒n─▒n “cronresult” ┼čeklinde olaca─č─▒ ve bu i┼člemin yazar─▒n account yetkisiyle beraber ger├žekle┼čece─či.

Nerede bu “runthis” derken ortalama bir 30-40 dakikam─▒z gidiyor, havada findler -nameler u├žu┼čuyor, internette find parametreleri arat─▒l─▒yor ama bo┼č tabii. Art─▒k ├žok can─▒m─▒z─▒ verirken bir heves /tmpÔÇÖnin i├žine bak─▒yoruz.

Bo┼č bir duvar kar┼č─▒l─▒yor bizi. Surat─▒m─▒za vuruyor ac─▒madan.

Tabii o dakikalar, art─▒k ├Âl├╝m ve ya┼čam aras─▒ndaki ince ├žizgi gibi hayat─▒m─▒z g├Âz├╝m├╝z├╝n ├Ân├╝nde siyah beyaz ge├žmeye ba┼čl─▒yor. Tam pes etme noktas─▒ndayken, o fikir ortalaya at─▒l─▒yor.

” Biraz sa├žma olacak ama, madem o yok biz olu┼čtural─▒m? ” Tabii, ben bitmi┼čim hi├ž bir ┼čey duymuyorum kendimi bo┼člu─ča adam─▒┼č─▒m. Fikri uygulamak i├žin koyuluyor, arkada┼člar─▒m. ─░├žimde hi├ž bir umut kalmam─▒┼č, bitmeyecek, olmayacak diye say─▒kl─▒yorum i├žimden. Fakat bir gayret “runthis.txt” isimli bir dosya olu┼čturuyorum(z). Olu┼čturuyorum dedim ├ž├╝nk├╝ olay─▒n faciaya d├Ân├╝┼čen k─▒sm─▒ bu noktada patl─▒yor.

─░├žerisine ne yazaca─č─▒z falan derken, ├Ânceden bizi kar┼č─▒layan notta yaz─▒lan bize verilen /home/admin/ klas├Âr├╝ndeki metodlar g├Âz├╝m├╝ze ├žarp─▒yor. Hemen hep beraber denemeye koyuluyoruz. ─░├žlerinden olan “chmod”u kod sat─▒rlar─▒ aras─▒nda d├Ând├╝rd├╝k├že d├Ând├╝r├╝yoruz “echo” yard─▒m─▒yla.

echo “/home/admin/chmod 777 /home/fristi” > runthis.txt yaz─▒p duruyorum. Fakat ne gelen var ne giden. Cronresult diye bir ┼čey ├ž─▒km─▒yor abi. O anda s─▒cak bas─▒yor ve o heyecanla siliyorum runthisi. Nas─▒l olsa olmad─▒ diyorum i├žimden. Fakat o ses yank─▒lan─▒yor, ” OLDU ! “

Hadi be, nas─▒l yapt─▒n falanlar havada u├žu┼čurken “ls” komutunu girmemle beraber bak─▒yorum “Cronresult” olu┼čmu┼č fakat hatal─▒ kod girildi─či i├žin ger├žekle┼čmiyor. Yetkisi de─či┼čmesi gereken klas├Âr├╝nde “/home/admin ” oldu─čunu ├Â─čreniyorum arkada┼člar─▒mdan. Tabii, ben bir kere “ls” atm─▒┼č─▒m, bakm─▒┼č─▒m, olu┼čmam─▒┼č dahada denememi┼čim farkl─▒ metodlarla u─čra┼č─▒yorum. Sonradan ├Â─čreniyorum benim kod dizini hatal─▒ym─▒┼č. Hemen do─čru olan dizini girmek i├žin bir “runthis.txt” daha olu┼čturup ger├žek ├žal─▒┼čan kodu heyecanla giriyorum.

echo “/home/admin/chmod 777 /home/admin” > runthis.txt

CronresultÔÇÖu silmeyi deniyorum tekrar olu┼čsun diye olmuyor, silinmiyor, hep ayn─▒ d├Âng├╝ye girmi┼č, eski hatal─▒ kodu d├Ând├╝r├╝p duruyor gariban. Diyorum bak yeni runthis var bunu oku. Yok abi diyor, sen silmeyecektin onu. O s─▒rada bizimkiler i├žeri s─▒zm─▒┼č ben bununla u─čra┼č─▒yorum..

En son dedim ” Siz beni b─▒rak─▒n, devam edin. ” Belki ileride bir user bulurlar buradan oraya atlar─▒m hesab─▒.

As─▒l olmas─▒ gereken:

Tabii, benim laboratuvar buga girdi─či i├žin ben tak─▒l─▒ kal─▒yorum tek bir noktada. ─░lerleyemiyorum bekliyorum. Fakat film devam etmeli diyerek, arkada┼člar─▒m─▒n taraf─▒nda ger├žekle┼čen olaylar─▒ anlatmaya devam ediyorum size.

Resimde g├Âr├╝ld├╝─č├╝ ├╝zere, klas├Âr├╝m├╝z├╝n yetkileri ├Ânceden uygulam─▒┼č oldu─čumuz fonksiyonla de─či┼čiyor. Peki nedir bu alt─▒ ├žizili sat─▒rlar? Chmod ne i┼če yarar?

Alt─▒ ├žizili sat─▒rlarda bulunan kodlar, 3 grubun, 3 farkl─▒ yetki zincirini g├Âsterir.

R:Read / G├Âr├╝nt├╝leme
W:Write / Yazma
E:Execute / ├çal─▒┼čt─▒rma

─░zinlerini temsil eder. ” -XXX-XXX-XXX- ” ┼×eklinde her bir gruba ├Âzel izinler verilir.

Bu gruplar: Dosya sahibi, grup ve di─čer userlar. Dosya sahibini, Root olarak g├Ârebiliriz bu ┼čekilde.

“chmod 777” ┼×eklinde yazm─▒┼č oldu─čumuz zaman yarat─▒c─▒n─▒n, gruplar─▒n ve tabii ki t├╝m di─čer userlar─▒n okuma, yazma ve ├žal─▒┼čt─▒rma izinlerine o dosya ├╝zerinde sahip olaca─č─▒n─▒ belirtmi┼č oluruz. E─čer bunun yerine sadece “7” yazm─▒┼č olsayd─▒k sadece yarat─▒c─▒ya bu izinleri tan─▒m─▒┼č olacakt─▒k. Detayl─▒ bilgi i├žin internette ara┼čt─▒rma yapabiliriz.

Admin dosyam─▒za giri┼č yapmam─▒zla beraber ├Ân├╝m├╝zde, a├ž─▒lan dosyalar─▒ incelemeye koyulup ara┼čt─▒rmaya ba┼čl─▒yoruz.

Fakat elimizde base64 kodu oldu─čunu d├╝┼č├╝nd├╝─č├╝m├╝z ┼čifreleri bir t├╝rl├╝ a├žam─▒yoruz. Ard─▒ndan “cryptpass.py” uzant─▒l─▒ bir script dikkatimizi ├žekiyor. Tabii, ben o s─▒rada s─▒k─▒nt─▒dan ├Âlm├╝┼č├╝m banada at─▒n, orada neler oluyor falan diyorum. Asl─▒nda ├ž├Âzebilece─čimide sanm─▒yorum fakat deniyorum i┼čte.

Yola devam etmekte olan arkada┼člar─▒m─▒zdan biri, yeni metodlar, yeni klas├Ârler aramaya koyulurken di─čeri yeni chmod komutlar─▒n─▒ denemeye koyuluyor “Runthis” ├╝zerine. Benimde bo┼č zaman─▒m var tabii, ┼čuna bakay─▒m diyorum.

def KiriciÔÇÖdan ├Ânceki alanlarda ne d├Ând├╝─č├╝ne bakal─▒m ├Ânce. ─░smindende anla┼č─▒laca─č─▒ gibi “EncodeString” yani bir ┼čifreleme scriptiyle ba┼č ba┼čay─▒z. Kulland─▒─č─▒ metodlar─▒, ne ├╝zerine ┼čifreledi─čini tam olarak anlayamasakta basit bir analizle ├╝stesinden gelmemiz ├žok zor olmuyor. Basit dedi─čim bir 30-40 dakika falan yanii.

─░lk sat─▒rdan anlayaca─č─▒m─▒z, kullan─▒c─▒dan al─▒nan string, ilk ba┼čta base64 k├╝t├╝phanesinin getirdi─či, base64encode fonksiyonuyla ┼čifreleme i┼čleminden ge├žiyor ve de─či┼čkenimize giri┼č yap─▒yor. Bir alt sat─▒ra inelim ┼čimdide.

Bu base64string isimli de─či┼čkenimiz tekrardan codecs isimli k├╝t├╝phanemizin verdi─či encode fonksiyonuyla tekrardan bir ┼čifreleme i┼čleminden ge├žip ├Ân├╝m├╝ze getiriliyor.

Kiricida olanlar ise, yapt─▒─č─▒m─▒z i┼člemlerin tam tersi y├Ân├╝nde. En son yap─▒lan i┼člemi, ilk d├Ân├╝┼čt├╝rece─čimiz i┼člem olarak ele al─▒p reverse-engineeringe kar┼č─▒ hayat─▒m─▒zda ilk kez bir ad─▒m at─▒yoruz. Tecr├╝beli python uzmanlar─▒ taraf─▒ndan belkide 5-10 dakika s├╝rmeyecek bu i┼člem, benim a├ž─▒mdan minimum 30 dakikay─▒ ge├žiyor. ­čÖé

Y├╝zlerce denemeden sonra, servis edilen yeme─čimiz haz─▒r. Bir oh ├žekerek “comeback” yapmaya ├žal─▒┼č─▒yorum o anda tabii.. ­čÖé

Kar┼č─▒m─▒za ├ž─▒kan ┼čifrelerimizi bildi─čimiz tum userlar aras─▒nda deneyip, ne olduklar─▒n─▒ ├Â─črenmeye ├žal─▒┼č─▒yoruz. Eezeepz, admin, root, fristigod..

Bu noktada art─▒k oyuna dahil olman─▒n sevin├žle yan─▒p tutu┼čurken, hep bir a─č─▒zdan zafer ├ž─▒─čl─▒klar─▒yla yank─▒lan─▒yor kulaklar─▒m─▒z. Ama bilmiyoruz ki son bir engelimiz daha var. Ve o engel ├Ân├╝ne ge├žemeyece─čimiz bir duvar.

├ľncelikle fristigod kullan─▒c─▒s─▒ olmam─▒zla beraber, /home da yer alan fristigod klas├Âr├╝ne b├╝y├╝k bir zevkle ge├ži┼č yap─▒yoruz zaman kaybetmeden. Fakat i├žerisi bombo┼č olan bu klas├Âr, bizi derinden etkiliyor. Ne yapaca─č─▒z ┼čimdi derken, bo┼č zaman─▒m─▒zda y├╝zlerce kez yapt─▒─č─▒m─▒z klas├Âr tarama i┼čleminin getirdi─či ├ž├Âz├╝m ortaya ├ž─▒k─▒yor.

Bir tane daha “fristigod” klas├Âr├╝ vard─▒ bir de ona girelim. Art─▒k ezberlemi┼čiz ├ž├╝nk├╝, sunucunun her bir klas├Âr├╝n├╝ ad─▒m ad─▒m biliyoruz. ├çok uzun s├╝rm├╝yor, as─▒l fristigodÔÇÖ─▒ bulmam─▒z ve giri┼č yap─▒yoruz.

─░├žerisinde olan dosyalara bakt─▒─č─▒m─▒zda tabii ilk ba┼čta “.secret_admin_stuff” a giri┼č yapmay─▒ deniyoruz. >))

Hadi, art─▒k bitsin bu ├žile diyoruz hep bir a─č─▒zdan. Ne wrong useri abi, daha ne yapal─▒m yani.

Geri d├Ân├╝p incelemeye koyuluyoruz, di─čer dosyay─▒.

Birileri, bir ┼čeyler yap─▒yor ama…

Bunun bir log dosyas─▒ oldu─čunu farketmemiz uzun s├╝rm├╝yor ve kullan─▒lan metodlar─▒ i┼čleme almaya ba┼čl─▒yoruz. ─░┼čin tuhaf olan k─▒sm─▒ biz fristigodÔÇÖ─▒z ve burada kullan─▒lan kullan─▒c─▒ fristi ├╝zerine.

A├ž─▒k├žas─▒ detaylara girmeden ortalama 1 saate yak─▒nda bu noktada kald─▒─č─▒m─▒z─▒ s├Âyleyebilirim. Fakat o anda akl─▒m─▒zdan ge├žen tek ┼čey ” Sen nesin abi? Bize verdi─čin ipucudanda hi├ž bir ┼čey anlamad─▒k, nereyi ka├ž─▒rd─▒k? Hadi, tekrardan ara┼čt─▒rmaya devam ! ” oluyor. Buraya kadar geldiysek, bunu bitirece─čiz.

Gel zaman git zaman, o anda kafam─▒za ├žarp─▒yor.

Usage: /program name terminal command …

Yani ortada bir program var. Bu /doCom olabilir mi? Yani yapt─▒─č─▒m─▒z ┼čey bir program─▒ ├žal─▒┼čt─▒rmak. Fakat yan─▒nda ki terminal command ?

─░┼čte o an, 3-4 saatinin ard─▒ndan gelen mutluluk ve ├žakmak sesleri..

Saniyeler i├žerisinde root klas├Âr├╝ne giri┼č yap─▒yoruz ve ..

Bayra─č─▒m─▒z─▒ b├╝y├╝k bir zaferle kald─▒r─▒yoruz !

Sunucu sahibi taraf─▒ndan ” Easy ” olarak nitelendirilmi┼č olan bir program bizim a├ž─▒m─▒zdan hi├žte ├Âyle olmad─▒. Sizin d├╝┼č├╝nceleriniz nedir? ­čÖé