Bienvenid@ invitado Entrar o Registrarse Beneficios Revistas digitales Podcast BriefingCenters Analytics Newsletter Boletín diario RSS

Los hackers te están observando

La mayoría de los profesionales de seguridad informática que he conocido son ingenieros muy capaces que conocen perfectamente bien sobre cómo implementar normas de seguridad en su empresa. Entienden de firewalls, sistemas de prevención y detección de intrusiones, análisis de logs, y escaneo de vulnerabilidades. Pero son pocos los que tienen experiencia como hackers.  Nunca han hecho pruebas de penetración más allá de un scan con Nessus, y por lo tanto desconocen cómo piensa el hacker. Por eso recomiendo que todo aquél que esté a cargo de defender una red, sepa cómo atacar una red. Eso lo hará un mejor ciberdefensor.
El objetivo de este blog es hablar de tácticas de ciberdefensa a nivel trinchera, más allá de lo que vienen en las normas escritas. Estas tácticas están basadas en experiencia real, y te permitirá implementarlas en la defensa de tu red inmediatamente.
Comencemos desde el principio entonces. En todo ataque de hacking, tenemos las siguientes fases:

1.    Reconocimiento: el hacker consigue toda la información posible sobre el blanco

2.    Scanning: el hacker comienza a buscar vulnerabilidades que puedan ser atacadas

3.    Penetración: el hacker logra tomar ventaja de una vulnerabilidad para entrar a áreas restringidas

4.    Mantenimiento del acceso: el hacker se asegura de que su canal de acceso a la red permanezca abierta para lograr su objetivo

5.    Cubrimiento de huellas: el hacker intenta borrar evidencia de su entrada a la red

Esta semana hablaremos de tácticas para mitigar las fases 1 Y 2, reconocimiento y scanning. En este caso nos vamos a enfocar al vector de ataque por internet, dejando para otro artículo el reconocimiento para ataques de ingeniería social.
Si el objetivo de un hacker es atacar a la compañía Acme S.A., y lo único que tiene es el nombre de la empresa, lo primero que hará será identificar su sitio web. En Google pronto descubrirá que el sitio web es www.acme.com. Luego hará un whois, tal vez usando un sitio como Central Ops, donde descubrirá en dónde está hospedado el sitio, tal vez encontrará el nombre, teléfono e email de la persona responsable del sitio, y ciertamente encontrará el número de IP. Como siguiente paso, usará Nmap para escanear esa IP, y descubrir qué puertos tiene abiertos; entre más puertos estén abiertos, más chance que alguno de ellos esté corriendo un servicio con una vulnerabilidad que pueda ser atacada. Como siguiente paso, hará un whois sobre varias decenas de IPs hacia arriba y hacia debajo de la IP del sitio de la compañía, bajo la hipótesis, generalmente correcta, que las empresas compran IPs en bloques consecutivos. Descubrirá varias otras IPs pertenecientes a Acme S.A., y correrá Nmap en contra de esas IPs, para descubrir los servicios corriendo en los puertos. Así encontrará los servidores de correo, interfaces web de routers, webmail, DNS, conmutadores IP, servidores de prueba con mySQL, etc. Cada uno de ellos tendrá varios puertos abiertos. Luego correrá un scan con Nessus para descubrir las vulnerabilidades en los múltiples puertos abiertos. Si descubre una vulnerabilidad, utilizará Metasploit, o algún script bajado de Milw0rm, para explotar la vulnerabilidad detectada. También hará un ataque de diccionario sobre los passwords de los servicios de ssh, ftp, y web login, bajo la hipótesis, muchas veces correcta, de que alguien dejó algún sistema con el usuario y contraseña default de fábrica. Finalmente, si el sitio www.acme.com usa SQL o scripts, intentará hacer SQL Injection o  ver si es posible hacer cross-site scripting. Finalmente intentará hacer un path transversal, para ver si descubre información valiosa en folders desprotegidos dentro del servidor web.
Todo esto lo puede hacer un hacker partiendo exclusivamente del sitio web de la empresa objetivo. ¿Qué podemos hacer para mitigar este riesgo? Estas son las tácticas:

1.    El objetivo de un servidor web debe ser servir páginas web, y ninguna otra cosa. Donde tengas hospedado tu sitio web, solo debe estar abierto el puerto 80 para http, y tal vez el 443 para https, si usas conexiones seguras. No uses ese mismo servidor para ningún otro servicio. De esta forma cuando el hacker escanee la IP del servidor, no encontrará ninguna superficie de ataque. Usa Nmap para detectar los puertos de los grandes sitios de comercio electrónico o portales, y verás que sólo tienen abiertos el 80 y el 443.

2.    Si tienes varios servidores con IPs públicas, asegúrate que la IP asignada a tu servidor web no esté en ese bloque de IPs. Hospeda tu sitio web con otro proveedor. De esta forma evitarás que el hacker descubra todos tus servidores basándose en la dirección IP de tu servidor web.

3.    Asegúrate que en los servidores expuestos a Internet, no tengas puertos abiertos que no sean estrictamente necesarios.  Corre scans periódicos.

4.    Asegúrate que los passwords de los servicios como ssh y logins a interfaces web no tengan passwords de fábrica (defaults). Si tienes que transferir información a servidores remotos, siempre usa ssh, y no uses ftp, y mucho menos telnet.

Con estas cuatro tácticas, reducirás el riesgo de que un hacker haga un reconocimiento completo de tus vulnerabilidades comenzando a partir de tu sitio web.

Sergio Castro es gerente de Qualys Latinoamérica (www.qualys.com), y se especializa en análisis de vulnerabilidades, seguridad de aplicaciones web, y la norma PCI. (scastro@qualys.com)

Artículos relacionados

  1. Esfuerzos en seguridad IT están mal enfocados

2 Comentarios ›

  1. [...] un “zone transfer” para hacer un mapa completo de tu dominio y así preparar un ataque. En un artículo anterior sugerí que pusieras las IPs de tus servidores en bloques diferentes a la de tu sitio web, para [...]

  2. Muy interesante muchas gracias por la columna

Deja un comentario ›