Selamlar herkese, bu yazımızda gerçekten gıcık bir makinenin çözümünden bahsedeceğim. Çözeceğimiz makine 30 puanlık, medium zorlukta olan linux tabanlı, Lightweight makinesi.

Ramazan-ı Şerif münasebetiyle akşam ezanı tadında bir nmap taraması başlatalım.

80 portunu açık gördük, sakince ilerleyelim.

Sayfanın tam ortasına brute-force yapmamamız için kocaman uyarı yazmışlar. Ben de uyarılara pek aldırış etmeden bir dizin taraması yaptım. Taramanın başında 5 dakika ban yedim. Serseriliğin alemi yok, info sayfası ile devam edelim.

Evet info sayfasında da birtakım uyarılarda bulunmuş brute-force yapmamamızla ilgili, status sayfasıyla devam edelim.

Biraz yavaş da olsa açılan bu sayfanın her dakika baştan oluşturulduğunu görüyoruz. Olaya bak, valla tutuldum ben bu sayfaya. Hemen not ettik kenara bi tatsızlık çıkmadan.
Ve son olarak da user sayfasını ziyaret edelim.

Sayfayı ziyaret ettiğimizde IP adresimiz ile bir user oluşturulduğu ve bunun da SSH parolasının yine IP adresimiz olduğu yazmakta.

10.10.15.140:10.10.15.140 bilgileriyle SSH bağlantısı sağladık. /home dizini altında, makinede o an çözmeye çalışan herkesin IP adresiyle açılmış bir kullanıcı vardı. Onların haricinde ldapuser1 ve ldapuser2 isimli 2 kullanıcı daha vardı.
Burada ldap görünce aklıma nmap çıktısında gördüğümüz OpenLDAP servisi geldi.
nmap 10.10.10.119 -p389 --script ldap-search komutuyla ldap-search scriptini çalıştıralım.

ldap-search scripti bize ldap kullanıcılarının parolalarını sha512 ile encrypt edildiğini düşündüğüm fakat hiç de öyle olmayan bir şekilde verdi. Uzunca bir süre uğraştıktan sonra kıramayacağımı anladım. Tekrar SSH ile makineye bağlanıp ne yapabilirim diye düşündüm.
Makine gerçekten bomboştu. Aklıma web tarafında uzun süre açılmasını beklediğim sayfa geldi. O sayfayı ziyaret ederken makinede yüklü olan tcpdump aracıyla ağ trafiğini dinlesem belki bir şey düşürürüm diye düşündüm.

tcpdump -i lo -w dinliyorum.pcap komutuyla trafiği pcap dosyasına kaydetmeye başlayıp browserdan status.php sayfasını ziyaret ediyoruz. Sonra CTRL+C tuş kombinasyonuyla kaydı durduruyoruz.

pcap dosyasını kendi makinemize çekmek için scp aracını kullanacağız.
scp 10.10.15.140@10.10.10.119:/home/10.10.15.140/dinliyorum.pcap . komutuyla pcap dosyasını kendi makinemizde bulunduğumuz dizine alalım.

pcap dosyasını kendi makinemize çektikten sonra wireshark aracıyla inceleyelim.

Wireshark ile trafiği incelerken ldapuser2 kullanıcısının parolasını clear text olarak elde ettik. Hemen ldapuser2:8bc8251332abe1d7f105d3e53ad39ac2 bilgileriyle ldapuser2 kullanıcısına geçelim.

 

Kullanıcıya ait dizine gittiğimizde bizi user.txt dosyası karşıladı. Bununla birlikte backup.7z isimli parola korumalı bir arşiv dosyası da bulunuyor. Parolayı kırmak için kendi makinemize almak istediğimizde ldapuser2 kullanıcısının SSH kullanmasına izin verilmediği için scp aracını kullanamıyoruz. Makineye python da koymamışlar ki server ayaklandırıp alalım. Ramazan ayına hürmeten ses etmeyip makinede yüklü bulunan base64‘e yöneliyorum.
Dosyayı base64 ile encode ederek almaya çalışalım.
cat backup.7 | base64 komutuyla dosyanın encode edilmiş halini alıyoruz.

Kendi makinemizde bir dosyaya encode edilmiş halini kaydedip decode ediyoruz.
base64 -d tepkili_isim > backup.7z

Dosyayı kendi makinemize aldıktan sonra sıra parolasını bulmaya geldi. Bunun için çok fazla araç var fakat ben yine hızlıca bi online password recovery sitelerini kontrol ediyorum. İlk baktığım sitede de parolaya ulaşıyorum.

Parolamız: delete
Şimdi de bu parolayı kullanarak arşiv içeriğini çıkaralım. Bunun için 7za aracını kullandım.

Arşivi çıkardığımda içerisinden web tarafındaki php dosyaları çıktı.

status.php dosyasıyla en başından beridir aramızda bir gerginlik olduğu için onu inceleyerek başlıyorum.

Dosya içeriğini ekrana bastığımda ldapuser1 kullanıcısının parolası çıktı.
SSH bağlantısına dönüp su ldapuser1 komutuyla bulduğumuz parolayı da kullanarak ldapuser1 kullanıcısına geçiyorum.

ldapuser1 kullanıcısına geçtikten sonra ldapuser1 kullanıcısına ait dosyalara göz atalım.

Burada dikkatimi openssl aracı çekti. openssl aracını kullanarak kullanım amacı dışında neler yapabileceğime göz attım.

openssl aracının dosya okuma özelliği bana nedense yetkisiz olarak root.txt dosyasını okuyabileceğimi düşündürdü.
Direkt olarak openssl enc -in /root/root.txt  komutunu kullandığımda Permission denied hatası aldım. Sonra dedim ki “Bu adamlar /bin altından çektiğim openssl aracını kullanmamı istiyorsa neden buraya da koydular?” Kafaya bak, zehir zehir…
Hemen bize verdikleri openssl aracını /home/ldapuser1/openssl enc -in /root/root.txt komutuyla kullanalım.

Mis gibi root.txt okuduk.

Okuduğunuz için teşekkürler. Sorularınız için bilalkan.com/contact

https://www.linkedin.com/feed/update/urn:li:activity:6533323580036403200

Tags: