zoukankan      html  css  js  c++  java
  • 如何隐藏SSH的版本

      本文以在 Ubuntu 18.04 上为例,演示如何隐藏 OpenSSH 的版本信息。

    Step 1: 查看 OpenSSH 的版本信息

    # whereis sshd
    sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz
    # /usr/sbin/sshd -v
    unknown option -- v
    OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
    usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
                [-E log_file] [-f config_file] [-g login_grace_time]
                [-h host_key_file] [-o option] [-p port] [-u len]

    使用 nmap 进行外部扫描。

    # nmap -p 22 -sV -v -n 192.168.2.167
    Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-08 19:14 CST
    NSE: Loaded 45 scripts for scanning.
    Initiating Ping Scan at 19:14
    ...
    
    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

    可以看到版本为:OpenSSH 7.6p1

    Step 2: 替换版本信息

    记住,一定要先备份,以免操作失误,尤其是在远程操作的时候。

    # cp /usr/sbin/sshd sshd.bak      # 【注】备份
    # cp /usr/sbin/sshd /usr/sbin/sshd.bak
    # ls /usr/sbin/sshd*
    /usr/sbin/sshd  /usr/sbin/sshd.bak
    # strings /usr/sbin/sshd | grep OpenSSH_7.6
    OpenSSH_7.6p1 Ubuntu-4ubuntu0.3     <== Nmap 探测展示的结果是这一行
    OpenSSH_7.6p1
    OpenSSH_7.6

    替换 OpenSSH 的版本,使用 sed 命令,语法如下

    sed 's/原字符串/替换字符串/'
    # sed -i 's/OpenSSH_7.6/OpenSSH_x.x/g' /usr/sbin/sshd
    # /usr/sbin/sshd -v
    unknown option -- v
    OpenSSH_x.xp1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
    usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
                [-E log_file] [-f config_file] [-g login_grace_time]
                [-h host_key_file] [-o option] [-p port] [-u len]

    可以看到,本地提示的版本信息已经变了。

    【注】在替换版本的时候,如果替换为任意字符,可能会导致 core dump, 具体原因不明,可以参考上面的做法,隐藏具体版本信息即可。

    Step 3: 验证

    # nmap -p 22 -sV -v -n 192.168.2.167

     查看 /usr/sbin/sshd 文件内容,发现已经更改。

     以上!

    -------------------------------------------

    个性签名:如果世上的事都按你说的道理走 世界就不是现在这样了!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    安装MYSQL8.0提示api-ms-win-crt-runtime-l1-1-0.dll 丢失
    【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
    Windows 2008 R2 配置 DNS 实现二级域名
    如何修改windows Server 2012 远程桌面连接默认端口
    System x 服务器制作ServerGuide U盘安装Windows Server 2012 R2操作系统
    MYSQL安装后自带用户的作用
    mysql 查看数据库、表的基本命令
    嵌入式必知基础算法
    嵌入式学习网站集合
    C避坑指南
  • 原文地址:https://www.cnblogs.com/Hi-blog/p/How-To-Hide-SSH-Version.html
Copyright © 2011-2022 走看看