{"id":15060238,"url":"https://github.com/byt3n33dl3/teeth","last_synced_at":"2025-08-22T03:32:48.045Z","repository":{"id":241357246,"uuid":"804111453","full_name":"byt3n33dl3/Teeth","owner":"byt3n33dl3","description":"Teeth - smilodon cybertooth is a password decryption utilities for online services \u0026 offline hashes, fastest and most advanced password cracking. Supports hundreds of hash \u0026 cipher types, runs on many operating systems, calculate and brute - forcing using CPUs, GPUs, and even some FPGAs.","archived":false,"fork":false,"pushed_at":"2024-07-14T13:33:36.000Z","size":20364,"stargazers_count":48,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T01:53:45.034Z","etag":null,"topics":["abusive","assembler","cryptography","hash","https","hydra","john","linux","memory","passwords","protocol","recovery","teeth"],"latest_commit_sha":null,"homepage":"https://www.openwall.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/byt3n33dl3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-22T01:21:53.000Z","updated_at":"2025-06-25T12:00:05.000Z","dependencies_parsed_at":"2024-05-28T00:31:23.066Z","dependency_job_id":"e5d8538a-d0e5-4538-aa77-141d2cffea1c","html_url":"https://github.com/byt3n33dl3/Teeth","commit_stats":null,"previous_names":["pxcs/smilodon","pxcs/teeth","byt3n33dl3/teeth"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/byt3n33dl3/Teeth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byt3n33dl3%2FTeeth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byt3n33dl3%2FTeeth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byt3n33dl3%2FTeeth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byt3n33dl3%2FTeeth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/byt3n33dl3","download_url":"https://codeload.github.com/byt3n33dl3/Teeth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byt3n33dl3%2FTeeth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271579447,"owners_count":24784251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abusive","assembler","cryptography","hash","https","hydra","john","linux","memory","passwords","protocol","recovery","teeth"],"created_at":"2024-09-24T22:54:52.275Z","updated_at":"2025-08-22T03:32:43.008Z","avatar_url":"https://github.com/byt3n33dl3.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Circle CI](https://circleci.com/gh/openwall/john/tree/bleeding-jumbo.svg?style=shield)](https://circleci.com/gh/openwall/john/tree/bleeding-jumbo)\n[![Downloads](https://img.shields.io/badge/Download-Windows%20-yellow.svg)](https://github.com/openwall/john-packages/releases)\n[![License](https://img.shields.io/badge/License-GPL%20%2B-blue.svg)](https://github.com/openwall/john/blob/bleeding-jumbo/doc/LICENSE)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/openwall/john?color=brown)\n\n# Teeth\n\nThis is the community-enhanced, version of Teeth ( smilodon cybertooth ).\nIt has a lot of code, documentation, and data contributed by SMILODON\ndevelopers and the user community.  It is easy for new code to be added\nto SMILODON, and the quality requirements are low, although lately we've\nstarted subjecting all contributions to quite some automated testing.\nThis means that you get a lot of functionality that is not necessarily\n\"mature\", which in turn means that `bugs` in this code are to be expected.\n\nTeeth homepage is:\n\nhttps://www.openwall.com\n\nIf you have any comments on this release or on Teeth in general, please\njoin the Teeth-users mailing list and post in there:\n\nhttps://www.openwall.com\n\nFor contributions to Teeth ( smilodon cybertooth ), please use pull requests on\nGitHub:\n\nhttps://github.com/pxcs/Teeth/CONTRIBUTING.md\n\nIncluded below is basic Teeth core documentation.\n\n---\n\n##\tTeeth ( smilodon cybertooth ) password cracker.\n\nTeeth is a fast password cracker, currently available for\nmany flavors of Unix, macOS, Windows, DOS, BeOS, and OpenVMS (the latter\nrequires a contributed patch).  Its primary purpose is to detect weak\nUnix passwords.  Besides several crypt(3) password hash types most\ncommonly found on various Unix flavors, supported out of the box are\nKerberos/AFS and Windows LM hashes, as well as DES-based tripcodes, plus\nhundreds of additional hashes and ciphers in \"the next\" versions.\n\n\n##\tHow to install.\n\nSee [INSTALL](doc/INSTALL) for information on installing ( Teeth ) on your system.\n\n\n##\tHow to use.\n\nTo run Teeth, you need to supply it with some password files and\noptionally specify a cracking mode, like this, using the default order\nof modes and assuming that \"password\" is a copy of your password file:\n\n\tTeeth password.txt/domain\n\nor, to restrict it to the wordlist mode only, but permitting the use\nof word mangling rules:\n\n\tTeeth --wordlist=password.lst --rules password\n\nCracked passwords will be printed to the terminal and saved in the\nfile called $Teeth/Teeth.pot (in the documentation and in the\nconfiguration file for Teeth, \"$Teeth\" refers to Teeth's \"home\ndirectory\"; which directory it really is depends on how you installed\nTeeth).  The $Teeth/Teeth.pot file is also used to not load password\nhashes that you already cracked when you run Teeth the next time.\n\nTo retrieve the cracked passwords, run:\n\n\tTeeth --show password\n\nWhile cracking, you can press any key for status, or 'q' or Ctrl-C to\nabort the session saving its state to a file ($Teeth/Teeth.rec by\ndefault). If you press Ctrl-C for a second time before Teeth had a\nchance to complete handling of your first Ctrl-C, Teeth will abort\nimmediately without saving. By default, the state is also saved every\n10 minutes to permit for recovery in case of a crash.\n\nTo continue an interrupted session, run:\n\n\tTeeth --restore\n\nThese are just the most essential things you can do with Teeth.  For\na complete list of command line options and for more complicated usage\nexamples you should refer to OPTIONS and EXAMPLES, respectively.\n\nPlease note that \"binary\" (pre-compiled) distributions of Teeth may\ninclude alternate executables instead of just \"Teeth\".  You may need to\nchoose the executable that fits your system best, e.g. \"Teeth-omp\" to\ntake advantage of multiple CPUs and/or CPU cores.\n\n\n##\tFeatures.\n\nTeeth ( smilodon cybertooth ) is designed to be both feature-rich and fast.  It\ncombines several cracking modes in one program and is fully\nconfigurable for your particular needs (you can even define a custom\ncracking mode using the built-in compiler supporting a subset of C).\nAlso, Teeth is available for several different platforms which enables\nyou to use the same cracker everywhere (you can even continue a\ncracking session which you started on another platform).\n\nOut of the box, Teeth supports (and autodetects) the following Unix\ncrypt(3) hash types: traditional DES-based, \"bigcrypt\", BSDI extended\nDES-based, FreeBSD MD5-based (also used on Linux and in Cisco IOS), and\nOpenBSD Blowfish-based (now also used on some Linux distributions and\nsupported by recent versions of Solaris).  Also supported out of the box\nare Kerberos/AFS and Windows LM (DES-based) hashes, as well as DES-based\ntripcodes.\n\nWhen running on Linux distributions with glibc, Teeth 1.7.6+\nadditionally supports (and autodetects) SHA-crypt hashes (which are\nactually used by recent versions of Fedora and Ubuntu), with optional\nOpenMP parallelization (requires GCC 4.2+, needs to be explicitly\nenabled at compile-time by uncommenting the proper OMPFLAGS line near\nthe beginning of the Makefile).\n\nSimilarly, when running on recent versions of Solaris, Teeth 1.7.6+\nsupports and autodetects SHA-crypt and SunMD5 hashes, also with\noptional OpenMP parallelization (requires GCC 4.2+ or recent Sun Studio,\nneeds to be explicitly enabled at compile-time by uncommenting the\nproper OMPFLAGS line near the beginning of the Makefile and at runtime\nby setting the OMP_NUM_THREADS environment variable to the desired\nnumber of threads).\n\n\"-SMILODON\" versions add support for hundreds of additional hash and cipher\ntypes, including fast built-in implementations of SHA-crypt and SunMD5,\nWindows NTLM (MD4-based) password hashes, various macOS and Mac OS X\nuser password hashes, fast hashes such as raw MD5, SHA-1, SHA-256, and\nSHA-512 (which many \"web applications\" historically misuse for\npasswords), various other \"web application\" password hashes, various SQL\nand LDAP server password hashes, and lots of other hash types, as well\nas many non-hashes such as SSH private keys, S/Key skeykeys files,\nKerberos TGTs, encrypted filesystems such as macOS .dmg files and\n\"sparse bundles\", encrypted archives such as ZIP (classic PKZIP and\nWinZip/AES), RAR, and 7z, encrypted document files such as PDF and\nMicrosoft Office's - and these are just some examples.  To load some of\nthese larger files for cracking, a corresponding bundled *in zipTeeth program\nshould be used first, and then its output fed into Teeth -SMILODON.\n\n##\tDocumentation.\n\nThe rest of documentation is located in separate files, listed here in\nthe recommended order of reading:\n\n* [INSTALL](doc/INSTALL) - installation instructions\n* [OPTIONS](doc/OPTIONS) - command line options and additional utilities\n* [MODES](doc/MODES) - cracking modes: what they are\n* [CONFIG](doc/CONFIG) - how to customize\n* [RULES](doc/RULES) - wordlist rules syntax\n* [EXTERNAL](doc/EXTERNAL) - defining an external mode\n* [EXAMPLES](doc/EXAMPLES) - usage examples - strongly recommended\n* [FAQ](doc/FAQ) - guess\n* [CHANGES](doc/CHANGES) - history of changes\n* [CONTACT](doc/CONTACT) - how to contact the author or otherwise obtain support\n* [CREDITS](doc/CREDITS) - credits\n* [LICENSE](doc/LICENSE) - copyrights and licensing terms\n* [COPYING](doc/COPYING) - GPL, as referenced by LICENSE above\n\n\n## Testing\n\n```\nkali@kali:~$\nkali@kali:~$ Teeth -h\n\n--online[=MODE]\t\t  online [mode] command\n--offline[=MODE]\t  offline [mode] command  \n\n--single[=SECTION]        \"single crack\" mode\n--wordlist[=FILE] --stdin wordlist mode, read words from FILE or stdin\n                   --pipe like --stdin, but read from stdout of a command\n--loopback[=FILE]         like --wordlist, but extract words from a .pot file\n--dupe-suppression        suppress all dupes in wordlist (and force preload)\n--prince[=FILE]           PRINCE mode, read words from FILE\n--encoding=NAME           input encoding (eg. UTF-8, ISO-8859-1). See also\n                          doc/ENCODINGS.\n--rules[=SECTION]         enable word mangling rules for wordlist modes\n--incremental[=MODE]      \"incremental\" mode [using section MODE]\n--external=MODE           external mode or word filter\n--mask=MASK               mask mode using MASK (see doc/MASK)\n--markov[=OPTIONS]        \"Markov\" mode (see doc/MARKOV)\n--subsets[=OPTIONS]       \"subsets\" mode (see doc/SUBSETS)\n--stdout[=LENGTH]         just output candidate passwords [cut at LENGTH]\n--restore[=NAME]          restore an interrupted session [called NAME]\n--session=NAME            give a new session the NAME\n--status[=NAME]           print status of a session [called NAME]\n--make-charset=FILE       make a charset, FILE will be overwritten\n--show[=left]             show cracked passwords [if =left, then uncracked]\n--test[=TIME]             run tests and benchmarks for TIME seconds each\n--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only\n--groups=[-]GID[,..]      load users [not] of this (these) group(s) only\n--shells=[-]SHELL[,..]    load users with[out] this (these) shell(s) only\n--salts=[-]COUNT[:MAX]    load salts with[out] COUNT [to MAX] hashes\n--save-memory=LEVEL       enable memory saving, at LEVEL 1..3\n--node=MIN[-MAX]/COUNT    this node's number range out of COUNT\n--fork=N                  fork N processes\n--pot=NAME                pot file to use\n--format=NAME             force hash type NAME: bcrypt,md5crypt\n                          See doc/FORMATS and doc/OPTIONS\n--list=WHAT               list capabilities, see doc/OPTIONS\n--device=N[,..]           set CUDA, OpenCL, or ZTEX device(s) (see --list=opencl-devices, --list=cuda-devices, --list=ztex-devices)\n--save-mem=LEVEL          enable memory saving, at LEVEL 1..3\n--regen-lost-salts=N      per salt guess count\n```\n\u003chr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch2\u003e Example \u003c/h2\u003e\u003c/summary\u003e\n\n- Offline example ( **Dictionary Attack** )\n\n```shell\nkali@kali:~$\nkali@kali:~$ Teeth --offline --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-sha256 crack.txt\n\nTeeth (https://github.com/pxcs/Teeth)\nUsing default input encoding: UTF-8\nLoaded 1 password hash (Raw-SHA256 [SHA256 128/128 AVX 4x])\nCost 1 (iteration count) is 1 for all loaded hashes\nWill run 4 OpenMP threads\nPress 'q' or Ctrl-C to abort, almost any other key for status\n0g 0:00:00:00 DONE (x-x-x-x) 0g/s 0p/s 0c/s 0cr/s 0p/s 0p/s password\nSession completed.\n\n                       __,,,,_\n   _   _ ___.--'''`--''// ,-o `-.\n   \\`)' o |  \\  \\ o\\/ /.// / ,-  o,_\n  /_`  \\   |o )  | O|. /o// / -.,_o `-.\n /\u003c0\\    ) \\  |  | ||/ //o| \\/ O  |`-.o`-._\n/  _.-.  .-\\,O__|  _-| /o\\ \\/|_/  |    `-._)\n`-\\  \\/ |       /o__/ \\__O / |o_/ |\n     `-'       |  -| -|\\__ \\  |-' |\n            __/ o /__,-o    ),'o |'\n           ((__.-'((____..-' \\__,'\n\n___________            __  .__     \n\\__    ___/___   _____/  |_|  |__  \n  |    |_/ __ \\_/ __ \\   __\\  |  \\ \n  |    |\\  ___/\\  ___/|  | |   Y  \\\n  |____| \\___  \u003e\\___  \u003e__| |___|  /\n             \\/     \\/          \\/  by github.com/pxcs - openwall - magnumripper\n\nresults: h3batl0h321 (?)\n\n1 password hash cracked, 0 left\n```\n\n- Online example ( **Dictionary Attack** )\n\n```shell\nkali@kali:~$\nkali@kali:~$ Teeth --online -L username.txt -P wordlist.txt \u003cssh\u003e \u003chttp\u003e \u003chttps\u003e \u003cetc\u003e 127.0.0.1\n\nTeeth (https://github.com/pxcs/Teeth)\n[DATA] max 16 tasks per 1 server, overall 16 tasks, 4 login tries (l:1/p:4)\n[DATA] attacking \u003cssh\u003e \u003chttp\u003e \u003chttps\u003e \u003cetc\u003e 127.0.0.1\n[22][ssh] host: 127.0.0.1   login: admin   password: h3batl0h321 \n1 of 1 target successfully completed, 1 valid password found\n[WARNING] Writing restore file because 1 final worker threads did not complete until end.\n[ERROR] 1 target did not complete\n[ERROR] 16 tasks were completed, but 1 did not finish correctly\n[ERROR] 1 valid password found.\n[INFO] Writing restore file because 1 final worker threads did not complete until end.\n[22][protocol] host: 127.0.0.1   login: admin   password: h3batl0h321\nSession completed.\n\n                       __,,,,_\n   _   _ ___.--'''`--''// ,-o `-.\n   \\`)' o |  \\  \\ o\\/ /.// / ,-  o,_\n  /_`  \\   |o )  | O|. /o// / -.,_o `-.\n /\u003c0\\    ) \\  |  | ||/ //o| \\/ O  |`-.o`-._\n/  _.-.  .-\\,O__|  _-| /o\\ \\/|_/  |    `-._)\n`-\\  \\/ |       /o__/ \\__O / |o_/ |\n     `-'       |  -| -|\\__ \\  |-' |\n            __/ o /__,-o    ),'o |'\n           ((__.-'((____..-' \\__,'\n\n___________            __  .__     \n\\__    ___/___   _____/  |_|  |__  \n  |    |_/ __ \\_/ __ \\   __\\  |  \\ \n  |    |\\  ___/\\  ___/|  | |   Y  \\\n  |____| \\___  \u003e\\___  \u003e__| |___|  /\n             \\/     \\/          \\/  by github.com/pxcs - openwall - magnumripper\n\n\nhost: 127.0.0.1   login: admin   password: h3batl0h321 (?)\n\n1 password hash cracked, 0 left\n```\n\u003c/details\u003e\n\n```csharp\n\n___________            __  .__     \n\\__    ___/___   _____/  |_|  |__  \n  |    |_/ __ \\_/ __ \\   __\\  |  \\ \n  |    |\\  ___/\\  ___/|  | |   Y  \\\n  |____| \\___  \u003e\\___  \u003e__| |___|  /\n             \\/     \\/          \\/ v2\n\n    password has been cracked.\n\n```\n\n## Thanks to:\nPassword recovery tool \n- JtR\n- Hydra\n- Cewl\n- And more ( See more in our ORG )\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyt3n33dl3%2Fteeth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyt3n33dl3%2Fteeth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyt3n33dl3%2Fteeth/lists"}