摆在前面的(废)话:

目前市面上除了说通过源代码编译的方式去修改版本的方法可行外,其它通过改配置的方法,统统都只是修改了建立好连接之后返回给用户的欢迎或者提示信息。

对于漏洞扫描平台(软件)来说,都不是通过识别欢迎信息来判断的。

一般情况下,大家可以通过telnet 服务器 ssh的端口号来确认ssh的实际banner是什么,如果telnet过去显示的banner号没有改变,则证明该修改方式无效。

事情起因:

由于RHEL7上的openssh版本已经停止维护,导致漏扫通过banner识别方式识别出一堆漏洞。

然而由于我太懒,懒得去搭编译环境,而且用户是生产环境不适合部署编译相关的包,所以通过源代码编译的方案一律不考虑。

既然正向的路走不通,那就逆向(工程)呗。

-----------------------------------------------以下为懒人方案-------------------------------------------------

最懒最懒的方案:

找个notepad2一类的文本编辑工具或者hexedit一类的二进制编辑软件(千万别用WIN自带的)

打开/usr/sbin/sshd文件(记得停服务),直接搜索版本号字符串,

如:SSH-2.0-OpenSSH_7.4

则直接搜索7.4

搜到之后,把7和4分别改成你想改的数字即可(注意,只能改一位,千万别多改)

保存,替换回去

-------------------------------以下为正常人方案(还不如直接用懒人方案呢)----------------------------------

准备工具:

IDA反汇编工具

先确认版本

telnet IP  端口

一般会返回如下:

SSH-2.0-OpenSSH_7.4

开IDA,打开SSHD

shift+F12打开字符串窗口

CTRL+F搜索7.4

找到对应字符串后,双击进入hexedit编辑模式

F2进入编辑

找到37以及34两位,修改为39和39

F2保存

EDIT->patch program->apply patch to input file

这样就改好了

后续替换操作见下面。

注意:
以下操作务必保证同时开着两个ssh连接窗口,避免因为停服务导致的后续操作无法进行

如无特别说明,以下操作均为root权限

前置工作:

输入并上传刚才改好的sshd文件到服务器的文件夹下。
1.备份/usr/sbin/sshd
cp /usr/sbin/sshd /usr/sbin/sshd.old

2.停止sshd服务
systemctl stop sshd

3.检查服务状态是否为停止
systemctl status sshd

4.删除/usr/sbin/sshd
rm -f /usr/sbin/sshd

5.将sshd上传并拷贝至/usr/sbin/下
注:如果该步骤执行失败,则需要本地登录服务器操作(参见5.1步骤)
cp /服务器端路径/sshd /usr/sbin/

5.1.杀进程
(务必注意,该操作会中断所有现在的ssh连接,请务必保证在服务器本地通过显示器键盘接入或通过IPMI接入后操作)
ps -ef|grep sshd

返回内容类似下面:
root     32819     1  0 17:56 ?        00:00:00 sshd: wsadm [priv]
wsadm    32822 32819  0 17:56 ?        00:00:00 sshd: wsadm@notty
root     40515     1  0 18:04 ?        00:00:00 sshd: wsadm [priv]
wsadm    40615 40515  0 18:04 ?        00:00:00 sshd: wsadm@pts/0

挨个杀掉对应所有的PID:
kill PID
例如:
kill 32819
如果进入5.1操作,则在sshd服务启动前的后续操作均在服务器本地执行

6.修改执行权限
chmod a+x /usr/sbin/sshd

7.启动sshd服务
systemctl start sshd

8.检查服务状态是否为active
systemctl status sshd

9.检查版本号
telnet 10.0.63.1 2222
显示如下:
SSH-2.0-OpenSSH_9.9

关于替换SSHD的banner的方法[反编译版][应付漏扫]相关推荐

  1. c 正则表达式替换html,正则表达式替换html元素属性的方法

    正则表达式替换任意html元素任意属性,或增加任意属性. /** * 替换html中任意tag内任意attr值 * @param src_str * @param tag * @param attr ...

  2. 正则表达式给html添加属性,正则表达式替换html元素属性的方法

    正则表达式替换任意html元素任意属性,或增加任意属性. /** * 替换html中任意tag内任意attr值 * @param src_str * @param tag * @param attr ...

  3. php正则替换模板变量,php正则替换变量指定字符的方法

    本文实例讲述了php正则替换变量指定字符的方法.分享给大家供大家参考.具体如下: 这里介绍三种常用方法. 方法一: $str = preg_quote('(银子)'); $txt = '我的呢称(银子 ...

  4. python 字符串去空格_Python去除、替换字符串空格的处理方法

    个人想到的解决方法有两种,一种是 .replace(' old ',' new ') 第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉. 第二种方法是像这样 s ...

  5. linux切换软件版本,使用Linux的alternatives命令替换选择软件的版本方法

    上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询 ...

  6. python字符串变量替换_python字符串替换第一个字符串的方法

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...

  7. python 字符串替换_python字符串替换第一个字符串的方法

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...

  8. 正则替换html 元素,正则表达式替换html元素属性的方法

    正则表达式替换html元素属性的方法 发布于 2017-06-06 13:04:32 | 87 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客户端脚本语言Javascript 是 ...

  9. java中文逗号替换成英文逗号_织梦中文逗号自动替换成英文逗号的方法

    织梦中文逗号自动替换成英文逗号的方法 发布时间:2020-08-18 15:00:18 来源:亿速云 阅读:102 作者:小新 小编给大家分享一下织梦中文逗号自动替换成英文逗号的方法,相信大部分人都还 ...

最新文章

  1. php关系运算符语句,PHP基础__运算符和逻辑语句(三)
  2. ADO.NET 2.0 Dataset和Datatable 新功能新特性
  3. c实现多语言编程,C/C++编程中多国语言处理
  4. 高级数据结构与算法 | 深度遍历搜索(DFS)与广度遍历搜索(BFS)
  5. C# 8 新特性 - 异步流 Asynchronous Streams
  6. MacBook 如何通过命令终端进入 U 盘内的目录
  7. Qt学习笔记-OpenGL做正方体并旋转
  8. netty 水位线与oom
  9. 深入理解CPU cache:组织、一致性(同步)、编程
  10. 洛谷 P2286 [HNOI2004]宠物收养场
  11. Android手机中第三方签名应用程序无法获得的permission
  12. Ruby 学习笔记6
  13. Linux 100个常用指令
  14. 必不可少需要掌握的嵌入式知识(2) -- 经典数据结构总结之 (链表,队列)
  15. Atitit blend mode COLOR_DODGE 混合模式  “颜色减淡”模式
  16. 在Excel中输入超过10的带圈数字
  17. java代码行数_Java统计代码行数
  18. 五类推荐系统算法,非常好使,非常全面
  19. 什么是数据库管理系统?
  20. dev-c++文件名取名问题(踩坑)

热门文章

  1. 差分进化算法之Matlab实现
  2. canvas圆球碰撞检测
  3. 北京海纳互联网研究中心:中国数字对讲机市场纷杂,MOTO继续领跑高端
  4. 恐高,如何降低CPU使用率
  5. Vue 调用PC摄像头拍照
  6. 蓝牙耳机到底哪款好?纠结症一定要知道的蓝牙耳机冷知识
  7. 新浪微博客户端源代码-新浪微博OAuth2.0接口
  8. 电路元件的相量形式及运算
  9. 学习JavaScript的第一天
  10. 如何有效编写企业工作手册?