Impariamo a forza bruta SSH Usando Hydra. Hydra è uno degli strumenti preferiti nel toolkit di un hacker. È uno strumento eccellente per eseguire attacchi di forza bruta e può essere utilizzato da una prospettiva red team per entrare nei sistemi e da una prospettiva blue team per verificare e testare le password ssh contro elenchi di password comuni come rockyou.txt e crackstation liste di parole.
Nota: Questa guida è puramente per scopi didattici. Non pretendiamo alcuna responsabilità per eventuali danni alla proprietà causati con l’uso delle conoscenze acquisite da questa guida.
Indice
Che cosa è Hydra?
Hydra è uno strumento open-source che ci permette di eseguire vari tipi di attacchi di forza bruta utilizzando elenchi di parole. Viene fornito di default con tutte le distribuzioni Pentesting come Kali Linux. Tuttavia, può anche essere installato con il comando apt come segue:
$ sudo apt install hydra
Nel caso in cui il pacchetto non venga trovato o si verifichi un errore, è anche possibile fare riferimento al repository Github e installarlo utilizzando le istruzioni specificate.
Come usare Hydra?
Hydra offre molte funzionalità che possono essere facilmente visualizzate con :
$ hydra -h
Tuttavia, nel nostro caso ci occuperemo dei seguenti quattro flag principali :
- -l -> Specificare un nome utente da utilizzare durante l’attacco di forza bruta
- -L> Specificare un elenco di nomi utente devono essere utilizzati durante il bruteforce attack
- -p> consente di Specificare una password da utilizzare durante l’attacco di forza bruta
- -P> Specificare un dizionario di password per essere utilizzato durante il bruteforce attack
La sintassi di base di hydra è :
hydra ] | ] ] ]
Brute-force SSH Username e Password con Hydra
Mentre si cercava di tipo brute-force ssh credenziali ci sono 3 possibili combinazioni:
- Password Bruteforcing
- Nomi utente Bruteforcing
- Password e nomi utente Bruteforcing
Per prima cosa avremmo bisogno di elenchi di parole per il nostro attacco a forza bruta. Puoi recuperare alcuni elenchi di parole ben noti con wordlistctl e una volta che hai pronto il tuo elenco di parole, possiamo andare avanti !
1. Password Bruteforcing
Per password ssh a forza bruta con un nome utente noto, la sintassi è :
$ hydra -l <username> -P <path to wordlist> <IP> ssh
2. Nome utente Bruteforcing
Per i nomi utente ssh a forza bruta con una password nota, la sintassi è :
$ hydra -L <path to wordlist> -p <password> <IP> ssh
3. Bruteforcing Sia nomi utente che password
Se non si conoscono sia il nome utente che la password, la sintassi è la seguente:
$ hydra -L <path to username wordlist> -P <path to password wordlist> <IP> ssh
Alcune bandiere speciali
A volte abbiamo alcune condizioni speciali e abbiamo bisogno di orchestrare il nostro attacco in base a questo. In questa sezione, discuteremo alcune bandiere speciali che ci aiuta a personalizzare i nostri attacchi.
1. Modificare il numero di thread
Per impostazione predefinita, hydra esegue 16 thread ma possiamo modificare il valore dello stesso con il flag-t in quanto tale :
$ hydra -l <username> -P <path to wordlist> <IP> -t <number of threads> ssh
2. Cambia il numero di porta
A volte, gli amministratori di sistema cambiano il numero di porta ssh dal 22 predefinito a qualche altra porta. Quindi, per utilizzare un numero di porta diverso, usiamo il flag-s come :
$ hydra -s <port number> -l <username> -P <path to wordlist> <IP> ssh
3. Forzatura bruta di un elenco di IP
Proprio come possiamo forzare brutalmente un elenco di nomi utente e password, possiamo anche forzare brute ssh IPS da un elenco usando il flag-M:
$ hydra -l <username> -P <path to wordlist> -M <path to Ip list> ssh
4. Varie
Possiamo anche abilitare un output più dettagliato con il flag-V. Inoltre, a volte gli utenti / amministratori di sistema lasciano alcune password ovvie che devono essere contabilizzate oltre lo scopo delle nostre liste di parole che possono essere incluse con il flag-E. Un trio popolare che va con questa bandiera sono le lettere ‘nsr’, dove’ n ‘sta per null e cerca di accedere senza alcun flag,’ s ‘sta per same, cioè usa il nome utente stesso come password mentre’ r ‘ cerca il nome utente invertito come potenziale password. La sintassi per questo dovrebbe essere simile a questa :
$ hydra -l <username> -P <path to wordlist> <IP> -V -e nsr ssh
Conclusione
Hydra può essere uno strumento piuttosto potente quando si desidera connessioni ssh a forza bruta e può essere accoppiato con diversi altri flag per personalizzare il tuo attacco. Tuttavia, questo non deve essere sfruttato per curiosare cose che non sono destinate a e gli utenti da soli sono responsabili delle loro azioni.