如何在 Linux 上使用 hashcat 破解哈希

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

hashcat安装

您是否对网络安全领域感兴趣?是否想要从事网络攻击方面的工作?作为一名红队成员,您将学习许多有助于执行网络攻击链活动的技术和战术。其中之一是权限提升,您可以通过获取密码哈希来实现。hashcat是一款功能强大且广泛使用的工具,它通过执行各种攻击模式,使用已知的哈希值来暴力破解存储的凭据。本文介绍了渗透测试人员、系统管理员、间谍或黑客使用的密码破解实用程序。那么,什么是哈希呢?哈希是一种单向数学函数或唯一标识符,它返回固定长度的输出,与输入的大小/长度无关。因此,它是一个不可逆的过程,不需要像加密那样的密钥来解密哈希值。哈希的主要目的是确保在数据传输过程中数据的完整性不被篡改。哈希具有以下属性:

  • 唯一性:不同的输入将产生不同的哈希值。
  • 一致性:相同的输入将始终产生相同的哈希值。
  • 不可逆性:无法从哈希值还原出原始输入。

那么为什么要使用hashcat呢?hashcat是一个多线程实用程序,允许您配置线程数并根据优先级进行限制。它支持300多种哈希算法,例如MD4、MD5、SHA1、SHA512、bcrypt、HMAC-SHA512、NTLM、MySQL、WHIRLPOOL等。它适用于各种操作系统,包括Windows、Linux、Unix和BSD。使用hashcat破解密码哈希的方法如下:

hashcat提供了多种攻击模式,包括组合器、基于规则、暴力猜测、混合和字典攻击,以提供更广泛的覆盖范围。以下是一些常见的hashcat攻击模式的解释:

  • 蛮力攻击:蛮力攻击利用所有可能的字符组合来确定准确的密码。但是,它有最大密码长度和字符数的限制。此外,高级蛮力攻击还可以通过做出复杂性假设来优化时间。例如,一种高级的暴力破解技术可以假设第一个字符更可能是大写字母,而数字最有可能出现在密码的末尾等。
  • 字典攻击:字典攻击利用预先计算的密码列表,具体取决于围绕目标收集的信息或在用户中观察到的模式。因此,它需要一些最常用的密码,并为其添加一些排列以增加范围。
  • 混合攻击:混合攻击是上述攻击模式的组合,因为它通过字典攻击检查密码是否“可破解”,如果不可能,则继续使用蛮力技术。

在Linux上安装hashcat的方法如下:

sudo apt-get update
sudo apt-get install hashcat
sudo dnf update
sudo dnf install hashcat
sudo pacman -Syu
sudo pacman -S hashcat
hashcat --help

hashcat安装

在Fedora、CentOS和其他基于RHEL的发行版上安装hashcat:

在Arch Linux上安装hashcat:

sudo su
sudo useradd -c "Alice" alice

安装完成后,可以使用help命令列出所有可用选项。以下是一些hashcat选项及其描述:

hashcat安装

-m:默认哈希类型,0表示MD5哈希。
-攻击类型:0表示直接攻击,2表示组合攻击,3表示蛮力攻击。
-O:将破解的密码存储在输出文件中。
词汇表:需要密码词表的路径来匹配和破解哈希。

请注意,在使用hashcat之前,请确保您的系统符合其硬件要求。更多详细信息,请参阅官方网站。

在Linux中从/etc/shadow文件中破解哈希:

/etc/shadow文件存储了Linux上所有用户密码的哈希值或乱码。这是一个具有严格访问权限的关键文件,只能由root帐户访问。因此,如果您能够通过普通用户帐户访问可读的/etc/shadow文件,您可以获取root帐户的哈希值,并使用hashcat实用程序破解密码哈希。为了演示目的,我们将切换到root帐户并创建一个新的用户帐户Alice。了解hashcat的工作原理:

passwd alice
cut -d: -f1 /etc/shadow | grep alice

hashcat安装

alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:19023:0:99999:7::
grep ENCRYPT_METHOD /etc/login.defs

使用passwd命令创建密码:

检查/etc/shadow文件中的哈希密码值如下:

上述输出中的哈希值从”alice:”开始;将其保存在一个名为hash.txt的新文件中。您可以访问hashcat网站以识别散列函数的类型和相关的参考值。SHA512哈希模式通常以$6$开头,参考值为1800。您还可以在登录.defs文件中找到加密方式:

hashcat -h | grep sha512

hashcat安装

然后,使用hashcat命令检查哈希函数的关联值,如下所示:

现在,使用hashcat实用程序来破解哈希-一种攻击模式的标志,-m散列参考值的标志(因为它不支持散列函数名称),哈希.txt文件的路径和字典文件的路径rockyou.txt。

hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:12345
.
.
locate wordlists | less
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt

输出:

请注意,在Kali Linux上,默认情况下,rockyou.txt文件位于/usr/share/wordlists目录中。您还可以使用其他字典文件,通过在终端中运行以下命令:

输出:

但是,对于其他Linux发行版,您需要从GitHub存储库下载rockyou.txt文件:

使用hashcat在Linux上破解密码:

完善的身份验证系统不会以明文形式存储用户密码,因为这可能会导致安全漏洞。更安全的身份验证机制将密码以哈希值的形式存储在安全且不可访问的文件中。然而,像hashcat这样的密码破解程序旨在使用各种攻击模式来破解或猜测密码。本文详细介绍了渗透测试人员使用hashcat实用程序破解哈希密码的方法。作为红队成员,了解攻击者可能使用的破坏身份验证控制的技术,并提供覆盖系统漏洞的指南是必要的。

赞(0)