SshdJJF.txt

1999-08-17T00:00:00
ID PACKETSTORM:11853
Type packetstorm
Reporter J.J.F. / Hackers Team
Modified 1999-08-17T00:00:00

Description

                                        
                                            `  
  
- J.J.F. / Hackers Team - Security Advisory  
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  
  
Fecha: 09/05/1999  
Publicado: 14/05/1999  
Autor: Zhodiac <zhodiac@jjf.org>  
URL: http://www.jjf.org  
Aplicacion: sshd2 up to 2.0.11  
Sistema Operativo: Unix   
Peligrosidad: Medio, a largo plazo posible acceso remoto al sistema.  
  
-=-=-=-=-=-=-=-=  
Introduccion  
-=-=-=-=-=-=-=-=  
  
En la instalacion por defecto del sshd2 (hasta la version 2.0.11),  
se deja una puerta libre a un ataque de brute force sin loguear la ip  
atacante por parte del sshd. A partir de la version 2.0.12 ya se loguea  
la conexion.  
  
-=-=-=-=-=-=-=-=  
En Detalle  
-=-=-=-=-=-=-=-=   
  
El demonio sshd al conectar con un cliente ssh tiene un numero  
definido de intentos para que le envien la correcta password antes de  
desconectar. En la instalación por defecto este numero de intentos es 3. Si  
antes de agotar los intentos rompemos la conexion, el sshd no logueara los  
intentos de conexion, y es mas, tampoco logueara la ip del cliente que  
conecto con el demonio.  
  
Un claro ejemplo:  
  
[zhodiac@piscis zhodiac]$ ssh -l zhodiac piscis  
zhodiac's password:   
zhodiac's password:  
zhodiac's password:  
  
Disconnected; authentication error.  
[zhodiac@piscis zhodiac]$   
  
En /var/log/messages:  
  
May 9 12:42:53 piscis sshd2[1391]: User authentication failed:  
'Authentication method disabled. (user 'zhodiac', client address  
'192.168.1.1:1344', requested service 'ssh-connection')'  
  
Ahora probemos el bug:  
  
[zhodiac@piscis zhodiac]$ ssh -l zhodiac piscis  
zhodiac's password:  
zhodiac's password:  
zhodiac's password: FATAL: Received signal 2.  
[zhodiac@piscis zhodiac]$ ssh -l zhodiac piscis  
zhodiac's password:  
zhodiac's password:  
zhodiac's password: FATAL: Received signal 2.  
[zhodiac@piscis zhodiac]$ ssh -l zhodiac piscis  
zhodiac's password:  
zhodiac's password:  
zhodiac's password: FATAL: Received signal 2.  
[zhodiac@piscis zhodiac]$   
  
Esos "FATAL: Received signal2." son la respuesta a la interrupcion  
del programa mediante ^C.  
  
Veamos que salio por syslog:  
  
May 9 12:44:41 piscis sshd2[1403]: Remote host disconnected: Connection  
closed.  
May 9 12:44:44 piscis sshd2[1405]: Remote host disconnected: Connection  
closed.  
May 9 12:44:47 piscis sshd2[1407]: Remote host disconnected: Connection  
closed.  
  
Ninguna ip, ninguna muestra de los intentos de password fallidos!  
Un bruteforce podria dar sus frutos... Sorry script-kiddies, no program  
available!  
  
-=-=-=-=-=-=-=-=  
Quick Fix  
-=-=-=-=-=-=-=-=  
  
Editar el fichero sshd2_config (normalmente en /etc/ssh2) ajustar  
el campo "PasswordGuesses" con el valor 1. De este modo cada vez que se  
intente una password y se falle el sistema logueara via syslog de la  
siguiente manera:   
  
May 9 12:46:07 piscis sshd[1308]: User authentication failed:  
'Authentication method disabled. (user 'zhodiac', client address  
'192.168.1.1:1527', requested service 'ssh-connection')'  
  
Dicho mensaje ya loguea la ip atacante. Tambien es recomendable  
ajustar el valor del campo "ListenAddress" y asi no dejar acceso libre  
al servicio ssh desde cualquier ip.  
  
Una solucion mejor seria hacer el upgrade a una version 2.0.12 o  
superior, las cuales al conectar manda un mensaje via syslog del modo:  
  
May 9 15:23:33 piscis sshd2[7184]: connection from "192.168.1.1"  
  
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
zhodiac@jjf.org  
  
http://www.jjf.org  
- J.J.F. / Hackers Team - Security Advisory  
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  
`