最近在甲方駐場,工作中用掃描器經常能掃到內網的主機存在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后再次連接,登陸成功: