Técnicas de Security
Penetration Testing
Haxs Security
Security Research & IT Security Consulting
E-mail: [email protected]
CONTENIDO
Que es un Penetration Testing?
Cuales son las ventajas de un Penetration Testing?
Penetration Testing Vs. Vulnerability Scan
Tipos de Penetration Testing
Etapas de un Penetration Testing
Info Gathering
Escaneo y Enumeración
Planteamiento del ataque
Ataque
Elaboración de los Reportes
CONTENIDO (Cont.)
Técnicas Usadas en un Penetration Testing
Ingeniería Social
Fingerprinting
Escaneo de puertos TCP – UDP
Enumeración y detección de servicios vulnerables
Ataques a protocolos de red
Ataques a Web Aplications
Técnicas de evasión de Firewalls
Ejecución de Código Arbitrario
Desbordamientos de Memoria
Escalamiento de Privilegios
Borrado de Huellas
CONTENIDO (Cont.)
Herramientas utilizadas en un Penetration Testing
Comandos desde la Shell
Aclaración:
Port scanners
Estas son solo algunas de las
herramientas Utilizadas en un
Penetration Testing, existen
otras muchas mas dependiendo
el tipo de red, Topología, S.O.,
centrales telefónicas, ubicación
geográfica y empresa que
realiza el Penetration Testing.
Vulnerability scanners
Sniffers
Password Cracking Tools
Constructores de paquetes
Advisories
Exploits
Troyanos
Software de Administración Remota
CONTENIDO (Cont.)
Demostración práctica de un Penetration Testing
QUE ES UN PENETRATION TESTING?
Es un conjunto de metodologías y técnicas para realizar una
evaluación integral de las debilidades de los sistemas
informáticos. Consiste en un modelo que reproduce intentos
de acceso no autorizado a cualquier entorno informático de
un intruso potencial desde los diferentes puntos de entrada
que existan, tanto internos como externos.
Firewall
256
Kbps
CISCO
2501
Modem
ADSL
AES
Internet
ISP
TIPOS DE PENETRATION TESTING?
Penetration Testing
Externo
Modelo de ataque que mas se
asemeja a la metodología
empleada por un Atacante
desde fuera de la red atacada.
Interno
Modelo de ataque que simula a
un Insider, que podría ser un
empleado insatisfecho, un
ex-empleado u otro, atacando
desde dentro de la Red
PEN. TEST Vs. VULNERABILITY SCAN
El escaneo de vulnerabilidades es utilizar una serie de
herramientas que identifican vulnerabilidades conocidas en
un sistema. Estas herramientas contienen bases de datos de
vulnerabilidades para todos los S.O.
El Penetration Testing busca ir mas allá de un simple
escaneo, fuera de encontrar las vulnerabilidades hace uso
de algunas técnicas y herramientas para explotar las
vulnerabilidades encontradas y lograr acceder al Sistema
Remoto, logrando llegar a medir el nivel de seguridad de
dicho Sistema.
Penetration
Testing
Relación
Vulnerability
Scan
VENTEJAS DE UN PENETRATION TESTING?
Generar una visión de los riesgos y su impacto en la
organización
Identificar los problemas y darles una solución inmediata
Implementación
de nuevos y mejores modelos de
seguridad resultantes de las pruebas de intrusión externas
e internas.
Adelantarse a los Crackers, empleados o ex-empleados a
identificar las vulnerabilidades del Sistema
Generar mayor presupuesto para el área de Seguridad de
la Información o Sistemas Informáticos.
ETAPAS DE UN PENETRATION TESTING?
Info Gathering
Esta es la primera etapa, donde se trata de obtener la
mayor cantidad de información de la empresa a la cual se
le hará el PT.
Nombre de la empresa y rubro
Significado completo de las siglas de la Empresa
Número de empleados, áreas y departamentos de trabajo
Nombres del personal, Gerencias y Sub-Gerencias
Números de las Centrales Telefónicas, Internos
Pagina Web, número de servidores
S.O. de las estaciones de trabajo, número de workstations
ETAPAS DE UN PENETRATION TESTING?
Escaneo y Enumeración
En esta etapa, se realiza el barrido de IP’s en busca de
puertos abiertos para luego pasar a la enumeración de
Puertos y Servicios activos en el server remoto.
ETAPAS DE UN PENETRATION TESTING?
Planteamiento del Ataque
Con toda la información obtenida de las etapas anteriores,
acá nos encargamos de medir el alcance de nuestro
Penetration Testing, en base a la información recopilada,
dirigiendo nuestro ataque hacia los puertos abiertos que
descubrimos y los servicios donde se ejecutan las Web
Aplications o puertos donde se ejecutan servicios con altos
privilegios para ataques de desbordamiento de memoria y
ejecución de código remoto arbitrario.
ETAPAS DE UN PENETRATION TESTING?
Ejecución del Ataque
En base a nuestro Plan de Ataque, en esta etapa llevamos a
cabo todas las pruebas de intrusión planeadas para que de
alguna forma, logremos acceder al server remoto o ejecutar
código remoto arbitrario.
ETAPAS DE UN PENETRATION TESTING?
Elaboración de los Reportes
Esta es la última etapa en la cual se realizan los informes
finales a la Alta Gerencia y la Gerencia de Sistemas, en los
cuales debe ir toda la información resumida de las
vulnerabilidades
encontradas,
los
resultados
del
Penetration Testing y las soluciones posibles a corto y
mediano plazo para realizar en la empresa.
Los diferentes tipos de reportes se verán mas adelante.
TÉCNICAS USADAS EN UN PEN-TEST.?
Ingeniería Social
Convencer a la gente de que haga algo que normalmente no
debería, o nos de información clasificada
Maria:
Algún buen chico que quiera a ayudar a una linda chica en
apuros ?????
TÉCNICAS USADAS EN UN PEN-TEST.?
Ingeniería Social
Existen varias técnicas, como:
Presénciales – Semipresenciales – No presenciales
Agresivas – No agresivas
Este es un ataque típico de e-mail spoofing hacia un cliente que mediante
Ing. Social se a descubierto que no tiene conocimientos sólidos en Seg. Inf.,
el cual seguirá al pie de la letra las instrucciones.
From: Super-User <[email protected]>
To: Usuario <[email protected]>
Subject: Cambio de clave
Hola,
Para realizar una serie de pruebas orientadas a conseguir un optimo
funcionamiento de nuestro sistema, es necesario que cambie su clave mediante
la orden 'passwd'. Hasta que reciba un nuevo aviso (aproximadamente en una
semana), por favor, asigne a su contrasenya el valor 'PEPITO' (en
mayusculas).
Rogamos disculpe las molestias. Saludos,
Administrador
Gerencia de Sistemas
TÉCNICAS USADAS EN UN PEN-TEST.?
Ingeniería Social
Este es otro ataque de Ing. Social, que se realiza muy a menudo no solo
para obtener la contraseña, sino para obtener números telefónicos, de
celulares, direcciones y otras cosas que su imaginación les permita.
Administrador: Buenos días, aquí área de sistemas, en qué podemos
ayudarle?
Atacante: Hola, soy José Luis Pérez, Gerente de Créditos, llamaba porque
no consigo recordar mi password en la máquina sistema.banco.bo
Administrador: Un momento, me puede decir su nombre de usuario?
Atacante: Sí, claro, es jlperez.
Administrador: Muy bien, la nueva contraseña que acabo de asignarle
es rudolf. Por favor, nada más conectar, no olvide cambiarla.
Atacante: Por supuesto. Muchas gracias, ha sido muy amable.
Administrador: De nada, un saludo.
TÉCNICAS USADAS EN UN PEN-TEST.?
Fingerprinting
Detectar el S.O. del Host remoto y sacar la mayor cantidad
de información de él.
TÉCNICAS USADAS EN UN PEN-TEST.?
Fingerprinting
TÉCNICAS USADAS EN UN PEN-TEST.?
Escaneo de puertos TCP - UDP
Búsqueda de puertos abiertos para enumeración de
puertos y servicios remotos y medir las limitaciones del
Pen-Test. al Host.
Esta técnica, esta compuesta por otras mas complejas para
poder escanear a través de Firewalls, como ser
construcción de paquetes, escaneos con filtros de protocolo
ICMP, escaneos con los flags del encabezado TCP, forzar
respuestas ante peticiones válidas e invalidas, etc., etc.
TÉCNICAS USADAS EN UN PEN-TEST.?
Escaneo de puertos TCP - UDP
NMap, uno de los mejores escanners de Puertos.
TÉCNICAS USADAS EN UN PEN-TEST.?
Enumeración y Detección de Servicios Vulnerables
Todo Pen-Test debe llevar un registro ordenado de todos
los puertos y servicios activos en el Host remoto, para así
poder hacerse una imagen del posible escenario de ataque.
tcpmux
echo
echo
discard
discard
systat
daytime
daytime
netstat
1/tcp
7/tcp
7/udp
9/tcp
9/udp
11/tcp
13/tcp
13/udp
15/tcp
qotd
msp
msp
chargen
chargen
ftp-data
ftp
ssh
telnet
17/tcp
18/tcp
18/udp
19/tcp
19/udp
20/tcp
21/tcp
22/tcp
23/tcp
TÉCNICAS USADAS EN UN PEN-TEST.?
Ataques a protocolos de Red
Esta técnica es uno de los primeros tipos de ataques que se
realizan en un Pen-Test para sacar información del Host
remoto, unidades compartidas, nombre del server, Dominio en
el que trabaja, direcciones MAC, software instalado y hasta
podemos conectarnos a Host remoto mapeando todas sus
unidades a nuestra máquina, logrando acceder a información
confidencial en muchos
casos.
obviamente todo esto se
realiza si los puertos
137,138 y 139 están
abiertos
TÉCNICAS USADAS EN UN PEN-TEST.?
Ataque a las Web Aplications
FTP
SSH
SMTP
HTTP
PROXY
WU_FTPd Unix/Linux
FTP Server Microsoft
Unix/Linux
Microsoft
Sendmail Unix/Linux
Exchange Microsoft
Apache Unix/Linux
IIS
Microsoft
Squid
Unix/Linux
Wingate Microsoft
Ssh
En esta parte del ataque de
acuerdo a la info. Obtenida,
se trata de vulnerar el Host
remoto mediante algún Bug
en una de las Web
Aplications instaladas. A
esto se suman los ataques
CGI’s, BOF, ejecución de
código
arbitrario,
transversal directorys y
otros mas.
TÉCNICAS USADAS EN UN PEN-TEST.?
Evasión de Firewalls
Existen varias formas de evadir los firewalls, una de las mas
simples es por deducción lógica.
Firewall
256
Kbps
AES
Web
FTP
SMTP
SQL
80
21
25
1433
Internet
ISP
TÉCNICAS USADAS EN UN PEN-TEST.?
Ejecución de Código Arbitrario
Esta técnica se puede realizar encontrando Bugs tanto en las
Web Aplications, como en los diferentes servicios que se
ejecutan en el Host remoto y consiste en aprovechar alguna
falla para hacer que dicho Host, realice acciones o ejecute
comandos en forma arbitraria para lo cual no esta
programado. Pudiendo pedirle que realice desde un simple
Ping a nuestro equipo, hasta pedirle que nos envíe su shell a
un puerto específico en nuestro equipo, que nos liste sus
directorios y archivos, que nos envíe cualquier archivo que le
pidamos, entre otras muchas cosas más que se pueden hacer.
TÉCNICAS USADAS EN UN PEN-TEST.?
Ejecución de Código Arbitrario
TÉCNICAS USADAS EN UN PEN-TEST.?
Ejecución de Código Arbitrario
TÉCNICAS USADAS EN UN PEN-TEST.?
Ejecución de Código Arbitrario
TÉCNICAS USADAS EN UN PEN-TEST.?
Desbordamiento de Memoria
Sucede cuando los datos enviados a un determinado servicio,
exceden lo esperado, entonces se desborda la memoria del
Buffer y se pueden sobrescribir los datos de retorno.
Las consecuencias de ataques de este tipo pueden ser
Ataques de denegación de servicio
Ejecución de Código Arbitrario Remoto
Ganar privilegios sobre el sistema
Dar acceso a información critica
Acciones destructivas
La mayoría de los ataques en Internet hoy en día inclusive la
de los virus y gusanos utilizan técnicas de desbordamiento de
memoria o Buffer Over Flows como se las conoce.
TÉCNICAS USADAS EN UN PEN-TEST.?
Escalamiento de Privilegios
Cuando se logra acceder de alguna forma al sistema remoto y
no se tienen los privilegios necesarios para continuar, es ahí
donde se aplica esta técnica para elevar los privilegios en el
Host remoto.
TÉCNICAS USADAS EN UN PEN-TEST.?
Borrado de Huellas
Este es el último paso de un Pen-Test. Después de haber
logrado acceder al Host remoto, haber capturado información
confidencial o sensible y haber saltado todo sus sistema de
seguridad, viene el borrado de huellas.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Comandos desde la Shell
Acá utilizamos algunas herramientas de la línea de comandos
o Shell para sacar información del Host remoto y en algunos
casos ingresar a él.
Ping
Pathping
netstat
net share
FTP
Nslookup
nbtstat
net user
Telnet
Finger
net view
net accounts
Tracert
TFTP
net use
net help
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Port Scanners
Escaners de puertos los cuales nos ayudan a identificar
servicios y Web Aplications posiblemente vulnerables.
NMap, considerado
como la navaja suiza
de Internet, permite
construcción
de
paquetes,
fragmentación,
filtros
ICMP
y
muchas cosas mas.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Port Scanners
SuperScan 3.0
Scanner de Puertos
Potente Completo y Veloz
Realiza pings
Resuelve Nombres de
Dominio
Capaz de conectarse a
cualquier tipo de puerto que
descubra.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Vulnerability Scanners
Escaners dedicados a buscar Bugs de
seguridad en las Web Aplications, para luego
pasar a explotarlos.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Vulnerability Scanners
AppDetective 4.0
Uno de los
scanners de
vulnerabilidades
mas poderosos que
existe para
servidores SQL y
Lotus Notes de
IBM
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Vulnerability Scanners
Languard Network Security Scanner
Scanner creado
por el Grupo de
Seguridad GFI,
utilizado por la
DEA y el FBI para
análisis de redes y
vulnerabilidades,
uno de los mejores
con la excepción
de que cuando se
encuentra con un
Firewall, muere el
escaneo.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Sniffers en la Red Local
Ethereal
Herramienta que
coloca nuestra NIC
en modo promiscuo,
para que podamos
escuchar y aceptar
todos los paquetes
que envían y que les
llegan a los otros
equipos.
Tiene filtros de
protocolos para
identificar la
información de
manera mas rápida y
no funciona en redes
switcheadas
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Sniffers e la Red Local
Captura de una sesión de correo
Captura de una sesión de Telnet
Captura de una sesión
en Hotmail
Captura de una sesión en Mixmail
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Password Cracking Tools
Rompe contraseñas de NetBIOS
Remotamente
John The Ripper el mejor Crackeador de
contraseñas Unix – Linux y derivados
CAIN,
crackeador de
múltiples
algoritmos de
cifrado y
opciones extras,
como sniffer.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Password Cracking Tools
L0phtcrack 4.0
El mejor Crackeador de
contraseñas para
sistemas Windows NT.
Puede sacar las
contraseñas desde el
equipo local, desde un
registro remoto, desde un
archivo SAM desde un
archivo PWDUMP o
desde cualquier otro
archivo LC.
Tiene sistema de ataque
por Diccionario, Brute
Force e Híbrido.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Constructores de Paquetes
HPinhg2
ABIERTO
CERRADO
Conocido también como el Ping con
esteroides !!! Una de las mejores
herramientas para construcción de
paquetes
delorian:~# hping2 -c 1 -S -p 22 xxx.xxx.xxx.xxx
default routing interface selected (according to /proc)
HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): S set, 40 headers + 0 data bytes
44 bytes from xxx.xxx.xxx.xxx: flags=SA seq=0 ttl=64 id=0 win=32767 rtt=0.6 ms
--- xxx.xxx.xxx.xxx hping statistic --1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.6/0.6/0.6 ms
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Constructores de Paquetes
CERRADO
ABIERTO
delorian:~# hping2 -c 1 -F -p 1234 203.13.123.45
default routing interface selected (according to /proc)
HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): F set, 40 headers + 0 data bytes
40 bytes from xxx.xxx.xxx.xxx: flags=RA seq=0 ttl=255 id=0 win=0 rtt=0.2 ms
--- xxx.xxx.xxx.xxx hping statistic --1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Advisories
www.securityfocus.com
Considerado
como uno de los
mejores
Advisories ya que
muestra
información del
software
afectado, una
discusión del
problema, el
Exploit y la
forma de
solucionarlo.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Exploits
Programas dedicados a
aprovechar ciertas fallas en
una determinada aplicación o
servicio.
Generalmente son
programados en C o
en Perl, pero los hay
también eh Java,
Visual, scripts, html,
assembler, etc.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Troyanos
El uso de troyanos en Pen-Test se
utiliza como técnica para elevar los
privilegios en el Sistema remoto,
para así llegar a tener un control
total del Host remoto.
Existen hoy en día
técnicas para evasión
de los antivirus en
ambientes donde
troyano y antivirus
pueden vivir en
armonia.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Software de Administración Remota
Software que no
es del grupo de
los troyanos pero
que se utiliza
con el mismo
objetivo, llegar a
tener control
total del Host
remoto.
FIN DE LA
PRESENTACIÓN
Derechos Reservados - 2006
ETHICAL HACKING TEAM
Agradece su gentil atención.
Haxs Security
Security Research & IT Security Consulting
E-mail: [email protected]
Descargar

Diapositiva 1 - Ethical Hacking Consultores | Formada por