华域联盟 黑客技术 如何查找和使用公共漏洞利用代码

如何查找和使用公共漏洞利用代码

欢迎回来我的黑客伙伴!今天我们将介绍如何查找和使用公共漏洞利用代码。通常,在尝试破坏目标时,我们会发现攻击者可以利用的漏洞。但是,如果我们每次想要利用这些漏洞时都必须开发自己的漏洞利用程序,那将非常耗时。如果我们可以使用其他人已经编写的代码,而不是被迫进行自己的攻击,那会怎样?

开发

开发

为了演示这种代码借用的概念,我们将从 Backtrack VM 中破解 Metasploitable VM首先,我们将在受害者服务器上获得一个基本的 shell,然后我们将进行一些权限提升并获得 root 权限!此外,在整个过程中,我们将使用在线资源来查找可以在我们的 hack 中使用的代码。

 

为了获得我们的基本 shell,我们将利用 DVWA 中的文件上传漏洞,该漏洞可通过 Metasploitable 提供的 Web 服务器获得。首先,我们需要打开一个浏览器(在 Backtrack 中我们有 FireFox)并导航到 DVWA。它应该位于主页 > DVWA(注意:用户名和密码是 admin:密码)。接下来,我们导航到漏洞上传页面。它应该看起来像这样:

上传界面

 

您还可以使用以下 URI 访问上传漏洞页面:

上传网址

 

现在我们在 GUI 中,我们可以讨论这个漏洞。这个文件上传功能可以让我们上传一个 PHP 脚本,它会在服务器上给我们一个基本的 shell。但是,我们没有 PHP 脚本来执行此操作。所以,让我们向 Google 询问 PHP 反向 shell。一旦我们查看了这个,我们可以从 pentestmonkey找到一个页面, 其中只有我们需要的代码!该页面应如下所示:

php rs 下载

 

但是,如果您想加快下载过程,只需运行以下命令:

下载外壳

现在我们有了一个 tar.gz 文件,我们需要执行一些命令来为上传做准备。让我们看一下命令,然后我们将解释它们的原因:

解压和重命名文件

首先,我们使用带有 x 和 f 标志的 tar 命令,这将提取指定的文件。一旦我们解压了 tar.gz 文件,就会出现一个新目录。然后我们进入这个新目录并检查它的内容,这就是我们需要的 PHP 脚本。然后,我们使用 m o v e 命令将 PHP 脚本重命名为 rs.jpeg.php通过重命名此文件,我们可以欺骗 DVWA 的上传功能,使其接受我们的 PHP 脚本作为合法文件。但是,如果我们希望我们的有效负载连接回我们,我们需要更改脚本中的一些信息。很简单,我们需要更改的行由开发人员用注释标记。让我们看看这些改变的值:

更改连接返回信息

如上面更改的值所示,我们已将有效负载设置为连接回攻击机的 4444 端口。现在我们已经找到并准备好有效负载,让我们上传它:

上传文件

现在我们已经导航到我们的脚本,让我们上传它,看看 DVWA 对我们文件的看法:

上传文件

我们去吧!我们成功上传了我们的shell。现在,与其让我们的浏览器保持打开状态,不如找出我们需要触发的 URI 并使用 curl命令来触发它。一旦我们收到连接返回,我们将使用 Netcat 来控制我们的 shell。为此,我们需要在使用 curl 触发有效负载之前在端口 4444 上设置一个侦听器。让我们看一下这两个命令:

触发命令

现在,当我们执行触发 curl 命令的有效负载时,我们应该在我们的 Netcat 侦听器上收到一个 shell。现在让我们触发有效载荷:

炮击一次

我们有壳!这允许我们对服务器进行一些非常有限的控制。但是我们可以做得比这更好,让我们做一些权限提升并获得 root shell!首先,我们需要找到 Metasploitable 正在运行的内核版本。我们可以使用 uname命令来做到这一点:

寻找内核

正如我们在这里看到的,我们的受害者当前正在运行内核版本 2.6.24。现在,我们可以从中看出我们在这里有一个特权升级的机会。

是时候介绍一些 非常 有用的东西了,Offensive Security 自己的 漏洞利用数据库该数据库由制作 Kali(Backtrack 的继任者)的人维护。该数据库拥有超过 35,000 个存档漏洞,可以在很多情况下为我们提供帮助。让我们使用搜索选项来寻找针对 Linux 内核 2.6 的漏洞利用。让我们输入查询并检查 CAPTCHA 框,现在让我们看看结果:

结果

我们可以在这里看到我们的查询返回了两个漏洞。我们将使用第一个结果,这是针对 Linux 内核 2.6 的 UDEV 权限提升漏洞!为了下载这个漏洞利用代码,我们可以运行以下命令:

下载 priv 漏洞利用

现在,当这个漏洞利用触发时,它将以 root 权限运行 /tmp/run 下的任何文件。这意味着我们需要制作一个有效载荷才能运行。由于这非常简单,我们可以自己鞭打这个有效载荷。让我们继续在 C 中制作这个有效载荷:

制作有效载荷

这段代码只是调用 Netcat 在端口 1337 上连接回攻击者,并通过该连接提供 bash shell。现在我们已经有了有效载荷 (run.c) 的代码,我们可以继续前进了。由于这些文件需要在服务器上才能工作,我们需要找到一种方法将它们移过来。如果我们在 Backtrack 机器上启动 apache2 服务,我们可以使用我们已经拥有的 shell 将文件从攻击机器下载到受害者服务器。一旦我们启动了 apache web 服务器,我们需要将我们的文件移动到 /var/www 以便它们可以被访问。现在让我们准备我们的 apache 服务器:

启动 Web 服务器并移动漏洞利用

(注意:我们还需要将 run.c 文件移动到 /var/www。)现在我们的服务器已经启动并且我们的文件在适当的位置,我们可以使用我们已经拥有的基本 shell 将它们下载到受害者服务器. 现在让我们传输文件:

下载文件

由于我们拥有 DVWA web 应用程序的权限,所以我们只有在 /var/www 目录下写入文件的权限。现在我们已经下载了文件,我们可以为漏洞利用做准备了。首先,我们需要准备有效载荷并将其放在适当的位置(/tmp/run)。现在让我们准备我们的有效载荷:

准备有效载荷

我们可以在这里看到我们使用 GNU GCC 编译器将我们的 run.c 文件编译成一个名为 run 的可执行文件。然后我们将这个可执行文件移动到 /tmp,这样就结束了我们的有效负载的准备工作。现在我们已经准备好我们的有效载荷,让我们准备好我们的漏洞利用:

准备 priv 漏洞利用

这里没什么可看的,我们只是使用相同的编译器将我们的漏洞利用编译成另一个可执行文件。现在,为了让这个漏洞利用工作,我们需要知道我们要攻击的进程的进程 ID。我们可以通过读取/proc/net/netlink的内容找到这个进程的PID。现在让我们阅读这个文件:

查找PID

从上面的结果我们可以看到,我们在 netlink 文件中看到的唯一 PID 是 2293。这是我们要攻击的进程的 PID。现在我们已经准备就绪,可以发动第二次攻击了。但在此之前,我们需要设置另一个 Netcat 侦听器来捕获我们的根 shell:

设置 root shell 监听器

现在我们已经准备好了监听器,让我们回到受害者的 shell 并启动我们的漏洞利用:

解雇 privs 漏洞利用

现在我们已经触发了我们的漏洞利用,让我们回到我们的 Netcat 监听器,看看我们是否捕获到任何东西:

新得到 r00t

我们有它,我们有一个根外壳!我知道我们今天讨论了很多不同的事情,但这里是要点;能够找到并使用预先存在的漏洞利用代码可能是一项非常有价值的技能。它不仅可以节省您的时间,还可以让您准确诊断出目标的问题。今天我们证明了公共漏洞利用代码可以用于一些非常强大的事情。下次见!

本文由 华域联盟 原创撰写:华域联盟 » 如何查找和使用公共漏洞利用代码

转载请保留出处和原文链接:https://www.cnhackhy.com/157352.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

PwnLab CTF 演练第 1 部分:侦察和数据提取

如何在 Kali 上使用 Firewalk

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部