Test de intrusión - IES Gonzalo Nazareno

Transcripción

Test de intrusión - IES Gonzalo Nazareno
Seguridad Informática: Test de intrusión
Jesús Moreno León
[email protected]
Septiembre 2010
Estas diapositias son una obra derivada del artículo
Test de intrusión de Chema Alonso y de los seminarios de
formación impartidos por Antonio Guzmán y Marta Beltrán
© Jesús Moreno León, Septiembre de 2010
Algunos derechos reservados.
Este artculo se distribuye bajo la licencia
“Reconocimiento-CompartirIgual 3.0 España" de Creative
Commons, disponible en
http://creativecommons.org/licenses/by-sa/3.0/es/deed.es
Este documento (o uno muy similar)
esta disponible en (o enlazado desde)
http://informatica.gonzalonazareno.org
Introducción
Una auditoría de seguridad informática es el estudio que
comprende el análisis y gestión de un Sistema Informático para
identificar, enumerar y, posteriormente, describir las diversas
vulnerabilidades que pudieran presentarse en una revisión
exhaustiva de sus estaciones de trabajo, redes de
comunicaciones o servidores.
El análisis que se realiza desde fuera y sin ninguna credencial se
llama auditoría de caja negra, mientras que los que se realizan
desde dentro se llaman auditorías de caja blanca.
Un test de intrusión (PenTest) es una auditoría de caja negra
http://www.isecauditors.com/es/test-intrusion.html
http://www.pentest.es/test_intrusion.php
Pero, ¿son necesarias las auditorías de seguridad?
Pero, ¿son necesarias las auditorías de seguridad?
Pero, ¿son necesarias las auditorías de seguridad?
Pero, ¿son necesarias las auditorías de seguridad?
Pero, ¿son necesarias las auditorías de seguridad?
Estructura de un PenTest
Un test de intrusión, un método para evaluar la seguridad de un
sistema informático simulando un ataque desde una fuente
maliciosa, presenta las siguientes fases:
●
Recogida de información
●
Búsqueda de vulnerabilidades
●
Localización de exploits para esas vulnerabiliades
●
Parcheo de los sistemas
Recogida de información
¿Qué información interesa recoger? ¡TODA!
Footprinting: se pretende obtener la huella identificativa, toda la
información posible de la red, sistema o usuario objetivo del
ataque.
La primera etapa consiste en recuperar información general del
objetivo en los medios públicos:
●
Buscadores
●
DNS
●
ICANN
●
Traceroute
DNS
Para conocer la información
de la empresa suele
comenzarse por consultar al
servidor DNS para ver qué
servidores tiene registrados
con qué servicios.
Normalmente se obtienen
las direcciones IP de los
servidores DNS, de los
servidores Web, de los
servidores de correo y …
todo lo que se pueda.
Tracear y posicionar
Una vez que se tienen los objetivos iniciales marcados con
direcciones IPs lo siguiente es situarlos en la red y
geográficamente, para averiguar cuál es la ubicación física y
quiénes son sus proveedores de acceso a Internet.
http://www.yougetsignal.com/tools/visual-tracert/
Whois
Cuando una empresa
registra un dominio en
Internet debe rellenar una
serie de datos en el
registrador que deben estar
en una base de datos de
información que se llama
Whois. La información que
se registra en esta base de
datos es pública por
defecto.
Arañas de Internet
Existe mucha información que ya han recogido las arañas y que
está disponible para su consulta. Tan sólo hay que saber qué
preguntar a los buscadores.
Google Hacking Database
www.hackersforcharity.org/ghdb/
Spidering
Las técnicas de Spidering se utilizan para poder encontrar toda
la información que se ofrece gratuitamente a través de los sitios
web de la compañía. Se usan páginas html, ficheros de
imágenes, documentos, javascripts, applets, etc…
http://www.informatica64.com/foca/
Fingerprinting
Una vez recogida toda la información que era pública, el
siguiente paso es recoger aquella que también está accesible
públicamente pero que a priori no se puede ver. Es decir, se
trata de inferir información a partir de pruebas que se van
realizando a cada uno de los servicios y servidores.
Fingerprinting
●
Nmap
●
SuperScan
●
Netcat
Búsqueda de vulnerabilidades
Una vez que se conocen cuáles son los sistemas operativos,
firewalls y/o puertos abiertos y se han descubierto las versiones
de software que corren por esos servicios hay que buscarles los
problemas. Pueden utilizarse los expedientes de seguridad y
escáneres de vulnerabilidades
http://www.securityfocus.com/
http://cve.mitre.org/cve/
http://secunia.com/advisories
Búsqueda de vulnerabilidades
Escáneres de
vulnerabilidades:
●
●
●
●
Nessus
GFI LanGuard Network
Security Scanner
Shadow Security
Scanner
E-eye Retina
Introducción a Nessus 4.2:
http://www.youtube.com/watch?v=3RgOtjv4v8E
Exploits
Cuando se han encontrado los bugs, el objetivo es crear una
herramienta que saque partido de ellos, es decir, que sea capaz
de hacer uso de esa “funcionalidad no definida del programa”.
Para ello, se analizan las posibilidades y alcance de ese bug y se
opta por un determinado exploit.
Todos los exploits tienen dos partes diferenciadas:
●
●
La cabecera, que es lo que se denomina exploit puramente y
que depende de cada bug
El cuerpo, denominado payload que son acciones ya
programadas que se reutilizan
Metasploit Framework
Metasploit Framework es una
herramienta que aúna una base
de datos de cabeceras de exploits
y de payloads para poder realizar
el test en tus servidores.
Se usa por profesionales de la
seguridad informática para
realizar Pentests, administradores
de sistemas para verificar la
instalación de parches e
investigadores de todo el mundo
para realizar pruebas.
http://www.metasploit.com/
Metasploit Framework
Este framework incluye
herramientas, bibliotecas, módulos
y una interfaz de usuario. La
funcionalidad básica es un lanzador
de módulos que permite al usuario
configurar un exploit y lanzarlo
contra un equipo objetivo. Si el
exploit tiene éxito, se ejecuta el
payload en el objetivo y se le facilita
al usuario una shell para interactuar
con el payload.
http://www.elladodelmal.com/2010/07/metasploit-con-adobe-flash-player-un.html
Resumen
1.Identifica qué quieres auditar utilizando las técnicas de
Footprinting y FingerPrinting
2.Busca las vulnerabilidades de esos productos utilizando los
expedientes de seguridad o los escáneres de vulnerabilidades
3.Busca los exploits para esas vulnerabilidades usando
metasploit
4.Parchea para dejar el sistema corregido tal y como
recomiende el fabricante del software en los expedientes de
seguridad de la vulnerabilidad.