áá¬ážááŸááºážá¡áá
áºá á¡áá°ážá¡ááºá¹áá«áááºááŸá¬ FPGA á¡áá±á¬ááºá¡áá¶á· (CPUá GPU ááŸáá·áº Xeon Phi ááá¯á·á¡ááŒááº) ááŒá
áºáááºá áá»ááºááŒá¬ážáá»á¬ážá¡ááœááº
bcrypt á¡ááœááºá 119^2 áááºáá¬áááºáᬠ("$5b$2") ááŒáá·áº ~05k c/s á á
áœááºážáá±á¬ááºáááºááẠ~27 watts áá¯á¶ážá
áœá²ááŸá¯ááŸáá·áºá¡áá° áá±á¬ááºáá¯á¶ážááœáẠGPU áá¯ááºá¡ááœá²á·á áá¬á·ááºáá²á
á»á±ážááŸá¯ááºážááŸáá·áº áááºáá
áºáá¯á¡ááœáẠááááºáá»á¬ážááᯠáááááá¬áá¬áá»á±á¬áºááœááºáá±áá«áááºá . áá¶á·ááá¯ážáá±ážáááºá
á¡áá¯ááºááᯠá¡ááŸáááºááŒáŸáá·áºáááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážáá¯ááºáá»á¬ážááŸáá·áº áá±á«ááºážá
ááºáá¬ážááá·áº áá»ááºááŸá¬áá¯á¶áž (ââmaskâ áá¯ááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž) ááŸáá·áº FPGA áááºááœáẠáááºáá¬ážááá·áº ááœááºáá»ááºáá¬ážáá±á¬ hash áá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºáá²á·áááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ ááŸá¯áá±á¬áá·áºá០áá®ááá¯ááºážáá»á¬ážá
áœá¬ (á¥ááá¬á
á¡ááŒá¬ážá¡áá±ážááŒá®ážáá±á¬ááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž-
- ááá¹ááááºá áá¬ážááŸáẠáááºááºáŸáá»á¬áž (á¥ááá¬á QNX áá¬ážááŸááºážá¡áá áºáá»á¬ážááŸ)á á¡ááŒáẠcryptocurrency ááá¯ááºáá¶á¡áááºáá»á¬ážá áá¯ááºááŸááºáá¬ážáá±á¬ áá±á¬áºááœááºážááá¯ááºáá»á¬ážááŸáá·áº áá¯ááºááŸááºáá¬ážáá±á¬ ááá¯ááºá áá áºáá»á¬áž (á¥ááá¬á Bitlocker ááŸáá·áºá FreeBSD geli) á¡ááŒáẠááááºá áá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ áá±á¬áºáááºá¡áá»áá¯ážá¡á á¬ážá¡áá áºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ (á¥ááá¬á OpenBSD softraid á¡ááœáẠbcrypt-pbkdf á¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá·áºáááº) ááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬á á á¯á á¯áá±á«ááºážá CPU ááœáẠáá¯á¶á ᶠ80 ááŸáá·áº OpenCL ááœáẠ47 áᯠááá·áºááœááºážáá¬ážáááºá áá±á¬áºáááºá á¯á á¯áá±á«ááºáž á¡áá±á¡ááœááºááẠááᯠCPU ááœáẠ407 ááŒá áºááẠ(ááá¯á·ááá¯áẠ262 configuration files á០configure "dynamic" formats ááá«áááº) ááŸáá·áº OpenCL ááœáẠ88 áá¯ááŒá áºáááºá
- NVIDIA GPU áá»á¬ážááᯠá¡ááŒáá·áºá¡áá¡áá¯á¶ážááŒá¯ááŒááºážááᯠáááºááá¯á·áá»áŸá¡ááŸá±á¬áá·áºá¡ááŸááºáááŸáá á±áá² OpenCL á¡á¬áž CUDA áá¬áá¬á áá¬ážá¡á¬áž áá¶á·ááá¯ážáá±ážááẠááŒááºážááá¯ááŒááºážááŒá áºááẠ(ááááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŸá áºáá¯á¡á á¬áž GPU á¡ááœáẠáá±á¬áºáááºáá áºáá¯á á®á á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá áºáá¯á á®ááᯠá¡á¬áá¯á¶á áá¯ááºááŒááºážááŸáá·áº ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááá¯á·ááŒá±á¬áá·áºáááº)á
- SIMD ááœáŸááºááŒá¬ážáá»ááºá¡á
á¯á¶á¡ááœáẠáá¶á·ááá¯ážááŸá¯ - AVX2á AVX-512 (áá¯ááááá»áá¯ážááẠXeon Phi) ááŸáá·áº MIC (ááááá»áá¯ážáááºá¡ááœááº) á¡áá«á¡ááẠ- SIMD áá¡áá¯á¶ážááŒá¯ááŸá¯á¡áá«á¡ááẠáá±á¬áºáááºáá»á¬ážá
áœá¬ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠááá¯ááá¯áá»ááºááŒáá·áºááŒá®áž ááŒáá·áºá
á¯á¶áá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯á¡ááŒá
ẠSIMD ááááºá áá¶á·ááá¯ážáá¬ážáá±á¬ ááœáŸááºááŒá¬ážáá»ááºááẠx86(-64) ááŸáá·áº AVX ááŸáá·áº XOP á¡áá áááºááŸááºáá±ážáááºá
ARMá Aarch64 ááŸáá·áº POWER ááœáẠNEONá ASIMD ááŸáá·áº AltiVec á¡áá®ážáá®ážááŸááááºá - CPU ááŸáá·áº OpenCL á¡ááœáẠááŒá±á¬ááºááŒá¬ážá áœá¬áá±á¬ ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŸá¯áá»á¬ážá ááŸá áºáá¯áá¯á¶ážááẠhash á¡áá»á¬ážá¡ááŒá¬ážááᯠáá áºááŒáá¯ááºáááºáááºáž ááá¯ááá¯áááá±á¬ááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºá á±ááẠ(á¥ááá¬á GPU ááœáẠSHA-320 hashes áááºáž 1 ááᯠá ááºážáááºááŒá®áž áááºáá±áááº) ááŸáá·áº hash ááœááºáá»ááºááŸá¯áá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºáááºá á¡ááá¯áá« ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážá¡áá»áá¯á·ááẠuniversal ááŒá áºááŒá®ážá á¡áá»áá¯á·ááŸá¬ ááá°áá®áá±á¬ áá±á¬áºáááºá¡áá»áá¯ážá¡á á¬ážááœá²áá»á¬ážááᯠá¡áá»á¯á¶ážáááºááŒááŒá®áž á¡áá»á¬ážá¡ááŒá¬ážááẠáá áºáŠážáá»ááºážáá±á¬áºáááºáá»á¬ážá¡ááœáẠáá®ážááá·áºááŒá áºáááºá
- (ââtune=auto âverbosity=5â) CPU ááœáẠá á áºáá±ážáá¬ážáá±á¬ á áá¬ážááŸááºáá»á¬ážá á¡áá±á¬ááºážáá¯á¶ážááŒááºáááºáááºááŸááºááŸá¯ááŸáá·áº OpenCL ááœáẠá¡áá±á¬ááºážáá¯á¶ážá¡áá¯ááºá¡ááœááºá¡á á¬ážáá»á¬áž (áá¯á¶ááŸááºá¡á¬ážááŒáá·áºááœáá·áºáá¬ážáááº)á NVIDIA GTX á á®ážáá®áž GPUs 10xx ááŸáá·áº á¡áá áºáá»á¬ážá ááá¯ááá¯á·áá±á¬ á¡ááá¯á¡áá»á±á¬ááºáá»áááºááŸáááŒááºážá¡ááœáẠá¡ááŸááºááááºáááºáá¬ážáá±á¬ hashe áá»á¬ážááŸáá·áº á¡ááŸááºááŒá áºáá¬ážááá·áº á áá¬ážááŸááºáá»á¬ážá á¡ááŸááºááᯠ(ááŒáá¯áááºááááŸááá¬ážááá·áºá¡áá«) ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
- Command line ááœáẠááá¯ááºááá¯ááºáááºááŸááºáá¬ážáá±á¬ "dynamic expressions" á¡ááœáẠcompiler áá áºáá¯ááᯠáá±á«ááºážááá·áºááŒááºážááŸáá·áº á¥ááᬠ"-format=dynamic='sha1(md5($p.$s)'", CPU áá±á«áºááœááºááœááºáá»ááºáá¬ážáá±á¬ hybrid hash á¡áá»áá¯ážá¡á á¬ážá¡áá áºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá . ááá¯ááá¯á·áá±á¬á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážá á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡áá±ááŸáá·áºá áá«áááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ ááŒááºáááºáá±á¬ hashe áá»á¬ážááᯠ(MD5 áá²á·ááá¯á· áá¬áá¬ááºá¡áá¬áá»á¬ážá០Whirlpool áá²á·ááá¯á· á¡áááºá¡ááá·áºáá°ážááŒá¬ážáááºážááŒá¬ážááá·áºá¡áá¬áá»á¬ážá¡áá)á á á¬áááºážááœá²áá»á¬ážáá±á«ááºážá ááºááŒááºážá áá¯ááºááŸáá·áºáá¯ááºáá¯ááºááŒááºážá á á¬áá¯á¶ážá¡áá±ážá á¬ážááŒá±á¬ááºážáá²ááŒááºážá á áá¬ážááŸááºá áá¬ážá á¡áá¯á¶ážááŒá¯áá°á¡áááºááŸáá·áº string constants ááᯠáá¶á·ááá¯ážáá¬ážáá«áááºá
- ááááºá hashcat áá®ážááá·áºá ááºážáá»ááºážáá»á¬áž (á áá¬ážáá¯á¶ážá á¬áááºážá ááºážáá»ááºážá¡áááá·áºáá»á¬áž)á 1 á០OpenCL á ááºáá á¹á ááºážáá¶áá«ááºááá¯á· áá°ážááŒá±á¬ááºážááŒááºážá á áœááºážáá±á¬ááºáááºá ááºážáááºááŸá¯áá»á¬ážá¡ááœáẠáá°áá®áá±á¬á áá¬ážááŸááºá¡ááŸááºáá»á¬áž (áá¯á¶ááŸááºá¡á¬ážááŒáá·áº á¡ááŸáẠ7) á¡áá«á¡ááẠáááá¯áá¬ážá¡ááºáá±á¬ hashcat á០áááá¯áá¬ážá¡ááºáá±á¬ááœá²ááŒá¬ážááŸá¯áá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
- hashcat á០PRINCE á¡áá«á¡ááẠá¡áááºááŒá¯ááá¯ááºáá±á¬ á áá¬ážááŸááºáá»á¬ážáá¯ááºáá¯ááºááŒááºážá¡ááœáẠáá¯ááºá¡áá áºáá»á¬áž (á á¯á á¯áá±á«ááºážá¡ááŸááºááᯠá¡á ááºááá¯ááºááŒáá·áº á áá¬ážáá¯á¶ážá¡áá»á¬ážá¡ááŒá¬ážááᯠáá±á«ááºážá ááºááŒááºážááŒáá·áº PRINCE á¡áá«á¡áááº)á á¡ááœá²ááœá²áá»á¬áž (á€á á¬áá¯á¶ážáá»á¬ážáá«áá¬áá»áŸááºáááºá ááá°áá®áá±á¬á á¬áá¯á¶ážá¡áá±á¡ááœáẠááá¯á¶áá±á¬ááºáááŒáá·áº á áá¬ážááŸááºáá»á¬ážááᯠáá°áá±á¬ááºáá¬áá«áááºá ááŒá áºááá¯ááºááá·áº á¡á á¯á¡áá±ážáá»á¬ážááŸ) ááŸáá·áº áá±á«ááºážá ááºááŒááºá (C-like áá¬áá¬á áá¬ážááŒáá·áº ááœá²á·á ááºážááŸá¯ááá¯ááºáá»á¬ážááœáẠáá±á¬áºááŒáá¬ážáá±á¬ ááŒááºááá¯ááºáá»á¬ážááᯠááœáá·áºááŒá¯áááºá á¡ááŒá¬ážáá¯ááºááŸáááŸááá±á¬ á¡ááŒá±áᶠâá áá¬ážáá¯á¶ážâ áá áºáá¯á á®á¡áá±á«áº á¡ááŒá±áá¶á á¡áááºááŒá¯ááá¯ááºáá±á¬ á áá¬ážááŸááºáá»á¬ážá áœá¬ááᯠáá¯ááºáá¯ááºáááº)á ááá¯á·á¡ááŒááºá ááŒáá¯áááºáááºááŸááºáá¬ážáá±á¬ ááŒááºááá¯ááºá¡áá áºáá»á¬ážá áœá¬á
- áá¯ááºáá»á¬ážá áœá¬ááᯠáá áºááŒáá¯ááºáááºá¡áá¯á¶ážááŒá¯ááŒááºážá¡ááœáẠáááºáá±á¬ááºážá¡ááºá¹áá«áááºáá»á¬áž (á¡ááŒá¬ážáá áºáá¯áááááºááœááºáá áºáᯠ- stacking) ááŸáá·áº á ááºážáá»ááºážá¡á á¯á¶ (wordlist rules stacking) ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá¡ááœáẠáááºáá±á¬ááºážá¡ááºá¹áá«áááºáá»á¬ážá
- áá»ááºááŸá¬áá¯á¶ážáá¯ááºáá»á¬ážá¡ááœáẠááá¯ážáááºááŸá¯áá»á¬áž (áááºááŸááºáá¬ážáá±á¬ á¡ááœá¬á¡áá±ážáá áºáá¯á¡ááœááºáž áá»ááºááŸá¬áá¯á¶ážááᯠááŒááºážááŒááºážáá»ááºáž ááá·áºáá¯ááºááŒááºážá OpenCL á ááºáá á¹á ááºáž ááá¯á·ááá¯áẠFPGA áá¯ááºá áá±ážáááºááŸá áá»ááºááŸá¬áá¯á¶ážááᯠá¡áá¯á¶ážáá»ááŒááºáž) ááŸáá·áº á¡ááºááœá²áá áºáá¯áááºáž (á¡ááŒáá¯áẠhash á¡áá»á¬ážá¡ááŒá¬ážááᯠááœááºáá»ááºááá·áº á ááºáá á¹á ááºážáá»á¬ážááœáẠáá»áá¯ážááŒá±á¬ááºážáá®áá»á±á¬áºá áœá¬ á¡ááŒá¯á¡áá°á ááááºá á€áá¯ááºááœáẠá¡áááºááŒá¯ááá¯ááºáá±á¬ á áá¬ážááŸááºáá»á¬áž á¡áá¯á¶á¡áá±á¬ááºáááŸáááá·áºá¡ááŒáẠááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯á¡áá±á«áº ááá·áºáááºáá»ááºáá»á¬ážáááºáž ááŸááááº)á
- ááá°áá®áá±á¬ á áá áºááœá²áá»á¬ážááŸá Unicode ááŸáá·áº á¡ááŒá¬ážáá±á¬ áá¯ááºáá¶áá«ááºáá»á¬ážááᯠáá¶á·ááá¯ážááẠááá¯ážáááºááŸá¯áá»á¬ážá áœá¬á
- *2john áááá¯ááááºáá»á¬ážá¡ááœáẠááá¯ážáááºááŸá¯áá»á¬ážá
áœá¬ (ááá¯ááºáá»á¬ážááᯠáá¯á¶á
á¶á¡áá»áá¯ážáá»áá¯ážááŒáá·áº ááŒá±á¬ááºážáá±ážáá±á¬
john ááŒáá·áºá¡áá¯á¶ážááŒá¯áá«)á á¡áá°ážáááŒáá·áº wpapcap2john (WiFi á¡ááœá¬ážá¡áá¬ááᯠááá¯ááºááœááºáááº)á - command line ááœá±ážáá»ááºá áá¬á¡áá áºáá»á¬ážá john.conf ááŸá áááºáááºáá»á¬ážá áá¬ááºááœáŸááºážááœá±ážáá»ááºááŸá¯áá»á¬ážááŸáá·áº áááºááá¯ááºááá·áºá¡ááºá¹áá«áááºá¡áá áºáá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá á€ááœááºáá±á¬áºááŒáá¬ážááá·áºá¡áá¬á¡á¬ážáá¯á¶ážááá¯ááºáá±á
- AddressSanitizer (ááááºá) ááŸáá·áº UndefinedBehaviorSanitizer (ááá·áºáá¬ážáááº) ááŒáá·áº á¡ááŸá¬ážááŸá¬ááŒááºáááºááŒááºážá¡ááœáẠbuilt-in áá¶á·ááá¯ážááŸá¯ááŒáá·áº áá¯ááºá¡áááºá¡ááœá±ážááᯠááŒáŸáá·áºáááºáá±ážááŒááºážá ááá·áºááœááºážáá¬ážáá±á¬ áá±á¬áºááẠfuzzer (GSoC 2015 á áá áºá áááºáá áºááá¯ááºážá¡áá±ááŒáá·áº)á á ááºáááºáááŒááºáá±á«ááºážá ááºááŸá¯ (áá«áááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ operating system ááŸáá·áº compiler á¡ááœáẠáááºáá±á¬ááºááŸá¯áá»á¬ážá áá±á¬áºáááºá¡á¬ážáá¯á¶ážá¡ááœáẠááŸááºáááºáá±á¬ áá¶á·ááá¯ážáá°áá®ááŸá¯á¡ááœáẠáááºážááá¯á·ááᯠáá±á«ááºážá ááºááŒá®áž á ááºážáááºááŒááºáž)á
source: opennet.ru