0%

密码破解

常用密码位置

usr/share/wordlists这个下面有许多常用的密码字典文件。

密码字典生成工具

普通密码字典生成:crunch:
crunch 6 6 0123456789 -o START -d 2 -b 1mb / -c 100

  • -b 分割文件的大小,这里是MB
  • -c 每个字典的行数
  • -o START
  • -d 同样的字符连贯出现数据(例如是2的话呢,不能连续三个字符一样)
  • -f 字符集列表:/usr/share/crunch/charset.lst lalpha-sv(其实就是一堆字符集,然后挑选就好了)
  • crunch
  • 前两个6是最大最小位数
  • -p 指定字符的所有组合(最大最小字符失效)不加-p的话呢也是所有组合,但是有最小最大位数的区分
  • 任何不同于-p参数指定的值都是占位符
  • -s 指定起始字符串
  • -q 是将以全文字当作基本字符。-q char.txt
  • -t 掩码
    • 掩码类型
    • yanma
  • -z 是压缩格式,最好是7z,压缩比例比较好
    • 占位符
  • \转义符(空格、符号)

信息集成生成工具

  1. cupp(主要用来破解个人账号)
    1. 使用的话呢先安装git clone https://github.com/Mebus/cupp.git
    2. -i参数指定为交互的方式进行信息输入(一般就这个参数,其他的没啥用处)
    3. 注意的是,自带的那个Python版本不太行我们需要使用Python3 cupp.py -i
  2. cewl 通过手机网站信息生成字典
    1. -m 最小单词长度
    2. -d 爬网深度
    3. -e 收集email
    4. -c 每个单词出现的次数
    5. -w 输出文件
    6. cewl www.baidu.com -m 3 -d 3 -e -c -v -w cewlout.txt
  3. John
    1. 首先在/etc/john/john.conf中配置自己所需的规则
    2. john --wordlist=p.lst --rules=guize --stdout > m.txt
  4. pw-inspector 筛选字典
    1. -i 输入文件
    2. -o 输出文件
    3. -u 大写字母
    4. -l 小写字母
    5. -m 最小位数
    6. -M 最大位数

爆破工具

  1. hydra
    1. -l 指定用户名(大写是文件)
    2. -P 指定密码文件
    3. hydra -l admin -P /usr/share/wordlists/dirb/small.txt ftp://192.168.126.1
    4. ftp
    5. -vV 详细信息
    6. -t 指定并发数
    7. -e nsr 检查空密码
    8. -s 检查账号密码相同
  2. medusa
    1. 相对与hydra稳定性好一些,但支持的服务比较少
    2. -M 指定模块
    3. -d 查看支持的模块
    4. -e 和hydra一样
    5. -u 用户名
    6. -P 密码列表
    7. medusa -h 192.168.126.1 -F -e ns -u admin -P /usr/share/wordlists/dirb/small.txt -M ftp
    8. -n 非默认端口
    9. -T 并发主机数目
    10. -M ftp -q查看ftp下面的小参数

hash猜测

判断hash类型。

  1. hash-identifier
    1. 直接输入我们需要的hash值

hash破解

  1. hashcat
    1. -m Hash值的类型的编号
    2. 指定破解的hash文件(里面存放着hash值)
    3. 破解的密码本
    4. -a 六种模式
      1. 0 字典破解
      2. 1 排列组合字典密码本破解
      3. 2 尝试字典中的额所有大写小写的组合
      4. 3 全字符集(比较傻逼)
      5. 4 密码换位置破解
      6. 5 自动生成掩码
    5. -b 查看当前系统的强度(我的不知道为啥破解不出来)
    6. 我这个不知道为啥不能用,提示我没内存…

彩虹表生成

  1. rtgen
    1. 生成彩虹表(没啥必要)
  2. rtsort
    1. 跟随生成的彩虹表进行排序
  3. rcrack
    1. rcrack *.rt -h xxxxx
  • Ophcrack
    • 界面化的工具

离线破解

  1. john
    1. 限制性single模式(通过账号信息)
    2. wordlist(通过字典)有默认的
    3. 全部密码破解
    4. 破解Linux系统账号
    5. unshadow /etc/passwd .etc/shadow > pass.txt(其实就是输出合并文件密码的那两个文件)
    6. 会自动判断加密算法
    7. 查看密码内容john --show pass.txt
    8. 结果日志之类的存放在john目录下的pot和log里面
    9. 破解Windows下的密码:john sam.dump --wordlist=password.lst --format=nt

在线密码

cmd5挺好用的

手动进行ARP欺骗

首先我们需要让我们的虚拟机是桥接模式。
然后我们清空一下ARP的缓存。
用管理员方式打开CMD使用命令:arp -d
然后我们需要先获取一下网关的MAC地址,ping一下网关的IP,然后再ping一下目标的IP。
最后使用arp -a查看网关和目标的MAC。
mac
获取到之后,我们使用OmniPeek抓取来自网关的ARP响应包数据。
arp响应包
然后我们选择发送栏目下的发送选中的数据包,然后点击编辑数据包。
pack
修改Destination和Source这两个mac,将目的改为目标的mac,来源来为我们的mac。
使用ipconfig /all查看我们的mac。
将Target Hardware Addr改为目标的mac,将Target Initernet Addr改为目标的IP。
上面那张图是我改完之后的。
我们点击发送。
然后调出发送窗口,然后开始发送,就会一直发送欺骗的ARP数据包。
send
然后我们在目标及其中观察。
res
发现目标网关的mac已经变成了我们的mac,目标ping一下网关。,我们抓包可以看到:
ping
可以看到我们已经成功欺骗了。超时是因为我们没有响应她。

工具ARP劫持

  1. arpspoof -t 192.168.209.130 -r 192.168.209双向欺骗
  2. echo 1 > /proc/sys/net/ipv4/ip_forward开启路由转发(默认是0)
  3. 这样子就实现了完全的劫持,然后就直接使用抓包工具进行抓包就好了。
  4. 抓取URL:webspy -i eth0 192.168.209.130或者urlsnarf -i eth0
  5. 嗅探密码:dsniff -i eth0 -m
  6. dns欺骗:dnsspoof -i eth0 -f /usr/share/dsniff/dnsspoof.hosts(需要先修改里面的host,添加就好)

工具DNS欺骗

首先我们需要能够修改目标的DNS服务器,然后我们就可以劫持了。
使用命令:dnschef --fakeip=127.0.0.1 --fakedomains=www.baidu.com,www.sina.com --interface 192.168.209.131 -q
第一个IP是指向的IP,第二个是网卡的IP。
修改host。
DNS

res

ettercap

欺骗方式:

  1. arp
  2. icmp
  3. dhcp
  4. 静像端口转发
  5. IPV6
  6. request包投毒
  7. ICMP更新ARP

可以将ettercap改为root下面运行在etter.conf中修改UID和GID为0(默认是nobody权限)

修改etc/ettercap/etter.conf
ssl
将#去掉可以捕获https。

修改etc/ettercap/etter.dns实现dns欺骗

编译筛选器
etterfilter etter.filter.ssh -o ssh.ef

passhash

就是通过加密的密码进行提交登录密码。

passhash