From f788903b3358d4f2bdb5d7af6bbf247330b87e96 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 16 Apr 2024 03:24:49 +0000 Subject: [PATCH] Translated ['generic-methodologies-and-resources/brute-force.md'] to it --- .../brute-force.md | 409 ++++++------------ 1 file changed, 144 insertions(+), 265 deletions(-) diff --git a/generic-methodologies-and-resources/brute-force.md b/generic-methodologies-and-resources/brute-force.md index b7414da43..2163ae8b0 100644 --- a/generic-methodologies-and-resources/brute-force.md +++ b/generic-methodologies-and-resources/brute-force.md @@ -1,9 +1,9 @@ # Brute Force - CheatSheet -
+
\ -Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\ +Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\ Ottieni l'accesso oggi: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -14,15 +14,15 @@ Ottieni l'accesso oggi: Altri modi per supportare HackTricks: -* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! +* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) -* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi +* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFT**](https://opensea.io/collection/the-peass-family) * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github. +* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di github. -## Credenziali Predefinite +## Credenziali predefinite **Cerca su Google** le credenziali predefinite della tecnologia che viene utilizzata, o **prova questi link**: @@ -41,10 +41,9 @@ Altri modi per supportare HackTricks: ## **Crea i tuoi Dizionari** -Trova il maggior numero possibile di informazioni sul target e genera un dizionario personalizzato. Strumenti che potrebbero aiutare: +Trova il maggior numero possibile di informazioni sul target e genera un dizionario personalizzato. Strumenti che possono aiutare: ### Crunch - ```bash crunch 4 6 0123456789ABCDEF -o crunch1.txt #From length 4 to 6 using that alphabet crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha # Only length 4 using charset mixalpha (inside file charset.lst) @@ -55,25 +54,19 @@ crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha # Only length 4 using chars ^ Special characters including spac crunch 6 8 -t ,@@^^%% ``` - ### Cewl - ```bash cewl example.com -m 5 -w words.txt ``` - ### [CUPP](https://github.com/Mebus/cupp) Genera password basate sulla tua conoscenza della vittima (nomi, date...) - ``` python3 cupp.py -h ``` - ### [Wister](https://github.com/cycurity/wister) -Uno strumento generatore di liste di parole, che ti consente di fornire un insieme di parole, offrendoti la possibilità di creare molteplici variazioni dalle parole fornite, creando una lista di parole unica e ideale da utilizzare in relazione a un obiettivo specifico. - +Uno strumento generatore di liste di parole, che ti consente di fornire un insieme di parole, offrendoti la possibilità di creare molteplici variazioni dalle parole fornite, creando una lista di parole unica e ideale da utilizzare per un determinato obiettivo. ```bash python3 wister.py -w jane doe 2022 summer madrid 1998 -c 1 2 3 4 5 -o wordlist.lst @@ -92,7 +85,6 @@ Generated 67885 lines. Finished in 0.920s. ``` - ### [pydictor](https://github.com/LandGrey/pydictor) ### Liste di parole @@ -108,10 +100,10 @@ Finished in 0.920s. * [**https://hashkiller.io/listmanager**](https://hashkiller.io/listmanager) * [**https://github.com/Karanxa/Bug-Bounty-Wordlists**](https://github.com/Karanxa/Bug-Bounty-Wordlists) -
+
\ -Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\ +Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** con facilità, supportati dagli strumenti della comunità più avanzati al mondo.\ Ottieni l'accesso oggi: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -121,7 +113,6 @@ Ottieni l'accesso oggi: Ordinati in ordine alfabetico per nome del servizio. ### AFP - ```bash nmap -p 548 --script afp-brute msf> use auxiliary/scanner/afp/afp_login @@ -131,134 +122,110 @@ msf> set PASS_FILE msf> set USER_FILE msf> run ``` - ### AJP -Il protocollo AJP (Apache JServ Protocol) è un protocollo di comunicazione che viene utilizzato tipicamente tra un server web e un server di applicazioni. È possibile sfruttare vulnerabilità nel protocollo AJP per eseguire attacchi di tipo brute force al fine di ottenere accesso non autorizzato al server di applicazioni. - +Il protocollo AJP (Apache JServ Protocol) è un protocollo di comunicazione che viene utilizzato tipicamente tra un server web e un server di applicazioni. AJP è spesso preso di mira durante attacchi di forza bruta per compromettere la sicurezza del server. ```bash nmap --script ajp-brute -p 8009 ``` - ## AMQP (ActiveMQ, RabbitMQ, Qpid, JORAM and Solace) - ```bash legba amqp --target localhost:5672 --username admin --password data/passwords.txt [--amql-ssl] ``` - ### Cassandra -Cassandra è un database distribuito altamente scalabile che consente di archiviare grandi quantità di dati senza punti di singolo errore. È possibile eseguire attacchi di forza bruta contro Cassandra per tentare di indovinare le credenziali di accesso. Questo può essere fatto utilizzando strumenti come Hydra o Metasploit. - +Cassandra è un database distribuito altamente scalabile che può essere soggetto a attacchi di forza bruta. Gli attaccanti possono tentare di indovinare le credenziali di accesso utilizzando combinazioni di nomi utente e password comuni o deboli. Per proteggere un'installazione di Cassandra da tali attacchi, è consigliabile implementare misure di sicurezza come l'uso di password complesse, la limitazione dei tentativi di accesso e l'implementazione di meccanismi di autenticazione multi-fattore. ```bash nmap --script cassandra-brute -p 9160 # legba ScyllaDB / Apache Casandra legba scylla --username cassandra --password wordlists/passwords.txt --target localhost:9042 ``` - ### CouchDB -CouchDB è un database NoSQL che può essere soggetto a attacchi di forza bruta per compromettere le credenziali di accesso. Gli hacker possono utilizzare strumenti automatizzati per tentare di indovinare le password e accedere illegalmente al database. Per proteggere CouchDB da attacchi di forza bruta, è consigliabile implementare politiche di password robuste, limitare il numero di tentativi di accesso e monitorare attentamente l'attività sospetta. +#### Brute Force +Brute force attacks against CouchDB are relatively simple to execute. The most common method is to use a tool like Hydra to repeatedly attempt to log in using different username and password combinations. This method can be effective if the credentials are weak or if the server is not properly configured to prevent multiple login attempts. + +To protect against brute force attacks, it is recommended to use strong, unique passwords and implement account lockout policies that temporarily lock an account after a certain number of failed login attempts. Additionally, enabling IP whitelisting and implementing rate limiting can help mitigate the risk of brute force attacks. ```bash msf> use auxiliary/scanner/couchdb/couchdb_login hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get / ``` - ### Registro Docker - ``` hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/ ``` - ### Elasticsearch -Elasticsearch è un motore di ricerca e analisi distribuito e open source progettato per gestire dati strutturati e non strutturati. Elasticsearch utilizza un'interfaccia RESTful e JSON per indicizzare e cercare i dati. È ampiamente utilizzato per la ricerca full-text, monitoraggio delle applicazioni, analisi dei log e molto altro. Elasticsearch è altamente scalabile e può essere utilizzato per implementare ricerche complesse e analisi dei dati in tempo reale. +#### Brute Force +Brute force attacks involve trying all possible combinations of a password until the correct one is found. This can be an effective way to gain unauthorized access to an Elasticsearch instance if weak passwords are used. There are tools available that can automate the process of brute forcing passwords. It is important to use strong, complex passwords to protect against brute force attacks. ``` hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get / ``` - ### FTP -Il Brute Force è una tecnica comunemente utilizzata per violare le password di accesso a un server FTP. Consiste nel tentativo di accesso ripetuto utilizzando diverse combinazioni di nomi utente e password fino a quando non si trova la combinazione corretta. Questo può essere fatto manualmente o utilizzando strumenti automatizzati come Hydra o Medusa. È importante notare che il Brute Force è considerato un attacco rudimentale e rumoroso, quindi è consigliabile utilizzarlo con cautela e solo con l'autorizzazione esplicita del proprietario del sistema. - +### FTP ```bash hydra -l root -P passwords.txt [-t 32] ftp ncrack -p 21 --user root -P passwords.txt [-T 5] medusa -u root -P 500-worst-passwords.txt -h -M ftp legba ftp --username admin --password wordlists/passwords.txt --target localhost:21 ``` - ### Brute Force Generico HTTP #### [**WFuzz**](../pentesting-web/web-tool-wfuzz.md) ### Autenticazione di Base HTTP - ```bash hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst sizzle.htb.local http-get /certsrv/ # Use https-get mode for https medusa -h -u -P -M http -m DIR:/path/to/auth -T 10 legba http.basic --username admin --password wordlists/passwords.txt --target http://localhost:8888/ ``` - ### HTTP - NTLM - ```bash legba http.ntlm1 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/ legba http.ntlm2 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/ ``` - ### HTTP - Invio modulo -In un attacco di forza bruta contro un modulo di invio HTTP POST, un attaccante invia una grande quantità di richieste POST al server, cercando di indovinare le credenziali di accesso o di inviare dati dannosi. Questo tipo di attacco può essere efficace contro moduli di accesso, moduli di invio di commenti o qualsiasi altro modulo che accetti dati tramite richieste POST HTTP. - +In un attacco di forza bruta contro un modulo di invio HTTP POST, un attaccante invia automaticamente richieste POST con diverse combinazioni di dati per cercare di indovinare le credenziali di accesso o per sfruttare vulnerabilità nel sistema. ```bash hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V # Use https-post-form mode for https ``` - Per http**s** devi cambiare da "http-post-form" a "**https-post-form"** ### **HTTP - CMS --** (W)ordpress, (J)oomla o (D)rupal o (M)oodle - ```bash cmsmap -f W/J/D/M -u a -p a https://wordpress.com # Check also https://github.com/evilsocket/legba/wiki/HTTP ``` - ### IMAP -IMAP (Internet Message Access Protocol) is a widely used protocol for email retrieval. It operates over port 143 (or port 993 for secure SSL/TLS connections). Brute-forcing IMAP credentials involves trying different username and password combinations until the correct one is found. This can be done using tools like Hydra or Medusa. It is important to note that brute-forcing is a noisy attack and may trigger account lockouts or alerts. - +IMAP stands for Internet Message Access Protocol. It is a protocol used to retrieve emails from a mail server. IMAP brute force attacks involve trying different username and password combinations to gain unauthorized access to an email account. This can be done using tools like Hydra or Medusa. ```bash hydra -l USERNAME -P /path/to/passwords.txt -f imap -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f imap -V nmap -sV --script imap-brute -p legba imap --username user --password data/passwords.txt --target localhost:993 ``` - ### IRC -#### Brute Force - -Brute force attacks on IRC accounts involve attempting to log in to an account by systematically trying all possible combinations of usernames and passwords until the correct one is found. This method is time-consuming but can be effective if the credentials are weak. Automated tools can be used to speed up the process. - +Internet Relay Chat (IRC) è un protocollo di comunicazione in tempo reale basato su testo utilizzato per la comunicazione su Internet. Gli attaccanti possono utilizzare tecniche di forza bruta per indovinare le password degli account IRC e ottenere accesso non autorizzato ai canali di chat. ```bash nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p ``` - ### ISCSI +### ISCSI ```bash nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 ``` - ### JWT -JSON Web Token - +Un JSON Web Token (JWT) è un metodo aperto standard (RFC 7519) che definisce un modo compatto e autonomo per trasmettere informazioni tra le parti come un oggetto JSON firmato. Queste informazioni possono essere verificate e fidate perché sono firmate digitalmente. I JWT possono essere firmati utilizzando un algoritmo segreto (HMAC) o un algoritmo pubblico/privato utilizzando RSA. ```bash #hashcat hashcat -m 16500 -a 0 jwt.txt .\wordlists\rockyou.txt @@ -281,51 +248,45 @@ python3 jwt-cracker.py -jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1w #https://github.com/lmammino/jwt-cracker jwt-cracker "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" "abcdefghijklmnopqrstuwxyz" 6 ``` - ### LDAP -LDAP (Lightweight Directory Access Protocol) è un protocollo standard aperto utilizzato per accedere e mantenere servizi di directory distribuiti su una rete IP. - +LDAP (Lightweight Directory Access Protocol) è un protocollo standard per l'accesso a servizi di directory. ```bash nmap --script ldap-brute -p 389 legba ldap --target 127.0.0.1:389 --username admin --password @wordlists/passwords.txt --ldap-domain example.org --single-match ``` - ### MQTT -MQTT (Message Queuing Telemetry Transport) è un protocollo di messaggistica leggero progettato per dispositivi con limitate risorse di rete. +#### Brute Force +Brute force attacks against MQTT brokers involve attempting to guess valid credentials by systematically trying all possible combinations of usernames and passwords. This can be achieved using tools like Hydra or custom scripts. + +#### Prevention + +To prevent brute force attacks against MQTT brokers, it is recommended to: +- Use strong and unique passwords +- Implement account lockout policies +- Limit the number of login attempts +- Monitor and log login attempts for suspicious activities ``` ncrack mqtt://127.0.0.1 --user test –P /root/Desktop/pass.txt -v legba mqtt --target 127.0.0.1:1883 --username admin --password wordlists/passwords.txt ``` - ### Mongo - -Brute force attacks against MongoDB databases are common due to the default configuration allowing unauthenticated access. Attackers can use tools like **Hydra** or **Metasploit** to perform brute force attacks against MongoDB databases. It is important to always secure your MongoDB instances by setting strong passwords and enabling authentication to prevent unauthorized access. - ```bash nmap -sV --script mongodb-brute -n -p 27017 use auxiliary/scanner/mongodb/mongodb_login legba mongodb --target localhost:27017 --username root --password data/passwords.txt ``` - ### MSSQL -#### Brute Force - -Il metodo di attacco brute force è comunemente utilizzato per indovinare le credenziali di accesso a un server MSSQL. Questo attacco coinvolge la generazione di molteplici combinazioni di username e password fino a quando non viene trovata la corretta. È importante notare che l'uso di attacchi brute force può essere illegale e dannoso per il server di destinazione. - +MSSQL è spesso soggetto a attacchi di forza bruta. Gli attaccanti possono utilizzare strumenti come Hydra, Metasploit o Nmap per eseguire attacchi di forza bruta contro i server MSSQL. È importante implementare misure di sicurezza come l'uso di password complesse e la limitazione dei tentativi di accesso per proteggere i server MSSQL da tali attacchi. ```bash legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433 ``` - ### MySQL -#### Brute Force - -Brute force attacks against MySQL databases can be carried out using tools like Hydra or SQLMap. These tools can attempt to log in to MySQL databases by trying different combinations of usernames and passwords until the correct one is found. It is important to note that brute force attacks can be time-consuming and may trigger account lockouts or other security measures if too many failed login attempts are made. - +MySQL è un sistema di gestione di database relazionali open source ampiamente utilizzato. È possibile eseguire attacchi di forza bruta per tentare di indovinare le credenziali di accesso al database MySQL. Questo può essere fatto utilizzando strumenti come Hydra, Metasploit o manualmente con uno script personalizzato. ```bash # hydra hydra -L usernames.txt -P pass.txt mysql @@ -339,25 +300,15 @@ medusa -h -u -P <-f | to stop medusa on fir #Legba legba mysql --username root --password wordlists/passwords.txt --target localhost:3306 ``` - ### OracleSQL #### Brute Force -Brute force attacks are commonly used to crack passwords by systematically trying all possible combinations until the correct one is found. In the context of OracleSQL, brute force attacks can be used to guess usernames and passwords to gain unauthorized access to databases. +Brute force attacks are a common method used to gain unauthorized access to OracleSQL databases. Attackers use automated tools to systematically try all possible combinations of usernames and passwords until the correct one is found. This method is time-consuming but can be effective if the credentials are weak. #### Prevention -To prevent brute force attacks in OracleSQL, consider implementing the following measures: - -1. **Strong Passwords**: Enforce the use of strong, complex passwords that are difficult to guess. -2. **Account Lockout Policy**: Implement an account lockout policy that locks out an account after a certain number of failed login attempts. -3. **Monitoring**: Regularly monitor login attempts and look for any suspicious activity. -4. **Two-Factor Authentication**: Implement two-factor authentication for an added layer of security. -5. **Limit Login Attempts**: Limit the number of login attempts to prevent multiple failed attempts. - -By implementing these preventive measures, you can significantly reduce the risk of brute force attacks in OracleSQL. - +To prevent brute force attacks, it is essential to use strong and complex passwords that are not easily guessable. Additionally, implementing account lockout policies after a certain number of failed login attempts can help mitigate the risk of unauthorized access. Regularly monitoring and reviewing access logs can also help detect and prevent brute force attacks. ```bash patator oracle_login sid= host= user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017 @@ -381,21 +332,15 @@ nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid= legba oracle --target localhost:1521 --oracle-database SYSTEM --username admin --password data/passwords.txt ``` - Per utilizzare **oracle\_login** con **patator** è necessario **installare**: - ```bash pip3 install cx_Oracle --upgrade ``` - -[Forza bruta hash OracleSQL offline](https://github.com/carlospolop/hacktricks/blob/it/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/remote-stealth-pass-brute-force.md#outer-perimeter-remote-stealth-pass-brute-force) (**versioni 11.1.0.6, 11.1.0.7, 11.2.0.1, 11.2.0.2,** e **11.2.0.3**): - +[Forza bruta hash OracleSQL offline](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/remote-stealth-pass-brute-force.md#outer-perimeter-remote-stealth-pass-brute-force) (**versioni 11.1.0.6, 11.1.0.7, 11.2.0.1, 11.2.0.2,** e **11.2.0.3**): ```bash nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30 ``` - ### POP - ```bash hydra -l USERNAME -P /path/to/passwords.txt -f pop3 -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f pop3 -V @@ -406,24 +351,9 @@ legba pop3 --username admin@example.com --password wordlists/passwords.txt --tar # SSL legba pop3 --username admin@example.com --password wordlists/passwords.txt --target localhost:995 --pop3-ssl ``` - ### PostgreSQL -#### Brute Force - -Brute force attacks against PostgreSQL databases involve attempting to guess usernames and passwords to gain unauthorized access. This can be done using automated tools that systematically try all possible combinations of usernames and passwords until the correct one is found. - -#### Protection - -To protect against brute force attacks on PostgreSQL databases, consider implementing the following measures: - -1. **Strong Passwords**: Enforce the use of complex and unique passwords for database accounts. -2. **Account Lockout Policy**: Implement an account lockout policy that locks out users after a certain number of failed login attempts. -3. **Monitoring**: Monitor database logs for any unusual login patterns or multiple failed login attempts. -4. **Two-Factor Authentication**: Implement two-factor authentication for an added layer of security. -5. **Firewall Rules**: Restrict access to the database server by allowing only specific IP addresses or ranges. -6. **Regular Audits**: Conduct regular security audits to identify and address any vulnerabilities in the database system. - +PostgreSQL è un sistema di gestione di database relazionali (RDBMS) open source ampiamente utilizzato. È possibile eseguire attacchi di forza bruta contro i database PostgreSQL per tentare di indovinare le credenziali di accesso. Questo può essere fatto utilizzando strumenti come Hydra, Metasploit o manualmente con script personalizzati. È importante implementare misure di sicurezza robuste, come l'uso di password complesse e la limitazione dei tentativi di accesso per proteggere i database PostgreSQL da tali attacchi. ```bash hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt postgres medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgres @@ -433,129 +363,122 @@ use auxiliary/scanner/postgres/postgres_login nmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 legba pgsql --username admin --password wordlists/passwords.txt --target localhost:5432 ``` - ### PPTP Puoi scaricare il pacchetto `.deb` da installare da [https://http.kali.org/pool/main/t/thc-pptp-bruter/](https://http.kali.org/pool/main/t/thc-pptp-bruter/) - ```bash sudo dpkg -i thc-pptp-bruter*.deb #Install the package cat rockyou.txt | thc-pptp-bruter –u ``` - ### RDP -RDP (Remote Desktop Protocol) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. RDP brute force attacks involve trying multiple username and password combinations to gain unauthorized access to a remote system. These attacks can be mitigated by implementing account lockout policies, using complex passwords, and monitoring for multiple failed login attempts. +RDP (Remote Desktop Protocol) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. RDP is commonly used for remote administration and accessing virtual desktops. +#### Brute Force Attack + +A brute force attack against an RDP server involves trying all possible username and password combinations until the correct one is found. This can be achieved using automated tools that systematically generate and test different combinations. Brute force attacks can be time-consuming but are often successful if weak credentials are used. + +#### Mitigation + +To protect against brute force attacks on RDP servers, it is recommended to: +- Use complex and unique passwords +- Implement account lockout policies +- Use multi-factor authentication +- Limit the number of login attempts +- Monitor and log login attempts for suspicious activity ```bash ncrack -vv --user -P pwds.txt rdp:// hydra -V -f -L -P rdp:// legba rdp --target localhost:3389 --username admin --password data/passwords.txt [--rdp-domain ] [--rdp-ntlm] [--rdp-admin-mode] [--rdp-auto-logon] ``` - ### Redis - -Redis è un popolare database in memoria open-source che può essere soggetto a attacchi di forza bruta. Gli attaccanti possono tentare di indovinare le credenziali di accesso utilizzando elenchi predefiniti di password comuni o eseguendo attacchi di dizionario utilizzando strumenti come Hydra o Medusa. È importante proteggere adeguatamente le istanze di Redis utilizzando password complesse e configurazioni di sicurezza adeguate per prevenire con successo gli attacchi di forza bruta. - ```bash msf> use auxiliary/scanner/redis/redis_login nmap --script redis-brute -p 6379 hydra –P /path/pass.txt redis://: # 6379 is the default legba redis --target localhost:6379 --username admin --password data/passwords.txt [--redis-ssl] ``` - ### Rexec -Rexec is a simple service that allows users to execute commands on a remote system. It is often used for testing purposes and can be a target for brute force attacks. - +Rexec è un protocollo di rete che consente a un utente di eseguire comandi su un sistema remoto. Un attaccante potrebbe utilizzare un attacco di forza bruta per indovinare le credenziali di accesso e ottenere l'accesso non autorizzato al sistema remoto. ```bash hydra -l -P rexec:// -v -V ``` - ### Rlogin -Rlogin è un protocollo di rete che consente a un utente di accedere a un altro host su una rete. Questo protocollo è vulnerabile agli attacchi di forza bruta, in cui un attaccante tenta di indovinare le credenziali di accesso provando diverse combinazioni di username e password. Per proteggere un sistema da tali attacchi, è consigliabile utilizzare password complesse e implementare misure di sicurezza aggiuntive come il blocco dell'account dopo un numero specifico di tentativi falliti. - +Rlogin è un protocollo di rete che consente a un utente di accedere a un altro host su una rete. Questo protocollo è vulnerabile agli attacchi di forza bruta, in cui un hacker tenta di indovinare la password dell'utente provando una serie di password diverse. ```bash hydra -l -P rlogin:// -v -V ``` - ### Rsh -Rsh (Remote Shell) is a protocol that allows a user to execute commands on a remote system. It is often targeted during brute-force attacks due to its weak authentication mechanisms. - +Rsh (Remote Shell) is a simple remote shell client included in Unix operating systems. It can be used to execute commands on a remote system. Rsh is often targeted during brute-force attacks due to its lack of encryption and authentication mechanisms. ```bash hydra -L rsh:// -v -V ``` - [http://pentestmonkey.net/tools/misc/rsh-grind](http://pentestmonkey.net/tools/misc/rsh-grind) ### Rsync - ```bash nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873 ``` - ### RTSP -Real Time Streaming Protocol (RTSP) è un protocollo di rete utilizzato per il controllo di flussi multimediali continui, come l'audio o il video. RTSP può essere soggetto a attacchi di forza bruta per tentare di indovinare le credenziali di accesso a un server RTSP. - +Real Time Streaming Protocol (RTSP) è un protocollo di rete utilizzato per il controllo di flussi multimediali continui, come l'audio o il video. È possibile utilizzare tecniche di forza bruta per tentare di ottenere l'accesso non autorizzato a server RTSP. ```bash hydra -l root -P passwords.txt rtsp ``` - ### SFTP - ```bash legba sftp --username admin --password wordlists/passwords.txt --target localhost:22 # Try keys from a folder legba sftp --username admin --password '@/some/path/*' --ssh-auth-mode key --target localhost:22 ``` - ### SNMP - ```bash msf> use auxiliary/scanner/snmp/snmp_login nmap -sU --script snmp-brute [--script-args snmp-brute.communitiesdb= ] onesixtyone -c /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt target.com snmp ``` - ### SMB -Il protocollo SMB (Server Message Block) è un protocollo di rete utilizzato principalmente per fornire condivisione di file, stampa e comunicazioni tra nodi di rete. È comunemente utilizzato in ambienti Windows e può essere soggetto a attacchi di forza bruta per tentare di indovinare le credenziali di accesso. - +Il protocollo SMB (Server Message Block) è un protocollo di rete utilizzato principalmente per condividere file, stampanti, porte seriali e altre risorse tra i nodi di una rete. ```bash nmap --script smb-brute -p 445 hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1 legba smb --target share.company.com --username admin --password data/passwords.txt [--smb-workgroup ] [--smb-share ] ``` - ### SMTP Il Simple Mail Transfer Protocol (SMTP) è un protocollo standard per l'invio di email su una rete. - ```bash hydra -l -P /path/to/passwords.txt smtp -V hydra -l -P /path/to/passwords.txt -s 587 -S -v -V #Port 587 for SMTP with SSL legba smtp --username admin@example.com --password wordlists/passwords.txt --target localhost:25 [--smtp-mechanism ] ``` - ### SOCKS -SOCKS stands for **Socket Secure** and is an internet protocol that routes network packets between a client and a server through a proxy server. It can be used as a method for brute-forcing login credentials by routing the login attempts through a SOCKS proxy to avoid detection. - +SOCKS stands for Socket Secure and is a protocol that routes network packets between a client and a server through a proxy server. It can be used for various purposes, including anonymity, circumventing network filters, and accessing restricted content. SOCKS operates at the transport layer of the OSI model and can be used for both TCP and UDP traffic. ```bash nmap -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m -p 1080 legba socks5 --target localhost:1080 --username admin --password data/passwords.txt # With alternative address legba socks5 --target localhost:1080 --username admin --password data/passwords.txt --socks5-address 'internal.company.com' --socks5-port 8080 ``` - ### SQL Server -### SQL Server +#### Brute Force +Brute force attacks against SQL Server typically involve trying to guess the username and password combinations to gain unauthorized access to the database. This can be done using automated tools that systematically try all possible combinations until the correct one is found. + +#### Prevention + +To prevent brute force attacks against SQL Server, it is recommended to: +- Use strong and complex passwords that are difficult to guess. +- Implement account lockout policies to lock out users after a certain number of failed login attempts. +- Monitor and log login attempts to detect and respond to suspicious activity. +- Consider using multi-factor authentication to add an extra layer of security to the login process. ```bash #Use the NetBIOS name of the machine as domain crackmapexec mssql -d -u usernames.txt -p passwords.txt @@ -564,11 +487,9 @@ medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M mssq nmap -p 1433 --script ms-sql-brute --script-args mssql.domain=DOMAIN,userdb=customuser.txt,passdb=custompass.txt,ms-sql-brute.brute-windows-accounts #Use domain if needed. Be careful with the number of passwords in the list, this could block accounts msf> use auxiliary/scanner/mssql/mssql_login #Be careful, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT ``` - ### SSH -SSH (Secure Shell) è un protocollo crittografico che consente di stabilire connessioni sicure su una rete non sicura. È comunemente utilizzato per accedere in remoto a server e dispositivi di rete. - +SSH (Secure Shell) è un protocollo crittografico che consente di stabilire connessioni sicure su una rete non sicura. Utilizzando tecniche di forza bruta, un attaccante potrebbe tentare di indovinare la password di accesso a un server SSH. ```bash hydra -l root -P passwords.txt [-t 32] ssh ncrack -p 22 --user root -P passwords.txt [-T 5] @@ -578,7 +499,6 @@ legba ssh --username admin --password wordlists/passwords.txt --target localhost # Try keys from a folder legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --target localhost:22 ``` - #### Chiavi SSH deboli / PRNG prevedibile di Debian Alcuni sistemi presentano difetti noti nel seme casuale utilizzato per generare materiale crittografico. Ciò può risultare in uno spazio delle chiavi drasticamente ridotto che può essere forzato con strumenti come [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute). Set pre-generati di chiavi deboli sono disponibili anche come [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh). @@ -586,15 +506,12 @@ Alcuni sistemi presentano difetti noti nel seme casuale utilizzato per generare ### STOMP (ActiveMQ, RabbitMQ, HornetQ e OpenMQ) Il protocollo di testo STOMP è un protocollo di messaggistica ampiamente utilizzato che **consente una comunicazione e interazione senza soluzione di continuità con servizi di code di messaggi popolari** come RabbitMQ, ActiveMQ, HornetQ e OpenMQ. Fornisce un approccio standardizzato ed efficiente per lo scambio di messaggi e l'esecuzione di varie operazioni di messaggistica. - ```bash legba stomp --target localhost:61613 --username admin --password data/passwords.txt ``` - ### Telnet Telnet è un protocollo di rete che consente di stabilire una connessione remota con un dispositivo tramite la rete. Questo protocollo è spesso utilizzato per l'amministrazione remota dei dispositivi di rete. - ```bash hydra -l root -P passwords.txt [-t 32] telnet ncrack -p 23 --user root -P passwords.txt [-T 5] @@ -609,16 +526,16 @@ legba telnet \ --telnet-prompt ":~$ " \ --single-match # this option will stop the program when the first valid pair of credentials will be found, can be used with any plugin ``` - ### VNC +VNC (Virtual Network Computing) is a graphical desktop sharing system that allows you to remotely control another computer. It is commonly used for technical support and remote administration. ```bash hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s vnc medusa -h –u root -P /root/Desktop/pass.txt –M vnc ncrack -V --user root -P /root/Desktop/pass.txt :>POR>T patator vnc_login host= password=FILE0 0=/root/Desktop/pass.txt –t 1 –x retry:fgep!='Authentication failure' --max-retries 0 –x quit:code=0 use auxiliary/scanner/vnc/vnc_login -nmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 +nmap -p 5900,5901 --script vnc-brute --script-args brute.credfile=wordlist.txt legba vnc --target localhost:5901 --password data/passwords.txt #Metasploit @@ -626,19 +543,16 @@ use auxiliary/scanner/vnc/vnc_login set RHOSTS set PASS_FILE /usr/share/metasploit-framework/data/wordlists/passwords.lst ``` - ### Winrm -Winrm (Windows Remote Management) è un protocollo di gestione remota sviluppato da Microsoft che consente la comunicazione tra computer su una rete. È possibile utilizzare attacchi di forza bruta per tentare di indovinare le credenziali di accesso e ottenere l'accesso non autorizzato al sistema target. - +Winrm (Windows Remote Management) è un protocollo di gestione remota sviluppato da Microsoft che consente la comunicazione tra computer su una rete. È possibile utilizzare attacchi di forza bruta per indovinare le credenziali di accesso e ottenere l'accesso non autorizzato a sistemi Windows vulnerabili. ```bash crackmapexec winrm -d -u usernames.txt -p passwords.txt ``` - -
+
\ -Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\ +Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\ Ottieni l'accesso oggi: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -648,7 +562,7 @@ Ottieni l'accesso oggi: ### Database di cracking online * [~~http://hashtoolkit.com/reverse-hash?~~](http://hashtoolkit.com/reverse-hash?) (MD5 & SHA1) -* [https://shuck.sh/get-shucking.php](https://shuck.sh/get-shucking.php) (MSCHAPv2/PPTP-VPN/NetNTLMv1 con/senza ESS/SSP e con qualsiasi valore di sfida) +* [https://shuck.sh/get-shucking.php](https://shuck.sh/get-shucking.php) (MSCHAPv2/PPTP-VPN/NetNTLMv1 con/senza ESS/SSP e con qualsiasi valore di challenge) * [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com) (Hash, catture WPA2 e archivi MSOffice, ZIP, PDF...) * [https://crackstation.net/](https://crackstation.net) (Hash) * [https://md5decrypt.net/](https://md5decrypt.net) (MD5) @@ -662,7 +576,6 @@ Ottieni l'accesso oggi: Controlla questo prima di provare a eseguire un attacco di forza bruta su un hash. ### ZIP - ```bash #sudo apt-get install fcrackzip fcrackzip -u -D -p '/usr/share/wordlists/rockyou.txt' chall.zip @@ -678,12 +591,10 @@ john zip.john hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt .\hashcat.exe -m 13600 -i -a 0 .\hashzip.txt #Incremental attack ``` - #### Attacco zip con testo in chiaro conosciuto -È necessario conoscere il **testo in chiaro** (o parte del testo in chiaro) **di un file contenuto all'interno** dello zip crittografato. È possibile controllare **i nomi dei file e le dimensioni dei file contenuti all'interno** di uno zip crittografato eseguendo: **`7z l encrypted.zip`**\ +È necessario conoscere il **testo in chiaro** (o parte del testo in chiaro) **di un file contenuto all'interno** dello zip crittografato. È possibile verificare **i nomi dei file e le dimensioni dei file contenuti all'interno** di uno zip crittografato eseguendo: **`7z l encrypted.zip`**\ Scarica [**bkcrack**](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0) dalla pagina dei rilasci. - ```bash # You need to create a zip file containing only the file that is inside the encrypted zip zip plaintext.zip plaintext.file @@ -695,11 +606,9 @@ zip plaintext.zip plaintext.file ./bkcrack -C -k 7b549874 ebc25ec5 7e465e18 -U unlocked.zip new_pwd unzip unlocked.zip #User new_pwd as password ``` - ### 7z ### 7z - ```bash cat /usr/share/wordlists/rockyou.txt | 7za t backup.7z ``` @@ -710,21 +619,23 @@ wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo apt-get install libcompress-raw-lzma-perl ./7z2john.pl file.7z > 7zhash.john ``` - ### PDF #### Brute Force -Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is usually very time-consuming and resource-intensive, but it can be effective against weak passwords or encryption keys. +Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is usually used when the password is unknown and there is no other way to obtain it. Brute force attacks can be time-consuming but are often effective. -#### Tools +#### Dictionary Attacks -There are several tools available for conducting brute force attacks, such as Hydra, Medusa, and John the Ripper. These tools can be customized to target specific protocols or services, making them versatile and powerful for penetration testing purposes. +Dictionary attacks involve using a predefined list of words to try as passwords. These lists can be general or specific to the target, increasing the chances of success. Dictionary attacks are usually faster than brute force attacks because they do not need to generate all possible combinations. -#### Mitigation +#### Rainbow Tables -To mitigate brute force attacks, it is essential to enforce strong password policies, implement account lockout mechanisms, and use multi-factor authentication. Additionally, monitoring and logging failed login attempts can help detect and respond to brute force attacks in a timely manner. +Rainbow tables are precomputed tables used to crack password hashes. They are generated in advance and contain the hashes of common passwords. By comparing the hash of the target password with the hashes in the rainbow table, the original password can be retrieved quickly. +#### Hybrid Attacks + +Hybrid attacks combine dictionary attacks with brute force attacks. They start by using the dictionary list and then switch to brute force if the password is not found. This method is more efficient than brute force alone and can save time by trying common passwords first. ```bash apt-get install pdfcrack pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt @@ -733,13 +644,11 @@ pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt sudo apt-get install qpdf qpdf --password= --decrypt encrypted.pdf plaintext.pdf ``` - ### Password Proprietario PDF Per crackare una password del proprietario di un PDF, controlla qui: [https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/](https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/) ### JWT - ```bash git clone https://github.com/Sjord/jwtcrack.git cd jwtcrack @@ -751,17 +660,13 @@ python crackjwt.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5h python jwt2john.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc > jwt.john john jwt.john #It does not work with Kali-John ``` - ### Crack di NTLM - ```bash Format:USUARIO:ID:HASH_LM:HASH_NT::: john --wordlist=/usr/share/wordlists/rockyou.txt --format=NT file_NTLM.hashes hashcat -a 0 -m 1000 --username file_NTLM.hashes /usr/share/wordlists/rockyou.txt --potfile-path salida_NT.pot ``` - ### Keepass - ```bash sudo apt-get install -y kpcli #Install keepass tools like keepass2john keepass2john file.kdbx > hash #The keepass is only using password @@ -769,32 +674,26 @@ keepass2john -k file.kdbx > hash # The keepass is also using a f #The keepass can use a password and/or a file as credentials, if it is using both you need to provide them to keepass2john john --wordlist=/usr/share/wordlists/rockyou.txt hash ``` - ### Keberoasting -Keberoasting è una tecnica che sfrutta debolezze nella gestione delle password per estrarre hash di password da servizi come Kerberos. Una volta ottenuti gli hash, possono essere decrittati offline per ottenere le password in chiaro. - +Keberoasting è una tecnica di attacco che sfrutta debolezze nella gestione delle password degli account di servizio. Gli attaccanti mirano agli account di servizio Kerberos per ottenere i TGT (Ticket Granting Ticket) e successivamente eseguire un attacco di forza bruta per recuperare le password degli account. ```bash john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt ./tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi ``` - ### Immagine di Lucks #### Metodo 1 Installazione: [https://github.com/glv2/bruteforce-luks](https://github.com/glv2/bruteforce-luks) - ```bash bruteforce-luks -f ./list.txt ./backup.img cryptsetup luksOpen backup.img mylucksopen ls /dev/mapper/ #You should find here the image mylucksopen mount /dev/mapper/mylucksopen /mnt ``` - #### Metodo 2 - ```bash cryptsetup luksDump backup.img #Check that the payload offset is set to 4096 dd if=backup.img of=luckshash bs=512 count=4097 #Payload offset +1 @@ -803,39 +702,33 @@ cryptsetup luksOpen backup.img mylucksopen ls /dev/mapper/ #You should find here the image mylucksopen mount /dev/mapper/mylucksopen /mnt ``` - Un altro tutorial su Luks BF: [http://blog.dclabs.com.br/2020/03/bruteforcing-linux-disk-encription-luks.html?m=1](http://blog.dclabs.com.br/2020/03/bruteforcing-linux-disk-encription-luks.html?m=1) ### Mysql - ```bash #John hash format :$mysqlna$* dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c918dbd998e0d1f3f9d ``` - ### Chiave privata PGP/GPG - ```bash gpg2john private_pgp.key #This will generate the hash and save it in a file john --wordlist=/usr/share/wordlists/rockyou.txt ./hash ``` - ### Cisco -
+
### Chiave Master DPAPI -Usa [https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) e poi john +Utilizzare [https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) e poi john ### Colonna Protetta da Password di Open Office -Se hai un file xlsx con una colonna protetta da una password puoi rimuoverla: +Se hai un file xlsx con una colonna protetta da una password, puoi rimuoverla: * **Caricalo su Google Drive** e la password verrà rimossa automaticamente * Per rimuoverla **manualmente**: - ```bash unzip file.xlsx grep -R "sheetProtection" ./* @@ -844,20 +737,17 @@ hashValue="hFq32ZstMEekuneGzHEfxeBZh3hnmO9nvv8qVHV8Ux+t+39/22E3pfr8aSuXISfrRV9UV # Remove that line and rezip the file zip -r file.xls . ``` - ### Certificati PFX - ```bash # From https://github.com/Ridter/p12tool ./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt # From https://github.com/crackpkcs12/crackpkcs12 crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx ``` - -
+
\ -Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\ +Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\ Ottieni l'accesso oggi: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -867,12 +757,10 @@ Ottieni l'accesso oggi: **Esempi di hash:** [https://openwall.info/wiki/john/sample-hashes](https://openwall.info/wiki/john/sample-hashes) ### Identificatore di hash - ```bash hash-identifier > ``` - ### Liste di parole * **Rockyou** @@ -883,20 +771,16 @@ hash-identifier ### **Strumenti di generazione di liste di parole** * [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Generatore avanzato di sequenze di tasti con caratteri di base configurabili, mappatura dei tasti e percorsi. - ```bash kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt ``` - ### Mutazione di John Leggi _**/etc/john/john.conf**_ e configurarlo - ```bash john --wordlist=words.txt --rules --stdout > w_mutated.txt john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules ``` - ### Hashcat #### Attacchi Hashcat @@ -904,16 +788,13 @@ john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules * **Attacco con lista di parole** (`-a 0`) con regole **Hashcat** già include una **cartella contenente regole** ma puoi trovare [**altre regole interessanti qui**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules). - ``` hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule ``` - * **Attacco di combinazione di elenchi di parole** È possibile **combinare 2 elenchi di parole in 1** con hashcat.\ -Se l'elenco 1 contenesse la parola **"ciao"** e il secondo contenesse 2 righe con le parole **"mondo"** e **"terra"**. Le parole `ciaomondo` e `ciaoterra` verranno generate. - +Se l'elenco 1 contenesse la parola **"ciao"** e il secondo contenesse 2 righe con le parole **"mondo"** e **"terra"**. Le parole `ciaomondo` e `ciaoearth` verranno generate. ```bash # This will combine 2 wordlists hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt @@ -924,9 +805,7 @@ hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt ## hello-earth! hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt -j $- -k $! ``` - * **Attacco a maschera** (`-a 3`) - ```bash # Mask attack with simple mask hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt ?u?l?l?l?l?l?l?l?d @@ -958,9 +837,7 @@ hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt -1 ?d?s ?u?l?l?l?l?l?l?l?1 ## Use it to crack the password hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt .\masks.hcmask ``` - * Attacco Wordlist + Maschera (`-a 6`) / Maschera + Wordlist (`-a 7`) - ```bash # Mask numbers will be appended to each word in the wordlist hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d @@ -968,92 +845,95 @@ hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d # Mask numbers will be prepended to each word in the wordlist hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt ``` - #### Modalità di Hashcat - ```bash hashcat --example-hashes | grep -B1 -A2 "NTLM" ``` +# Brute Forcing Linux Hashes - File /etc/shadow -## Brute Forcing +## Introduction -### Introduction +When attempting to crack Linux password hashes stored in the `/etc/shadow` file, a common approach is to use brute force techniques. This involves systematically trying all possible combinations of characters until the correct password is found. -Brute forcing is a common technique used to crack passwords by systematically trying all possible combinations of characters until the correct one is found. In the context of cracking Linux hashes from the `/etc/shadow` file, brute forcing involves generating potential passwords and hashing them using the same algorithm and salt as the target hash. +## Methodology -### Tools +1. **Obtain the Hash**: First, you need to obtain the hash of the password you want to crack from the `/etc/shadow` file. -There are various tools available for brute forcing passwords, such as John the Ripper, Hashcat, and Hydra. These tools support different algorithms and techniques to crack passwords efficiently. +2. **Select a Tool**: Choose a suitable password cracking tool such as John the Ripper or Hashcat. -### Methodology +3. **Generate Wordlist**: Create a wordlist containing potential passwords based on common patterns, dictionaries, or rules. -1. **Obtain the Hash**: First, you need to obtain the hash of the password you want to crack from the `/etc/shadow` file on a Linux system. -2. **Select a Tool**: Choose a suitable password cracking tool based on the hash algorithm used in the target hash. -3. **Generate Password List**: Create a list of potential passwords to be used for brute forcing. This list can be generated based on common passwords, dictionaries, or custom wordlists. -4. **Start Brute Forcing**: Use the selected tool to start the brute forcing process by feeding it the hash to be cracked and the password list. -5. **Wait for Results**: Depending on the complexity of the password and the computational power available, the brute forcing process may take some time to find the correct password. -6. **Verify the Password**: Once the tool finds a matching password, verify it by logging in to the target system using the cracked password. +4. **Start Brute Forcing**: Use the selected tool to systematically try each password in the wordlist until a match is found. -### Conclusion +5. **Optimize**: Adjust the brute force parameters such as character set, password length, and rules to optimize the cracking process. -Brute forcing is a powerful technique for cracking passwords, but it can be resource-intensive and time-consuming, especially for complex passwords. It is essential to use strong and unique passwords to protect sensitive information from unauthorized access. +6. **Monitor Progress**: Monitor the cracking process to track the number of passwords tried and the estimated time to completion. +7. **Success**: Once the correct password is found, you can use it to gain unauthorized access to the target system. + +## Conclusion + +Brute forcing Linux password hashes from the `/etc/shadow` file can be a time-consuming process, but with the right tools and techniques, it is possible to crack even complex passwords. It is essential to use this knowledge responsibly and only for authorized security testing purposes. ``` 500 | md5crypt $1$, MD5(Unix) | Operating-Systems 3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems 7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems 1800 | sha512crypt $6$, SHA512(Unix) | Operating-Systems ``` +# Brute Force -## Brute Forcing Windows Hashes +## Introduction -### Introduction +Brute force attacks are a common way to crack passwords. They involve trying all possible combinations of characters until the correct one is found. Brute force attacks can be time-consuming but are often effective. -When it comes to cracking Windows hashes, one of the most common methods is brute forcing. This technique involves trying all possible combinations of characters until the correct password is found. +## Tools -### Tools +There are many tools available for conducting brute force attacks. Some popular ones include: -There are several tools available for brute forcing Windows hashes, such as **John the Ripper** and **Hashcat**. These tools are capable of running through large wordlists and character sets to crack the hashes. +- **John the Ripper**: A versatile password cracking tool that can perform brute force attacks among other techniques. +- **Hashcat**: A powerful password recovery tool that supports multiple hashing algorithms. +- **Hydra**: A fast and flexible network login cracker. -### Methodology +## Methodology -1. Obtain the Windows hash that you want to crack. -2. Choose a tool such as John the Ripper or Hashcat. -3. Provide the tool with the hash and specify the character set and wordlist to use. -4. Start the brute force attack and wait for the tool to find the correct password. +When conducting a brute force attack on Windows hashes, the following steps are typically followed: -### Considerations +1. **Capture Hash**: Obtain the password hash from the target system. +2. **Wordlist Generation**: Create a wordlist containing possible passwords. +3. **Brute Force Attack**: Use a tool like John the Ripper or Hashcat to perform the brute force attack. +4. **Crack Password**: Once the correct password is found, it can be used to gain unauthorized access to the system. -* Brute forcing can be a time-consuming process, especially for complex passwords. -* It is important to use a good wordlist and character set to increase the chances of success. -* Brute forcing should be used as a last resort when other methods have failed. - -By following these steps and using the right tools, you can effectively crack Windows hashes using brute force techniques. +## Conclusion +Brute force attacks can be a powerful tool for cracking passwords, including Windows hashes. It is important to use them responsibly and ethically, as unauthorized access to systems can have serious consequences. ``` 3000 | LM | Operating-Systems 1000 | NTLM | Operating-Systems ``` - ## Brute Force -### Introduction +### Description -Brute force attacks are a common way to crack passwords by systematically trying all possible combinations of characters until the correct one is found. This technique can also be used to crack common application hashes. +Brute force attacks are a common way to crack passwords. This method involves trying all possible combinations of characters until the correct password is found. Brute force attacks can be time-consuming but are effective against weak passwords. -### Methodology +### Tools -1. **Identify Hash Algorithm**: Determine the hash algorithm used by the application to generate the hashes. -2. **Generate Wordlist**: Create a wordlist containing commonly used passwords, dictionary words, and variations. -3. **Brute Force Attack**: Use a tool like Hashcat or John the Ripper to systematically generate hashes from the wordlist and compare them to the target hash. -4. **Optimize**: Adjust the brute force attack parameters such as character set, length, and rules to increase efficiency. -5. **Crack the Hash**: Once a matching hash is found, the corresponding password is cracked. +- **John the Ripper**: A popular password-cracking tool that can perform brute force attacks. +- **Hashcat**: Another powerful tool for password cracking that supports various algorithms and attack types. +- **Hydra**: A fast and flexible password-cracking tool that supports multiple protocols. + +### Techniques + +1. **Dictionary Attack**: Involves using a list of common passwords or words to crack passwords. +2. **Mask Attack**: Allows you to specify the password format using placeholders for characters. +3. **Hybrid Attack**: Combines dictionary and brute force attacks to crack passwords more efficiently. +4. **Rule-based Attack**: Applies specific rules to password cracking attempts, such as adding numbers or special characters. ### Resources -* Hashcat: [https://hashcat.net/hashcat/](https://hashcat.net/hashcat/) -* John the Ripper: [https://www.openwall.com/john/](https://www.openwall.com/john/) - +- [CrackStation](https://crackstation.net/): Online hash cracker that supports various hash algorithms. +- [Hashes.org](https://hashes.org/): Online hash cracking service with a large hash database. +- [SecLists](https://github.com/danielmiessler/SecLists): Collection of security-related lists for password cracking. ``` 900 | MD4 | Raw Hash 0 | MD5 | Raw Hash @@ -1063,25 +943,24 @@ Brute force attacks are a common way to crack passwords by systematically trying 1400 | SHA-256 | Raw Hash 1700 | SHA-512 | Raw Hash ``` -
-Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! Altri modi per supportare HackTricks: * Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) -* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family) +* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family) * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
-
+
\ -Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\ +Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\ Ottieni l'accesso oggi: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}