| Artículos | 01 FEB 2007

Test de intrusión (I)

Tags: Histórico
Chema Alonso.
En muchos casos, la seguridad en las redes corporativas puede resultar un reto inalcanzable, ya que la mayor parte de las veces no sabemos ni cuáles son los elementos que debemos proteger. A continuación, presentamos el primero de una serie de artículos en los que explicaremos en qué consiste un test de intrusión para la empresa, así como sus principales ventajas.

En mi opinión, aunque es genial que te paguen por arreglar cristales, siempre es mucho más divertido que te paguen por romperlos. Por eso pienso que los tests de intrusión, o test de penetración (pentests) son divertidos, muy divertidos. En este reportaje vamos a repasar los pasos necesarios para llevar a cabo un test de penetración en la empresa. Aunque, a grandes rasgos, los tests de penetración son todos similares, lo cierto que cada uno tiene su arte y su punto fuerte, y eso es lo que otorga el valor añadido a las distintas empresas que se dedican a ello.

Auditoría de caja Negra
Es importante comenzar reconociendo que un test de penetración no llega a ser una auditoría, ya que éstas deben ser exhaustivas en extensión y profundidad; es decir, deben evaluar todos los riegos, todos los caminos, y el nivel de criticidad de cada uno de ellos. Un pentest no es más que encontrar un camino para resolver el sudoku. No obstante, lo cierto es que cuando se realiza un test de intrusión, al final salen casi todos los problemas, como las malas prácticas de configuración (que es uno de los aspectos más importantes), implantación o desarrollo, pero considero necesario dejar clara la diferencia entre una auditoría y un test de intrusión.
Cuando se realiza una auditoría de seguridad, éstas serán distintas si se realizan desde dentro de la red con una cuenta poco privilegiada, desde internet sin ninguna credencial, o desde dentro, con los privilegios del propio administrador. Se deben realizar todas, ya que ninguna es excluyente de la otra, todas se complementan y dan distinta información. Las que se realizan desde fuera y sin ninguna credencial se llaman auditorias de caja negra, mientras que las que las que se realizan desde dentro se llaman auditorías de caja blanca.
Podríamos decir que un test de intrusión es una auditoría de caja negra, y la diferencia será si se buscan todos los caminos, o sólo se busca justificar la necesidad de una auditoría de seguridad en profundidad. Sí, aunque parezca extraño, en muchas compañías, a día de hoy aún hay que justificar la necesidad de una auditoría de seguridad. Porque… ¿a quién le importa si mañana en la web corporativa ponen un graffiti, o si los datos de la base de datos han sido cambiados parcialmente durante los últimos tres meses, y no podemos recuperar ninguna copia de bases de datos porque no tenemos garantía de que ninguna sea fiable? Mi experiencia me dice que esto continúa sucediendo con demasiada asiduidad en nuestro país.

Comenzamos
En primer lugar, es importante resaltar que cuando una empresa contrata los servicios de test de penetración, ha de firmar una cláusula de exoneración de responsabilidades, que simplemente indica que algunas partes del test pueden incurrir en ciertas acciones que rayan la legalidad -por ejemplo, un escaneo de puertos se puede considerar ilegal–, por lo tanto, la parte contratante ha de saber que, para conseguir sus objetivos, la empresa contratada puede recurrir a prácticas de hacking, pero esto únicamente se hará con fines éticos, para saber si es posible acceder o no al interior de la red.
Una vez hecho esto, como ya hemos visto antes, es necesario elegir el punto de ejecución del test. Este punto es francamente importante, ya que podemos necesitar realizar una auditoría simulando que somos un usuario externo, o tal vez pensemos que quizá el enemigo es un cliente remoto, o pueda ser un trabajador interno. Debido a que no sabemos dónde está el peligro en realidad, lo más adecuado es cubrir todos los frentes. Elegimos entonces el punto de ejecución y comenzamos con el pentest.

Elección de objetivos
Una vez que hemos escogido el punto de ejecución, el primer paso es buscar una puerta por la que podamos entrar, y luego veremos qué podemos hacer con ella. Aún es pronto, al principio no hemos de marcarnos objetivos, es necesario ir paso a paso, con paciencia, conquistando poco a poco. Para ello, vamos a analizar los activos de la empresa que nos ha encargado el test de intrusión expuestos a nuestro punto de ejecución. Es decir, desde donde estamos, qué servicios y/o servidores están en nuestra “línea de tiro”. Servidores web, servidores de conexiones VPN, el servidor de correo, de ficheros y el dns, entre otros. Inventariamos los activos a testear y pasamos a la segunda fase.

Recogida de Información
¿Qué nos interesa? TODO. Toda información que se pueda conseguir es útil, desde la dirección física de una empresa, hasta la información sobre las personas que operan y/o trabajan en la empresa directa o indirectamente con los sistemas. Para ello, realizamos dos batidas de recogida de información distintas, utilizando dos filosofías distintas. En primer lugar, vamos a recoger toda la información que sea pública de la empresa y de los objetivos. Como es pública, podemos recogerla, y aprender todo lo que podamos de ella. Las herramientas que utilizamos para ello son herramientas de footprinting o de seguimiento de rastros de huellas.

Footprinting
Las herramientas que se utilizan para realizar las labores de footprinting son sencillas, públicas y legales, es decir, que en este punto no necesitaremos el documento de Exoneración de Responsabilidades que nos autorice a realizar el test. Para conocer la información de la empresa empezamos por consultar al servidor DNS para ver qué servidores tiene registrados con qué servicios. Normalmente vamos a sacar las direcciones IP de los servidores DNS, de los servidores Web, de los servidores de correo y FTP; es decir, todo lo que encontremos. Para hacer esta parte, se suelen utilizar herramientas como Nslookup, ya que es muy eficaz y sencilla de manejar.

Nslookup
Cuando entramos en la interfaz de comandos de nslookup estamos realizando consultas directamente contra el servidor de DNS que tenemos configurado en nuestra máquina, así que debemos es averiguar cuál es el servidor de DNS de nuestro objetivo y preguntarle a él. Para ello elegimos el tipo de registro que queremos consultar con el comando set type. Para sacar los servidores DNS: set type=ns; Para los hosts: set type=a; para los intercambiadores de correo: set type=mx.
Una vez elegido el tipo de registro, se realiza la petición de resolución con el dominio que se quiere consultar, y nos devuelve las direcciones IP de los servidores DNS primario y secundario. Así que, cuando sepamos cuáles son, configuramos a esos servidores como los receptores de nuestras consultas con el comando: Server IP y una vez que estemos allí, sacamos toda la información pública que tengamos. En caso de que el DNS esté mal configurado, nos permitirá dos cosas que nunca se deben permitir: la transferencia de zonas y el listado de todos los registros. Para ello, basta conectarse al servidor de DNS y, desde nslookup realizar una sencilla prueba con el comando ls nombre_de_dominio. Si funciona, nos volcará toda la información de la zona por pantalla. Y preguntando al registro SOA de la Zona DNS, podremos saber cuál es el correo

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información