基于 Linux 和 Unix 的操作系统一直是信息安全、网络安全、密码学等领域的核心。它们带有各种用于网络安全目的的工具。
让我们来看看三个这样的工具:Aircrack-ng、Jack The Ripper 和 Radare2。
Aircrack-ng套件
Aircrack-ng 套件可能是使用最广泛的一组 WiFi 网络嗅探和密码捕获工具。它旨在破解 IEEE 802.11 协议无线网络密码,这些密码主要受 Wifi Protected Access (WPA) 或 Wifi Protected Access 2 (WPA2) 标准保护,并通过预共享密钥 (PSK) 身份验证方法进行身份验证。
它提供了单独的程序来监控网络设备的状态、抓包和转储文件、破解密码等。
请注意,研究人员发现使用加密算法破解 WPA/WPA2 几乎是不可能的。因此,通过像 aircrack-ng 这样的程序破解 WPA/WPA2 的方法是 Brute Force 并且需要一个密码字典来破解它。这意味着只有当密码是字典单词时,它才能破解密码。
您可以使用 packagecloud.io 提供的安装程序脚本轻松地在您的系统上安装 Aircrack-ng。打开终端,并根据您的 Linux 操作系统类型运行以下命令。
在基于 Debian 的发行版上, 运行以下命令:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh |须藤 bash
对于红帽软件包管理器 (RPM), 运行以下命令:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh |须藤 bash
现在让我们尝试使用 Aircrack-ng 破解本地 Wi-Fi 网络的密码。
首先,运行命令 配置文件
找到您的无线网络接口的名称。
配置文件
这里, wlp2s0
是我的无线接口的名称。 ESSID,即网络名称是“tmp”,这是我连接的Wifi网络的名称。
我们将使用 空气蒙
命令在上启动网络监视器接口 wlp2s0
.
须藤 airmon-ng 开始 wlp2s0
查找末尾的行以找到监视模式界面。在上面的例子中,它是 mon0
.我们现在将通过运行以下命令开始捕获网络数据包 airdump-ng
在 mon0
.
须藤 airodump-ng mon0 -w 日志
它显示从不同网络捕获的网络数据包的监视器。这 -w 日志
部分用于将网络数据包保存在日志文件中。日志文件的前缀将是在 -w 之后指定的部分,在本例中为“log”。
为了让程序捕获密码哈希密钥,必须在网络上进行 WPA 握手,即用户应该尝试连接到它。用户可以自己断开他的 Wifi,然后重新连接。现在在右上角,它通知已捕获 WPA 握手。
现在,按 Ctrl + C
终止转储。您可以在当前文件夹中看到生成的日志文件。
下一步也是最后一步是使用字典运行 aircrack-ng 以查看哪个单词与从握手中截获的哈希键匹配。
aircrack-ng log-01.cap -w tmpdict.txt
这里 log-01.cap 是由生成的日志文件 airdump-ng
命令和 tmpdict.txt 是字典文件。网上有几本大词典,可以在这里下载和使用。
要选择目标网络,请从屏幕上显示的网络列表中输入该网络的索引号。
如果从字典中匹配到一个键,它将停止并显示以下消息。
很明显,如果字典文件较大,程序将花费更多时间运行,因为它会检查字典中的每个条目。
如前所述,只有存在于字典文件中的密码才能被破解。 WPA 安全性足够强大,使用任何加密算法都无法破解密码。因此,在您的 Wifi 设备上拥有一个包含多个特殊字符的强长密码是一个很好的做法,这样任何类型的密码破解活动都不会成功。
开膛手约翰
John the Ripper 是一个用来破解弱 Unix 密码的工具。这是一个非常容易使用的工具,可以在密码文件上调用。它以三种模式运行。
单模
检查所有 GECOS 字段的密码,即检查用户帐户信息中的密码;用户名、名字、姓氏等。
须藤约翰--single /etc/shadow
词表模式
使用单词列表(字典)文件中的每个条目检查密码。
须藤约翰 --wordlist=passlist.txt /etc/shadow
这里,用户‘user3’的密码是“admin”。 John 能够破解它,因为 passlist.txt 文件中存在短语“admin”。
增量模式
检查配置范围的所有可能组合。默认情况下,它考虑 ASCII 字符集中的所有字符以及从 0 到 13 的所有长度。不用说,根据配置的范围,此模式可能需要大量时间来运行。
可以在此更改配置 /etc/john/john.conf
文件。
须藤约翰--增量/etc/shadow
雷达2
Radare2(别名 r2)是 Linux 的逆向工程工具。它可以反汇编、调试可执行的二进制文件,并提供大量选项来在运行时操作数据。
让我们看看如何使用 r2 反汇编一个非常小的 C 程序。 请注意,使用该工具需要对汇编语言有基本的了解。
首先,在 vim 或您选择的任何编辑器中创建一个小的 C 程序。
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i);返回0; }
如您所见,该程序所做的只是将数字 0 存储在一个变量中,然后访问该变量以将其打印出来。
我们现在将编译程序。
gcc test.c -o 测试
在当前目录中创建一个名为“test”的可执行文件。运行它以查看输出“0”。
。/测试
现在让我们安装 r2。 Ubuntu 和类似发行版中的包名称是radare2。
sudo apt 安装radare2
笔记: 对于较旧的 Ubuntu 版本(版本 14.04 及以下),您需要使用 apt-get
应该使用而不是 易于
.
我们现在将使用我们的可执行文件“test”启动 r2 命令提示符。
r2 测试
要获取子命令列表,请输入 ?
.例如。获取命令的子命令列表 一个
, 进入 一个?
一个?
我们将运行子命令 aa
,这将分析完整的二进制文件。它不会输出任何东西。但是在分析了二进制文件之后,我们可以使用 p?
反汇编代码的子命令。
接下来,我们转到 主要的
程序的功能。每个可执行的 C 程序都有 主要的
功能作为其起点。
主
可以看到prompt的前缀改变了当前的内存地址,即程序现在正在寻找函数的地址 主要的
.
接下来我们使用子命令 pdf
, 这将打印函数的反汇编。我们称之为 sym.main
,这是汇编语言中的主要函数的名称。
pdf sym.main
正如我们在上面的屏幕截图中看到的,我们已经对 C 程序进行了完整的反汇编。我们现在可以通过读取程序集来分析程序在做什么。
例如, mov 双字 [rbp-0x4], 0x0
将值 (0) 分配给内存位置 rbp – 基指针,0x4 – 整数所需的内存大小。
我们有 调用 sym.imp.printf
, 这将打印寄存器的内容 斧头
,即值 0。
在 r2 中操作和调试程序流的选项还有很多。您可以尝试显示的其他选项 ?
命令。要将任何日志或反汇编输出保存到文件,您可以通过管道输出如下:
pdf主> main.s
这是 Linux 中一些最广泛使用的黑客工具的概述。如果您发现此页面有帮助,请务必在您最喜欢的在线社区中分享。