Merhabalar herkese. Bu yazıda sizlerle beraber Os-Hax: 1 zaafiyetli makinenin çözümünü inceleyeceğiz.
https://www.vulnhub.com/entry/os-hax-1,389/
Makine ismi: Os-Hax: 1
Yayınlanma Tarihi: 1 Kasım 2019
Yapan: Rahul Gehlaut
Boyut/Format: 918mb / OVA
Zorluk: Orta
İşletim Sistemi: Linux-Ubuntu
Seri: Os-Hax
Açıklama: Sırasıyla makinedeki bütün flag dosyalarını bulup hashleri almak.
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 tespit etmek için "netdiscover" komutunu kullanıyoruz. Duruma göre uzun da sürebilir kısa da sürebilir.
Şimdi makinemizin açık portlarını öğrenmek için nmap komutunu kullanıcaz.
Tarama sonunda SSH servisi ve Web servisinin açık olduğunu öğrendik. Tarayıcımıza ip adresimizi yazıp web servisini bi kontrol edelim.
Pek bişi ifade etmedi şuan için. İp adresiminiz sonuna "robots.txt, admin, login, flag.txt" gibi ilk akla gelen bi kaç adres denemesini manuel yapsak da bi bilgi edinemedik şuan. Hemen terminale geri dönüp "dirb" komutunu kullanalım.
Tarama sonucunda bulduğu dosyaları tek tek inceliyoruz. 2 tane işe yarar dosya bulduk. '../wordpress/' ile '../img/' bize bir şeyler vermeye başladı.
Galiba ilk flag dosyamızı bulduk. Ama bi terslik var gibi. Genelde flag.txt gibi bişi bekleriz. Ama bu bir resim dosyası. Tabi flaglar txt olacak diye bi zorunluluk yok ama bu resim dosyasını daha derin incelemem için yeterli bir şüphe oluşturdu.
Resim aslında bana, makinenin ip adresine localhost domainini ata diyor. Hatta bağıra bağıra diyor. Çünkü bir kaç adım geride yaptığımız dirb taraması ile wordpress de bulmuştuk. http://localhost/wordpress/ şeklinde kullanabilmek için hosts dosyasında değişiklik yapılmasını anlatıyor burada. Ama bişi eksik ben bu aşamaları yapsam bile userass yok hala. Biz bu fotodan şüphemizi devam edelim derin araştırmamızı yapalım.
Ve aradığımız ipucunu exif bilgisinde bulduk. 'passw@45' i tarayıcımızda açıyoruz.
Flag2.txt e ulaştık. İçeriğini incelediğimizde karşımıza alışılmadık bir şifre çıkıyor. Bunu çözmek için aşağıdaki siteyi kullanacağız.
Bulduğumuz hash i sol üstte direk search ettiğinizde bizlere decode edebileceğimiz şifreleme türlerini gösteriyor. Bir kaçını inceleyip baktığınızda bizim aradığımız şifre türü BrainF... olan.
Ve aradığımız userass bilgilerine ulaştık. Şimdi elimizde neler var onlara göre hareket edelim. İlk port taraması yaptığımızda SSH da açıktı. Dirb ile yaptığımız taramada da wordpress tespit etmiştik. Şimdi 2 farklı yol var. Bulduğumuz bilgiler wordpress panel bilgileri de olabilir SSH bilgileri de olabilir veyahut her ikisi içinde geçerli olabilir. Biz ilk önce SSH ı deneyelim.
Ve istediğimiz bağlantıyı gerçekleştirdik. Artık zaafiyetli makinedeyiz. Aşağıda vermiş olduğum komut ile /bin/bash shell kabuğunu kullanabilirsiniz.
Dipnot: bash shell kabuğunu eklemek daha rahat çalışmanıza olanak sağlar. Ctf çözümlerinde çok görmeseniz de pentest işlemlerinde daha rahat çalışmak için sıkça kullanılır.
Hemen bulunduğumuz dizinden "ls" komutuyla neler var bakıyoruz ve 'flag3.txt' dosyamızı da buluyoruz ve ekranda göstermek için "cat flag3.txt" komutunu kullanıyoruz. Bu flag içerisinde ipucu da göremeyenler için -GO TO ROOT- Artık son flag'ımızı bulmak için /root klasörüne geçmemiz gerek.
Biz sisteme 'web' kullanıcısı üzerinden bağlandık ve yetkimiz yetmediği için root klasörüne erişemiyoruz şuan. Yetki yükseltmek için sistemde root şifresi istemeyen bişi yüklümü/var mı ona bakalım.
root şifre istemeden çalışan bir komut. Aşağıdaki komut sayesinde biz awk üzerinden root hesabına geçiş yapacağız.
ya da
ikisi de olur farketmez.
Ve yetkimizi de yükselttiğimize göre artık son flagımızı gösterelim
Evet arkadaşlar 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
Not: Makine wordpress üzerinden de çözülebilmektedir. Onu burada çok kafa karıştırmamak için anlatmadım. Ama en üstte verdiğim indirme linkinde biraz dikkatli bakarsanız wordpress için bişiler bulabilirsiniz
https://www.vulnhub.com/entry/os-hax-1,389/
Makine ismi: Os-Hax: 1
Yayınlanma Tarihi: 1 Kasım 2019
Yapan: Rahul Gehlaut
Boyut/Format: 918mb / OVA
Zorluk: Orta
İşletim Sistemi: Linux-Ubuntu
Seri: Os-Hax
Açıklama: Sırasıyla makinedeki bütün flag dosyalarını bulup hashleri almak.
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 tespit etmek için "netdiscover" komutunu kullanıyoruz. Duruma göre uzun da sürebilir kısa da sürebilir.
Şimdi makinemizin açık portlarını öğrenmek için nmap komutunu kullanıcaz.
Kod:
nmap -sS -sV -O -p- 192.168.1.41
Tarama sonunda SSH servisi ve Web servisinin açık olduğunu öğrendik. Tarayıcımıza ip adresimizi yazıp web servisini bi kontrol edelim.
Pek bişi ifade etmedi şuan için. İp adresiminiz sonuna "robots.txt, admin, login, flag.txt" gibi ilk akla gelen bi kaç adres denemesini manuel yapsak da bi bilgi edinemedik şuan. Hemen terminale geri dönüp "dirb" komutunu kullanalım.
Kod:
dirb http://192.168.1.41
Tarama sonucunda bulduğu dosyaları tek tek inceliyoruz. 2 tane işe yarar dosya bulduk. '../wordpress/' ile '../img/' bize bir şeyler vermeye başladı.
Galiba ilk flag dosyamızı bulduk. Ama bi terslik var gibi. Genelde flag.txt gibi bişi bekleriz. Ama bu bir resim dosyası. Tabi flaglar txt olacak diye bi zorunluluk yok ama bu resim dosyasını daha derin incelemem için yeterli bir şüphe oluşturdu.
Resim aslında bana, makinenin ip adresine localhost domainini ata diyor. Hatta bağıra bağıra diyor. Çünkü bir kaç adım geride yaptığımız dirb taraması ile wordpress de bulmuştuk. http://localhost/wordpress/ şeklinde kullanabilmek için hosts dosyasında değişiklik yapılmasını anlatıyor burada. Ama bişi eksik ben bu aşamaları yapsam bile userass yok hala. Biz bu fotodan şüphemizi devam edelim derin araştırmamızı yapalım.
Kod:
exiftool flaghost.png
Ve aradığımız ipucunu exif bilgisinde bulduk. 'passw@45' i tarayıcımızda açıyoruz.
Flag2.txt e ulaştık. İçeriğini incelediğimizde karşımıza alışılmadık bir şifre çıkıyor. Bunu çözmek için aşağıdaki siteyi kullanacağız.
Kod:
[URL]https://www.dcode.fr/en[/URL]
Bulduğumuz hash i sol üstte direk search ettiğinizde bizlere decode edebileceğimiz şifreleme türlerini gösteriyor. Bir kaçını inceleyip baktığınızda bizim aradığımız şifre türü BrainF... olan.
Ve aradığımız userass bilgilerine ulaştık. Şimdi elimizde neler var onlara göre hareket edelim. İlk port taraması yaptığımızda SSH da açıktı. Dirb ile yaptığımız taramada da wordpress tespit etmiştik. Şimdi 2 farklı yol var. Bulduğumuz bilgiler wordpress panel bilgileri de olabilir SSH bilgileri de olabilir veyahut her ikisi içinde geçerli olabilir. Biz ilk önce SSH ı deneyelim.
Kod:
Ve istediğimiz bağlantıyı gerçekleştirdik. Artık zaafiyetli makinedeyiz. Aşağıda vermiş olduğum komut ile /bin/bash shell kabuğunu kullanabilirsiniz.
Kod:
python -c 'import pty;pty.spawn("/bin/bash")'
Dipnot: bash shell kabuğunu eklemek daha rahat çalışmanıza olanak sağlar. Ctf çözümlerinde çok görmeseniz de pentest işlemlerinde daha rahat çalışmak için sıkça kullanılır.
Hemen bulunduğumuz dizinden "ls" komutuyla neler var bakıyoruz ve 'flag3.txt' dosyamızı da buluyoruz ve ekranda göstermek için "cat flag3.txt" komutunu kullanıyoruz. Bu flag içerisinde ipucu da göremeyenler için -GO TO ROOT- Artık son flag'ımızı bulmak için /root klasörüne geçmemiz gerek.
Biz sisteme 'web' kullanıcısı üzerinden bağlandık ve yetkimiz yetmediği için root klasörüne erişemiyoruz şuan. Yetki yükseltmek için sistemde root şifresi istemeyen bişi yüklümü/var mı ona bakalım.
Kod:
sudo -l
root şifre istemeden çalışan bir komut. Aşağıdaki komut sayesinde biz awk üzerinden root hesabına geçiş yapacağız.
Kod:
sudo awk 'BEGIN {system("/bin/bash")}'
ya da
Kod:
sudo /usr/bin/awk 'BEGIN {system("/bin/bash")}'
ikisi de olur farketmez.
Ve yetkimizi de yükselttiğimize göre artık son flagımızı gösterelim
Evet arkadaşlar 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
Not: Makine wordpress üzerinden de çözülebilmektedir. Onu burada çok kafa karıştırmamak için anlatmadım. Ama en üstte verdiğim indirme linkinde biraz dikkatli bakarsanız wordpress için bişiler bulabilirsiniz
Son düzenleme: