👿
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 Linux
  • Gestión de Memoria Transparente
  • Protecciones en Linux
  • Herramientas y Técnicas Adicionales

¿Te fue útil?

  1. Buffer Overflow
  2. Teoria del Buffer Overflow

Buffer Overflow en Linux

Modelo de Memoria en Linux

Linux utiliza el formato de archivo ELF (Executable and Linkable Format) para sus ejecutables y bibliotecas compartidas. Este formato organiza la memoria del programa en diferentes secciones, como .text (código ejecutable), .data (datos inicializados), y .bss (datos no inicializados). El formato ELF proporciona una estructura clara y flexible para la ejecución y el enlace de programas, facilitando la gestión de la memoria y la aplicación de técnicas de seguridad.

Gestión de Memoria Transparente

Una de las características distintivas de Linux es su gestión de memoria transparente, que permite a los usuarios y administradores acceder a información detallada sobre el uso de la memoria a través del sistema de archivos /proc. Este sistema de archivos virtual proporciona una visión detallada del estado del sistema y de cada proceso, incluyendo:

  • Mapa de Memoria: /proc/[pid]/maps muestra las direcciones de memoria asignadas a un proceso específico, permitiendo ver la disposición de las diferentes secciones de un programa.

  • Estadísticas de Uso de Memoria: /proc/[pid]/status proporciona información sobre el uso de la memoria por un proceso, incluyendo las secciones de pila y heap.

Protecciones en Linux

  1. Data Execution Prevention (DEP):

    • Descripción: DEP, conocido como NX (No-eXecute) en Linux, marca ciertas regiones de la memoria, como la pila y el heap, como no ejecutables. Esto previene la ejecución de código inyectado en estas áreas.

    • Implementación: En Linux, esta protección se activa utilizando el bit NX en procesadores compatibles, impidiendo la ejecución de código en segmentos de datos.

  2. Address Space Layout Randomization (ASLR):

    • Descripción: ASLR aleatoriza las direcciones de memoria donde se cargan las bibliotecas, el heap y la pila, haciendo más difícil para un atacante predecir las ubicaciones de la memoria necesarias para explotar un buffer overflow.

    • Impacto: ASLR en Linux añade una capa de seguridad significativa al aumentar la incertidumbre en la disposición de la memoria del programa, dificultando la explotación de vulnerabilidades.

  3. Stack Smashing Protector (SSP):

    • Descripción: SSP, también conocido como ProPolice, es una característica integrada en el compilador GCC que añade canarios de pila para detectar buffer overflows. Los canarios son valores especiales insertados antes de las direcciones de retorno en la pila.

    • Funcionamiento: Al retornar de una función, el canario es verificado. Si ha sido alterado, el programa detecta el buffer overflow y aborta la ejecución, previniendo la explotación.

    • Uso: SSP es activado por defecto en muchas distribuciones de Linux al compilar software con GCC, proporcionando una protección adicional contra desbordamientos de buffer.

Herramientas y Técnicas Adicionales

  1. Fortificación del Código:

    • Funciones Seguras: Al igual que en Windows, Linux promueve el uso de funciones seguras para manejar cadenas y memoria, como strncpy en lugar de strcpy, y snprintf en lugar de sprintf.

    • Opciones de Compilación: Opciones como -fstack-protector y -fstack-protector-all en GCC habilitan la inserción de canarios de pila en las funciones para proteger contra buffer overflows.

  2. SELinux y AppArmor:

    • Políticas de Seguridad: SELinux (Security-Enhanced Linux) y AppArmor proporcionan controles de acceso obligatorios que restringen las capacidades de los procesos, limitando el impacto potencial de una explotación exitosa de buffer overflow.

AnteriorBuffer Overflow en WindowsSiguienteTipos de Protecciones contra Buffer Overflow

Última actualización hace 11 meses

¿Te fue útil?