如何使用 Linux 的最佳黑客工具

基于 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-ngmon0.

须藤 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 中一些最广泛使用的黑客工具的概述。如果您发现此页面有帮助,请务必在您最喜欢的在线社区中分享。