最近在甲方驻场,工作中用扫描器经常能扫到内网的主机存在openssh的高危漏洞,发邮件给业务接口人,人家不会,抱着电脑来问我,之前也没有具体修复的经验,正好这次学习尝试一下
由于系统都是使用ssh登陆的,要升级ssh,怕升级失败导致服务挂掉,机器登不上。因此在升级之前先把telnet开起来。
0x01、开启telnet并登录root (生产机器上的每一步配置操作都要和业务接口人确认是否会对业务造成影响)
生产机器测试有点奢侈,先本地测试机演示。centos7。
1、安装三个软件包
#yum -y install telnet telnet-server xinetd
2、修改telnet配置
telnet默认不开启服务,修改文件/etc/xinetd.d/telnet手动开启:修改disable=yes为disable=no #开启telnet服务,升级完ssh后可以把这里改回原样,再把telnet服务停掉,毕竟telnet服务不安全。
注:第一次修改如果文件不存在,可自己vim创建。内容如下:
# default: yes
# description: The telnet server servestelnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
3、启动xinete服务
/etc/rc.d/init.d/xinetd restart或者/bin/systemctl restart xinetd.service
4、尝试使用telnet登录root
发现连接出问题,大概率防火墙的缘故,把防火墙关了(生产环境中防火墙不能关,应当增加允许23端口的策略,升级完再删除策略)
再次尝试连接,这次有登录界面了,但是登录提示账号密码错误:
查看主机的日志/var/log/secure,箭头指向的两个报错是关键:
pts的报错我们修改/etc/securetty,新增pts/0
root不允许登录的报错我们修改/etc/pam.d/login,把pam_securetty.so一行注释掉:
重启xinetd后再次连接,登陆成功: