finger
Típicamente el servicio finger (puerto 79,
TCP)
ha sido una de las principales fuentes de problemas de Unix. Este protocolo
proporciona información - demasiado detallada - de los usuarios
de una máquina, estén o no conectados en el momento de acceder
al servicio; para hacerlo, se utiliza la aplicación finger
desde un cliente, dándole como argumento un nombre de máquina
precedido del símbolo
`@' y, opcionalmente, de un nombre
de usuario (finger sobre el sistema local no utiliza el servicio
de red, por lo que no lo vamos a comentar aquí). En el primer caso,
finger nos dará datos generales de los usuarios conectados
en ese momento a la máquina, y en el segundo nos informará
con más detalle del usuario especificado como parámetro,
esté o no conectado:
anita:~# finger @rosita
[rosita]
Login Name Tty Idle Login Time Office Office Phone
toni Toni at ROSITA */0 28 Apr 20 04:43 (anita)
root El Spiritu Santo 1 12 Apr 11 02:10
anita:~# finger toni@rosita
[rosita]
Login: toni Name: Toni at ROSITA
Directory: /home/toni Shell: /bin/bash
On since Thu Apr 20 04:43 (CEST) on pts/0 from anita
30 minutes 28 seconds idle
(messages off)
No mail.
No Plan.
anita:~#
Como podemos ver, finger está proporcionando
mucha información que podría ser de utilidad para un atacante:
nombres de usuario, hábitos de conexión, cuentas inactivas...incluso
algunas organizaciones rellenan exhaustivamente el campo gecos del
fichero de contraseñas, con datos como números de habitación
de los usuarios o incluso su teléfono. Está claro que esto
es fácilmente aprovechable por un pirata para practicar ingeniería
social contra nuestros usuarios - o contra el propio administrador -. Es
básico
para la integridad de nuestras máquinas deshabilitar este
servicio, restringir su acceso a unos cuantos equipos de la red local mediante
TCP Wrappers o utilizar versiones del demonio fingerd como
ph (Phone Book), que permiten especificar la información
que se muestra al acceder al servicio desde cada máquina.