Escolar Documentos
Profissional Documentos
Cultura Documentos
HAUSER
.seg
ph@tectimes.com
LAS COMUNICACIONES QUE SE REALIZAN A TRAVES DE UNA RED O DE INTERNET EN UNA COMPUTADORA SE MANEJAN POR PUERTOS. EN ESTA NOTA DESCRIBIMOS LA FUNCION DE LOS MAS IMPORTANTES, QUE PROGRAMAS LOS UTILIZAN Y COMO PREVENIR ATAQUES DESDE ESAS FUENTES.
PUERTOS TCP/UDP
odo aquel que haya instalado un firewall en su computadora seguramente en algn momento se enfrent con la batera de preguntas que ste nos hace, en especial cuando los programas intentan hacer uso de la conexin a Internet, ya sea como cliente o servidor. Entre esas preguntas, aparecen con frecuencia ciertos puertos que nunca sabemos si debemos dejar abiertos o no, ni qu podra suceder en caso de cerrarlos, o si es correcto que dicha aplicacin los utilice o no. El fin de esta nota es aclarar cul es el uso, funcin y posibles vulnerabilidades de cada uno.
UDP
Bastante se habla sobre TCP (Transfer Control Protocol), pero no siempre se oye hablar sobre UDP. Su sigla proviene de User Datagram Protocol, y es, bsicamente, un protocolo utilizado en la resolucin de nombres. Al igual que TCP, funciona en una capa ms alta que IP; la diferencia con TCP es que ste necesita que se establezca la conexin antes de comenzar el envo del paquete, mientras que UDP enva el paquete sin verificar la conexin. El principal inconveniente del protocolo UDP es que no soporta la divisin de los paquetes para el envo y el reensamblado en el destino como lo hace el protocolo TCP, por lo que las aplicaciones que lo utilizan deben asegurarse de alguna manera que la informacin llegar a destino y en el orden correcto. Por ser tan liviano y no extender los tiempos aguardando a que se establezca la conexin, UDP suele ser el protocolo preferido para las videoconferencias y los juegos, ya que en estas comunicaciones suele preferirse la performance antes que la calidad del envo.
PUERTOS INFINITOS?
Aunque parezca lo contrario, los puertos tienen un lmite; el listado completo de puertos va desde el 0 (tcnicamente ilegal, pero posible) y llega slo (slo?) hasta el 65535, aunque los ms utilizados se encuentran entre el 1 y el 1024. Adems, por lo general, a un mismo nmero de puerto TCP, corresponde un mismo nmero de puerto UDP, es decir que una aplicacin que utiliza el puerto TCP 38726 generalmente utilizar tambin el puerto UDP 38726.
EL MODELO OSI
AQUI VEMOS UN ESQUEMA DEL MODELO OSI. EN LA CAPA DE TRANSPORTE ES DONDE NEGOCIAN LOS PROTOCOLOS TCP Y UDP. CAPAS Procesos de usuarios finales Servicios de informacin distribuida
#1
ATAQUES DOS
La denegacin de servicio (Denial of Service, DoS) es una forma de ataque muy comn que logra quitar de produccin un servidor de cualquier aplicacin, a travs del puerto que sta utiliza en sus comunicaciones. No implica riesgo, ya que lo nico que logra es molestar y provocar prdidas econmicas debido a la baja del servicio, pero no se registran irrupciones en el sistema por parte del intruso. Para entender cmo funciona, vamos a citar un ejemplo de DoS a un Internet Information Server (IIS) corriendo sobre Windows 2000. Cuando se inicia una conexin IP, comienza un proceso de cuatro pasos: 1) Un paquete (llamado SYN) se enva desde un puerto especfico en un sistema A hacia un sistema B, que se encuentra en espera. 2) La conexin potencial en el sistema B entra en el estado SYN_RECV. 3) El sistema B intenta enviar al sistema A un paquete SYN_ACK en respuesta a la peticin. 4) El sistema A vuelve a enviar un paquete ACK como respuesta, y la conexin queda establecida. Como se pueden imaginar, cada conexin instanciada consume recursos, y cada sistema puede mantener cientos de conexiones recurrentes, pero todo depende del hardware sobre el que se encuentra el sistema para saber cuntas conexiones puede soportar. Para realizar el DoS, el intruso enva desde el sistema A el primer paquete SYN con una direccin inexistente; as, cuando el sistema B enva el paquete SYN_ACK,
POWERUSR
APLICACION
Transferencia de archivos Ejecucin de trabajos remotos Intercambio de mensajes Servicio de intercambio de mensajes independientes de la sintaxis
PRESENTACION SESION
Negociacin de sintaxis de transferencia y transformaciones de representacin de datos Dilogo y sincronizacin Control para entidades de aplicacin Servicio de intercambio de mensajes independientes de la red
Transferencia de mensajes punto a punto Manejo de errores, fragmentacin Enrutado de paquetes, direccionamiento Creacin de marcos, datos transparentes Control de errores Definiciones mecnicas y elctricas de la interfaz de red Conexin fsica a la red de datos Red de comunicacin de datos
52
FIGURA
01
EL COMANDO NETSTAT CON SUS PARAMETROS EN WINDOWS. COMPARADO CON SUS PARES DE OTROS SISTEMAS OPERATIVOS, ES CIERTAMENTE LIMITADO.
nunca recibe la respuesta y la conexin queda en cola de espera (por predefinicin) durante 75 segundos. Si en ese tiempo se reciben en el sistema B suficientes conexiones como para agotar los recursos, se produce el DoS.
NAVEGACION
Son los puertos que suelen utilizar el navegador de Internet y otras aplicaciones similares.
permiso de ejecucin de archivos en versiones anteriores a la 2.2 del Wu-FTPd; si apareciera puerto restringido, significa que la transferencia est intentando realizarse por un puerto muy conocido utilizado por otra aplicacin (por ejemplo, 1433-SQL), lo que evidencia un posible intento de intrusin en la computadora. I Troyanos: los que utilizan el puerto 21 suelen levantar un servidor FTP en la mquina atacada de forma transparente para el usuario. Los ms conocidos son BackConstruction, BladeRunner, CattivikFTPServer, CCInvader, DarkFTP, DolyTrojan, Fore, FreddyK, InvisibleFTP, Juggernaut42, Larva, MotIvFTP, NetAdministrator, Ramen, RTB666, SennaSpyFTPserver, Traitor21, TheFlu, WebEx y WinCrash.
21 FTP (TCP-UDP)
El File Transfer Protocol o protocolo de trasferencia de archivos es uno de los protocolos ms antiguos de la red. En ciertos casos (raramente) tambin puede utilizarse el puerto 20. La negociacin se efecta en el puerto 21, pero la transferencia se realiza por un puerto aleatorio a partir del 1024. Este puerto era el usado por el viejo y querido AudioGalaxy para realizar el intercambio de archivos. I Vulnerabilidad: la ms comn y, a la vez, menos peligrosa es la utilizacin de servidores FTP por extraos como cach; escanean la Web en busca de un servidor FTP sin la seguridad necesaria y alojan sus archivos all, para recuperarlos ms tarde. Por eso es recomendable que la configuracin del servidor FTP se realice de manera que en una misma carpeta no pueda leerse y escribirse al mismo tiempo (es decir, que exista un directorio de recepcin y otro de salida). Pero la parte peligrosa que alberga el FTP es la manera en que establece la conexin: en un ambiente donde hay un firewall debidamente configurado, suelen permitirse todas las conexiones establecidas desde la LAN hacia la WAN, y se deniegan las de la WAN hacia la LAN. Pero al intentar establecer la conexin FTP, el servidor establece una conexin desde el servidor hacia el cliente para transferir el archivo. Para evitar esta conexin, suele utilizarse el modo pasivo (PASS) en las transferencias FTP, que hace que el inicio de la conexin recaiga sobre el cliente. El ftp.exe que viene con Windows no soporta el modo pasivo, as que los usuarios de este sistema debern utilizar algn cliente FTP separado, como el popular Wu-FTPd. Otras vulnerabilidades comunes son: sobrecarga del buffer por nombre de usuario, password, directorio, nombre de archivo o lnea de comando muy extenso, lo que provoca DoS;
POWERUSR
53 DNS (TCP-UDP)
Es el puerto del Domain Name Server o servidor de nombres de dominio. Es indispensable para la navegacin, ya que se encarga de resolver los nombres de las pginas web tipeados en un navegador a su direccin IP asociada. I Troyanos: ADMworm y Lion.
80 HTTP (TCP)
Se trata del puerto usado por el HyperText Transfer Protocol o protocolo de transferencia de hipertexto. Es el protocolo que fund las bases de las transferencias de las pginas web en Internet. Los puertos alternativos para http son el 8008 y 8080. I Vulnerabilidad: al ser imprescindible para la navegacin, es uno de los puertos preferidos para el ingreso de los intrusos. Es fundamental la configuracin de reglas en firewalls que slo permitan conexiones en este puerto desde la red LAN hacia la WAN, pero nunca en forma inversa, salvo casos obvios (web servers). I Troyanos: otro puerto favorito entre los troyanos por su alta e indispensable utilidad: 711trojan, AckCmd, BackEnd, BO2000Plug-Ins, CGIBackdoor, GodMessage4Creator, IISworm, ReverseWWWTunnel, RTB666, WebDownloader y WebServerCT, entre otros.
LINKS
www.iss.net
I HISPASEC SISTEMAS
www.hispasec.com
Sitio con mucha informacin sobre vulnerabilidades. I SECURITY FOCUS Otro sitio de seguridad muy interesante.
www.securityfocus.com
http://whatis.techtarget.com
UTILIDADES EN WEB
Puertos utilizados por software que trabaja por Internet.
25 SMTP (TCP)
Se trata del puerto usado por el denominado Simple Mail Transfer Protocol o protocolo de transferencia simple de correo. Necesitamos que se encuentre abierto para poder efectuar los envos de correo electrnico. I Vulnerabilidad: las aplicaciones que se utilizan para el envo de correo han avanzado lo suficiente en materia de intrusiones como para ser lo bastante robustas, pero deben poner mayor nfasis en el control del spam y en el uso no autorizado para realizar Mail Relay (envo de correo sin consentimiento). I Troyanos: como es de imaginar, ste es el puerto por excelencia para la propagacin de troyanos; por lo tanto, slo nombraremos algunos de los ms importantes: Ajan, Antigen, Barok, EmailPasswordSender, EPSII, Happy99, Hpteammail, Iloveyou, MagicHorse, MBT, MBTMailBombingTrojan, Naebi, Terminator, WinPC y WinSpy.
23 TELNET (TCP)
Conexiones para la administracin remota de equipos. I Vulnerabilidad: sobrecarga del buffer por nombre de usuario, password o tipo de terminal muy extenso. Si se realiza de manera cuidadosa, es posible ingresar en el sistema, pero generalmente se lo utiliza para causar DoS. Tambin es muy comn el abuso de Telnet sobre otros servicios para intentar el ingreso (HTTP, SMTP o FTP). I Troyanos: ADMworm, FireHacKer, MyVeryOwntrojan, RTB666, TelnetPro, TinyTelnetServer y TruvaAtl.
02
54
AQUI VEMOS EL MISMO COMANDO NETSTAT CON SUS PARAMETROS EN UN SISTEMA BASADO EN FREEBSD (TAN SOLO LA PRIMERA PAGINA).
UTILIDADES EN LAN
Son los puertos usados por herramientas que trabajan en una red interna de computadoras.
42 HNS-WINS (TCP-UDP)
Se trata del Host Name Server-Windows Internet Naming Service. Sirve para la replicacin de directorios. Es uno de los tantos puertos Microsoft que resuelve nombres, pero a diferencia de DNS, lo hace sobre NetBIOS (comunicacin al compartir archivos e impresoras). Si la red LAN es Windows, no es recomendable bloquear este puerto.
FIGURA
03
CONEXIONES ACTIVAS (NETSTAT A) AL MOMENTO DE ESCRIBIR ESTAS LINEAS. NOTEN QUE LOS PUERTOS CONOCIDOS APARECEN CON EL NOMBRE DEL SERVICIO.
I Vulnerabilidad: como ya hemos visto, y posiblemente sufrido, la saturacin del buffer de este puerto permite la ejecucin de cdigo malicioso y, en ciertos casos, el control total de la mquina por parte de un intruso. I Troyanos: Blaster y Nachi.
56
04
FIGURA
ANASIL ES UN COMPLETO (Y A LA VEZ, COMPLEJO) ANALIZADOR DE INTERFACES ETHERNET DE UNA RED DE AREA LOCAL, QUE AQUI VEMOS EN SU VERSION 2.2.
I Vulnerabilidad: es uno de los puertos ms peligrosos para dejar abiertos a Internet, ya que Compartir Archivos e Impresoras en Windows corre sobre l, por lo que es el primero al que los intrusos apuntan. I Troyano: Chode, GodMessageworm, MSInit, Netlog, Network, Qaz, Sadmind y SMBRelay. A continuacin mencionaremos algunos programas de uso popular en una LAN, y los puertos que deben estar abiertos para su correcta ejecucin:
Exchange Server: los puertos utilizados por este fa-
Anywhere y Watcom SQL), 1521 TCP (Oracle SQL), 1522 TCP (Oracle SQLNet 2), 1525 TCP (Oracle SQLNet 1), 1529 TCP (Oracle SQLNet 2), 1978 TCP-UDP (UniSQL), 1979 TCP (UniSQL Java), 3306 TCP-UDP (MySQL), 3352 TCP-UDP (SSQL) y 4333 TCP (mSQL). I Vulnerabilidad: puerto 150. Si un intruso logra conectarse y enviar una cantidad importante de datos sin sentido, el sistema colapsa.
Terminal Server: utiliza los puertos 636 TCP-UDP (SLDAP), 1494 TCP (Citrix ICA), 1503 TCP (T.120), 1720 TCP (H.323/Q.931), 1731 TCP-UDP (MSICCP) y 3389 TCP (RDP-Terminal Services). I Vulnerabilidad: el TS de Windows NT 4.0 intentar establecer una conexin inmediatamente despus de recibir la solicitud por un paquete TCP al puerto 3389, aun antes de la autenticacin. Cada conexin instanciada requiere 1 MB de memoria. Si se instancian las suficientes conexiones sin resolver como para acaparar la totalidad de la memoria, el servidor comenzar a volverse lento, y en ciertos casos colapsar y habr que reiniciarlo. A partir del SP4 se soluciona este inconveniente. Windows Media: usa el 80 TCP (HTTP), 1755 TCP-UDP (MS streaming-Windows Media .asf), 7007 TCP-UDP (MSBD-Windows Media Encoder).
moso servidor de correo son 102 TCP-UDP (ISO X.400), 110 (comentado anteriormente), 119 TCP-UDP (NNTP, Network News Transfer Protocol), 143 TCPUDP (IMAP4), 389 TCP-UDP (LDAP), 563 TCP-UDP (NNTPS), 636 TCP-UDP (SLDAP), 993 TCP-UDP (IMAPS) y 995 TCP-UDP (POP3). I Troyano: Puerto 119: Happy99.
Lotus Notes: usa el puerto 1352 TCP para las comu-
nicaciones normales y el 1352 UDP para servicios de replicacin. Este ltimo no es necesario para la comunicacin normal.
Microsoft NetMeeting: usa el 389 TCP-UDP (LDAP), 522 TCP-UDP (ULP, reemplazado por LDAP), 636 TCP-UDP (SLDAP), 1503 TCP (T.120), 1720 TCP (H.323/Q.931) y 1731 TCP-UDP (MSICCP). SQL: los puertos referidos a SQL son muchos y de-
CONCLUYENDO
Esperamos haber echado un poco de luz sobre el tema. Ahora, con un poco de maa y otro tanto de prueba y error, podrn redirigir los programas instalados en su mquina (si se lo permiten) hacia otros puertos que no sean los que utilizan por defecto, por ejemplo para poder atravesar restricciones impuestas por firewalls (pero conste que yo no dije nada, eh?). Por ltimo, les recomiendo un interesante software para analizar redes: Angry IP Scanner (www.angryziber.com/ipscan), muy efectivo, sencillo y liviano; y Anasil (www.tucows.com/preview/217342.html), una demo de un completo analizador de interfaces Ethernet con todo lo que pasa por ellas I
POWERUSR
penden de la compaa que comercializa la distribucin. Algunos de ellos son: 66 TCP-UDP (Oracle SQL Net), 118 TCP-UDP (SQL Services), 150 TCP-UDP (SQL-NET), 156 TCP-UDP (SQL Services), 1114 TCPUDP (mini-SQL), 1433 TCP-UDP (SQL-Server), 1434 TCP-UDP (SQL-Monitor), 1498 TCP-UDP (Sybase SQL
58