derv82 / wifite2

Rewrite of the popular wireless network auditor, "wifite"
GNU General Public License v2.0
6.45k stars 1.32k forks source link

Implementation #448

Open peterpt opened 1 year ago

peterpt commented 1 year ago

It would be nice to had hashcat also as an option to decrypt wpa keys without using wordlists . The generic problem of decrypting wpa keys is that everyone relies on most common wifi passwords , but if you already know witch type of password structure that wifi have and you know that is not on the most gigantic password list and it is just 8 characters with numbers and low caption letters then wifite2 will never get it . Implementing hashcat with an option for user to choose how many characters should be guessed in hashcat and witch type of characters would be nice . what i mean in all of this is , if you get an wifi password like this : 7d82nh59 then wifite2 will never be able to crack it with current tools that is using . Yes , it may take a long time to crack it , but it worth .

HeartB1t commented 1 year ago

Hello Wifite2 Team,

I am a heavy user of Wifite2. I would like to share some ideas that could further improve this amazing tool.

Hashcat Integration with Specifying Password Length: Currently, Wifite2 effectively uses Hashcat for password cracking. A useful addition would be the ability to specify the minimum and maximum password character length directly from Wifite2 when starting Hashcat. This would allow users to better refine their cracking strategies based on password information they may already have.

Checking for Duplicate Captures: Also, I noticed that Wifite2 saves all handshake and PMKID captures in the hs/ folder, regardless of the fact that some may have already been cracked or duplicated. I propose implementing a feature that checks whether a handshake or PMKID for a particular BSSID has already been processed. This would avoid unnecessary repetition of captures and save disk space. Attached you will find a Bash script that I developed to implement this control manually.

I hope these ideas can be considered for future versions of Wifite2. Thank you for your continued commitment to improving this powerful tool.

Best regards,

Example:

Ottieni una lista degli AP per cui gli handshake sono già stati craccati

cracked_hs=$(wifite --cracked | awk '{print $1}')

Itera su tutte le wordlist nella directory specificata

for wordlist in /path/to/wordlists/*; do

Itera su tutti i file di handshake

for hs_file in /path/to/handshakes/*.cap; do
    # Estrai il nome base del file di handshake (modifica questa parte se necessario)
    hs_name=$(basename "$hs_file" .cap)

    # Controlla se l'handshake non è nella lista degli AP già craccati
    if [[ ! $cracked_hs =~ $hs_name ]]; then
        # Esegue Wifite per tentare il cracking con la wordlist specificata
        wifite --crack --dict "$wordlist" --hs "$hs_file"
        # Inserisci qui eventuali altri comandi o controlli
    fi
done

done