- J.J.F. / Hackers Team - Security Advisory =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Fecha: 09/05/1999 Publicado: 14/05/1999 Autor: Zhodiac 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 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=