Está en la página 1de 34

Qu es un pentest?

Es un mtodo para evaluar la seguridad de un ordenador


o una red de ordenadores simulando un ataque externo o
interno no autorizado

Qu implica?
Un anlisis activo del sistema en busca de
vulnerabilidades potenciales
Se lleva a cabo desde el punto de vista de un posible
atacante que explota vulnerabilidades de seguridad

Por qu hay vulnerabilidades?


Configuracin pobre o incorrecta del sistema
Errores conocidos o desconocidos de hardware y software
Puntos dbiles en *contramedidas

*medidas que atacan una posible amenaza


Qu se hace tras el test?

Realizar informes sobre los fallos de


seguridad no cubiertos
Estos informes se entregan al administrador
de la red
Esta informacin se acompaa con
asesoramiento preciso sobre el impacto
potencial que podra causar en la
organizacin y se perfila un rango de
procedimientos y contramedidas para
reducir los riesgos
Los pentests son valiosos porque:

Determinan la viabilidad de un conjunto particular de


vectores de ataques
Determinan la probabilidad de ocurrencia de un
posible ataque
Identifican vulnerabilidades de alto riesgo que resultan
de la combinacin de vulnerabilidades de bajo riesgo
que son explotadas en un orden concreto
Identifican vulnerabilidades que pueden ser difciles o
imposibles de detectar con software de escaneo de
vulnerabilidades
Ayudan a estimar la magnitud del impacto si se
produce un ataque exitoso
Prueban la habilidad de quien defiende la red para
detectar y responder a los ataques
Aportan pruebas que apoyan la inversin en materia
de seguridad
Por qu realizar un test de
intrusin?

Para comprobar cual es el impacto real de


una vulnerabilidad mediante la realizacin de
pruebas controladas

Verificacin real del cumplimiento de las


polticas y medidas de seguridad establecidas

Que no se diagnostique una enfermedad no


significa que no exista, se busca la deteccin
de vulnerabilidades no conocidas
CWE (Common Weakness Enumeration)
Cataloga ms de 600 entradas dividas en: vulnerabilidades de configuracin, de
cdigo y de entorno
Es la clasificacin usada por CVE (Common Vulnerabilities and Exposures)

NVD (National Vulnerability Database)


Desarrollada por el Instituto Nacional de Estndares y Tecnologa Norteamericano
(NIST)
Define 23 tipos de vulnerabilidades

OWASP (Open Web Application Security Project)


Coleccin de 24 tipos vulnerabilidades centrada exclusivamente en la seguridad de
aplicaciones web

SAMATE (Software Assurance Metrics and Tool Evaluation)


Desarrollada y mantenida por el NIST
Centrada en los errores de codificacin de aplicaticiones (buffer overflow, etc)
Auditora de vulnerabilidades
Cuantifica y clasifica vulnerabilidades y recomendaciones
Encuentra el 100% de las vulnerabilidades conocidas

Test de intrusin
Detecta algunas vulnerabilidades conocidas y algunas
desconocidas
Describe y demuestra el impacto asociado a las
vulnerabilidades detectadas
Ataque: lo que afecta a la Autenticidad, Confidencialidad, Integridad,
Disponibilidad, o Auditabilidad (ACIDA)

Activo
Modifica el sistema
Altera la integridad o disponibilidad
Ejemplos: explotar una vulnerabilidad, descargar una base de
datos

Pasivo
No modifica los sistemas
Intercepta informacin
Afecta a la confidencialidad
Ejemplo: escucha de paquetes en la red
Externo
Ejecutado desde fuera del permetro de
seguridad
Ejemplo: Internet

Interno
Con ms privilegios de acceso en la red
Ejemplo: empleado, cliente, proveedor,
conexin wireless
Se posee un amplio conocimiento de
la organizacin: estructura, departamentos,
responsabilidades
la red: topologa, dispositivos, SOs, BD, IDS,
firewalls

Se cuenta con colaboracin del personal y con acceso a


los recursos de la empresa

Simula un atacante con conocimiento exhaustivo del


sistema

Anlisis interno
Desde el punto de vista de un administrador o usuario que
cuentan con acceso (privilegiado o no) al sistema
Puede ser muy extenso (alcance muy amplio) y minucioso
(se dispone de un conocimiento completo)
No hay conocimiento previo de la
organizacin o la red
Slo se dispone de informacin
pblicamente accesible
Pocas personas de la organizacin
saben que ser atacada
Simulacin ms realista de un ataque
autntico
Puede ser muy costoso en tiempo
[recopilar info.] + personal entrenado
Usa tcnicas de un atacante real (black
box) con conocimiento del sistema
analizado (white box)

Servicios/aplicaciones web, bases de


datos, wireless, ...
Las tareas y pasos concretos a seguir
varan ligeramente en cada tipo
Test de penetracin supone definir y
ejecutar multitud de tareas muy complejas
y variadas: necesidad de guas

Metodologas que definan y organicen los


procedimientos a ejecutar para mantener
la coherencia en las acciones a realizar

Open Source Security Testing Methodology Manual


(OSSTMM)

ISSAF(Information Systems Security Assessment


Framework)

OWASP Testing Guide de OWASP


mbito / Alcance
Nivel de informacin
Caja Blanca
Caja Negra
Autorizacin de trabajo
http://www.counterhack.net/permission_memo.html
Objetivos de auditora
Ingeniera social?
Pruebas (exploits) peligrosos?
1 Recopilacin de
2 Anlisis
informacin
1.1 Rastreo 2.1 Enumeracin
1.2 Exploracin

3 Explotacin 4 Informe final

3.1 Acceso 4.1 Informe tcnico


3.2 Escalada de privilegios 4.2 Informe ejecutivo
3.3 Dao
3.4 Borrado de huellas
Obtener informacin del sistema, organizacin, red o
mquina bajo anlisis:
Nombres de dominio, direcciones IP, nombres de usuarios,
responsables,
Bases de datos pblicas: whois, RIPE, DNS,

Buscadores
Genricos: Google hacking, bing hacking, ...
Especficos: Goolag (http://www.goolag.org), KartOO
(http://kartoo.org)

Herramientas genricas de gestin de red: dig,


nslookup...

Herramientas especficas: FOCA (anlisis metadatos),


Maltego
Analizar el sistema objetivo para
identificar servicios activos, mquinas
disponibles, recursos/dispositivos de
red: routers, firewalls, sistema operativo...
Herramientas genricas de gestin de
red: ping, traceroute,...
Herramientas especficas
escneres de puertos: nmap, hping3,
xprobe, ...
Pruebas y tests para identificar recursos
especficos y sus caractersticas concretas
Identificar SOs, sus versiones y parches de
seguridad (service packs, etc)
Versiones concretas de servicios/aplicaciones
Cuentas de usuario vlidas
Herramientas especficas
Escneres puertos e identificadores de servicios:
nmap, xprobe...
Escneres de vulnerabilidades: nessus, openvas,
Escneres de vulnerabilidades especficos: w3af
(escaner de vulnerabilidades web)
Obtener un acceso no autorizado o no previsto a
alguno/s de los recursos o servicios identificados en el
sistema objetivo
Rotura de contraseas
fuerza bruta, ataques de diccionario (Rainbow tables),
contraseas por defecto o contraseas dbiles
Herramientas: THC hydra, John the Ripper, Abel and Cain,...
Sniffing/escucha de contraseas o datos sensibles:
wireshark, tcpdump, ettercap...
Inyeccin de trfico: ettercap, dnsniff, sslsniff, ...
Explotacin de vulnerabilidades especficas de las
versiones concretas de los servicios/recursos identificados
Exploits especficos: http://milw0rm.com
Herramientas automatizacin exploits:Metasploit, CORE Impact,
SAINTexploit
Uso de valores de entrada no previstos: fuzzers: exploraciones
exhaustiva automatizada de los posibles datos de entrada,
buscando (a ciegas) situaciones no previstas
Obtener control completo del sistema, adquiriendo (y
manteniendo) permisos, credenciales y privilegios propios de los
administradores

Objetivo: Validar si para el supuesto atacante sera posible


adquirir privilegios que le permitieran ejecutar acciones
maliciosas o acceder a datos restringidos

Suele requerir incluir cdigo especfico en el sistema objetivo


(payload) que permitan realizar determinadas acciones:
Normalmente ofrecen algn tipo de acceso remoto al mismo (habilitan
puertas traseras): abrir shells del sistema con privilegios (bash), habilitar
conexiones de escritorio remoto (VNC),...

Explotacin de vulnerabilidades especficas de las versiones


concretas de los servicios/recursos identificados.
Exploits especficos: http://milw0rm.com
Herramientas automatizacin exploits: Metasploit, Core Impact
Puertas traseras: BackOrifice,LCP 5.0
Valorar y evaluar la capacidad del atacante que ha
escalado privilegios de realizar acciones maliciosas
que causen dao

Daos posibles:
Acceso a datos confidenciales
Robo de informacin
Alteracin de informacin: datos protegidos, pgs web...
Denegacin de servicio (DoS)
Imposibilitar el acceso o uso de determinados
componentes del sistema a sus usuarios legtimos
Extensin del ataque
Evaluar la posibilidad de usar el sistema controlado como
punto de partida para iniciar ataques a otras parte del
propio sistema objetivo o a sistemas ajenos
Verificar hasta que punto el potencial
atacante tendra capacidad de eliminar
el rastro de sus acciones maliciosas y
mantener su control del sistema de
forma permanente sin ser detectado
Objetivo: Eliminacin de los registros y
logs que contengan informacin que
releve la existencia del ataque y que
pudiera ser de utilidad en un anlisis
forense o una auditorade seguridad
Recopilacin de Informacin
Buscadores: Google, MSN
Ripe, whois, DNS
Metadatos: jpg, doc, xls, pdf

Documentacin Enumeracin
Anlisis de visibilidad Direccionamiento IP
Informe de Test de Intrusin Nombres de usuario
Presentacin de resultados Servicios y aplicaciones
Alertas

Explotacin Anlisis
Intrusin en sistemas Infraestructura
Obtencin de evidencias Sistema Operativos
Servicios
Aplicaciones
Recopilacin de
Informacin

Garantizando acceso
Instalacin de rootkits
Sniffers Enumeracin
Keyloggers

Borrado de
evidencias
Eliminacin de Anlisis
registros

Explotacin
http://ccia.ei.uvigo.es/docencia/SSI/1112/
apuntes/pentest.pdf

http://www.slideshare.net/eventoscreativo
s/pentesting-4814058
Fig. Configuracin de las mquinas virtuales
Utilizaremos:
Exploracin de redes
Permite la identificacin de:
Hosts disponibles
Servicios
SO

Nmap [Scan type] [Options] {target specification}

Para ms detalle: man nmap


Escner de vulnerabilidades propietario
basado en plugins
Simulacin de ataques
Distribuido con plugins con fines no
comerciales
Plugins profesionales en versin de pago
Framework multiplataforma:
Ruby
Abstrae las tareas tpicas de una intrusin
Arquitectura Modular:
Exploits, Payloads, Auxiliary, Post, Nops, Encoders

Mltiples interfaces de usuario:


Msfconsole
Msfcli
metasploit web (Community, Express, Pro)
msfrpc (msfrpcd)
Msfgui
Armitage
Iniciamos las mquinas virtuales:
Atacante:
Login: root
Password: purple
Iniciar X -> $> startx

Metasploitable:
Login: msfadmin
Password: msfadmin

Y manos a la obra ;)
http://www.metasploit.com/
http://nmap.org/man/es/
http://www.fastandeasyhacking.com/
http://www.wikipedia.org/

También podría gustarte