本文介绍用hashcat来破解哈希过的密码。我看了很多网上教程,大部分要么流程非常的复杂,要不就根本不工作,出错。一般时候,在我们开发应用的时候,用户登陆密码保存到数据库都会是哈希过的,linux默认的密码也是经过哈希过的。
hashcat是世界上最快,最先进的密码恢复实用程序,为超过200种高度优化的哈希算法提供了五种独特的攻击模式。 hashcat当前在Linux,Windows和macOS上支持CPU,GPU和其他硬件加速器,并具有分布式密码破解的功能。源码在github上面,目前版本5.1
我们现在开始吧,
1.通常情况下,使用GPU来破解密码,但是今天,我们将安装Docker容器,该容器将允许我们仅使用VM CPU来使用Hashcat。
使用以下命令安装Docker容器:
docker run -t -i dizcza/docker-hashcat:intel-cpu /bin/bash
请注意,这将需要一些时间。 安装完成后,将出现类似以下的提示:
现在安装完成,进入Hashcat目录:
cd hashcat-5.1.0/
Hashcat在尝试处理哈希时需要一个密码列表进行比较。 最受欢迎的密码列表之一被称为rockyou.txt
我们将使用以下命令将此列表下载并放入目录中:
wget https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
下载完成后,继续下一步。
2.让我们假设登陆到目标计算机/数据库,并从中提取密码哈希串。
$5$Ebkn8jlK$i6SSPa0.u7Gd.0oJOT4T421N2OvsfXqAT1vCoYUOigB
现在我们有了密码哈希串,可以使用以下命令将其放入名为user_password_hash的文件中:
echo """$5$Ebkn8jlK$i6SSPa0.u7Gd.0oJOT4T421N2OvsfXqAT1vCoYUOigB""" > user_password_hash
请注意,哈希中的$需要转义(加一个),bash命令才能成功运行。
在尝试破解此哈希之前,我们需要知道使用哪种算法来生成哈希。hashcat恰好有一个很好的示例哈希列表,可以在这里找到。
这些是各种编码算法及其关联的哈希模式的示例。
在这里,当我们向下浏览列表时,可以看到SHA256(Unix)示例与我们想要破解的哈希最接近:
7400 sha256crypt $5$, SHA256 (Unix) 2 $5$rounds=5000$GX7BopJZJxPc/KEK$le16UF8I2Anb.rOrn22AUPWvzUETDGefUmAV8AZkGcD
因此,我们要使用的模式将是7400。
3.现在是时候破解用户密码了!
运行以下命令来破解密码:
./hashcat64.bin -m 7400 user_password_hash rockyou.txt
这将需要等待大概2到5分钟,其中会弹出一个对话框,可以直接忽略就行,输入如下:
现在,您的最初反应可能有点像“这简直是太容易了!”,那怎么才能防止在几分钟之内用户密码被破解?下面有些建议,
您还可以采取一些措施来保护自己免受此类攻击。
如果您所在的公司或在线商城的帐户存在数据泄露事件(X东似乎有过一次泄露),请立即更改密码。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777