Linux权限维持-后门
参考文章
Linux权限维持-后门 - 0xMouise - 博客园
1.找到ssh warpper后门需要修改的文件,flag在被修改的文件注释中。
SSH wrapper(包装器):通常指一个替代或拦截 sshd
/ ssh
的可执行文件或脚本,用来在合法服务之上做“中间人”——例如记录凭证、转发会话、植入后门或打开隧道。攻击者可能把真正的 sshd
替换掉,或在启动链里插入一个脚本来启动真正的 sshd
之外的东西。(好吧,其实我没看懂)
但是既然是ssh相关的,那么大概率是要修改ssh相关的配置文件
/etc/ssh/ssh_config
是 SSH 客户端的全局配置文件
~/.ssh/config
是用户的客户端配置,不同用户在自己home目录下
/etc/ssh/sshd_config
是服务器配置
~/.ssh/authorized_keys
是允许登录的公钥列表
~/.ssh/rc
是用户级的 SSH 连接初始化脚本
/etc/ssh/sshrc
是系统级的 SSH 连接初始化脚本
/usr/sbin/sshd
、/usr/bin/ssh
(被替换为恶意二进制或脚本)
/usr/local/sbin/
、/usr/local/bin/
(恶意替代品可能放这里并覆盖 PATH
/etc/ld.so.preload
(若被写入,会导致任意库被提前加载)
逐个查看配置文件
在/usr/sbin/sshd中
cat /usr/sbinsshd
flag{E229A672E0DF4C202A248AD2E24ADAB8}
2.排查PAM后门,找到修改日期,flag格式:flag{yyyy-mm-dd}。
进入PAM配置文件夹
/etc/pam.conf # 老系统的PAM主配置
/etc/pam.d/ # 现代系统的PAM配置目录
/etc/pam.d/common-auth # Debian/Ubuntu认证配置
/etc/pam.d/system-auth # CentOS/RHEL认证配置
/etc/pam.d/sshd # SSH服务的PAM配置
/etc/pam.d/login # 登录服务的PAM配置
/etc/pam.d/su # su命令的PAM配置
/etc/pam.d/sudo # sudo命令的PAM配置
/lib/security/ # 老系统的PAM模块目录
/lib64/security/ # 64位系统的PAM模块目录
/usr/lib/security/ # 常见PAM模块路径
/usr/lib64/security/ # 64位系统常见路径
/usr/lib/x86_64-linux-gnu/security/ # Debian/Ubuntu路径
逐一排查,寻找后门文件
ls -l pam_unix.so
flag{2025-02-23}
3.找到ssh公钥免密登录的所需要的重要文件,flag在被修改的文件注释中
ssh公钥免密登录,我能想到的只有
~/.ssh/authorized_keys
/etc/ssh/sshd_config
在这两个中寻找
flag{xuanji}
4.找到xinetd服务对应的配置文件,flag在配置文件注释中
已经说到xinetd服务,进入该服务所在目录,查找即可
cd etc/xinetd
find . | xrags grep "flag"
flag{inetd?}
5.该脚本已设置开机自启,需要溯源找到后门py文件,flag在py文件中
设置开机自启动,首先想到几个地方寻找
/etc/rc.d/rc.local
或/etc/rc.local
中
/etc/systemd/system
/usr/lib/systemd/system
/lib/systemd/system
find . -type f -name "*.py"
在这几个目录下寻找都找不到
前往根目录,可以看到tmp目录下有一个shell.py
find / -type f -name "*.py" | more
进入查看看到
flag{py+vim}
(真的,我真蠢,命令错打,没有模糊匹配,一直找不到)