【kali渗透测试】暴力破解

暴力破解

通过尝试所有可能的密码组合,直到找到正确的密码

攻击者会利用各种工具和方法来尝试破解哈希值,从而获取原始数据

哈希

一种将任意长度的数据映射为固定长度数据的方法,用于验证数据完整性或者快速查找数据。

哈希值是指通过哈希算法对原始数据进行加密后得到的固定长度的数据。

哈希值也被称为:散列值、摘要值 或者 指纹值。

哈希值具有以下特点:

  • 正向快速
  • 逆向困难
  • 输入敏感
  • 避免冲突
    哈希算法种类:
  • 消息摘要算法 MD:任意长度数据映射为 128 位哈希值,速度快、安全性低。
  • 安全散列算法 SHA:映射为160位或者更长的哈希值,安全性高、速度慢。
  • 哈希消息认证码 HMAC:在 MD 和 SHA 基础上,加入密钥。增强了抗篡改性和抗重放性,缺点是需要双方共享密钥。

对 linux 系统的哈希收集

用户密码的 hash 值储存在 /etc/shadow 中,root 用户权限可访问。

bash 复制代码
cat /etc/shadow 
  • 根据 666.OXeA/S51$CYbigFJwf7aa3HyV2DPyBhQBZfUJCEBK99P8GYCY4874fw2VmBuITENNpn6BXxkIUo5weWvIaNuSC2yyC9h8U/
    判断得出是 SHA-512 加密(666),且包含一个随机 salt (.OXeA/S51.OXeA/S51.OXeA/S51)

对 windows 系统的哈希收集

用户密码的 hash 值通常存储在 SAM 文件或者 NTDS.DIT 文件中,系统进程可以访问

  • 通过Mimikatz工具获取用户密码的哈希值
bash 复制代码
mimikatz.exe sekurlsa::logonpasswords

2. 密码字典

密码字典是值一组常用或者可能的密码集合,用于穷举猜解。

分类:

  • 弱密码字典
  • 强密码字典
  • 定制化字典:根据目标的特征定制优化的密码
  • 专用字典

自带的字典文件

  • kali 的 /usr/share/wordlists 文件夹下
  • rockyou.txt 最常用,包含 1400 多万个密码
bash 复制代码
zip -d rockyou.txt.gz

其他字典文件介绍如下:

  • dirb和dirbuster:常见网页目录和文件名,以及扩展名,供Dirb或DirBuster工具对目标网站进行扫描,以枚举网页目录和文件。
  • fern-wifi:该目录中存储了常见的无线网络密码的文本文件,可供Fern Wifi Cracker工具对无线网络进行破解。
  • metasploit:常见的用户名、密码、域名、端口等信息
  • wfuzz:该目录中的文件包含了一些常见的网站目录、文件名、参数名、参数值等信息,可以用于不同类型的Web应用的fuzzing(模糊测试)

github 上的 seclists 和 bruteforce-database

生成密码字典

(1)CeWL

帮助暴力破解与网站内容相关的密码

bash 复制代码
cewl -w 保存的文件名 目标URL地址

(2)cupp

根据目标人物个人信息生成字典文件

bash 复制代码
apt install cupp

(3)Crunch

根据攻击者指定的规则和字符集生成不同长度和格式的密码

bash 复制代码
crunch 最小长度 最大长度 字符集 选项

3. hashcat 暴力破解

专门用于暴力破解密码的工具

基础

(1)查看加密算法 ID 信息

bash 复制代码
hashcat --help`在这里插入代码片`

(2)攻击模式

  • 0 | Straight:直接攻击模式,指定密码字典文件破解哈希。
  • 1 | Combination:组合攻击模式,将多个密码字典文件中的内容拼接起来,以破解哈希。
  • 3 | Brute-force:暴力破解模式,使用指定的字符集,按照格式生成密码并破解哈希。
  • 6 | Hybrid Wordlist + Mask:通过字典文件加掩码组合,以破解哈希。
  • 7 | Hybrid Mask + Wordlist:通过掩码加字典文件组合,以破解哈希。
  • 9 | Association:关联攻击,使用一个用户名、一个文件名和一个提示,或者任何其他可能影响密码生成的信息,针对一个特定的哈希进行破解。
bash 复制代码
hashcat -a 0 -m 1800 用户哈希字典文件

破解压缩包密码

(1)rar2john 获取压缩文件 hash 值

bash 复制代码
ar2john 压缩包 > test.txt"

(2)破解

bash 复制代码
hashcat -a 0 -m 13000 test.txt字典文件"

分布式暴力破解

bash 复制代码
hashcat --brain-server --brain-host=本机IP地址 --brain-port=本机端口 --brain-password=大脑主机密码

4. Hydra

通常用来对网络服务进行暴力破解,例如SSH、FTP、Telnet等

bash 复制代码
hydra -L用户字典文件 -P密码字典文件 -t 10 -e ns ftp://IP地址
hydra -l指定用户名 -P密码字典文件 协议://目标主机IP地址

5. John

支持目前大多数的加密算法,如DES、MD4、MD5等。该工具支持多种格式文件的哈希值,如RAR、ZIP、Word、Excel、PDF等文件的密码哈希值

  • 脚本位于 /usr/share/john/ 下
  • 破解 pdf 方法如下
    (1)提取 pdf 哈希值
bash 复制代码
./pdf2john.pl PDF文件 > 保存哈希的文件名

(2)破解

bash 复制代码
john --wordlist=字典文件PDF文件的哈希值

6. Metasploit

  • 查看用于暴力破解的模块
bash 复制代码
search auxiliary/scanner login
  • 以 telnet 为例
bash 复制代码
use auxiliary/scanner/telnet/ telnet_login
show options # 设置 RHOSTS 为目标系统ip
exploit
sessions
相关推荐
学逆向的16 小时前
C++ 合并命名空间
开发语言·c++·网络安全
学逆向的17 小时前
C 局部静态变量
c语言·开发语言·网络安全
杭州默安科技21 小时前
从“被动响应”到“主动遏制”:AI Agent时代,网络防御体系如何重构?
人工智能·网络安全·ai智能体
砚凝霜21 小时前
[CTF Misc 图片隐写] misc1:文件末尾追加 flag(strings 一秒出 flag,附原理)
网络安全
Gnevergiveup1 天前
ATT&CK红蓝对抗实战指南-Windows安全基础
笔记·网络安全
白帽攻防录1 天前
某pc客户端app从xss到rce实战案例
前端·网络安全·黑客·xss·rce·src漏洞·app漏洞
学网安的肆伍1 天前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
IT大白鼠1 天前
渗透测试实战从靶场搭建到渗透流程——第 8 篇 · 服务型靶标(上):MySQL 双版本写文件链
数据库·mysql·渗透测试
网络小江1 天前
组网第41课:ACL 门禁——标准/扩展、规则顺序、time-range、in/out 方向
运维·网络安全·acl·访问列表·in/out
迪康coolmu1 天前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融