👿
Hacking en SCADA - [CPICS]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacking en ICS/SCADA
    • Advertencia
    • Conoce a tu academia
    • Conoce a tu instructor #1
    • Conoce a tu instructor #2
  • Fundamentos de SCADA
    • Introducción a SCADA
      • Unidades Terminales Remotas (RTU)
      • Interfaz Hombre-Máquina (HMI)
      • Comunicaciones de Red
      • Controladores Lógicos Programables (PLC)
    • IT vs OT
    • La importancia de conocer pentesting en IT para una auditoria en SCADA
    • Aplicaciones Típicas de SCADA en Diferentes Industrias
      • Industria de la Energía
      • Gestión de Agua y Aguas Residuales
      • Industria Manufacturera
      • Transporte
      • Petróleo y Gas
    • Arquitectura de Sistemas SCADA
      • Características de Diseño
      • Tecnologías Emergentes
    • Redes y Comunicaciones en SCADA
    • Diferencias entre SCADA, DCS y otros sistemas de control industrial
    • Protocolos comunes
      • Modbus
      • DNP3 (Distributed Network Protocol)
      • OPC (OLE for Process Control)
      • IEC 60870-5-104
    • Hardware Específico en SCADA
    • Software de Gestión y Monitorización en SCADA
    • Ciberseguridad en el Modelo de Purdue
  • Aspectos Legales y Éticos del Pentesting en SCADA
    • Normativas y estándares de cumplimiento en SCADA
    • ICS Cyber Kill Chain
    • MITRE en ICS
  • Vulnerabilidades en Sistemas SCADA
    • Tipos comunes de vulnerabilidades
      • Vulnerabilidades de Software y Firmware
      • Problemas de Configuración y Seguridad de Red
      • Falta de Autenticación y Control de Acceso
      • Vulnerabilidades de Comunicaciones
      • Ataques Físicos y de Ingeniería Social
      • Falta de Conciencia y Formación en Seguridad
    • Análisis de casos históricos de brechas de seguridad
      • Stuxnet (2010)
    • ERP como Vectores de ataque inicial
    • Herramientas automatizadas
  • Herramientas y técnicas
    • OSINT en SCADA
      • Utilizando Shodan para SCADA
    • Logins vulnerables a fuerza bruta
      • Hydra una gran herramienta
    • Profundizando en Modbus
      • Historia y evolucion de Modbus
      • Man-In-The-Middle
      • Modbus TLS posibles vulnerabilidades
    • Instalacion de ControlThings
    • Uso de Nmap en SCADA
    • Puertos comunes en ICS/SCADA Devices
    • Utilizando Nmap
      • DNS en SCADA
      • Enumeracion con s7-enumerate.nse
    • Enumeracion con plcscan
    • ARP-SCAN en SCADA
    • ARP Spoofing
      • Wireshark en SCADA
    • Introducción al Uso de Metasploit en SCADA
      • Auxiliary Module modbusdetect
      • Auxiliary Module modbus_findunitid
    • Uso de protocolos inseguros en SCADA
      • Uso de protocolos inseguros
    • Credenciales por defecto
      • ScadaBR - Default Credentials
    • Credenciales debiles o suceptibles a fuerza bruta
    • Python en SCADA
    • Inyeccion Maliciosa de comandos Modbus
      • Utilizando MBTGET
      • Utilizando Metasploit
        • Auxiliary Module modbus_client
      • Utilizando Python
    • Simulacion de StuxNet
      • OpenPLC Server: Subida de Archivo Malicioso .st para Controlar Parámetros de Planta
  • Buffer Overflow
    • Buffer Overflow en SCADA
    • Teoria del Buffer Overflow
      • Buffer Overflow en Windows
      • Buffer Overflow en Linux
    • Tipos de Protecciones contra Buffer Overflow
    • Explotacion del Buffer Overflow
      • Spiking
      • Fuzzing
      • Finding the Offset
      • Overwriting The EIP
      • Finding the Bad Charaters
      • Finding The Right Module
      • Generating Shellcode and Gaining Shell
  • Muchas Gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • Modelo de Memoria en Windows
  • Excepciones Estructuradas (SEH)
  • Protecciones en Windows

¿Te fue útil?

  1. Buffer Overflow
  2. Teoria del Buffer Overflow

Buffer Overflow en Windows

Modelo de Memoria en Windows

Windows utiliza el formato de archivo PE (Portable Executable) para los ejecutables y las bibliotecas dinámicas (DLL). Este formato organiza la memoria del programa en diversas secciones, como .text (código ejecutable), .data (datos inicializados) y .bss (datos no inicializados). Esta segmentación facilita la gestión de la memoria y la aplicación de protecciones.

Excepciones Estructuradas (SEH)

Windows maneja las excepciones a través de un mecanismo conocido como Structured Exception Handling (SEH). SEH permite que los programas manejen excepciones (errores) de manera controlada. Durante un buffer overflow, un atacante puede manipular la estructura SEH para redirigir el flujo de ejecución del programa a un código malicioso. Esto se logra sobrescribiendo los registros de excepción en la pila, lo que es una técnica avanzada de explotación.

Protecciones en Windows

  1. Data Execution Prevention (DEP):

    • Descripción: DEP es una tecnología de seguridad que marca ciertas áreas de la memoria, como la pila y el heap, como no ejecutables. Esto previene que el código malicioso inyectado en estas áreas sea ejecutado.

    • Implementación: DEP puede ser implementado en hardware y software. En el hardware, los procesadores modernos soportan el bit NX (No-eXecute) que facilita esta protección.

  2. Address Space Layout Randomization (ASLR):

    • Descripción: ASLR aleatoriza las direcciones en las que se cargan las áreas de memoria del programa, como las bibliotecas, el heap y la pila. Esto dificulta que un atacante prediga las ubicaciones exactas en la memoria, haciendo más complejo el éxito de un buffer overflow.

    • Impacto: ASLR es especialmente eficaz cuando se combina con DEP, ya que añade una capa adicional de incertidumbre sobre la ubicación de las áreas ejecutables.

  3. Safe SEH:

    • Descripción: Safe SEH es una extensión del mecanismo SEH que permite que solo los manejadores de excepción registrados sean invocados. Esto previene que los atacantes inserten manejadores de excepción maliciosos durante un buffer overflow.

    • Uso: Safe SEH es obligatorio en las aplicaciones compiladas con ciertos niveles de seguridad, garantizando que los manejadores de excepción no puedan ser manipulados fácilmente.

  4. Fortificación del Código a través de Compiladores:

    • Funciones Seguras: Los compiladores modernos como MSVC (Microsoft Visual C++) incluyen funciones seguras que reemplazan a las tradicionales. Por ejemplo, strcpy es reemplazada por strcpy_s, que incluye verificaciones de límites.

    • Protecciones Adicionales: Opciones de compilación como /GS añaden canarios de pila (stack cookies) que detectan la sobrescritura de la pila antes de que ocurra la ejecución de código malicioso.

    • Verificación en Tiempo de Ejecución: Los compiladores también pueden insertar verificaciones en tiempo de ejecución para detectar accesos fuera de los límites de los buffers y abortar la ejecución antes de que se explote la vulnerabilidad.

AnteriorTeoria del Buffer OverflowSiguienteBuffer Overflow en Linux

Última actualización hace 11 meses

¿Te fue útil?