背景
这个问题,我搞了一天,百度了很多文章,但都是使用工具登录ssh过程才会显示的banner信息。也就是在/etc/ssh/ssh_config,里面更改一个文件,文件随意指定,然后文件里面写你想显示的信息。但必须登录的时候才能看到。对于信息收集来说我根本就不需要登录,只想了解你用的软件是什么版本信息的就够了。
环境
当前系统版本:Linux kernelKali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linux
下载了新的kali系统,Kali2.0官网
ssh的下载站点:ssh的下载网页
然后用VM虚拟机安装,我是下载的ios版本,就是所谓的完整镜像,可以直接装物理机。
需求
我们用的linux一般都会开启ssh来代替telnet,但是我想改改这个banner。
使用telnet服务器,22端口ssh服务后,会出现如下图的信息:
解决
只能通过修改源码,重新编译应用程序来更改软件banner信息。
- 经过对源码的搜索,知道软件的版本信息在version.h这个文件里面。
- 在源码文件变更之后,重新编译即可。
步骤
- 1、首先下载ssh版本
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
- 2、下载zlib包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
- 3、安装libssl-dev
apt-get install libssl-dev
报错
-
我在kali中下载了最新的ssh版本,在编译中,会有两个报错:
(1、报zlib错误:configure: error: zlib.h missing - please install first or check config.log)
(2、报libcrypto错误:configure: error: *** working libcrypto not found, check config.log) -
1、安装zlib包
-
2、安装libssl-dev包即可。
-
3、更改banner信息
-
4、编译ssh程序
此时应该没有报错了。起码我没有。(这里我还使用了apt-get --purge remove openssh-server把原来的ssh卸载了。)
./configure
make install
- 5、还要添加相应的sshd帐号,改passwd文件等等。
groupadd sshd
vim /etc/group
useradd -g sshd sshd
vim /etc/passwd
/usr/local/sbin/sshd -D //启动sshd服务
/etc/group图:
/etc/passwd图:
- 6、最终的效果图(感觉不尽人意):