Você está na página 1de 5

PABLO D.

HAUSER

.seg

SECURITY OPERATIONS CENTER, IMPSAT

ph@tectimes.com

UN ANALISIS DE LOS PRINCIPALES PUERTOS DE COMUNICACION

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

TRANSPORTE RED PAQUETES LIGADOS MARCOS FISICO BITS

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.

LOS PUERTOS NECESARIOS


A continuacin, confeccionaremos una lista ordenada en tres grupos por nmero con los puertos ms utilizados, tanto en las conexiones a Internet como los que necesitamos dejar habilitados en caso de tener una LAN con ciertas aplicaciones cliente-servidor muy difundidas. Tambin citaremos las vulnerabilidades que presentan y los troyanos que se valen de ellos.

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.

443 HTTPS (TCP)


HTTP seguro. Muy utilizado en transacciones con tarjetas de crdito, ya que la informacin viaja de forma encriptada.
53

LINKS

I INTERNET SECURITY SYSTEMS

www.iss.net

I HISPASEC SISTEMAS

www.hispasec.com

Sitio con mucha informacin sobre vulnerabilidades. I SECURITY FOCUS Otro sitio de seguridad muy interesante.

Sitio en espaol sobre todo tipo de vulnerabilidades. I WHATIS

www.securityfocus.com

http://whatis.techtarget.com

Excelente base de datos sobre conocimientos tecnolgicos.

UTILIDADES EN WEB
Puertos utilizados por software que trabaja por Internet.

24 SERVICIOS DE MAIL (TCP)


Cualquier servicio privado de mail utiliza este puerto. I Troyanos: BO2KcontrolPort. Es el famoso Back Oriffice!

22 SSH (TCP)/PCANYWHERE (UDP)


SSH es el SecureShell, un soft seguro de administracin remota encriptada. PCAnywhere tambin es para la administracin remota, slo que adems utiliza los puertos 5631 TCP (pcanywheredata), 5632 TCP-UDP (pcanywherestat) y 65301 TCP. I Vulnerabilidad: contena errores en libreras en versiones anteriores a la 1.28 que lo hacan vulnerable al ingreso remoto (excepto en distribuciones de sistemas operativos de Debian u OpenBSD). La versin 8.0 de PCAnywhere permita, durante la pantalla de presione ENTER, luego de conectarse al puerto 5631, enviar grandes cantidades de informacin al servidor, lo que podra provocarle DoS por llevar el uso de la CPU al 100%. Las PCs que cuenten con PCAnywhere instalado deben tener un password muy seguro, ya que los intrusos suelen escanear la Web hasta encontrarlas, y si logran descifrar el password, utilizan esas mquinas para atacar sitios ms interesantes (NASA, CIA, Pentgono, etc.). I Troyanos: Adoresshd y Shaft.

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.

110 POP3 (TCP)


El puerto utilizado por el famoso Post Office Protocol V3 o, ms fcil, protocolo de correo. Anteriormente se utilizaba el puerto 109 (POP2), por lo que los intrusos siguen realizando escaneos sobre l, ya que algunos antiguos servidores POP3 presentan huecos de seguridad en l. I Vulnerabilidad: ciertos servidores POP presentan huecos que permiten la sobrecarga del buffer y la cada por DoS. Algunos de ellos son los basados en QualCOMM Qpopper. Al ser un puerto muy atacado, se recomienda que los passwords de las cuentas sean muy seguros para evitar que los intrusos puedan adivinarlos. Otro ataque comn consiste en enviar nombres de usuario, passwords o nombres de archivos muy largos que permiten la ejecucin de cdigo malicioso al remitente. I Troyano: ProMailtrojan.

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.

1214 KAZAA, MORPHEUS, GOKSTER (TCP-UDP)


Famosas aplicaciones peer to peer. Nadie nos perdonara olvidar la mencin de este puerto tan usado en la actualidad.

1863 MSN MESSENGER (TCP-UDP)


Puerto utilizado por el popular mensajero de Microsoft.

2004 EDONKEY (UDP)


Ocupado por esta aplicacin peer to peer. Otros puertos utilizados por defecto por esta aplicacin son: 4661 TCP, 4662 TCP, 4663 TCP y 4665 UDP. I Troyano: TransScout.

4000 ICQ MESSENGER (UDP)


El famoso puerto utilizado por el mensajero an ms famoso: ICQ.

5010 YAHOO! MESSENGER (TCP)


Puerto utilizado por el mensajero de Yahoo!
FIGURA

02
54

AQUI VEMOS EL MISMO COMANDO NETSTAT CON SUS PARAMETROS EN UN SISTEMA BASADO EN FREEBSD (TAN SOLO LA PRIMERA PAGINA).

5190 AIM MESSENGER (TCP)


El puerto utilizado por el mensajero de AOL. Tambin usa el 2846 TCP-UDP, 2847 TCP-UDP, 5191 TCP, 5192 TCP y 5193 TCP.
POWERUSR

Qu son los puertos? * Un puerto es una instancia de conexin en la que un


programa escucha o queda a la espera hasta que la comunicacin se establezca, en ocasiones con la finalidad de obtener algn servicio de otra computadora.

6257 WINMX (UDP)


Puerto de la popular aplicacin peer to peer. Tambin utiliza el puerto 6699 TCP (anteriormente usado por Napster).

6346 GNUTELLA, BEARSHARE Y OTROS (TCP-UDP)


Aplicaciones P2P. Tambin utilizan los puertos 6347 TCP-UDP y 6348 TCP-UDP.

27015 HALF-LIFE (UDP)


El servidor para juegos Half-Life (lase Counter-Strike) utiliza este puerto.

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.

135 RPC (TCP)


Es el Remote Procedure Call o llamada a procedimiento remoto. No es necesario tener abierto este puerto en la WAN (salvo ciertas excepciones), pero resulta til en la red de rea local y merece una mencin de honor debido a los grandes problemas que provocaron los famosos gusanos Blaster y Nachi. Algunos de los servicios que utilizan este puerto son el DHCP Server, DNS Server y WINS Server.

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.

137 NETBIOS-NS (UDP)


Se trata del puerto usado por el NetBIOS Name Service o servicio de nombres NetBIOS. A travs de l, los servicios de NetBIOS se encuentran unos a otros. En una red basada en NetBIOS, estos nombres identifican unvocamente cada mquina y los servicios que estn corriendo en ella, sin importar la direccin IP. WINS corre tambin sobre este puerto. I Troyanos: Chode, MSInit y Qaz.

COMO VER LOS PUERTOS: NETSTAT


Para poder ver los puertos necesitamos usar un comando incluido en casi todos los sistemas operativos (hasta en Windows!); su nombre, netstat. Este comando se encarga de mostrarnos ciertas estadsticas referidas al envo y la recepcin de paquetes y las conexiones existentes por TCP/IP. Para utilizarlo, los usuarios de Windows deben abrir una consola DOS y escribir netstat ?; entonces el sistema les mostrar los parmetros disponibles para el comando. En un sistema operativo basado en FreeBSD, pueden hacer lo propio escribiendo man netstat, slo que tendrn varias pginas para estudiar. Hagamos un repaso de algunos parmetros que son muy utilizados y comunes: -a: muestra las conexiones activas (established) ms todos los puertos que estn a la espera (listening). Primero lista los TCP, y a continuacin, los UDP. -n: muestra las conexiones en forma numrica. Traducido: no resuelve los nombres de los hosts. -p protocolo: muestra las estadsticas sobre el protocolo solicitado. -r: muestra las tablas de ruteo cargadas en nuestra mquina. -s: muestra estadsticas agrupadas por protocolo. Puede utilizarse con otros para ordenar la informacin (por ejemplo, netstat e s).

138 NETBIOS-DS (UDP)


NetBIOS Datagram Service. Se usa principalmente para hacer transmisiones en broadcast de la informacin. I Vulnerabilidad: el principal peligro de tener este puerto abierto a Internet es que un intruso, mediante el envo de mensajes especiales, puede convencer a Windows de que su mquina es local y entonces traspasara la brecha impuesta por este sistema en las reas de seguridad Internet y Local. Todo un problema. I Troyano: Chode.

139 NETBIOS-SESSION (TCP)


Tanto este puerto como el 137 UDP y el 138 UDP conforman un paquete que constantemente circula por Internet. Lo ideal es bloquear todos estos puertos si nuestra mquina est de cara a una WAN.
POWERUSR

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

Você também pode gostar