Metasploitable3 WEB服务渗透示例(下)

首、前言

关键字:Metasploit、Metasploitable3、KALI、渗透、暴力破解、反弹SHELL;

在前篇"Metasploitable3 WORDPRESS服务渗透示例(中)"中,我们利用"反向SHELL",已经获取到一定的系统权限了,但是,"提权"为系统级的管理员权限才是渗透的最终目标~同时,在博主尝试整个提权的过程并不顺利,这其实与实际渗透某个互联网服务很像,事情永远不会那么简单;实际上,到目前为止,整个过程实在是太顺利了,能遇到一些问题,实际上挺好的~

快速跳转

Metasploitable3 WORDPRESS服务渗透示例(上)

Metasploitable3 WORDPRESS服务渗透示例(中)

Metasploitable3 WORDPRESS服务渗透示例(下)

一、坑

在上一篇博文中,我们基于对WORDPRESS的渗透,已经获取到目标服务"192.168.100.62"的部分操作系统层级的权限了,但还没获取到目标操作系统的最高权限;

在整个渗透中,当我们从获取到了系统的有限权限,再到系统的完全管理权限,这一个过程被称为"提权";一个比较简单的有代表性的"提权",就是LINUX系统的"sudo"命令了["sudo"属于"临时提权"];又或者LINUX操作系统上的一个普通用户"edward",通过某些系统上已存在的漏洞,通过技术手段,获取了本应不属于它本身ROOT权限,这也是一个"提权";

"提权"可以是一个简单的过程,也可以十分复杂;这一节为什么叫"坑"?这也是由于这一点命名的!!!如果基于METASPLOIT渗透框架的"meterpreter"的SHLLL环境中命令能够正确运行的话,"提权"本应该是一件很简单的事;这引出了第一个坑:

坑1:在"meterpreter"的SHLLL环境的命令中,有一个名为"getsystem"命令,这个命令能简单的帮助你进行"系统提权"[博主暂时未理清此命令能成功触发的必要条件是什么],可惜这个命令无法正确运行!

由于"meterpreter"的"getsystem"命令无法使用,于是博客很自然想到使用METASPLOIT渗透框架中的一些基于WINDOWS的提权模块,最后博主找到了一个具有可能性的模块"exploit/windows/local/ms18_8120_win32k_privesc",至此,引出第二个坑:

坑2:基于PHP的"meterpreter"WEBSHELL功能上不支持引入"exploit/windows/local/ms18_8120_win32k_privesc"这一模块的执行,"提权"攻击无法实现;

好吧~即然基于PHP的"meterpreter"WEBSHELL功能不足,那此时博主的想法,直接生成一个"X86/X64"CPU架构的,基于WINDOW的木马去实现完整的"meterpreter"的功能,那么此时,博主需要做的是,生成一个新的木马、上传到目标主机并在目标主机上运行这个木马;至此,引出第三个坑:

坑3:基于PHP的"meterpreter"WEBSHELL由于BUG/功能不足,甚至无法启动目标服务上的SHELL环境[CMD],这也就造成了博主无法实现"在目标主机上运行这个木马"!!!["meterpreter"中有一个"shell"命令用于运行目标系统上的SHELL环境];

至此,博主发现了一个问题,如果继续使用METASPLOIT渗透框架,基于博主现在对METASPLOIT的理解,这可能是一个无法解决的问题,于是,博主搜索了额外的解决方案,最终,博主在使用了中国的开源项目"蚁剑",解决了"在目标主机上运行这个木马"的问题~~

二、解决方案

整个"提权"的过程并不顺利,见上而的坑,这是一个被整理过的过程!

由于"坑2"{基于PHP的meterpreter"WEBSHELL功能上不支持引入"exploit/windows/local/ms18_8120_win32k_privesc"这一模块的执行},我们需要一个完整功能的"meterpreter",这需要新建一个木马,见下:

Metasploitable3 WEB服务渗透示例(下)

由于"坑3"{基于PHP的"meterpreter"WEBSHELL由于BUG/功能不足,甚至无法启动目标服务上的SHELL环境[CMD]},我们需要一个另一个能在目标上正确运行CMD环境的反向SHELL,本处使用的是蚁剑,先生成一句话的反弹SHELL,见下:

Metasploitable3 WEB服务渗透示例(下)

将"venom.exe"与"ant.php"上传至目标,这需要用到上一篇博文中已成功的反向SHELL"http://192.168.100.62:8585/wordpress/shell.php":

使用浏览器去访问"shell.php",访问"http://192.168.100.62:8585/wordpress/shell.php",然后在"反弹SHELL"中执行以下命令上传木马;

Metasploitable3 WEB服务渗透示例(下)

二、提权

现在,博主重新生成了两个木马并上传,用于解决上面说到的三个坑;现在开始"提权";

首先,起动一个新监听服务用于接收"venom.exe"的反弹SHELL,注意:"venom.exe"使用的定义的端口是4444:

使用"蚁剑"连接"ant.php",并在目标服务器上运行"venom.exe",过程以见图示:

1、新建立连接

Metasploitable3 WEB服务渗透示例(下)

2、启用虚拟终端

Metasploitable3 WEB服务渗透示例(下)

3、执行"start venom.exe",没错,我们使用"蚁剑"仅仅只为执行这一个命令;

Metasploitable3 WEB服务渗透示例(下)

4、查询命令执行结果[成功接收到由"venom.exe"发现的反弹SHELL]

Metasploitable3 WEB服务渗透示例(下)

现在开始使用"exploit/windows/local/ms18_8120_win32k_privesc"模块进行提权;

经过一段较长时间的等待后,会返回一个全新的"meterpreter"SHELL;输入命令"getuid",你可以发现现在你已经拥有了系统的最高管理权限了;

Metasploitable3 WEB服务渗透示例(下)

Metasploitable3 WEB服务渗透示例(下)

至此,你已经拥有了目标操作系统的管理员权限了,这一般是渗透的最终目标了,一个完整的渗透过程就此完成;另外,提示:当这个会话断开连接,相关管理员的权限会丢失,需要重做以上步骤获取管理员权限……

三、结

好不容易,终于把这个系列写完了,整个模拟渗透的过程的东西实在有点多;如果你仔细看了所有流程,你会发现从开始信息收集至最终获取整个服务器的最高权限,这一整个过程是可以"优化"的,例如:从WEBSHELL部分,直接使用"蚁剑"做WEBSHELL而不是使用基于METASPLOIT渗透框架中的"meterpreter",而直至最后"提权"部分才使用METASPLOIT渗透框架!虽然这么说,但实际上这种"优化"是很难做到的,实际中,你很难预计到在本次的渗透过程中,那些工具会失效;在渗透过程中,由于工具失效而寻找额外的解决方案,这也是渗透过程的一环;所以,博主并没有"优化"掉此类过程……

好吧,写完了就好,还说什么废话呢,完~

网友评论2

  1. 沙发
    limaolin:

    大佬我学习做渗透测试苦于没有Metasploitable3环境国内下载不到镜像,你可以分享一下吗,谢谢

    2022-09-10 下午4:31 [回复]
    • Edward:

      这个没办法,Metasploitable3官方就没有提供模拟镜像;你可以玩Metasploitable2,官方直接有提供VM镜像;Metasploitable3环境部署非常麻烦,必须"VirutalBox + Vagrant"[Vagrant是类似DOCKER的技术],由于Vagrant的网络模拟是基于VBOX,所以部署一个好用的环境非常麻烦;你可以直接安装KALI,入面可以安装Metasploitable3环境......

      2022-09-12 下午8:13 [回复]

发表评论

表情
还能输入210个字