next up previous
Next: Generalidades de Portsentry Up: Herramientas de seguridad: PortSentry Previous: Herramientas de seguridad: PortSentry

Introducción -- La problemática a resolver

Cuando un atacante decide probar su suerte contra nuestro sistema, lo primero que requiere es recopilar cuanta información le sea posible acerca de éste. Todo puede serle útil - Sistema operativo, versión, servicios que ofrecemos, versión de los programas que tenemos... Cualquiera de estos datos puede ser suficiente para que su ataque sea exitoso. Basta con que el atacante vea, por ejemplo, que tenemos una versión vieja de un programa, aunque no tenga éste ninguna vulnerabilidad importante, para que se dé cuenta que no somos administradores muy cuidadosos y probablemente tengamos otros servicios descuidados.

La manera más común en que un atacante va a intentar obtener información acerca de nosotros es el barrido de puertos: Intentar conectarse a cada uno de los puertos que tiene abiertos nuestro servidor, anotando qué es lo que tiene activo y analizando dicha información. Una de las herramientas más comunes para realizar barridos de puertos es el nmap, como lo muestra la siguiente sesión ejemplo.



[gwolf@hostname gwolf]$ nmap 192.168.1.2 -O

Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on ejemplo.dominio.com (192.168.1.3):
Port    State       Protocol  Service
21      open        tcp        ftp
22      open        tcp        ssh
23      filtered    tcp        telnet
25      open        tcp        smtp
80      open        tcp        http
110     open        tcp        pop-3
113     open        tcp        auth
135     filtered    tcp        loc-srv
139     filtered    tcp        netbios-ssn

TCP Sequence Prediction: Class=random positive increments
                         Difficulty=5286692 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.14

Nmap run completed -- 1 IP address (1 host up) scanned in 25 seconds

[gwolf@hostname gwolf]$ 

Tras haber hecho esta prueba, el atacante puede intentar entrar a cada uno de los puertos abiertos, revisando si encuentra alguna versión vieja o vulnerable:



[gwolf@hostname gwolf]$ telnet 192.168.1.3 21
Trying 192.168.1.3...
Connected to 192.168.1.3.
Escape character is '^]'.
220 ejemplo.midominio.com FTP server (Version wu-2.4.2-academ[BETA-18](1) 
                                     Mon Jan 18 19:19:31 EST 1999) ready.
quit
quit
221 Goodbye.
Connection closed by foreign host.
[gwolf@hostname gwolf]$ telnet 192.168.1.3 22
Trying 192.168.1.3...
Connected to 192.168.1.3.
Escape character is '^]'.
SSH-1.5-1.2.23


Protocol mismatch.
Connection closed by foreign host.
[gwolf@hostname gwolf]$ telnet 192.168.1.3 25
Trying 192.168.1.3...
Connected to 192.168.1.3.
Escape character is '^]'.
220 ejemplo.midominio.com ESMTP Sendmail 8.8.7/8.8.7; Tue, 26 Sep 2000 
                                                    17:13:04 -0500
quit
quit
221 ejemplo.midominio.com closing connection
Connection closed by foreign host.
[gwolf@hostname gwolf]$ 

Con esto, en menos de un minuto, el atacante puede ya haber inferido lo siguiente:

Vemos claramente la gran cantidad de información que en menos de un minuto puede ser expuesta por nuestro mal administrado servidor. Cabe mencionar que nmap no es una herramienta utilizada exclusivamente por atacantes; nosotros como administradores de sistema podemos barrer nuestras máquinas buscando servicios que hayamos dejado abiertos por error.

Detectar un barrido de puertos es muy fácil: Muchas conexiones casi simultáneas a una gran cantidad de puertos originadas en la misma dirección. Si bien los programas barredores se han vuelto muy sofisticados y cada vez es más difícil detectarlos por diferentes estrategias que emplean (nmap sabe hacer desde una sencilla conexión TCP hasta un barrido silencioso con SYN, FIN, Xmas, Null, UDP, paquetes fragmentados, barridos paralelos de diferentes tipos), el principio básico es el mismo. Hay un excelente programa dedicado precisamente a encontrar éste patrón y tomar la acción que le indique el administrador del sistema: Portsentry, de Psionic.


next up previous
Next: Generalidades de Portsentry Up: Herramientas de seguridad: PortSentry Previous: Herramientas de seguridad: PortSentry
Gunnar Wolf
2000-09-28