Hashcat(1)
π hashcat(1) β General Commands Manual π
okay bestie, sit DOWN. this is the manual for hashcat, and it's lowkey the most iconic password recovery tool in the game. it's a General Commands Manual situation, so you already know it's giving official. grab a boba, we're doing this. π§β¨
β¨ NAME β¨
hashcat β Advanced CPU-based password recovery utility
β¨ SYNOPSIS β¨
hashcat [options] hashfile [mask|wordfiles|directories]
πΈ DESCRIPTION πΈ
Hashcat is the world's fastest CPU-based password recovery tool. periodt.
Now listen β it's not as fast as its GPU counterpart oclHashcat, no cap. but if you've got large lists, you can easily split them in half with a good dictionary and a lil bit of knowledge of the command switches. it's giving resourceful. π
Hashcat is the self-proclaimed world's fastest CPU-based password recovery tool, and examples of hashcat-supported hashing algorithms include Microsoft LM Hashes, MD4, MD5, SHA-family, Unix Crypt formats, MySQL, and Cisco PIX. iconic lineup fr fr. π
π OPTIONS π
okay this is the big one. every flag, every vibe, no skips. π«Ά
-h,--helpβ show a summary of options. your lil cheat sheet.-V,--versionβ show the version of the program.-m,--hash-type=NUMβ the hash-type. see the references below, bestie.-a,--attack-mode=NUMβ the attack-mode. also in the references below.--quietβ suppress output. shhh. π€«--forceβ ignore warnings. (the audacity, but okay.)--stdin-timeout-abortβ abort if there's no input from stdin for X seconds.--machine-readableβ display the status view in a machine-readable format.--keep-guessingβ keep guessing the hash even after it's been cracked. obsessed with the grind.--self-test-disableβ disable self-test functionality on startup.--loopbackβ add new plains to the induct directory.-b,--benchmarkβ run a benchmark.--hex-saltβ assume the salt is given in hex.--hex-charsetβ assume the charset is given in hex.--hex-wordlistβ assume the words in the wordlist are given in hex.--runtime=NUMβ abort the session afterNUMseconds of runtime.--statusβ enable automatic update of the status-screen. main character energy.--status-timer=NUMβ seconds between status-screen updates.-o,--outfile=FILEβ define the outfile for the recovered hash.--outfile-format=NUMβ define the outfile-format for the recovered hash. see the references below.--outfile-autohex-disableβ disable the use of$HEX[]in output plains.-p,--separator=CHARβ define the separator char for hashlists/outfile.--showβ show cracked passwords only (see--username).--leftβ show uncracked passwords only (see--username).--usernameβ enable ignoring of usernames in the hashfile. (Recommended: also use--show.)--removeβ enable removal of the hash once it's cracked.--stdoutβ stdout mode.--potfile-disableβ do not write the potfile.--debug-mode=NUMβ defines the debug mode (hybrid only, by using rules). see the references below.--debug-file=FILEβ output file for debugging rules (see--debug-mode).-c,--segment-size=NUMβ size in MB to cache from the wordfile.-r,--rules-file=FILEβ rules-file use:-r 1.rule-g,--generate-rules=NUMβ generateNUMrandom rules.--generate-rules-func-min=NUMβ forceNUMfunctions per random rule minimum.--generate-rules-func-max=NUMβ forceNUMfunctions per random rule maximum.--generate-rules-seed=NUMβ force the RNG seed toNUM.-1,--custom-charset1=CSβ user-defined charsets. example:--custom-charset1=?dabcdefsets charset?1to0123456789abcdef.-1 mycharset.hcchrsets charset?1to the chars contained in the file.-2,--custom-charset2=CSβ user-defined charsets. example:--custom-charset2=?dabcdefsets charset?2to0123456789abcdef.-2 mycharset.hcchrsets charset?2to the chars con$ (yes bestie, that's literally how it's written in the original, we don't question thecon$)-3,--custom-charset3=CSβ user-defined charsets. example:--custom-charset3=?dabcdefsets charset?3to0123456789abcdef.-3 mycharset.hcchrsets charset?3to the chars con$-4,--custom-charset4=CSβ user-defined charsets. example:--custom-charset4=?dabcdefsets charset?4to0123456789abcdef.-4 mycharset.hcchrsets charset?4to the chars con$--incrementβ enable increment mode.--increment-min=NUMβ start incrementing atNUM.--increment-max=NUMβ stop incrementing atNUM.--markov-hcstat2β specify the hcstat2 file to use.--markov-disableβ disables markov-chains, emulates classic brute-force.--markov-classicβ enables classic markov-chains, no per-position.-t,--markov-thresholdβ thresholdXfor when to stop accepting new markov-chains.--session=STRβ define a specific session name.--restoreβ restore the session from--session.--restore-disableβ do not write the restore file.--restore-file-path=FILEβ specific path to the restore file.--outfile-check-timer=NUMβ sets the seconds between outfile checks toX.--wordlist-autohex-disableβ disable the conversion of$HEX[]from the wordlist.--remove-timer=NUMβ update the input hash file eachXseconds.--potfile-path=FILEβ specific path to the potfile.--encoding-from=CODEβ force the internal wordlist encoding fromX.--encoding-to=CODEβ force the internal wordlist encoding toX.--induction-dir=DIRβ specify the induction directory to use for loopback.--outfile-check-dir=DIRβ specify the outfile directory to monitor for plains.--logfile-disableβ disable the logfile.--hccapx-message-pair=NUMβ load only message pairs from hccapx matchingX.--nonce-error-corrections=NUMβ the BF size range to replace AP's nonce last bytes.--keyboard-layout-mapping=FILEβ keyboard layout mapping table for special hash-modes.--truecrypt-keyfiles=FILEβ keyfiles to use, separated with commas.--veracrypt-keyfiles=FILEβ keyfiles to use, separated with commas.--veracrypt-pim=NUMβ VeraCrypt personal iterations multiplier.--benchmark-allβ run a benchmark of all hash-modes.--speed-onlyβ return the expected speed of the attack, then quit.--progress-onlyβ return the ideal progress step size and time to process.--bitmap-min=NUMβ sets the minimum bits allowed for bitmaps toX.--bitmap-max=NUMβ sets the maximum bits allowed for bitmaps toX.--cpu-affinity=STRβ locks to CPU devices, separated with commas.--example-hashesβ show an example hash for each hash-mode.-I,--opencl-infoβ show info about detected OpenCL platforms/devices.--opencl-platforms=STRβ OpenCL platforms to use, separated with commas.-d,--opencl-devices=STRβ OpenCL devices to use, separated with commas.-D,--opencl-device-types=STRβ OpenCL device-types to use, separated with commas.--opencl-vector-width=NUMβ manually override the OpenCL vector-width toX.-O,--optimized-kernel-enableβ enable optimized kernels (this limits password length, jsyk π).-w,--workload-profile=NUMβ enable a specific workload profile. see the pool below.-n,--kernel-accel=NUMβ manual workload tuning: set the outerloop step size toX.-u,--kernel-loops=NUMβ manual workload tuning: set the innerloop step size toX.-T,--kernel-threads=NUMβ manual workload tuning: set the thread count toX.--spin-damp=NUMβ use CPU for device synchronization, in percent.--hwmon-disableβ disable temperature and fanspeed reads and triggers.--hwmon-temp-abort=NUMβ abort if the temperature reachesXdegrees Celsius.--scrypt-tmto=NUMβ manually override the TMTO value for scrypt toX.-s,--skip=NUMβ skipXwords from the start.-l,--limit=NUMβ limitXwords from the start + skipped words.--keyspaceβ show keyspace base:mod values and quit.-j,--rule-left RULEβ single rule applied to each word from the left wordlist.-k,--rule-right RULEβ single rule applied to each word from the right wordlist.-S,--slow-candidatesβ enable slower (but advanced) candidate generators.--brain-serverβ enable the brain server.-z,--brain-clientβ enable the brain client, and it activates-S.--brain-client-features=NUMβ define brain client features, see below.--brain-host=STRβ brain server host (IP or domain).--brain-port=PORTβ brain server port.--brain-password=STRβ brain server authentication password.--brain-session=HEXβ overrides the automatically calculated brain session.--brain-session-whitelist=HEXβ allow given sessions only, separated with commas.
π¦ Permutation attack-mode options π¦
(that's literally all it says up there, bestie β moving on, don't shoot the messenger)
π Outfile formats π
one per line, exactly as written:
1 = hash[:salt]
2 = plain
3 = hash[:salt]:plain
4 = hex_plain
5 = hash[:salt]:hex_plain
6 = plain:hex_plain
7 = hash[:salt]:plain:hex_plain
8 = crackpos
9 = hash[:salt]:crack_pos
10 = plain:crack_pos
11 = hash[:salt]:plain:crack_pos
12 = hex_plain:crack_pos
13 = hash[:salt]:hex_plain:crack_pos
14 = plain:hex_plain:crack_pos
15 = hash[:salt]:plain:hex_plain:crack_pos
π Debug mode output formats π
heads up: this one's for hybrid mode only, and only when you're using rules. iykyk.
1 = save finding rule
2 = save original word
3 = save original word and finding rule
4 = save original word, finding rule and modified plain
β Built-in charsets β
the holy grail, bestie. memorize these:
?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?h = 0123456789abcdef
?H = 0123456789ABCDEF
?s = !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff
π Attack mode π
the vibes menu, fr:
0 = Straight
1 = Combination
3 = Brute-force
6 = Hybrid Wordlist + Mask
7 = Hybrid Mask + Wordlist
β¨ Hash types β¨
okay bestie, gather round because this is the big one. the hash type menu. every number is a different flavor of "we're getting that password back". i'm not gonna lie, it's giving encyclopedia, but you asked for the whole thing so here's the whole thing. no skips. no cap. π
0=MD510=md5($pass.$salt)20=md5($salt.$pass)30=md5(unicode($pass).$salt)40=md5($salt.unicode($pass))50=HMAC-MD5 (key = $pass)60=HMAC-MD5 (key = $salt)100=SHA1110=sha1($pass.$salt)120=sha1($salt.$pass)130=sha1(unicode($pass).$salt)140=sha1($salt.unicode($pass))150=HMAC-SHA1 (key = $pass)160=HMAC-SHA1 (key = $salt)200=MySQL323300=MySQL4.1/MySQL5400=phpass, MD5(Wordpress), MD5(phpBB3), MD5(Joomla)500=md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5900=MD41000=NTLM1100=Domain Cached Credentials (DCC), MS Cache1400=SHA2561410=sha256($pass.$salt)1420=sha256($salt.$pass)1430=sha256(unicode($pass).$salt)1431=base64(sha256(unicode($pass)))1440=sha256($salt.unicode($pass))1450=HMAC-SHA256 (key = $pass)1460=HMAC-SHA256 (key = $salt)1600=md5apr1, MD5(APR), Apache MD51700=SHA5121710=sha512($pass.$salt)1720=sha512($salt.$pass)1730=sha512(unicode($pass).$salt)1740=sha512($salt.unicode($pass))1750=HMAC-SHA512 (key = $pass)1760=HMAC-SHA512 (key = $salt)1800=SHA-512(Unix)2400=Cisco-PIX MD52410=Cisco-ASA MD52500=WPA/WPA22600=Double MD53200=bcrypt, Blowfish(OpenBSD)3300=MD5(Sun)3500=md5(md5(md5($pass)))3610=md5(md5($salt).$pass)3710=md5($salt.md5($pass))3720=md5($pass.md5($salt))3800=md5($salt.$pass.$salt)3910=md5(md5($pass).md5($salt))4010=md5($salt.md5($salt.$pass))4110=md5($salt.md5($pass.$salt))4210=md5($username.0.$pass)4300=md5(strtoupper(md5($pass)))4400=md5(sha1($pass))4500=Double SHA14600=sha1(sha1(sha1($pass)))4700=sha1(md5($pass))4800=MD5(Chap), iSCSI CHAP authentication4900=sha1($salt.$pass.$salt)5000=SHA-3(Keccak)5100=Half MD55200=Password Safe SHA-2565300=IKE-PSK MD55400=IKE-PSK SHA15500=NetNTLMv1-VANILLA / NetNTLMv1-ESS5600=NetNTLMv25700=Cisco-IOS SHA2565800=Android PIN6300=AIX {smd5}6400=AIX {ssha256}6500=AIX {ssha512}6700=AIX {ssha1}6900=GOST, GOST R 34.11-947000=Fortigate (FortiOS)7100=OS X v10.8+7200=GRUB 27300=IPMI2 RAKP HMAC-SHA17400=sha256crypt, SHA256(Unix)7900=Drupal78400=WBB3, Woltlab Burning Board 38900=scrypt9200=Cisco $8$9300=Cisco $9$9800=Radmin210000=Django (PBKDF2-SHA256)10200=Cram MD510300=SAP CODVN H (PWDSALTEDHASH) iSSHA-111000=PrestaShop11100=PostgreSQL Challenge-Response Authentication (MD5)11200=MySQL Challenge-Response Authentication (SHA1)11400=SIP digest authentication (MD5)99999=Plaintext
that's the whole hash type menu, bestie. every single one. no cap. π«Ά
π¦ Specific hash type π¦
and here's the specific hash type section, separate from the big list above. still valid, still here, still slaying. these are the special little guys. π
11=Joomla < 2.5.1812=PostgreSQL21=osCommerce, xt:Commerce23=Skype101=nsldap, SHA-1(Base64), Netscape LDAP SHA111=nsldaps, SSHA-1(Base64), Netscape LDAP SSHA112=Oracle S: Type (Oracle 11+)121=SMF > v1.1122=OS X v10.4, v10.5, v10.6123=EPi124=Django (SHA-1)131=MSSQL(2000)132=MSSQL(2005)133=PeopleSoft141=EPiServer 6.x < v41421=hMailServer1441=EPiServer 6.x > v41711=SSHA-512(Base64), LDAP {SSHA512}1722=OS X v10.71731=MSSQL(2012 & 2014)2611=vBulletin < v3.8.52612=PHPS2711=vBulletin > v3.8.52811=IPB2+, MyBB1.2+3711=Mediawiki B type3721=WebEdition CMS7600=Redmine Project Management Web App
π AUTHOR π
hashcat was written by Jens Steube <jens.steube@gmail.com> π
This manual page was written by Daniel Echeverry <epsilon77@gmail.com>, for the Debian project (and may be used by others).
and that's a wrap, bestie! source/version: Hashcat(1). date: February 20 2020. now go forth and be iconic. mwah π
π¦ where this page comes from
- debian bookworm: hashcat 6.2.6+ds1-1+b1 Β· MIT
- debian trixie: hashcat 6.2.6+ds2-1 Β· MIT
- ubuntu jammy: hashcat 6.2.5+ds1-2 Β· MIT
- ubuntu noble: hashcat 6.2.6+ds1-1build2 Β· MIT
- ubuntu questing: hashcat 6.2.6+ds2-1
- ubuntu resolute: hashcat 7.1.2+ds1-3 Β· MIT
- ubuntu stonking: hashcat 7.1.2+ds1-4 Β· MIT
- Copyright 2016 Daniel Echeverry <epsilon77@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms