Remote Desktop penetration testing in quattro scenari, ovvero come un utente malintenzionato può violare la sicurezza in uno scenario diverso e quali sono gli step principali che dovrebbe intraprendere l’admin durante l’attivazione dei servizi RDP per resistere agli attacchi.
Remote Desktop Protocol (RDP) noto anche come “Terminal Services Client” è un protocollo proprietario sviluppato da Microsoft, che fornisce all’utente un’interfaccia grafica per connettersi a un altro computer tramite una connessione di rete. I server RDP sono integrati nei sistemi operativi Windows; per impostazione predefinita, il server è in ascolto sulla porta TCP 3389.
In un ambiente di rete, è consigliabile disabilitare i servizi che non vengono utilizzati in quanto possono essere la potenziale causa di un compromesso. Il servizio Desktop remoto non fa eccezione. Se il servizio è disabilitato sul sistema, può essere abilitato utilizzando i seguenti passaggi. All’interno del Pannello di Controllo del Sistema, esiste una Sezione Sistema e Sicurezza. All’interno di questa sezione, c’è una sezione di sistema. Dopo aver attraversato questa sezione, nel menu di sinistra, esiste un’opzione Impostazioni remote come illustrato nell’immagine sottostante. Si può anche verificare che il sistema su cui stiamo lavorando sia Windows 10 Enterprise Edition.
Facendo clic sull’opzione Impostazioni remote, vediamo che si apre una piccola finestra. Si compone di più schede. Tuttavia, all’interno della scheda Remoto, vediamo che c’è una sezione etichettata come Desktop remoto. Questa sezione può essere utilizzata per abilitare o disabilitare il servizio desktop remoto. Per il momento, stiamo abilitando il Servizio come mostrato nell’immagine qui sotto.
Nmap Port Scan
Poiché abbiamo abilitato il servizio Desktop remoto sulla nostra macchina Windows, è possibile verificare il servizio in esecuzione sul dispositivo eseguendo un Nmap Port Scan. Per impostazione predefinita, la porta su cui viene eseguito il servizio Desktop remoto è la porta 3389. Si può osservare che la macchina Windows con indirizzo IP 192.168.1.41 dispone correttamente del servizio Desktop remoto. È anche in grado di estrarre il nome di sistema della macchina, è MSEDGEWIN10.
Login Bruteforce
In un processo di esecuzione di un test di penetrazione sul servizio Desktop remoto, dopo la scansione Nmap, è il momento di eseguire un attacco Bruteforce. Esiste un lungo elenco di strumenti che possono essere utilizzati per eseguire un attacco Bruteforce, ma uno degli strumenti più affidabili che può portare a termine il lavoro è Hydra. Sebbene sia chiamato Bruteforce, è più simile a un attacco a dizionario. Dobbiamo creare due dizionari uno con un elenco di probabili nomi utente e un altro con un elenco di probabili password. I dizionari sono denominati user.txt e pass.txt. Con tutta questa preparazione, non resta che fornire i dizionari e l’indirizzo IP della macchina di destinazione all’Hydra per eseguire un attacco Bruteforce sul Login di RDP. Vediamo che un set di credenziali è stato recuperato. È possibile avviare una sessione RDP utilizzando questo set di credenziali.
Mitigation Against Bruteforce
L’attacco Bruteforce che abbiamo appena eseguito può essere mitigato. Richiede la creazione di una politica dell’account che impedisca a Hydra o a qualsiasi altro strumento di provare più credenziali. È essenzialmente una politica di blocco. Per attivare questa politica, dobbiamo aprire la finestra Politica di sicurezza locale. Questo può essere fatto digitando “secpol.msc”. Si aprirà una finestra simile a quella mostrata di seguito. Per accedere alla policy specifica, è necessaria la policy dell’account in Impostazioni di sicurezza. All’interno delle politiche dell’account, esiste una politica di blocco dell’account. Contiene 3 criteri, ciascuno dei quali lavora su un aspetto del blocco dell’account. Il primo controlla la durata del blocco. Questo è il tempo che deve essere trascorso per accedere nuovamente dopo il blocco. Quindi abbiamo la soglia di blocco. Questo controlla il numero di tentativi non validi. Si consiglia di attivarli in base alle proprie esigenze. Questo dovrebbe prevenire l’attacco Bruteforce.
Dopo aver provato l’attacco Bruteforce utilizzando Hydra, si può osservare che non è possibile estrarre le credenziali come prima. Anche se c’è ancora qualche rischio che può essere prevenuto costringendo gli utenti a cambiare frequentemente le password e applicando buoni criteri per le password.
Poiché abbiamo abilitato una politica di blocco, non saremo in grado di accedere alla macchina anche con la password corretta fino al momento in cui abbiamo attivato la politica. Sarai accolto con un messaggio di blocco come mostrato nell’immagine qui sotto.
Post Exploitation using Metasploit
Sebbene siano passati anni dalla sua introduzione, Metasploit Framework è ancora uno dei modi più affidabili per eseguire lo sfruttamento successivo. Durante il Penetration Test, se esiste una macchina con RDP disabilitato, è possibile abilitare RDP su quel dispositivo tramite un meterpreter. Nell’immagine sottostante, abbiamo il meterpreter della macchina con RDP disabilitato. Usiamo il comando getgui su meterpreter per creare un utente con il nome di ignite con una password come 123. Dopo il completamento, possiamo accedere alla macchina come utente ignite tramite RDP.
Questo era il comando getgui di meterpreter. Utilizza il modulo post/windows/manage/enable_rdp per aggiungere un nuovo utente con privilegi RDP. Proviamo ad usare direttamente il modulo. Mettiamo in background le sessioni meterpreter e quindi apriamo il modulo enable_rdp. Forniamo il nome utente e la password per l’utente da creare e l’identificatore di sessione. Creerà un altro utente con il nome di Pavan con una password come 123 sulla macchina che quindi può essere utilizzata per accedere alla macchina tramite RDP.
Persistenza
La sessione a cui è possibile accedere come utente creato utilizzando il modulo enable_rdp sarà una sessione con privilegi bassi. Questo può essere ulteriormente elevato per ottenere privilegi amministrativi con la combinazione dell’utilizzo dell’exploit sticky_keys. Dopo aver selezionato l’exploit, dobbiamo fornire un identificatore di sessione. Nell’immagine si può osservare che l’exploit è stato creato con successo. Sostituisce l’operazione Tasti permanenti di accesso facilitato al prompt dei comandi in modo che quando i tasti permanenti vengono avviati sulla macchina, apra un prompt dei comandi con accesso elevato.
Poiché i tasti permanenti possono essere avviati premendo il tasto Maiusc 5 volte, ci colleghiamo alla macchina di destinazione utilizzando RDP e quindi procediamo a farlo. Si aprirà una finestra del prompt dei comandi con privilegi elevati come mostrato nell’immagine sottostante.
Per maggiori dettagli su come eseguire un penetration test su una configurazione RDP https://www.hackingarticles.in/remote-desktop-penetration-testing-port-3389/