Não sem recompilar o código-fonte.
É usado para negociar compatibilidade entre o servidor e o cliente.
Existe um método, descrito aqui e reproduzido para ser completo, mas eu não o recomendaria, pois ele precisaria ser repetido toda vez que o software fosse atualizado.
-
Copie o arquivo
/usr/sbin/sshd
para/tmp
.# cp /usr/sbin/sshd /tmp
-
Encontre a localização do texto OpenSSH usando o comando
strings
. Procure o textoSSH-2.0-OpenSSH_5.x
, já que é a versão mostrada emtelnet
output.# cd /tmp # strings -t d -a -n 7 sshd | grep -i ssh-2 521008 OpenSSH-2.0*,OpenSSH-2.1*,OpenSSH_2.1*,OpenSSH_2.2*
-
Remova a linha 521008 da saída acima usando o comando
dd
.# dd if=./sshd bs=1 skip=521008 count=11 | od -A n -c 11+0 records in 11+0 records out O p e n S S H - 2 . 0 11 bytes (11 B) copied, 0.000208606 s, 52.7 kB/s # dd if=./sshd bs=1 count=521008 of=sshd.1 521008+0 records in 521008+0 records out 521008 bytes (521 kB) copied, 1.46733 s, 355 kB/s # dd if=./sshd bs=1 skip=521008 count=11 of=sshd.2 11+0 records in 11+0 records out 11 bytes (11 B) copied, 0.00032878 s, 33.5 kB/s # dd if=./sshd bs=1 skip=521008 count=999999999 of=sshd.3 131808+0 records in 131808+0 records out 131808 bytes (132 kB) copied, 0.368016 s, 358 kB/s
O OpenSSH_5.x agora é cortado e copiado para o arquivo sshd.2.
-
Verifique o conteúdo do arquivo sshd.2 usando o comando od.
# od -A n -c sshd.2 O p e n S S H _ 2 . 0
-
Escreva o texto "ItsHidden" para
sshd.2
e verifique a alteração do tamanho do arquivo antes e depois.# ls -l sshd.2 -rw-r--r-- 1 root root 11 May 6 14:11 sshd.2 # print -n ItsHidden > sshd.2 # ls -l sshd.2 -rw-r--r-- 1 root root 11 May 6 14:12 sshd.2
-
Combine todos os arquivos sshd acima em sshd.new.
# cat sshd.* > sshd.new
-
Conceder permissão de execução sshd.new e substituir o binário sshd por sshd.new.
# chmod 755 ./sshd.new # cp /usr/sbin/sshd /usr/sbin/sshd.bak # rm /usr/sbin/sshd # cp /tmp/sshd.new /usr/sbin/sshd
-
Reinicie o serviço sshd e teste o resultado com o comando telnet.
# service sshd stop # ps aux | grep -i sshd # kill -9 <pid_sshd> # service sshd restart # telnet localhost 22
Não é uma solução muito elegante ou sustentável.