Ottenere il dizionario appropriato
Esistono diversi elenchi di parole o dizionari, ottimizzati in base al tipo di destinazione. Se vuoi craccare una password del router per accedere al wifi utilizzerai dizionari contenenti un minimo di 8 caratteri, se vuoi craccare un servizio ssh, allora utilizzerai un database di username contenente l'utente “radice“.
Ecco alcuni siti Web da cui è possibile scaricare elenchi di parole.
- Il catalogo delle liste di parole di Hack Today
- Dizionari password di SkullSecurity
La cosa migliore è utilizzare il modo di ricerca più versatile come illustrato nella seguente animazione.
Installazione e utilizzo di Hydra per decifrare le credenziali ssh e ftp
Hydra è uno degli strumenti di forza bruta più popolari. Viene fornito di default con Kali ed è supportato dai repository predefiniti di Debian/Ubuntu. Per installare Hydra eseguire:
apt install idra -y
Ora attacchiamo il servizio SSH di un target per accedere come root eseguendo il seguente comando:
idra -l radice -P Percorso/a/dizionario/lista di parole.txt X.X.X.X ssh
Dove: Hydra chiama il software.
-io: specifica il nome utente di accesso
-P: specifica la posizione del dizionario o dell'elenco di parole.
X.X.X.X: rappresenta l'indirizzo IP, sostituiscilo con l'IP del tuo target.
ssh: specifica il servizio da attaccare.
Nota: Facoltativamente è possibile utilizzare il -tu parametro per definire anche un elenco di nomi utente.
Come puoi vedere nello screenshot, idra ha trovato la password all'interno dell'elenco di parole.
Se vogliamo craccare un servizio ftp possiamo fare lo stesso sostituendo l'ultimo parametro ssh per ftp:
idra -l radice -P Percorso/a/dizionario/lista di parole.txt X.X.X.X ssh
Installazione e cracking delle credenziali con Medusa
Per installare Medusa digitare:
apt install medusa -y
Ora consente di hackerare un servizio SSH utilizzando Medusa, esegui il seguente comando:
medusa -u USERNAME -P '/PATH/TO/WORDLIST.TXT' -h X.X.X.X-M ssh
Dove:
medusa: chiama il software
-u: specifica nome utente
-P: specifica il percorso dell'elenco di parole o del dizionario.
-h: specifica il nome host o l'IP
-M specifica il servizio.
Come puoi vedere nello screenshot Medusa è riuscita a trovare la password all'interno del dizionario, sostituendo la specifica ssh per altre porte possiamo indirizzare diversi servizi.
Proteggersi dagli attacchi Bruteforce
Per impostazione predefinita, le installazioni predefinite di Linux sono completamente accessibili per concederci il primo accesso, tra le migliori pratiche per prevenire attacchi di forza bruta ci sono la disabilitazione dell'accesso remoto root, la limitazione del numero di tentativi di accesso per X secondi, l'installazione di software aggiuntivo come fail2ban.
1. Disabilitare l'accesso remoto come root.
Digita il seguente comando per modificare il file di configurazione sshd per disabilitare l'accesso root remoto.
nano /etc/ssh/sshd_config
Trova la riga che contiene PermitRootLogin si e modificalo in PermitRootLogin no
stampa ctrl+w e cerca "radice"
stampa ctrl+x per salvare ed uscire da nano.
Ora prova a ssh te stesso e vedi il risultato:
ssh root@localhost o [email protected]
Prova come utente normale e riuscirai ad accedere.
2. Sostituzione dell'autenticazione con password per le chiavi.
nano /etc/ssh/sshd_configPremi ctrl+w e cerca Autenticazione password sì e modifica sostituendo la riga per PasswordAuthentication no.
Premi ctrl+x per salvare ed uscire.
3. Installazione di Fail2ban
Per installare Fail2ban eseguire:
apt install fail2ban -y
4. Limitare i tentativi di accesso utilizzando iptables
Aggiungi le seguenti regole di iptables:
Iptables -A INPUT -i lo -j ACCEPTIptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Quindi digita
Iptables -A INPUT -p tcp -m multiport --dports 21,22,110,143 -m recente --update--secondi 3600 --name BANNATO --rsource -j DROP
stampa iptables-save > /etc/iptables/rules.v4 per salvare e riavviare il servizio.
servizio iptables riavviato
NOTA: per maggiori informazioni su iptables visita https://linuxhint.com/iptables_for_beginners/
Conclusione:
L'esecuzione di attacchi di forza bruta non richiede conoscenze avanzate sulla sicurezza, con pochi comandi e un hardware potente possiamo rompere le password velocemente lasciando che il software esegua tentativi di accesso massicci in breve tempo. Difendersi da tali attacchi è molto semplice, non richiede conoscenze a livello di amministratore di sistema e sono disponibili varie opzioni, farlo è un must fondamentale per proteggere il tuo dispositivo.
Spero che tu abbia trovato utile questo tutorial di base sulla forza bruta offensiva e difensiva. Continua a visitare LinuxHint per ulteriori suggerimenti sulla sicurezza e l'amministrazione di Linux.