Os-Hax: 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 Os-Hax: 1 zaafiyetli makinenin çözümünü inceleyeceğiz.
APM7O5.png

https://www.vulnhub.com/entry/os-hax-1,389/
JHW230.png

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.
9cM5eC.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 tespit etmek için "netdiscover" komutunu kullanıyoruz. Duruma göre uzun da sürebilir kısa da sürebilir.

I4O1IJ.png


Şimdi makinemizin açık portlarını öğrenmek için nmap komutunu kullanıcaz.

Kod:
nmap -sS -sV -O -p- 192.168.1.41

Idb2PT.png


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.

HbAA0V.png


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

9PcyJC.png


Tarama sonucunda bulduğu dosyaları tek tek inceliyoruz. 2 tane işe yarar dosya bulduk. '../wordpress/' ile '../img/' bize bir şeyler vermeye başladı.


f517CN.png


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.

UUeAaz.png


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 user:pass yok hala. Biz bu fotodan şüphemizi devam edelim derin araştırmamızı yapalım.

Kod:
exiftool flaghost.png

ybWTJU.png


Ve aradığımız ipucunu exif bilgisinde bulduk. 'passw@45' i tarayıcımızda açıyoruz.

AHQfAy.png

WIAyae.png


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]

cRGfN2.png


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.

INe7ya.png


Ve aradığımız user:pass 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.



0IN5d6.png


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")'

CLV0UT.png



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.

5MAWaR.png


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.

15-rootengel.png


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

JC8Rzz.png


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.

729beB.png


Ve yetkimizi de yükselttiğimize göre artık son flagımızı gösterelim :)



R05Hcf.png



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:
Ü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.