Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/data/jtr/dynamic.conf
Views: 11766
# Here are some examples of DYNAMIC.1# Please refer to ./doc/DYNAMIC for documentation on how to set these up.2# Format names up to dynamic_999 are reserved for builtin functions.34####################################################################5# here is a synopsis of the formats in this file. Please keep this up to date6####################################################################7# dynamic_1001: md5(md5(md5(md5($p))))8# dynamic_1002: md5(md5(md5(md5(md5($p)))))9# dynamic_1003: md5(md5($p).md5($p))10# dynamic_1004: md5(md5(md5(md5(md5(md5($p))))))11# dynamic_1005: md5(md5(md5(md5(md5(md5(md5($p)))))))12# dynamic_1006: md5(md5(md5(md5(md5(md5(md5(md5($p))))))))13# dynamic_1007: md5(md5($p).$s) (vBulletin)14# dynamic_1008: md5($p.$s) (RADIUS User-Password)15# dynamic_1009: md5($s.$p) (RADIUS Responses)16# dynamic_1010: md5($p null_padded_to_len_100) RAdmin v2.x MD517# dynamic_1011: md5($p.md5($s)) (webEdition CMS)18# dynamic_1012: md5($p.md5($s)) (webEdition CMS)19# dynamic_1013: md5($p.PMD5(username)) (webEdition CMS)20# dynamic_1014: md5($p.$s) (long salt)21# dynamic_1015: md5(md5($p.$u).$s) (PostgreSQL 'pass the hash')22# dynamic_1016: md5($p.$s) (long salt)23# dynamic_1017: md5($s.$p) (long salt)24# dynamic_1018: md5(sha1(sha1($p)))25# dynamic_1019: md5(sha1(sha1(md5($p))))26# dynamic_1020: md5(sha1(md5($p)))27# dynamic_1021: md5(sha1(md5(sha1($p))))28# dynamic_1022: md5(sha1(md5(sha1(md5($p)))))29# dynamic_1023: sha1($p) (hash truncated to length 32)30# dynamic_1024: sha1(md5($p)) (hash truncated to length 32)31# dynamic_1025: sha1(md5(md5($p))) (hash truncated to length 32)32# dynamic_1026: sha1(sha1($p)) (hash truncated to length 32)33# dynamic_1027: sha1(sha1(sha1($p))) (hash truncated to length 32)34# dynamic_1028: sha1(sha1_raw($p)) (hash truncated to length 32)35# dynamic_1029: sha256($p) (hash truncated to length 32)36# dynamic_1030: whirlpool($p) (hash truncated to length 32)37# dynamic_1031: gost($p) (hash truncated to length 32)38# dynamic_1032: sha1_64(utf16($p)) (PeopleSoft)39# dynamic_1033: sha1_64(utf16($p).$s)40# dynamic_1034: md5($p.$u) (PostgreSQL MD5)41# dynamic_1300: md5(md5_raw($p))42# dynamic_1350: md5(md5($s.$p):$s)43# dynamic_1400: sha1(utf16($p)) (Microsoft CREDHIST)44# dynamic_1401: md5($u.\nskyper\n.$p) (Skype MD5)45# dynamic_1501: sha1($s.sha1($p)) (Redmine)46# dynamic_1502: sha1(sha1($p).$s) (XenForo SHA-1)47# dynamic_1503: sha256(sha256($p).$s) (XenForo SHA-256)48# dynamic_1504: sha1($s.$p.$s)49# dynamic_1505: md5($p.$s.md5($p.$s))50# dynamic_1506: md5($u.:XDB:.$p) (Oracle 12c "H" hash)51# dynamic_1507: sha1(utf16($const.$p)) (Mcafee master pass)52# dynamic_1518: md5(sha1($p).md5($p).sha1($p))53# dynamic_1528: sha256($s.$p.$s) (Telegram for Android)54# dynamic_1529: sha1($p null_padded_to_len_32) (DeepSound)55# dynamic_1550: md5($u.:mongo:.$p) (MONGODB-CR system hash)56# dynamic_1551: md5($s.$u.(md5($u.:mongo:.$p)) (MONGODB-CR network hash)57# dynamic_1552: md5($s.$u.(md5($u.:mongo:.$p)) (MONGODB-CR network hash)58# dynamic_1560: md5($s.$p.$s2) (SocialEngine)59# dynamic_1588: sha256($s.sha1($p)) (ColdFusion 11)60# dynamic_1590: sha1(utf16be(space_pad_10(uc($s)).$p)) (IBM AS/400 SHA1)61# dynamic_1592: sha1($s.sha1($s.sha1($p))) (wbb3)62# dynamic_1600: sha1($s.utf16le($p)) (Oracle PeopleSoft PS_TOKEN)63# dynamic_1608: sha256(sha256_raw(sha256_raw($p))) (Neo Wallet)6465####################################################################6667####################################################################68# Simple DYNAMIC type for md5($p)^^4 (i.e. 4 steps of md5 recursively)69####################################################################70[List.Generic:dynamic_1001]71# expression shown will be the string: dynamic_1001 md5(md5(md5(md5($p))))72Expression=md5(md5(md5(md5($p))))73Flag=MGF_KEYS_INPUT74Flag=MGF_SET_INP2LEN3275MaxInputLen=5576MaxInputLenX86=11077Func=DynamicFunc__crypt_md578Func=DynamicFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix79#if !ARCH_LITTLE_ENDIAN // unfortunatly, we have no #define here, so we always have to call this function, in a script or they will fail on BE boxes :(80Func=DynamicFunc__set_input2_len_32_cleartop81#endif82Func=DynamicFunc__crypt2_md583Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix84Func=DynamicFunc__set_input2_len_32_cleartop85Func=DynamicFunc__crypt2_md586Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix87Func=DynamicFunc__set_input2_len_32_cleartop88Func=DynamicFunc__crypt_md5_in2_to_out189Test=$dynamic_1001$57200e13b490d4ae47d5e19be026b057:test190Test=$dynamic_1001$c6cc44f9e7fb7efcde62ba2e627a49c6:thatsworking91Test=$dynamic_1001$0ae9549604e539a249c1fa9f5e5fb73b:test392# TestM= will ONLY load in an MMX or SSE2 build of JtR.93# TestF= will ONLY load in a non-MMX and nonSSE build (flat oSSL build, or generic)94TestM=$dynamic_1001$94c59ab02fcd39f3ff9a4e553a4afcb6:123456789012345678901234567890123456789012345678901234595TestF=$dynamic_1001$a8b46c02f1680860622df837fa78c3e4:123456789012345678901234567890123456789012345678901234567890123456789012345678909697####################################################################98# Simple DYNAMIC type for md5($p)^^5 (i.e. 5 steps of md5 recursively)99####################################################################100[List.Generic:dynamic_1002]101# expression shown will be the string: dynamic_1002 md5(md5(md5(md5(md5($p)))))102Expression=md5(md5(md5(md5(md5($p)))))103Flag=MGF_KEYS_INPUT104Flag=MGF_SET_INP2LEN32105MaxInputLen=55106MaxInputLenX86=110107# here is the optimized 'script' to perform the md5 5 times on itself.108Func=DynamicFunc__crypt_md5109Func=DynamicFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix110Func=DynamicFunc__set_input2_len_32_cleartop111Func=DynamicFunc__crypt2_md5112Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix113Func=DynamicFunc__set_input2_len_32_cleartop114Func=DynamicFunc__crypt2_md5115Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix116Func=DynamicFunc__set_input2_len_32_cleartop117Func=DynamicFunc__crypt2_md5118Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix119Func=DynamicFunc__set_input2_len_32_cleartop120Func=DynamicFunc__crypt_md5_in2_to_out1121# These are test strings for this format.122Test=$dynamic_1002$25de8cd0b0cf69c5b5bc19c8ee64adab:test1123Test=$dynamic_1002$a0b535420ea47849f7c2cc09a3ad0ac3:thatsworking124Test=$dynamic_1002$4cb029bd5b4ef79f785ca685caf17bf8:test3125TestM=$dynamic_1002$5a791c6c9de2f488a8155f35900348b0:1234567890123456789012345678901234567890123456789012345126TestF=$dynamic_1002$b8da59d26b6494df42b8c0f1fba8cd7e:12345678901234567890123456789012345678901234567890123456789012345678901234567890127128####################################################################129# Simple DYNAMIC type for md5(md5($p).md5($p))130####################################################################131[List.Generic:dynamic_1003]132# expression shown will be the string: dynamic_1003 md5(md5($p).md5($p))133Expression=md5(md5($p).md5($p))134# NOTE, this format does NOT work on SSE2. It requires a md5() of a 64 byte string.135# SSE (or MMX) is limtited to 54 byte max password, due to 'enhancements'136# Thus, we need a non-sse2 safe flag.137##JF Flag=MGF_NOTSSE2Safe138##JF Flag=MGF_KEYS_INPUT139##JF Flag=MGF_FULL_CLEAN_REQUIRED140# here is the optimized 'script' to perform hash 'like' IPB but salt replaced with password.141##JF Func=DynamicFunc__crypt_md5142##JF Func=DynamicFunc__clean_input2_kwik143##JF Func=DynamicFunc__append_from_last_output_to_input2_as_base16144##JF Func=DynamicFunc__append_from_last_output_to_input2_as_base16145##JF Func=DynamicFunc__crypt_md5_in2_to_out1146147# much more optimal. From 1118k to 2155k on an SSE2 box.148Flag=MGF_FLAT_BUFFERS149Flag=MGF_KEYS_BASE16_IN1150Flag=MGF_POOR_OMP151MaxInputLen=110152MaxInputLenX86=110153Func=DynamicFunc__append_input_from_input154Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL155156# These are test strings for this format.157Test=$dynamic_1003$478b10974f15e7295883224fd286ccba:test1158Test=$dynamic_1003$18a59101e6c6fb38260d542a394ecb22:thatsworking159Test=$dynamic_1003$630b01b68b6db6fd43a751f8147d1faf:test3160Test=$dynamic_1003$2dbecd858c29d5602da78204af7dfe1b:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890161162####################################################################163# Simple DYNAMIC type for md5($p)^^6 (i.e. 6 steps of md5 recursively)164####################################################################165[List.Generic:dynamic_1004]166# expression shown will be the string: dynamic_1004 md5(md5(md5(md5(md5(md5($p))))))167Expression=md5(md5(md5(md5(md5(md5($p))))))168Flag=MGF_KEYS_INPUT169Flag=MGF_SET_INP2LEN32170MaxInputLen=55171MaxInputLenX86=110172# here is the optimized 'script' to perform the md5 6 times on itself.173Func=DynamicFunc__crypt_md5174Func=DynamicFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix175Func=DynamicFunc__set_input2_len_32_cleartop176Func=DynamicFunc__crypt2_md5177Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix178Func=DynamicFunc__set_input2_len_32_cleartop179Func=DynamicFunc__crypt2_md5180Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix181Func=DynamicFunc__set_input2_len_32_cleartop182Func=DynamicFunc__crypt2_md5183Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix184Func=DynamicFunc__set_input2_len_32_cleartop185Func=DynamicFunc__crypt2_md5186Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix187Func=DynamicFunc__set_input2_len_32_cleartop188Func=DynamicFunc__crypt_md5_in2_to_out1189# These are test strings for this format.190Test=$dynamic_1004$de1b991dd27fb9813e88b957a455dccd:test1191Test=$dynamic_1004$6a62cd3c4d81139f61fb2553cdef0dc7:thatsworking192Test=$dynamic_1004$a977990e521c5d1d17c6d65fdf2681b4:test3193TestM=$dynamic_1004$e475d31b00626080fc01ca4832a33293:1234567890123456789012345678901234567890123456789012345194TestF=$dynamic_1004$f60eca1ad34608b7c6b1b04379b3fee3:12345678901234567890123456789012345678901234567890123456789012345678901234567890195196197####################################################################198# Simple DYNAMIC type for md5($p)^^7 (i.e. 7 steps of md5 recursively)199####################################################################200[List.Generic:dynamic_1005]201# expression shown will be the string: dynamic_1005 md5(md5(md5(md5(md5(md5(md5($p)))))))202Expression=md5(md5(md5(md5(md5(md5(md5($p)))))))203Flag=MGF_KEYS_INPUT204Flag=MGF_SET_INP2LEN32205MaxInputLen=55206MaxInputLenX86=110207# here is the optimized 'script' to perform the md5 7 times on itself.208Func=DynamicFunc__crypt_md5209Func=DynamicFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix210Func=DynamicFunc__set_input2_len_32_cleartop211Func=DynamicFunc__crypt2_md5212Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix213Func=DynamicFunc__set_input2_len_32_cleartop214Func=DynamicFunc__crypt2_md5215Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix216Func=DynamicFunc__set_input2_len_32_cleartop217Func=DynamicFunc__crypt2_md5218Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix219Func=DynamicFunc__set_input2_len_32_cleartop220Func=DynamicFunc__crypt2_md5221Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix222Func=DynamicFunc__set_input2_len_32_cleartop223Func=DynamicFunc__crypt2_md5224Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix225Func=DynamicFunc__set_input2_len_32_cleartop226Func=DynamicFunc__crypt_md5_in2_to_out1227# These are test strings for this format.228Test=$dynamic_1005$784c527d0d92873ff9c0773e1c35621d:test1229Test=$dynamic_1005$efcbbe6331caecf0e7f40160e65aadcc:thatsworking230Test=$dynamic_1005$abb8bdd2c6ac2dfea2b2af6f5aed5446:test3231TestM=$dynamic_1005$8f853f8abf74a8e686c213a9849d9beb:1234567890123456789012345678901234567890123456789012345232TestF=$dynamic_1005$37e4fc15b5dc59286aee85f4b7008315:12345678901234567890123456789012345678901234567890123456789012345678901234567890233234####################################################################235# Simple DYNAMIC type for md5($p)^^8 (i.e. 8 steps of md5 recursively)236####################################################################237[List.Generic:dynamic_1006]238# expression shown will be the string: dynamic_1006 md5(md5(md5(md5(md5(md5(md5(md5($p))))))))239Expression=md5(md5(md5(md5(md5(md5(md5(md5($p))))))))240Flag=MGF_KEYS_INPUT241Flag=MGF_SET_INP2LEN32242MaxInputLen=55243MaxInputLenX86=110244# here is the optimized 'script' to perform the md5 8 times on itself.245Func=DynamicFunc__crypt_md5246Func=DynamicFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix247Func=DynamicFunc__set_input2_len_32_cleartop248Func=DynamicFunc__crypt2_md5249Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix250Func=DynamicFunc__set_input2_len_32_cleartop251Func=DynamicFunc__crypt2_md5252Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix253Func=DynamicFunc__set_input2_len_32_cleartop254Func=DynamicFunc__crypt2_md5255Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix256Func=DynamicFunc__set_input2_len_32_cleartop257Func=DynamicFunc__crypt2_md5258Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix259Func=DynamicFunc__set_input2_len_32_cleartop260Func=DynamicFunc__crypt2_md5261Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix262Func=DynamicFunc__set_input2_len_32_cleartop263Func=DynamicFunc__crypt2_md5264Func=DynamicFunc__overwrite_from_last_output2_to_input2_as_base16_no_size_fix265Func=DynamicFunc__set_input2_len_32_cleartop266Func=DynamicFunc__crypt_md5_in2_to_out1267# These are test strings for this format.268Test=$dynamic_1006$1ec1f32398f64cab51183f63630eceea:test1269Test=$dynamic_1006$f66b339ac21d6fd6af216f2b70aab2c9:thatsworking270Test=$dynamic_1006$e9d38522b5eeec753332e576e2e0fe5d:test3271TestM=$dynamic_1006$399310c857c0d83b931441d514528ee6:1234567890123456789012345678901234567890123456789012345272TestF=$dynamic_1006$e89d92a2291b5b43b6697c51d722ae8b:12345678901234567890123456789012345678901234567890123456789012345678901234567890273274####################################################################275# Simple DYNAMIC type for vBulletin md5(md5($p).$s) Included here to 'exercise' the script parser276####################################################################277[List.Generic:dynamic_1007]278# expression shown will be the string: dynamic_1007 md5(md5($p).$s) [vBulletin]279Expression=md5(md5($p).$s) (vBulletin)280# Flag needed here, is Salt. There is no 'fixed' saltlen.281Flag=MGF_SALTED282Flag=MGF_KEYS_BASE16_IN1283# vBulletin has a 'fixed' 3 byte salt, so list the fixed size (restriction removed).284SaltLen=-23285SaltLenX86=-64286MaxInputLen=55287MaxInputLenX86=110288# here is the optimized 'script' to perform vBulletin hash289Func=DynamicFunc__set_input_len_32_cleartop290Func=DynamicFunc__append_salt291Func=DynamicFunc__crypt_md5292Test=$dynamic_1007$daa61d77e218e42060c2fa198ac1feaf$SXB:test1293Test=$dynamic_1007$de56b00bb15d6db79204bd44383469bc$T &:thatsworking294Test=$dynamic_1007$fb685c6f469f6e549c85e4c1fb5a65a6$HEX$5C483A:test3295Test=$dynamic_1007$5dd8145e0d1e2499bce05dcb4bce5cdf$HEX$24324F:testme296TestM=$dynamic_1007$09019afd1303ff078ba323569ac05ea5$123:1234567890123456789012345678901234567890123456789012297TestF=$dynamic_1007$1eff62d90df7e82566f75f7cfb316f6e$PS9:12345678901234567890123456789012345678901234567890123456789012345678901234567890298299####################################################################300# Dynamic type for algorithm used in RADIUS User-Password attribute md5($p.$s)301####################################################################302[List.Generic:dynamic_1008]303# expression shown will be this string:304Expression=md5($p.$s) (RADIUS User-Password)305# Flag needed here, is Salt306Flag=MGF_SALTED307# The salt has a fixed length of 16 bytes308Saltlen=16309Func=DynamicFunc__clean_input310Func=DynamicFunc__append_keys311Func=DynamicFunc__append_salt312Func=DynamicFunc__crypt_md5313Test=$dynamic_1008$b962b0d40fc9111ce5f8efab424bad73$NormalSaltNormal:secret314Test=$dynamic_1008$8bfccd9d67ec0bcdc38e9ae3c19a2903$FinishingwitHEX$:secret315Test=$dynamic_1008$bf239357f3aa95508a53fe41b7e5f2e3$inthem$HEXiddle6:secret316# unfortunately, these next 2 have embedded NULLs, so at this time they have been removed.317# later we will get dynamic working with these also.318#Test=$dynamic_1008$7fe3c4d1bf2ac68e94ee9f2bf75b9601$HEX$00000000000000000000000000000000:secret319#Test=$dynamic_1008$658bbf9f04538d6bede09a4a52a77504$HEX$626c6168003637383930313233343536:secret320TestM=$dynamic_1008$6bf84723242c758538951ebfcbe82498$Zm8EXfUeRrEJMx5b:123456789012345678901234567890123456789321TestF=$dynamic_1008$7978620b9b48b1d6e322bfe5b081bf3e$yH9RErqH2ktDYesl:1234567890123456789012345678901234567890123456789012345678901234322323######################################################################324# Dynamic Type for algorithm used in RADIUS Responses md5($s.$p)325#326# Also used by a "popular" backup solution327# select id, name, emailid, password from administrator;328# hashlib.md5((str(id) + pwd)).hexdigest()329######################################################################330[List.Generic:dynamic_1009]331Expression=md5($s.$p) (RADIUS Responses)332Flag=MGF_SALTED333Saltlen=-16334Func=DynamicFunc__clean_input335Func=DynamicFunc__append_salt336Func=DynamicFunc__append_keys337Func=DynamicFunc__crypt_md5338Test=$dynamic_1009$0b9b9fdf75fc79d85c5b69aa1de26288$Salt:test1339Test=$dynamic_1009$05ed3fc5e044d559290c400254e568c9$1:hackme340TestM=$dynamic_1009$9619094908f5c9f29eb95eadefae84c3$ex5fKtjhZwVMCi2C:123456789012345678901234567890123456789341TestF=$dynamic_1009$92cfbd6aadc48b2ef97ca2699037dea6$73WkPYCT2CxnQ8pt:1234567890123456789012345678901234567890123456789012345678901234342343######################################################################344# Dynamic Type for algorithm used in RAdmin v2.x Responses md5($p.NULL-to-100-bytes)345# v2, where keys are in input, and set_input_len_100 'cleans' up if needed.346######################################################################347[List.Generic:dynamic_1010]348Expression=md5($p null_padded_to_len_100) RAdmin v2.x MD5349##JF Flag=MGF_NOTSSE2Safe350##JF Flag=MGF_KEYS_INPUT351##JF Func=DynamicFunc__set_input_len_100352##JF Func=DynamicFunc__crypt_md5353354# MUCH faster. Went from 1930k to 5600k355MaxInputLen=99356MaxInputLenX86=99357Flag=MGF_FLAT_BUFFERS358Flag=MGF_KEYS_INPUT359Flag=MGF_POOR_OMP360Func=DynamicFunc__set_input_len_100361Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL362363Test=$dynamic_1010$B137F09CF92F465CABCA06AB1B283C1F:lastwolf364Test=$dynamic_1010$14e897b1a9354f875df51047bb1a0765:podebradka365Test=$dynamic_1010$02ba5e187e2589be6f80da0046aa7e3c:12345678366Test=$dynamic_1010$b4e13c7149ebde51e510959f30319ac7:firebaLL367Test=$dynamic_1010$3d2c8cae4621edf8abb081408569482b:yamaha12345368Test=$dynamic_1010$60cb8e411b02c10ecc3c98e29e830de8:xplicit369370####################################################################371# DYNAMIC type for webEdition CMS md5($p.md5($s))372# > select username,passwd,UseSalt from tblUser373# username is salt374####################################################################375[List.Generic:dynamic_1011]376Expression=md5($p.md5($s)) (webEdition CMS)377Flag=MGF_SALTED378MaxInputLenX86=48379SaltLen=-55380MaxInputLen=23381Func=DynamicFunc__clean_input382Func=DynamicFunc__append_salt383Func=DynamicFunc__crypt_md5384Func=DynamicFunc__clean_input2385Func=DynamicFunc__append_keys2386Func=DynamicFunc__append_from_last_output_to_input2_as_base16387Func=DynamicFunc__crypt_md5_in2_to_out1388Test=$dynamic_1011$e82bf09e8a1899d4c3d00a3f380d5cdb$SXB:openwall389Test=$dynamic_1011$c0e024d9200b5705bc4804722636378a$admin:admin390Test=$dynamic_1011$14f8b3781f19a3b7ea520311482ce207$openwall:openwall391TestM=$dynamic_1011$b8db62204359efcbfc92da2d697d21cb$xkcR9B:12345678901234567890123392TestF=$dynamic_1011$61f55f04f8f4e05392415181bcf57420$rtJEIj:123456789012345678901234567890123456789012345678393394####################################################################395# DYNAMIC type for webEdition CMS md5($p.md5($s))396# > select username,passwd,UseSalt from tblUser397# username is salt398# Twice as fast as dynamic_1011 since md5($s) is pre-computed!399####################################################################400[List.Generic:dynamic_1012]401Expression=md5($p.md5($s)) (webEdition CMS)402Flag=MGF_SALTED403Flag=MGF_SALT_AS_HEX404MaxInputLenX86=48405SaltLen=-110406MaxInputLen=23407Func=DynamicFunc__clean_input408Func=DynamicFunc__append_keys409Func=DynamicFunc__append_salt410Func=DynamicFunc__crypt_md5411Test=$dynamic_1012$e82bf09e8a1899d4c3d00a3f380d5cdb$SXB:openwall412Test=$dynamic_1012$c0e024d9200b5705bc4804722636378a$admin:admin413Test=$dynamic_1012$14f8b3781f19a3b7ea520311482ce207$openwall:openwall414TestM=$dynamic_1012$b8db62204359efcbfc92da2d697d21cb$xkcR9B:12345678901234567890123415TestF=$dynamic_1012$61f55f04f8f4e05392415181bcf57420$rtJEIj:123456789012345678901234567890123456789012345678416417####################################################################418## DYNAMIC type for webEdition CMS md5($p.PMD5(username))419## > select md5(username),passwd,UseSalt from tblUser420## PMD5(username), pre-computed md5 of username is salt421#####################################################################422[List.Generic:dynamic_1013]423Expression=md5($p.PMD5(username)) (webEdition CMS)424Flag=MGF_SALTED425MaxInputLenX86=48426MaxInputLen=23427SaltLen=32428Func=DynamicFunc__clean_input429Func=DynamicFunc__append_keys430Func=DynamicFunc__append_salt431Func=DynamicFunc__crypt_md5432Test=$dynamic_1013$14f8b3781f19a3b7ea520311482ce207$f2df0ddd3129c68b1ae7be05779ebeb3:openwall433TestM=$dynamic_1013$b8db62204359efcbfc92da2d697d21cb$f3ae4d2b2c3600df57bbeab163eac04b:12345678901234567890123434TestF=$dynamic_1013$61f55f04f8f4e05392415181bcf57420$5e87dbf3663cbead467fc645c5c9586d:123456789012345678901234567890123456789012345678435436####################################################################437# Dynamic type for md5($p.$s) for long salts438####################################################################439[List.Generic:dynamic_1014]440# expression shown will be this string:441Expression=md5($p.$s) (long salt)442# Flag needed here, is Salt443Flag=MGF_SALTED444##JF Went from 1376k/1100k to 3483k/2600k by switching to flat buffer sse2445##JF Flag=MGF_NOTSSE2Safe446Flag=MGF_FLAT_BUFFERS447##JF Flag=MGF_FULL_CLEAN_REQUIRED448##JF MaxInputLen=32449MaxInputLenX86=110450MaxInputLen=110451SaltLen=-137452Func=DynamicFunc__clean_input453Func=DynamicFunc__append_keys454Func=DynamicFunc__append_salt455##JF Func=DynamicFunc__crypt_md5456Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL457Test=$dynamic_1014$c0dbfba522fad4054da9808a2fa09580$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:test458Test=$dynamic_1014$6130b0e84d387ffd460fc83cffcc1426$bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc:aaaa459Test=$dynamic_1014$399df23011bb3742e83011c1074187e2$cccccccccccccccccccccccccccccccccccccccccccccccccccd:bbbb460Test=$dynamic_1014$b962b0d40fc9111ce5f8efab424bad73$NormalSaltNormal:secret461Test=$dynamic_1014$8bfccd9d67ec0bcdc38e9ae3c19a2903$FinishingwitHEX$:secret462Test=$dynamic_1014$bf239357f3aa95508a53fe41b7e5f2e3$inthem$HEXiddle6:secret463Test=$dynamic_1014$e463b65f14643afd970c7ea7e7efeb0f$123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890:12345678901234567890123456789012464465####################################################################466# Dynamic type for md5(md5($p.$u).$s) for PostgreSQL 'pass the hash' weakness467# See also dynamic_1034 for PostgreSQL MD5468# http://www.openwall.com/lists/oss-security/2015/03/03/12469####################################################################470[List.Generic:dynamic_1015]471Expression=md5(md5($p.$u).$s) (PostgreSQL 'pass the hash')472Flag=MGF_SALTED473Flag=MGF_USERNAME474MaxInputLen=31475MaxInputLenX86=56476SaltLen=-23477Func=DynamicFunc__clean_input478Func=DynamicFunc__append_keys479Func=DynamicFunc__append_userid480Func=DynamicFunc__crypt_md5481Func=DynamicFunc__clean_input2482Func=DynamicFunc__append_from_last_output_to_input2_as_base16483Func=DynamicFunc__append_salt2484Func=DynamicFunc__crypt_md5_in2_to_out1485Test=$dynamic_1015$1d586cc8d137e5f1733f234d224393e8$HEX$f063f05d:openwall:postgres486Test=$dynamic_1015$1c4e11fb51835c3bbe9851ec91ec1375$HEX$c31803a2:password:postgres487Test=$dynamic_1015$bf2a64f35feba7bf1b633d60393c1356$HEX$684697c8:openwall:postgres488# repeat one test in the format that is used in john.pot489Test=$dynamic_1015$1d586cc8d137e5f1733f234d224393e8$HEX$f063f05d242455706f737467726573:openwall490TestM=$dynamic_1015$c99b3494687ed9895d4ffca184a9daf5$M6krNt:1234567890123456789012345678901:usrx491TestF=$dynamic_1015$5618a66e934dfef13cae2d06d71bdf75$usrwxT:12345678901234567890123456789012345678901234567890123456:01234492493####################################################################494# Dynamic type for md5($p.$s) for long salts495# NOTE, we should use dynamic_2001 and not this hash.496####################################################################497[List.Generic:dynamic_1016]498# expression shown will be this string:499Expression=md5($p.$s) (long salt)500# Flag needed here, is Salt501Flag=MGF_SALTED502Flag=MGF_FLAT_BUFFERS503MaxInputLenX86=110504MaxInputLen=110505SaltLen=-137506Func=DynamicFunc__clean_input507Func=DynamicFunc__append_keys508Func=DynamicFunc__append_salt509Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL510Test=$dynamic_1016$08e3ded271f83affc8f127dae3cb5bed$HEX$e30003fa000100000001000000000000000000000000000000000000000000000000000000000000d7dd1060ee06bec2:secret511# repeat that hash in exactly the same form that is used in john.pot512#Test=$dynamic_1016$08e3ded271f83affc8f127dae3cb5bed$HEX$48455824653330303033666130303031303030303030303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303064376464313036306565303662656332:secret513514####################################################################515# Dynamic type for md5($s.$p) for long salts516# NOTE, we should use dynamic_2004 and not this hash.517####################################################################518[List.Generic:dynamic_1017]519# expression shown will be this string:520Expression=md5($s.$p) (long salt)521# Flag needed here, is Salt522Flag=MGF_SALTED523Flag=MGF_FLAT_BUFFERS524MaxInputLenX86=55525MaxInputLen=55526SaltLen=-192527Func=DynamicFunc__clean_input528Func=DynamicFunc__append_salt529Func=DynamicFunc__append_keys530Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL531# PrestaShop uses long salts, $s == _COOKIE_KEY_ (config/settings.inc.php file)532# PrestaShop hashes can be extracted from the "ps_employee" table ("ps_" is the default table prefix)533# PrestaShop 1.6.0.9 was used for testing this!534# Update: PrestaShop 1.7.x.y doesn't make use of the config/settings.inc.php535# file. It uses bcrypt hashing, and the hashes are stored in the ps_customer536# table.537#538# This hash format is also used by RADIUS Responses when salts are > 16 bytes long.539Test=$dynamic_1017$2b3f4811983db00560dfd4c28f67bc5a$B3DdR7ZVi2N26aVbR84bjSAHht8JYhqcDr1FK49jiQXFU8Vo66PKmAFt:lemons12345540541[List.Generic:dynamic_1018]542Expression=md5(sha1(sha1($p)))543Flag=MGF_StartInX86Mode544Flag=MGF_KEYS_INPUT545MaxInputLen=55546MaxInputLenX86=110547Func=DynamicFunc__clean_input2_kwik548Func=DynamicFunc__SHA1_crypt_input1_append_input2549Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2550Func=DynamicFunc__X86toSSE_switch_input2551Func=DynamicFunc__crypt_md5_in2_to_out1552Test=$dynamic_1018$a93dcf04edd0e2b98c1165304c250b80:1234abcd553Test=$dynamic_1018$f3b5f01810c4d66ae0af85b3789e12cd:potato554TestM=$dynamic_1018$5c43d21a3dfb81435d45e78334fa6109:1234567890123456789012345678901234567890123456789012345555TestF=$dynamic_1018$073c8ec8e73fdedb7aad9df4ded29ba3:12345678901234567890123456789012345678901234567890123456789012345678901234567890556557[List.Generic:dynamic_1019]558Expression=md5(sha1(sha1(md5($p))))559Flag=MGF_KEYS_INPUT560MaxInputLen=55561MaxInputLenX86=110562Func=DynamicFunc__crypt_md5563Func=DynamicFunc__SSEtoX86_switch_output1564Func=DynamicFunc__clean_input2_kwik565Func=DynamicFunc__append_from_last_output_to_input2_as_base16566Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2567Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2568Func=DynamicFunc__X86toSSE_switch_input2569Func=DynamicFunc__crypt_md5_in2_to_out1570Test=$dynamic_1019$86f607194f0aefe63a6c13723e94382d:jjaammaaiiccaa571Test=$dynamic_1019$77faf9282c0c9b5870a4d9c3ec484aca:blink182572TestM=$dynamic_1019$bc679e2715c335fcf8b9205efd031521:1234567890123456789012345678901234567890123456789012345573TestF=$dynamic_1019$36966d66615d3c0de89ca53ed88212ec:12345678901234567890123456789012345678901234567890123456789012345678901234567890574575[List.Generic:dynamic_1020]576Expression=md5(sha1(md5($p)))577Flag=MGF_KEYS_INPUT578MaxInputLen=55579MaxInputLenX86=110580Func=DynamicFunc__crypt_md5581Func=DynamicFunc__SSEtoX86_switch_output1582Func=DynamicFunc__clean_input2_kwik583Func=DynamicFunc__append_from_last_output_to_input2_as_base16584Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2585Func=DynamicFunc__X86toSSE_switch_input2586Func=DynamicFunc__crypt_md5_in2_to_out1587Test=$dynamic_1020$2a8ce40b837c8550506d9b5d220bac28:0124588TestM=$dynamic_1020$74102b324b8b1cf909263284a53955aa:1234567890123456789012345678901234567890123456789012345589TestF=$dynamic_1020$e4ad9c1e34bad775d2cd399294c286e8:12345678901234567890123456789012345678901234567890123456789012345678901234567890590591[List.Generic:dynamic_1021]592Expression=md5(sha1(md5(sha1($p))))593Flag=MGF_StartInX86Mode594Flag=MGF_KEYS_INPUT595MaxInputLen=55596MaxInputLenX86=110597Func=DynamicFunc__clean_input2_kwik598Func=DynamicFunc__SHA1_crypt_input1_append_input2599Func=DynamicFunc__X86toSSE_switch_input2600Func=DynamicFunc__crypt2_md5601Func=DynamicFunc__SSEtoX86_switch_output2602Func=DynamicFunc__clean_input2_kwik603Func=DynamicFunc__append_from_last_output2_as_base16604Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2605Func=DynamicFunc__X86toSSE_switch_input2606Func=DynamicFunc__crypt_md5_in2_to_out1607Test=$dynamic_1021$c1e054140feac1b411d3efc8bae5b881:norway608TestM=$dynamic_1021$dbf8fc7a96898e16e1251d94b3bb06d9:1234567890123456789012345678901234567890123456789012345609TestF=$dynamic_1021$df38670077cb4c299bcaf06e8271c986:12345678901234567890123456789012345678901234567890123456789012345678901234567890610611[List.Generic:dynamic_1022]612Expression=md5(sha1(md5(sha1(md5($p)))))613Flag=MGF_KEYS_INPUT614MaxInputLen=55615MaxInputLenX86=110616Func=DynamicFunc__crypt_md5617Func=DynamicFunc__SSEtoX86_switch_output1618Func=DynamicFunc__clean_input2_kwik619Func=DynamicFunc__append_from_last_output_to_input2_as_base16620Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2621Func=DynamicFunc__X86toSSE_switch_input2622Func=DynamicFunc__crypt2_md5623Func=DynamicFunc__SSEtoX86_switch_output2624Func=DynamicFunc__clean_input2_kwik625Func=DynamicFunc__append_from_last_output2_as_base16626Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2627Func=DynamicFunc__X86toSSE_switch_input2628Func=DynamicFunc__crypt_md5_in2_to_out1629Test=$dynamic_1022$9caf8c249c588a89030db581ec6cea47:313131630Test=$dynamic_1022$e1eb34c6ab9e9cbe4ff67fdeb747e169:8616631TestM=$dynamic_1022$d4d51c756abefb41bafbcff7c6237618:1234567890123456789012345678901234567890123456789012345632TestF=$dynamic_1022$9367b878de004be863000174e728c15f:12345678901234567890123456789012345678901234567890123456789012345678901234567890633634[List.Generic:dynamic_1023]635Expression=sha1($p) (hash truncated to length 32)636Flag=MGF_KEYS_INPUT637Flag=MGF_FLAT_BUFFERS638Flag=MGF_POOR_OMP639MaxInputLen=110640MaxInputLenX86=110641Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL642Test=$dynamic_1023$5baa61e4c9b93f3f0682250b6cf8331b:password643Test=$dynamic_1023$e4227954acdafb57977d7dc8a1957095:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890644645[List.Generic:dynamic_1024]646Expression=sha1(md5($p)) (hash truncated to length 32)647Flag=MGF_KEYS_INPUT648MaxInputLen=55649MaxInputLenX86=110650Func=DynamicFunc__crypt_md5651Func=DynamicFunc__SSEtoX86_switch_output1652Func=DynamicFunc__clean_input2_kwik653Func=DynamicFunc__append_from_last_output_to_input2_as_base16654Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL655Test=$dynamic_1024$c56289182ffd862d906eac1ce5c6fe6d:trigun656TestM=$dynamic_1024$e290c79e9584e4cd61faded848ff96f0:1234567890123456789012345678901234567890123456789012345657TestF=$dynamic_1024$609fed73c093edfbcc9913004656f360:12345678901234567890123456789012345678901234567890123456789012345678901234567890658659[List.Generic:dynamic_1025]660Expression=sha1(md5(md5($p))) (hash truncated to length 32)661Flag=MGF_KEYS_INPUT662MaxInputLen=55663MaxInputLenX86=110664Func=DynamicFunc__crypt_md5665Func=DynamicFunc__clean_input2_kwik666Func=DynamicFunc__append_from_last_output_to_input2_as_base16667Func=DynamicFunc__crypt2_md5668Func=DynamicFunc__SSEtoX86_switch_output2669Func=DynamicFunc__clean_input2_kwik670Func=DynamicFunc__append_from_last_output2_as_base16671Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL672Test=$dynamic_1025$f122db007ed655921f98184e4302bba8:123456673TestM=$dynamic_1025$006d246968ee9e761578bce26d5a82a2:1234567890123456789012345678901234567890123456789012345674TestF=$dynamic_1025$cc98637054045e998ab01e97ce65585e:12345678901234567890123456789012345678901234567890123456789012345678901234567890675676[List.Generic:dynamic_1026]677Expression=sha1(sha1($p)) (hash truncated to length 32)678Flag=MGF_FLAT_BUFFERS679Flag=MGF_KEYS_INPUT680MaxInputLen=110681MaxInputLenX86=110682Func=DynamicFunc__clean_input2_kwik683Func=DynamicFunc__SHA1_crypt_input1_overwrite_input2684Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL685Test=$dynamic_1026$71b37a2d9b0a7d5dc4da8a08d9092817:peanuts686Test=$dynamic_1026$30f8cf133eaac8e3b6af4bcba722921d:peanut687Test=$dynamic_1026$809df50e02b68a389a8f6639a03421eb:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890688689[List.Generic:dynamic_1027]690Expression=sha1(sha1(sha1($p))) (hash truncated to length 32)691Flag=MGF_FLAT_BUFFERS692Flag=MGF_KEYS_INPUT693MaxInputLen=110694MaxInputLenX86=110695Func=DynamicFunc__clean_input2_kwik696Func=DynamicFunc__SHA1_crypt_input1_overwrite_input2697Func=DynamicFunc__SHA1_crypt_input2_overwrite_input2698Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL699Test=$dynamic_1027$b8443c12b3066dac22b3857b2fb779b4:leelee700Test=$dynamic_1027$00aeb6dc5e6269a6b2f39728cd8a6812:test1701Test=$dynamic_1027$54e45916fb79f7be1c695828fdba4491:test3702Test=$dynamic_1027$d08a9796dc4ea6decf59ce43caa1b4b4:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890703704[List.Generic:dynamic_1028]705Expression=sha1(sha1_raw($p)) (hash truncated to length 32)706# currently, the raw sha1 does not work in SSE code. It does work on 'flat' x86 code707Flag=MGF_FLAT_BUFFERS708Flag=MGF_KEYS_INPUT709MaxInputLen=110710MaxInputLenX86=110711Func=DynamicFunc__clean_input2712Func=DynamicFunc__LargeHash_OUTMode_raw713Func=DynamicFunc__SHA1_crypt_input1_append_input2714Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL715Test=$dynamic_1028$79239e0207cd5f6a472c8795c73b451d:rainbow716Test=$dynamic_1028$06c0bf5b64ece2f648b5f048a7190390:test1717Test=$dynamic_1028$f357e78cabad76fd3f1018ef85d78499:test3718Test=$dynamic_1028$64ad70ca481a2c33a2c843cc03555365:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890719720[List.Generic:dynamic_1029]721Expression=sha256($p) (hash truncated to length 32)722Flag=MGF_FLAT_BUFFERS723MaxInputLen=110724MaxInputLenX86=110725Func=DynamicFunc__clean_input726Func=DynamicFunc__append_keys727Func=DynamicFunc__SHA256_crypt_input1_to_output1_FINAL728Test=$dynamic_1029$e4ad93ca07acb8d908a3aa41e920ea4f:iloveyou729Test=$dynamic_1029$13b1f7ec5beaefc781e43a3b344371cd:freedom730Test=$dynamic_1029$aa97302150fce811425cd84537028a5a:computer731Test=$dynamic_1029$75ff6bea5b0ad25171988e435c24b3ee:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890732733[List.Generic:dynamic_1030]734Expression=whirlpool($p) (hash truncated to length 32)735Flag=MGF_FLAT_BUFFERS736MaxInputLen=110737MaxInputLenX86=110738Func=DynamicFunc__clean_input739Func=DynamicFunc__append_keys740Func=DynamicFunc__WHIRLPOOL_crypt_input1_to_output1_FINAL741Test=$dynamic_1030$56fd4ecb153a08b65a73b51e3c8ca369:spiral742Test=$dynamic_1030$6b116ef0c32185d3ae1136f4593a5cae:defender743Test=$dynamic_1030$fee8605795f28dda386324d59a28ba99:amazon744Test=$dynamic_1030$73622582350099f45647970c0a8a2496:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890745746[List.Generic:dynamic_1031]747Expression=gost($p) (hash truncated to length 32)748Flag=MGF_FLAT_BUFFERS749MaxInputLen=110750MaxInputLenX86=110751Func=DynamicFunc__clean_input752Func=DynamicFunc__append_keys753Func=DynamicFunc__GOST_crypt_input1_to_output1_FINAL754Test=$dynamic_1031$0e8cd409a23c2e7ad1c5b22b101dfa16:admin755Test=$dynamic_1031$3b024be97641061bdd5409b4866c26c5:test1756Test=$dynamic_1031$55719211936152fbe2e1f6aa796fa866:test3757Test=$dynamic_1031$096dd6ff632727d682070752fbda548e:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890758759[List.Generic:dynamic_1032]760Expression=sha1_64(utf16($p)) (PeopleSoft)761Flag=MGF_INPBASE64m762Flag=MGF_FLAT_BUFFERS763Flag=MGF_UTF8764MaxInputLen=110765MaxInputLenX86=110766Func=DynamicFunc__clean_input767Func=DynamicFunc__setmode_unicode768Func=DynamicFunc__append_keys769Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL770Test=$dynamic_1032$6Pl/upEE0epQR5SObftn+s2fW3M=:password771772[List.Generic:dynamic_1033]773Expression=sha1_64(utf16($p).$s)774Flag=MGF_INPBASE64m775Flag=MGF_FLAT_BUFFERS776Flag=MGF_SALTED777Flag=MGF_UTF8778SaltLen=-32779MaxInputLen=110780MaxInputLenX86=110781Func=DynamicFunc__clean_input782Func=DynamicFunc__setmode_unicode783Func=DynamicFunc__append_keys784Func=DynamicFunc__setmode_normal785Func=DynamicFunc__append_salt786Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL787# we want to make SURE that something ending with = mixed788# with others NOT ending with = are handled properly.789Test=$dynamic_1033$D7C1gHanUq1xE96HpEQitzAhNB8$FyKXs6zU:password790Test=$dynamic_1033$sh+Q50Cp4vERzDkJcaaKIv8zubM=$M1RxMCTZ:password2791Test=$dynamic_1033$DfM7ryjrNamyG0wRS6CwheZS6Mo$3swBL4qn:792793####################################################################794# Dynamic type for md5($p.$u) for PostgreSQL stored MD5 hashes795# See also dynamic_1015 for PostgreSQL 'pass the hash' (with salt)796####################################################################797[List.Generic:dynamic_1034]798Expression=md5($p.$u) (PostgreSQL MD5)799Flag=MGF_USERNAME800SaltLen=-32801Func=DynamicFunc__clean_input802Func=DynamicFunc__append_keys803Func=DynamicFunc__append_userid804Func=DynamicFunc__crypt_md5805Test=$dynamic_1034$bd6fd49a627ecdbe4031b2d52d5748ab:openwall:postgres806Test=$dynamic_1034$32e12f215ba27cb750c9e093ce4b5127:password:postgres807808[List.Generic:dynamic_1300]809MaxInputLen=55810MaxInputLenX86=110811Flag=MGF_POOR_OMP812Expression=md5(md5_raw($p))813Func=DynamicFunc__clean_input814Func=DynamicFunc__append_keys815# changed these 3 lines to the 4 lines that follow. This format has had problems816# in certain builds (like generic). Likely it is the set_input_len_16 causing817# issues and should be looked at. For now, the new method using input2 works fine.818#Func=DynamicFunc__crypt_md5_to_input_raw819#Func=DynamicFunc__set_input_len_16820#Func=DynamicFunc__crypt_md5821Func=DynamicFunc__crypt_md5822Func=DynamicFunc__clean_input2_kwik823Func=DynamicFunc__append2_from_last_output1_as_raw824Func=DynamicFunc__crypt_md5_in2_to_out1825Test=$dynamic_1300$43442676c74ae59f219c2d87fd6bad52:admin826Test=$dynamic_1300$5cbaca32e76bb49ca69657a9145d77ee:test1827Test=$dynamic_1300$1c8b12da6f307bbfe8d245c79d468b3d:test3828TestM=$dynamic_1300$60f3fd93d4e949d871dc7713664b2b4e:1234567890123456789012345678901234567890123456789012345829TestF=$dynamic_1300$d66e6e66ff4a8dc6f3665740268fe1bc:12345678901234567890123456789012345678901234567890123456789012345678901234567890830831[List.Generic:dynamic_1350]832Expression=md5(md5($s.$p):$s)833# Flag needed here, is Salt.834CONST1=:835Flag=MGF_SALTED836SaltLen=2837MaxInputLen=53838MaxInputLenX86=108839Func=DynamicFunc__clean_input840Func=DynamicFunc__append_salt841Func=DynamicFunc__append_keys842Func=DynamicFunc__crypt_md5843Func=DynamicFunc__clean_input844Func=DynamicFunc__append_from_last_output_as_base16845Func=DynamicFunc__append_input1_from_CONST1846Func=DynamicFunc__append_salt847Func=DynamicFunc__crypt_md5848Test=$dynamic_1350$c1f58952ab714b5ef76926628f6e0b16$92:blondie849Test=$dynamic_1350$a130dbe6709653d602eec70945e14f87$9e:blondie850TestM=$dynamic_1350$0f7dcf84c95a3c191a4bff15c62058a0$12:12345678901234567890123456789012345678901234567890123851TestF=$dynamic_1350$f78bdbc1c68b64f52c40d777068309fb$12:123456789012345678901234567890123456789012345678901234567890123456789012345678852853# Thanks to JimF for his help in making this format work854# (Jean-Michel Picod)855[List.Generic:dynamic_1400]856Expression=sha1(utf16($p)) (Microsoft CREDHIST)857Flag=MGF_INPUT_20_BYTE858Flag=MGF_StartInX86Mode859Flag=MGF_POOR_OMP860Flag=MGF_UTF8861MaxInputLen=55862MaxInputLenX86=110863Func=DynamicFunc__clean_input864Func=DynamicFunc__setmode_unicode865Func=DynamicFunc__append_keys866Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL867#Test=$dynamic_1500$e8f97fba9104d1ea5047948e6dfb67fa:password868Test=$dynamic_1400$e8f97fba9104d1ea5047948e6dfb67facd9f5b73:password869870# Thanks JimF for his help making this format to work871# (Jean-Michel Picod)872[List.Generic:dynamic_1401]873Expression=md5($u.\nskyper\n.$p) (Skype MD5)874Flag=MGF_USERNAME875Flag=MGF_StartInX86Mode876Flag=MGF_INPUT_20_BYTE877CONST1=\x0Askyper\x0A878# 23 gives us ability to do user names up to 55-8-23 (or 24 byte user names)879# this should be ported to a flat format.880MaxInputLen=23881MaxInputLenX86=110882SaltLen=-24883Func=DynamicFunc__clean_input884Func=DynamicFunc__append_userid885Func=DynamicFunc__append_input1_from_CONST1886Func=DynamicFunc__append_keys887Func=DynamicFunc__crypt888# NOTE, I did not have full 40 byte hashes, but am using the INPUT_20_BYTE flag.889# The last 8 0's are only used for valid to work, and so we can add full hashes890# when we get them. Only the first 16 bytes is used in hash compare within JtR891Test=$dynamic_1401$27f6a9d892475e6ce0391de8d2d893f700000000:password:username892Test=$dynamic_1401$27f6a9d892475e6ce0391de8d2d893f700000000$$Uusername:password893# repeat that hash in exactly the same form that is used in john.pot894Test=$dynamic_1401$27f6a9d892475e6ce0391de8d2d893f700000000$HEX$2455757365726e616d65:password895896# In Redmine, the hashed password is stored in the following form,897# SHA1(salt + SHA1(password))898#899# $ mysql -u root -p900# mysql> use bitnami_redmine;901# Database changed902# mysql> select * from users903[List.Generic:dynamic_1501]904Expression=sha1($s.sha1($p)) (Redmine)905Flag=MGF_INPUT_20_BYTE906Flag=MGF_SALTED907Flag=MGF_FLAT_BUFFERS908Flag=MGF_KEYS_BASE16_IN1_SHA1909SaltLen=32910MaxInputLenX86=110911MaxInputLen=110912Func=DynamicFunc__clean_input2_kwik913Func=DynamicFunc__append_salt2914Func=DynamicFunc__append_input2_from_input915Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL916Test=$dynamic_1501$dd49e260795cb71da6904b9bccec30cb79b189f5$21737e0ab18ae77caec21f73c6e60c8d:redminecrap917Test=$dynamic_1501$713769f2b8824e8f5abc2d3e4f9326f32ff1d46b$5bfe6f1c0f7a8d802032d1bf85225400:redminefff918919# In XenForo, the hashed password is stored in the following form(s),920# sha1(sha1(password).salt)921#922# OR923#924# sha256(sha256(password).salt)925# NOTE, added MGF_KEYS_BASE16_IN1_SHA1 and MGF_KEYS_BASE16_IN1_SHA256 flags926# and the many salts speed is now greatly improved.927[List.Generic:dynamic_1502]928Expression=sha1(sha1($p).$s) (XenForo SHA-1)929Flag=MGF_INPUT_20_BYTE930Flag=MGF_SALTED931Flag=MGF_FLAT_BUFFERS932Flag=MGF_KEYS_BASE16_IN1_SHA1933SaltLen=-120 // dont know, so made it big, jfoug934MaxInputLenX86=110935MaxInputLen=110936Func=DynamicFunc__set_input_len_40937Func=DynamicFunc__append_salt938Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL939Test=$dynamic_1502$fd74fa6521e515921ad843a8465e34b703960db1$dummysalt:password940941# note this hash could use the pre-compute limb-1 optimization we are wanting to do.942# that would take it from 3 sha256 limbs to 1 sha256 limb (in many salts). Right now,943# we have reduced it from 3 limbs to 2 limbs (for many salts).944[List.Generic:dynamic_1503]945Expression=sha256(sha256($p).$s) (XenForo SHA-256)946Flag=MGF_INPUT_32_BYTE947Flag=MGF_SALTED948Flag=MGF_FLAT_BUFFERS949Flag=MGF_KEYS_BASE16_IN1_SHA256950MaxInputLenX86=110951SaltLen=-120 // dont know, so made it big, jfoug952MaxInputLen=110953Func=DynamicFunc__set_input_len_64954Func=DynamicFunc__append_salt955Func=DynamicFunc__SHA256_crypt_input1_to_output1_FINAL956Test=$dynamic_1503$453f2e21fa6c150670d3ecf0e4a0ff3bab8b1903c2e96ad655d960b95f104248$697de9eda4a02563a7ec66d42d4a96995cb2948e29ab76fbcc89e8db71dd10f1:password957Test=$dynamic_1503$a8a0e9545c1475e8546f8546d87fe2516cf525c12ad79a6a7a8fee2fb0d8afd3$697de9eda4a02563a7ec66d42d4a96995cb2948e29ab76fbcc89e8db71dd10f1:verlongcrappypassword01234567890958959# http://wiki.insidepro.com/index.php/sha1($a.$p.$s)960[List.Generic:dynamic_1504]961Expression=sha1($s.$p.$s)962Flag=MGF_INPUT_20_BYTE963Flag=MGF_SALTED964Flag=MGF_FLAT_BUFFERS965MaxInputLenX86=110966MaxInputLen=110967SaltLen=-68 // dont know, so made it max size that fits in 4 limb buffer, jfoug968Func=DynamicFunc__clean_input_kwik969Func=DynamicFunc__append_salt970Func=DynamicFunc__append_keys971Func=DynamicFunc__append_salt972Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL973Test=$dynamic_1504$114e4978430ee4fe2bc492f059f5c7aa400bf2fe$Salt:abcd974Test=$dynamic_1504$aab04277ffba1dee47288b05fa58d25e49a1935e$Salt:12345678975Test=$dynamic_1504$3b71a92fb2f4aeda9ae38211b67c5a4dc2a1771a$Salt:976977# md5($p.$s.md5($p.$s)) (saw it on https://hashcat.net/trac)978[List.Generic:dynamic_1505]979Expression=md5($p.$s.md5($p.$s))980# to make flat (allows much longer passwords and salts)981Flag=MGF_FLAT_BUFFERS982MaxInputLen=110983SaltLen=-64984Flag=MGF_SALTED985MaxInputLenX86=110986Func=DynamicFunc__clean_input987Func=DynamicFunc__append_keys988Func=DynamicFunc__append_salt989Func=DynamicFunc__crypt_md5990Func=DynamicFunc__clean_input2991Func=DynamicFunc__append_keys2992Func=DynamicFunc__append_salt2993Func=DynamicFunc__append_from_last_output_to_input2_as_base16994Func=DynamicFunc__MD5_crypt_input2_to_output1_FINAL995Test=$dynamic_1505$b8bbabb1eb9802a2e962de0207ca5172$aaaSXB:test1996997# https://www.trustwave.com/Resources/SpiderLabs-Blog/Changes-in-Oracle-Database-12c-password-hashes/998[List.Generic:dynamic_1506]999Expression=md5($u.:XDB:.$p) (Oracle 12c "H" hash)1000Flag=MGF_USERNAME1001CONST1=:XDB:1002MaxInputLen=231003MaxInputLenX86=1101004SaltLen=-271005Func=DynamicFunc__clean_input1006Func=DynamicFunc__append_userid1007Func=DynamicFunc__append_input1_from_CONST11008Func=DynamicFunc__append_keys1009Func=DynamicFunc__crypt1010Test=$dynamic_1506$dc9894a01797d91d92eca1da66242209:epsilon:DEMO10111012# salt here is really a const.1013[List.Generic:dynamic_1507]1014Expression=sha1(utf16($const.$p)) (Mcafee master pass)1015CONST1=\x01\x0f\x0d\x331016Flag=MGF_FLAT_BUFFERS1017Flag=MGF_INPUT_20_BYTE1018MaxInputLen=1101019MaxInputLenX86=1101020Func=DynamicFunc__clean_input1021Func=DynamicFunc__setmode_unicode1022Func=DynamicFunc__append_input1_from_CONST11023Func=DynamicFunc__append_keys1024Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL1025Test=$dynamic_1507$d4eaf666d09316f9d61b14753353a73d5fbcf048:test1026Test=$dynamic_1507$9dbe0d0ea16ae0a14c0c81a7c962b5a16e777259:test110271028# Newer SunShop Shopping Cart. Older SunShop 4.1.0 uses md5($p) as the hashing1029# scheme. It seems that both these hash types can live together in a single1030# SunShop database.1031[List.Generic:dynamic_1518]1032Expression=md5(sha1($p).md5($p).sha1($p))1033Flag=MGF_FLAT_BUFFERS1034MaxInputLenX86=1101035MaxInputLen=1101036Func=DynamicFunc__clean_input_kwik1037Func=DynamicFunc__clean_input2_kwik1038Func=DynamicFunc__append_keys1039Func=DynamicFunc__SHA1_crypt_input1_append_input21040Func=DynamicFunc__MD5_crypt_input1_append_input21041Func=DynamicFunc__SHA1_crypt_input1_append_input21042Func=DynamicFunc__MD5_crypt_input2_to_output1_FINAL1043Test=$dynamic_1518$c756b56aed8d6748ee63e1e270c71a3f:password1044Test=$dynamic_1518$8e6db6b58e9e326aba17e19a36c79d95:menura1045Test=$dynamic_1518$2abe0f6794cc57663527ce7ab81fdaf3:stealth1046Test=$dynamic_1518$08793c9ab17a586b3af71d28e1cae2c1:fletch1047Test=$dynamic_1518$b19d46258f6a00f151367024789d71f1:smurfs1048Test=$dynamic_1518$065c78f47a7da2e2ca2bd76eed10f6cd:ralphy11049Test=$dynamic_1518$82f7dd8a757d1a79126817940336087d:Kitesurfing110501051# Telegram for Android hashes. Use ../run/telegram2john.py to extract the hashes.1052[List.Generic:dynamic_1528]1053Expression=sha256($s.$p.$s) (Telegram for Android)1054Flag=MGF_INPUT_32_BYTE1055Flag=MGF_SALTED1056Flag=MGF_FLAT_BUFFERS1057SaltLen=161058Func=DynamicFunc__clean_input_kwik1059Func=DynamicFunc__append_salt1060Func=DynamicFunc__append_keys1061Func=DynamicFunc__append_salt1062Func=DynamicFunc__SHA256_crypt_input1_to_output1_FINAL1063Test=$dynamic_1528$dab5552484cc327bd6d23b2a1ceb55b6ffb30f305bc09962a9102a6cec63773c$HEX$9533cd79bf8739bdd47ff8998aaf578c:12341064Test=$dynamic_1528$cad3fe1d4df2bf68c23f003e771c79fa42d10ae9a03671019d9c91a266a91372$HEX$901c3371d7de4b525b0e0a6abf4f392e:098710651066# DeepSound hashes. Use ../run/deepsound2john.py to extract the hashes.1067[List.Generic:dynamic_1529]1068Expression=sha1($p null_padded_to_len_32) (DeepSound)1069Flag=MGF_INPUT_20_BYTE1070Flag=MGF_FLAT_BUFFERS1071Func=DynamicFunc__clean_input1072Func=DynamicFunc__append_keys1073Func=DynamicFunc__set_input_len_321074Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL1075Test=$dynamic_1529$6f9fa2285514c73bcac858496361f19f477ee416:deep5ound1076Test=$dynamic_1529$66cad8923499423fa0c1d3974256d957840b9d69:iqlusion1077Test=$dynamic_1529$a3eb15172cc7e6090a2eb32e6dc8c3bd30c39a02:abcdefghijklmnopqrstuvwxyz01234510781079# MONGODB-CR system hashes1080# Input hash format => username:$dynamic_1550$hash1081[List.Generic:dynamic_1550]1082Expression=md5($u.:mongo:.$p) (MONGODB-CR system hash)1083Flag=MGF_USERNAME1084CONST1=:mongo:1085MaxInputLen=231086MaxInputLenX86=1101087# note, saltlen + length(:mongo:) + length(plain) must stay <= 55 for SIMD1088# so 25+7+23 == 551089SaltLen=-251090Func=DynamicFunc__clean_input1091Func=DynamicFunc__append_userid1092Func=DynamicFunc__append_input1_from_CONST11093Func=DynamicFunc__append_keys1094Func=DynamicFunc__crypt1095Test=$dynamic_1550$08f32db65f837a52cd791bd923a61e95$$Usomeadmin:secret1096Test=$dynamic_1550$819951ad797c3564148a77cbecf3b166$$Uadmin:secret@1234510971098# MONGODB-CR network hashes (user name < 8 bytes long)1099# Input hash format => username:$dynamic_1551$hash$salt$$Uusername1100[List.Generic:dynamic_1551]1101Expression=md5($s.$u.(md5($u.:mongo:.$p)) (MONGODB-CR network hash)1102Flag=MGF_USERNAME1103CONST1=:mongo:1104MaxInputLen=231105MaxInputLenX86=1101106# note, saltlen + length(:mongo:) + length(plain) must stay <= 55 for SIMD1107# so 25+7+23 == 551108SaltLen=161109Func=DynamicFunc__clean_input1110Func=DynamicFunc__clean_input21111Func=DynamicFunc__append_userid1112Func=DynamicFunc__append_input1_from_CONST11113Func=DynamicFunc__append_keys1114Func=DynamicFunc__append_salt21115Func=DynamicFunc__append_userid21116Func=DynamicFunc__crypt1117Func=DynamicFunc__append_from_last_output_to_input2_as_base161118Func=DynamicFunc__crypt_md5_in2_to_out11119Test=$dynamic_1551$0c85e3f74adce5d037426791940c820a$58d3229c83e3f87e$$Usa:sa1120Test=$dynamic_1551$797d7e18879446845f10ae9d519960b2$10441db416a99ffc$$Usa:longpassword1121Test=$dynamic_1551$a5ca2c517c06fdfb773144d53fb26f56$9b90cf265f3194d7$$UHerman:1234567891122Test=$dynamic_1551$441d6ece7356c67dcc69dd26e7e0501f$be8fa52f0e64c250$$Usz110:passWOrd1123Test=$dynamic_1551$c95e106f1d9952c88044a0b21a6bd3fd$304b81adddfb4d6f$$Ujack:11241125# MONGODB-CR network hashes (user name >= 8 bytes long)1126# Input hash format => username:$dynamic_1552$hash$salt$$Uusername1127[List.Generic:dynamic_1552]1128Expression=md5($s.$u.(md5($u.:mongo:.$p)) (MONGODB-CR network hash)1129Flag=MGF_USERNAME1130Flag=MGF_FLAT_BUFFERS1131CONST1=:mongo:1132MaxInputLen=1101133MaxInputLenX86=1101134SaltLen=161135Func=DynamicFunc__clean_input_kwik1136Func=DynamicFunc__clean_input2_kwik1137Func=DynamicFunc__append_userid1138Func=DynamicFunc__append_input1_from_CONST11139Func=DynamicFunc__append_keys1140Func=DynamicFunc__append_salt21141Func=DynamicFunc__append_userid21142Func=DynamicFunc__MD5_crypt_input1_append_input21143Func=DynamicFunc__MD5_crypt_input2_to_output1_FINAL1144Test=$dynamic_1552$10290925d16d81e50db242c9f3572d91$0000000000000000$$Ulongusername:longpassword@123456781145Test=$dynamic_1552$53257e018399a241849cb04c70ba8daa$0000000000000000$$Ulongusername:longpassword1146Test=$dynamic_1552$1abe48bac6ad0bf567ab51b094f026a9$86336266301fb552$$Ulongusername:longpassword1147Test=$dynamic_1552$5c414259f7f7a42f8c4d1b6ffb37913a$8c82aec197929775$$Ueight18_characters:12311481149# SocialEngine hashes (Elijah [W&P])1150#1151# hash = md5('core secret'.'password'.'salt')1152# core.secret -> MySQL 'engine4_core_settings' table, row 'core.secret'1153# salt -> MySQL 'engine4_users' table, 'salt' column1154[List.Generic:dynamic_1560]1155Expression=md5($s.$p.$s2) (SocialEngine)1156Flag=MGF_SALTED1157Flag=MGF_SALTED21158Flag=MGF_FLAT_BUFFERS1159SaltLen=-461160Func=DynamicFunc__clean_input1161Func=DynamicFunc__append_salt1162Func=DynamicFunc__append_keys1163Func=DynamicFunc__append_2nd_salt1164Func=DynamicFunc__MD5_crypt_input1_to_output1_FINAL1165Test=$dynamic_1560$55fce7789372d510023fc819c0ce55a6$a6ebe407fa6e2337cb2deb573d17791e$$21060744:test11166Test=$dynamic_1560$fd880f2c10f148c409f3c850a52201b0$6cbe843e024f59827c55f3a32d1c3be9$$22262250:thatsworking1167Test=$dynamic_1560$2b199a07acf8e9e36e47ec2a0178933b$2a4c7cf421315f49fae230e80acfa218$$29597016:test31168Test=$dynamic_1560$13d806a7e87bc1b551478742349882a9$2161869cadcb41f1cc1e939f191c0bb35e58a9a7$$21060744:12312311691170# ColdFusion 11 hashes (Ivan Novikov <[email protected]>)1171# Hash is password variable from ./lib/password.properties1172# Salt is admin.userid.root.salt variable from ./lib/neo-security.xml1173[List.Generic:dynamic_1588]1174Expression=sha256($s.sha1($p)) (ColdFusion 11)1175Flag=MGF_INPUT_32_BYTE1176Flag=MGF_SALTED1177Flag=MGF_FLAT_BUFFERS1178Flag=MGF_BASE_16_OUTPUT_UPCASE1179SaltLen=641180Func=DynamicFunc__clean_input_kwik1181Func=DynamicFunc__clean_input2_kwik1182Func=DynamicFunc__append_salt1183Func=DynamicFunc__append_keys21184Func=DynamicFunc__SHA1_crypt_input2_append_input11185Func=DynamicFunc__SHA256_crypt_input1_to_output1_FINAL1186Test=$dynamic_1588$37F816D599BFD69C5A0D750198AB6E46E26CEB120C9AF3B1E5306515058CBAE8$D7B6D57262290BC0A634D2D1A0DFE59F1FBE47885DBC9BB1CEBA8EA9D09D9839:test123411871188# IBM AS/400 SHA1 hashes !NOTE, salt is pre prepared, utf16be(space_pad_10(uc($user_name))1189[List.Generic:dynamic_1590]1190Expression=sha1(utf16be(space_pad_10(uc($s)).$p)) (IBM AS/400 SHA1)1191Flag=MGF_INPUT_20_BYTE1192Flag=MGF_SALTED1193Flag=MGF_FLAT_BUFFERS1194Flag=MGF_BASE_16_OUTPUT_UPCASE1195Flag=MGF_UTF81196SaltLen=201197Func=DynamicFunc__clean_input_kwik1198Func=DynamicFunc__append_salt1199Func=DynamicFunc__setmode_unicodeBE1200Func=DynamicFunc__append_keys1201Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL1202Test=$dynamic_1590$4C106E52CA196986E1C52C7FCD02AF046B76C73C$HEX$0052004F00420020002000200020002000200020:banaan1203Test=$dynamic_1590$CED8050C275A5005D101051FF5BCCADF693E8AB7$HEX$0042004100520054002000200020002000200020:Kulach0071204Test=$dynamic_1590$1BA6C7D54E9696ED33F4DF201E348CA8CA815F75$HEX$005300590053004F005000520020002000200020:T0Psecret!1205Test=$dynamic_1590$A1284B4F1BDD7ED598D4B5060D861D6D614620D3$HEX$00530059005300540045004D0020002000200020:P@ssword011206Test=$dynamic_1590$94C55BC7EDF1996AC62E8145CDBFA285CA79ED2E$HEX$0051005300590053004400420041002000200020:qsysdba1207Test=$dynamic_1590$CDF4063E283B51EDB7B9A8E6E542042000BD9AE9$HEX$0051005300450043004F00460052002000200020:qsecofr!1208Test=$dynamic_1590$44D43148CFE5CC3372AFD2610BEE3D226B2B50C5$HEX$0054004500530054003100200020002000200020:password11209Test=$dynamic_1590$349B12D6588843A1632649A501ABC353EBF409E4$HEX$0054004500530054003200200020002000200020:secret1210Test=$dynamic_1590$A97F2F9ED9977A8A628F8727E2851415B06DC540$HEX$0054004500530054003300200020002000200020:test312111212# wbb3 SHA1 hashes1213[List.Generic:dynamic_1592]1214Expression=sha1($s.sha1($s.sha1($p))) (wbb3)1215Flag=MGF_INPUT_20_BYTE1216Flag=MGF_SALTED1217Flag=MGF_FLAT_BUFFERS1218Flag=MGF_KEYS_BASE16_IN1_SHA11219Flag=MGF_FULL_CLEAN_REQUIRED21220SaltLen=401221Func=DynamicFunc__clean_input2_kwik1222Func=DynamicFunc__append_salt21223Func=DynamicFunc__append_input2_from_input1224Func=DynamicFunc__LargeHash_set_offset_401225Func=DynamicFunc__SHA1_crypt_input2_at_offset_input21226Func=DynamicFunc__SHA1_crypt_input2_to_output1_FINAL1227Test=$dynamic_1592$e2063f7c629d852302d3020599376016ff340399$0b053db07dc02bc6f6e24e00462f17e3c550afa9:1234561228Test=$dynamic_1592$f6975cc560c5d03feb702158d08f90bf2fa773d6$0b053db07dc02bc6f6e24e00462f17e3c550afa9:password1229Test=$dynamic_1592$2c56d23b44eb122bb176dfa2a1452afaf89f1143$a710463f75bf4568d398db32a53f9803007388a3:1234561230Test=$dynamic_1592$2596b5f8e7cdaf4b15604ad336b810e8e2935b1d$1039145e9e785ddb2ac7ccca89ac1b159b595cc1:123456781231Test=$dynamic_1592$26496a87c1a7dd68f7beceb2fc40b6fc4223a453$db763342e23f8ccdbd9c90d1cc7896d80b7e0a44:123456781232Test=$dynamic_1592$d945c02cf85738b7db4f4f05edd676283280a513$bf2c7d0c8fb6cb146adf8933e32da012d31b5bbb:1234567891233Test=$dynamic_1592$e3e03fe02223c5030e834f81997f614b43441853$d132b22d3f1d942b99cc1f5fbd5cc3eb0824d608:123456789012341235# All credit for this format goes to Alexey Tyurin (ERPScan), François Gaudreault, and Martin Lemay1236# http://gosecure.net/2016/05/04/oracle-peoplesoft-still-a-threat-for-enterprises/ (source)1237# https://erpscan.com/press-center/blog/peoplesoft-security-part-4-peoplesoft-pentest-using-tokenchpoken-tool/1238# https://erpscan.com/wp-content/uploads/tools/ERPScan-tockenchpoken.zip1239[List.Generic:dynamic_1600]1240Expression=sha1($s.utf16le($p)) (Oracle PeopleSoft PS_TOKEN)1241Flag=MGF_INPUT_20_BYTE1242Flag=MGF_FLAT_BUFFERS1243Flag=MGF_SALTED1244Flag=MGF_UTF81245SaltLen=-1501246Func=DynamicFunc__clean_input1247Func=DynamicFunc__append_salt1248Func=DynamicFunc__setmode_unicode1249Func=DynamicFunc__append_keys1250Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL1251Test=$dynamic_1600$e6155f87b073451076d81e3505f8b9fcd3f53b5a$HEX$710000000403020101000000bc0200000000000010500050005700450042004500580054000645004e0047000e50005300460054005f00480052003432003000310036002d00300034002d00300038002d00310039002e00320037002e00300035002e0030003000300030003000320000:password1252Test=$dynamic_1600$b5e335754127b25ba6f99a94c738e24cd634c35a$HEX$aa07d396f5038a6cbeded88d78d1d6c907e4079b3dc2e12fddee409a51cc05ae73e8cc24d518c923a2f79e49376594503e6238b806bfe33fa8516f4903a9b4:hashcat1253Test=$dynamic_1600$ac869d82e768c1af0e2b80679ddee8efe769d480$HEX$650000000403020101000000bc0200000000000004500053000645004e0047000e50005300460054005f00480052003432003000310035002d00300037002d00300031002d00300038002e00300036002e00340036002e0039003900390035003400330000:password@1234512541255# https://github.com/neo-project/neo-gui (tested with Neo GUI v2.3.2)1256[List.Generic:dynamic_1608]1257Expression=sha256(sha256_raw(sha256_raw($p))) (Neo Wallet)1258Flag=MGF_FLAT_BUFFERS1259Flag=MGF_INPUT_32_BYTE1260MaxInputLenX86=1101261MaxInputLen=1101262Func=DynamicFunc__clean_input_kwik1263Func=DynamicFunc__LargeHash_OUTMode_raw1264Func=DynamicFunc__append_keys1265Func=DynamicFunc__SHA256_crypt_input1_overwrite_input21266Func=DynamicFunc__SHA256_crypt_input2_overwrite_input21267Func=DynamicFunc__SHA256_crypt_input2_to_output1_FINAL1268Test=$dynamic_1608$f2a778f1a6ed3d5bc59a5d79104c598f3f07093f240ca4e91333fb09ed4f36da:abc1269Test=$dynamic_1608$8b12147de49a2832aca47a5bf6fbca12689420ac14c2547ab90f6d495f21f6dc:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEF1270Test=$dynamic_1608$2a1a9918abe22f14d737462301e0c17b125a5f9ba11dc1e872b5320180437d12:openwall12711272# https://www.oneidentity.com/products/authentication-services/1273# Author: Tim Brown. Borrowed from https://github.com/portcullislabs/linikatz (under BSD 3-Clause "New" or "Revised" License).1274[List.Generic:dynamic_1602]1275Expression=sha256(#.$salt.-.$pass) (QAS vas_auth)1276Flag=MGF_INPUT_32_BYTE1277Flag=MGF_USERNAME1278Flag=MGF_SALTED1279Flag=MGF_FLAT_BUFFERS1280CONST1=#1281CONST2=-1282SaltLen=361283Func=DynamicFunc__clean_input1284Func=DynamicFunc__append_input1_from_CONST11285Func=DynamicFunc__append_salt1286Func=DynamicFunc__append_input1_from_CONST21287Func=DynamicFunc__append_keys1288Func=DynamicFunc__SHA256_crypt_input1_to_output1_FINAL1289Test=$dynamic_1602$9b4d1328a3dc064704301d2da2975f97b9212d8f08539214b27fd3106dc208ff$C34208EA-8C33-473D-A9B4-53FB40347EA0:P0rtcu11i5!:Administrator@3rd-party.example.org12901291# this should be last line of the file. Put other formats before this. The formats in1292# the following included file are replacement formats for the MD4/5 formats which use1293# 'intermixed' SSE for speed, BUT which can not process longer passwords, due to being1294# limited to a single SSE buffer. The formats in dynamic_flat_sse_formats.conf are using1295# the large hash 'flat' methods, which allow multiple SSE buffers. They are slower (sometimes1296# a LOT slower), than the intermixed SSE. But they are much faster than oSSL code, and can1297# take full length passwords (110 bytes).12981299.include <dynamic_flat_sse_formats.conf>130013011302