• 【Sec】John the ripper | hashcat


    John


    参数:

    john [-功能选项] [密码文件名] 功能选项(所有的选项均对大小写不敏感,而且也不需要全部输入,只要在保证不与其他参数冲突的前提下输入即可,如-restore参数只要输入-res即可)
     
    -pwfile:<file>[,..]
    用于指定存放密文所在的文件名,(可以输入多个,文件名“,”分隔,也可以使用*或者这两个通配符引用一批文件)。也可以不使用此参数,将文件名放在命令行的最后即可。
     
    -wordfile:<字典文件名>-stdin
    指定的用于解密用的字典文件名。也可以使用STDIO来输入,就是在键盘中输入。
     
    -rules
    在解密过程中使用单词规则变化功能。如将尝试cool单词的其他可能,如COOLER、Cool等,详细规则可以在JOHN.INI文件中的[List.Rules:Wordlist]部分查到。
     
    -incremental[:<模式名称>]
    使用遍历模式,就是组合密码的所有可能情况,同样可以在JOHN.INI文件中的[Incremental]部分查到。
     
    -single
    使用单一模式进行解密,主要是根据用户名产生变化来猜测解密,其组合规则可以在JOHN.INI文件中的[List.Rules:Single]部分查到。
     
    -external:<模式名称>
    使用自定义的扩展解密模式,可以在john.ini中定义自己需要的密码组合方式。JOHN也在INI文件中给出了几个示例,在INI文件的[List.External]中所定义的自订破解功能。
     
    -restore[:<文件名>]
    继续上次的破解工作,JOHN被中断后,当前的解密进度情况被存放在RESTORE文件中,可以拷贝这个文件到一个新的文件中。如果参数后不带文件名,JOHN默认使用RESTORE文件。
     
    -makechars:<文件名>
    制作一个字符表,所指定的文件如果存在,则将会被覆盖。JOHN尝试使用内在规则在相应密匙空间中生成一个最有可能击中的密码组合,它会参考在JOHN.POT文件中已经存在的密匙。
     
    -show
    显示已经破解出的密码,因为JOHN.POT文件中并不包含用户名,同时你应该输入相应的包含密码的文件名,JOHN会输出已经被解密的用户连同密码的详细表格。
     
    注:如果对同一个密码档已经运行过其它模式,则已经猜解出的密码不会被再次loaded

    使用方法:

    例:破解Linux的用户密码
    1、使用unshadow提取密码散列
    root@only:~# unshadow /etc/passwd /etc/shadow > ~/file_to_crack
    2、破解Linux用户密码
    root@only:~# john --wordlist=/usr/share/john/password.lst ~/file_to_crack
     
    rm -fr /root/.john/john.pot
    unshadow p s > file
    john --wordlist=zidian.txt file
    john -w:zidian.txt file
     
    p    root:x:0:0:root:/root:/bin/bash
    s    root:$1$flPjKUKk$FRforz6oUD084UzrDXBsS1:16993:0:99999:7:::
    file    root:$1$flPjKUKk$FRforz6oUD084UzrDXBsS1:0:0:root:/root:/bin/bash
     

    hashcat


    地址:https://github.com/hashcat/hashcat

    参数:

    --potfile-disable    # 总是显示已破解结果,否则以破解的记录被存放于:/Users/MichaelScofield/.hashcat/hashcat.potfile

    -m 指定hash类型

    -a 选择爆破方式

    - [ Attack Modes ] -

    # | Mode
    ===+======
    0 | Straight    # hashcat -a 0 -m xx <hashfile> <zidian1> <zidian2>...
    1 | Combination
    3 | Brute-force
    6 | Hybrid Wordlist + Mask
    7 | Hybrid Mask + Wordlist

    - [ Built-in Charsets ] -

    ? | Charset
    ===+=========
    l | abcdefghijklmnopqrstuvwxyz
    u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
    d | 0123456789
    h | 0123456789abcdef
    H | 0123456789ABCDEF
    s | !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
    a | ?l?u?d?s
    b | 0x00 - 0xff

    使用方法:

    例:PDF文件密码破解

    1、使用john的提取pdf文件密码hash的脚本pdf2john。或使用一个在线的网站https://www.onlinehashcrack.com/tools-pdf-hash-extractor.php

    ./pdf2john.pl xxx.pdf

    2、选择hash类型和破解模式

    hashcat -m 10700 -a 3 $pdf$4*4*128*-4*1*16*f8e0565b3c4d9795db089448fcf5426e*32*6cff45e6bdfcecaf9039ba17cdb06ae700000000000000000000000000000000*32*f78487d59915fc93bd17f9c687bf84d1360e98df8e382132d494ed78dc3518b1 -1 ?l?u?d ?1?1?1?1?1?1

    -1 字符集 这里是?l?u?d 指数字+字母大小写
    总共?1有6个,代表有6位

    高级组合:
    但如果不确定某一位是什么类型则需要进行高级组合:
    -1, --custom-charset1=CS
    -2, --custom-charset2=CS
    -3, --custom-charset3=CS
    -4, --custom-charset4=CS

    例子1:
    --custom-charset1=?l?d 那么就表示 ?1代表小写字母与数字组合,那么8位随机的数字与小写字母组合可以写成 ?1?1?1?1?1?1?1?1
    完整代码:
    hashcat test.txt -a 3 -m 0 --custom-charset1=?l?d ?1?1?1?1?1?1?1?1

    例子2:
    --custom-charset2=xiao106347 那么就表示 ?2 代表字符串由 x i a o 1 0 6 3 4 7 组成的所有可能组合
    完整代码:
    hashcat test.txt -a 3 -m 0 --custom-charset2=xiao106347 ?2?2?2?2?2?2?2?2

    --------------------------------------------
    Chances are for those who are prepared.
  • 相关阅读:
    [SDOI2009]学校食堂Dining
    [SCOI2005]最大子矩阵
    [AHOI2009]中国象棋
    洛谷P1850 换教室(概率dp)
    洛谷[1007]梦美与线段树(线段树+概率期望)
    洛谷P3577 [POI2014]TUR-Tourism
    CF1045G AI robots(动态开点线段树)
    洛谷P4721 【模板】分治 FFT(分治FFT)
    洛谷P4726 【模板】多项式指数函数
    洛谷P4173 残缺的字符串(FFT)
  • 原文地址:https://www.cnblogs.com/Michael-Scofields/p/6122860.html
Copyright © 2020-2023  润新知