Kali Linux 秘籍 第八章 密码攻击
msfconsole
search email collector
use auxiliary/gather/search_email_collector
在这里,我们有一些使用大括号括起来的数字。请记住,这些数字是重要的,我会保留它们。
我们也可以使用Metasploit来分析用户名和密码。我们将使用搜索邮件收集器模块来执行此操作。打开终端窗口并启动MSFCONSOLE。复制并粘贴搜索邮件收集器命令。然后,键入以下命令来使用搜索邮件收集器模块。
show options
set domain gmail.com
set outfile /root/Desktop/fromwillie.txt
复制并粘贴展示该模块可用选项的命令。接下来,我们需要设置域名。请小心选择域名,以避免被有关部门察觉。将域名设置为您想要的域名。如果您计划运行多个攻击或稍后再次运行某个攻击,建议设置输入文件。
run
Fdisk -l
最后,我们开始攻击。
在这里,我们有一些使用大括号括起来的数字。请记住,这些数字是重要的,我会保留它们。
8.5 使用John the Ripper破解Windows密码
在这个秘籍中,我们将使用John the Ripper来破解Windows安全访问管理器(SAM)文件。SAM文件存储了目标系统用户的用户名和密码的哈希值。由于安全原因,SAM文件受到授权保护,并且不能在Windows系统中直接手动打开或复制。
准备工作:您需要访问SAM文件。在这个秘籍中,我们假设您能够访问某台Windows主机。
操作步骤:让我们开始使用John the Ripper来破解Windows SAM文件。我们假设您能够访问某台Windows主机,通过远程入侵或物理接触,并且能够通过USB或DVD驱动器启动Kali Linux。
查看要挂载的硬盘:
mount /dev/sda1 /target/
cd /target/windows/system32/config
ls –al
samdump2 system SAM > /root/hashes/hash.txt
挂载硬盘并将目标设为挂载点。
将目录更改为Windows SAM文件的位置。
列出目录中的所有内容。
使用SamDump2提取哈希,并将文件放入您的root用户目录中的名为hashes的文件夹中。
./john /root/hashes/hash.txt
./john /root/hashes/hash.txt–f:nt (If attacking a file on a NTFS System)
+ 只有用户名:列表只含有用户名。
+ 只有密码:列表只含有密码。
+ 用户名和密码:列表含有生成的用户名和密码。
将目录更改为John the Ripper所在的目录。
运行John the Ripper。
8.6 字典攻击
在这个秘籍中,我们将进行字典或单词列表攻击。字典攻击使用预先准备的密码集合,并尝试使用单词列表来破解与指定用户匹配的密码。生成的字典通常包含三种类型的字符。
为了演示目的,我们将使用Crunch来生成我们自己的密码字典。
准备工作:需要在Kali上安装Crunch。
操作步骤:打开终端窗口,并输入crunch命令以查看Crunch的帮助文件。
crunch 8 10 ABCDEFGabcdefg0123456789 –o /root/Desktop/ generatedCrunch.txt
使用Crunch生成密码的基本语法是[最小长度] [最大长度] [字符集] [选项]。
Crunch有几个备选选项,其中一些常用的如下:
接下来,我们执行命令在桌面上创建一个密码列表,最小长度为8个字符,最大长度为10个字符,并且使用字符集ABCDEFGabcdefg0123456789。
nano /root/Desktop/generatedCrunch.txt
cd /usr/share/rainbowcrack/
一旦生成文件,我们使用Nano打开文件。
工作原理:在这个秘籍中,我们使用Crunch生成密码字典列表。
8.7 使用彩虹表
在这个秘籍中,我们将学习如何在Kali中使用彩虹表。彩虹表是一种特殊的字典表,它使用哈希值而不是常规密码来进行攻击。为了演示目的,我们将使用RainbowCrack来生成彩虹表。
操作步骤:打开终端窗口并将目录更改为rtgen的目录。
./rtgen md5 loweralpha-numeric 1 5 0 3800 33554432 0
cd /usr/share/oclhashcat-plus
接下来,我们要启动rtgen来生成基于MD5的彩虹表。
一旦彩虹表生成完毕,您的目录将包含.rt文件。生成彩虹表的时间取决于用于生成哈希的处理器数量,大约需要2到7个小时。
为了开始破解密码,我们使用rtsort程序对彩虹表进行排序,以便更容易使用。
工作原理:在这个秘籍中,我们使用RainbowCrack攻击来生成、排序和破解MD5密码。RainbowCrack可以使用彩虹表来破解哈希,基于一些预先准备的哈希值。我们以使用小写字母值生成MD5彩虹表开始。在秘籍的末尾,我们成功创建了彩虹表,并使用它来破解哈希文件。
8.8 使用英伟达统一计算设备架构(CUDA)
在这个秘籍中,我们将使用英伟达统一计算设备架构(CUDA)来破解密码哈希。CUDA是一个并行计算平台,通过利用GPU的能力来提高计算性能。随着时间的推移,GPU的处理能力有了巨大的提升,这使得我们可以将其用于计算目的。为了演示目的,我们将使用CudaHashcat-plus来破解密码。
准备工作:需要支持CUDA的显卡来完成这个秘籍。
操作步骤:打开终端窗口并将目录更改为OclHashcat-plus所在的目录。
./cudaHashcat-plus.bin –help
./cudaHashcat-plus.bin attackfile -1 ?l?u?d?s ?1?1?1?1 ?1?1?1?1
执行下列命令以启动CudaHashcat-plus的帮助文件。
运行CudaHashcat的语法是cudaHashcat-plus.bin [选项] 哈希 [掩码]。
使用OclHashcat的重点之一是理解其字符集结构。
在我们开始攻击之前,让我们先看看一些可用的攻击向量。CudaHashcat在攻击中使用左右掩码。密码的字符按照掩码划分,并且被均分为左掩码和右掩码。对于每个掩码,您可以为其指定字典或字符集。对于我们的目的,我们将使用自定义字符集。
为了指定自定义字符集,我们使用--1选项。我们可以设置任意多个自定义字符集,只需为它们指定一个数字(1-n)。每个自定义字符集由问号(?)表示,后面是字符类型。可用的选择包括:
将它们组合在一起,我们就指定了一个包含特殊字符(s)、大写字母(u)、小写字母(l)和数字(d)的自定义字符集,生成长度为8的密码。我们打算指定一个名为attackfile的哈希文件。
cd /usr/share/oclhashcat-plus
我们可以将这个命令分解为以下部分:
这就完成了。
8.9 使用ATI Stream
在这个秘籍中,我们将使用ATI Stream来破解密码哈希。ATI Stream与CUDA类似,因为它是一个并行计算平台,可以通过利用GPU的能力来提高计算性能。随着时间的推移,GPU的处理能力有了巨大的提升,这使得我们可以将其用于计算目的。为了演示目的,我们将使用OclHashcat-plus来破解密码。OclHashcat有两个版本:plus和lite,两者都包含在Kali中。
准备工作:需要支持ATI Stream的显卡来完成这个秘籍。
操作步骤:让我们开始使用OclHashcat-plus。
打开终端窗口并将目录更改为OclHashcat-plus所在的目录。
./oclHashcat-plus.bin –help
./oclHashcat-plus.bin attackfile -1 ?l?u?d?s ?1?1?1?1 ?1?1?1?1
执行下列命令以启动OclHashcat-plus的帮助文件。
运行OclHashcat的语法是oclHashcat-plus.bin [选项] 哈希 [掩码]。
使用OclHashcat的重点之一是理解其字符集结构。
在我们开始攻击之前,让我们先看看一些可用的攻击向量。OclHashcat在攻击中使用左右掩码。密码的字符按照掩码划分,并且被均分为左掩码和右掩码。对于每个掩码,您可以为其指定字典或字符集。对于我们的目的,我们将使用自定义字符集。
为了指定自定义字符集,我们使用--1选项。我们可以设置任意多个自定义字符集,只需为它们指定一个数字(1-n)。每个自定义字符集由问号(?)表示,后面是字符类型。可用的选择包括:
将它们组合在一起,我们就指定了一个包含特殊字符(s)、大写字母(u)、小写字母(l)和数字(d)的自定义字符集,生成长度为8的密码。我们打算指定一个名为attackfile的哈希文件。
sucrack /usr/share/wordlists/rockyou.txt
我们可以将这个命令分解为以下部分:
这就完成了。
8.10 物理访问攻击
在这个秘籍中,我们将使用SUCrack来执行物理访问密码攻击。SUCrack是一个多线程工具,可以通过su命令对本地用户账户进行暴力破解。Linux的su命令允许您以替代用户的身份运行命令。尽管这种攻击在无法通过其他方式提升Linux系统权限时非常有用,但它会填充日志文件,因此请确保在完成后清理这些日志。
SUCrack有几个可用的命令选项。
操作步骤:为了使用SUCrack,您需要在启动时指定一个单词列表。否则,您将收到一条有趣的消息。打开终端窗口并执行sucrack命令。为了我们的目的,我们将使用之前创建的自定义单词列表文件,由Crunch生成。但是,您可以指定任何您希望使用的单词列表。
sucrack –w 2 –s 6 –a /usr/share/wordlists/rockyou.txt
如果您计划设置两个工作线程,并且每6秒显示一次统计信息,并使用ANSI转义代码,您可以使用以下命令:
这就完成了。
工作原理:在这个秘籍中,我们使用SUCrack对系统的root用户执行物理访问密码攻击。使用单词列表的攻击可以针对管理员(默认)或特定用户进行。我们运行sucrack命令,它为我们执行攻击。