Tema 3 PDF
Document Details
Uploaded by DelightfulPink2629
UCA Universidad de Cádiz
Tags
Summary
Este documento proporciona una descripción de hacking ético, metodologías de prueba de intrusión, tipos de hackers y análisis de vulnerabilidades. Contiene información sobre diferentes frameworks de seguridad.
Full Transcript
1. DEFINICIÓN Y TIPOS DE HACKERS → Hacking ético: conjunto de pruebas de intrusión llevadas a cabo por profesionales de seguridad con una metodología rigurosa. Un hacker ético analiza un sistema o una red para identificar y explotar sus debilidades, para su actividad cuando sabe que sus acciones pue...
1. DEFINICIÓN Y TIPOS DE HACKERS → Hacking ético: conjunto de pruebas de intrusión llevadas a cabo por profesionales de seguridad con una metodología rigurosa. Un hacker ético analiza un sistema o una red para identificar y explotar sus debilidades, para su actividad cuando sabe que sus acciones pueden repercutir negativamente en los datos o sistema TIPOS DE HACKERS - White hat (ético): experto en seguridad informática especializado en realizar pruebas de intrusión para garantizar la seguridad de la información de los sistemas de su organización. Suele comunicar a las empresas las brechas de seguridad encontradas - Black hat (cracker): es un experto en atacar sistemas, estos ataques se llevan a cabo con un propósito malicioso o beneficio personal. Su principal objetivo es causar daño al sistema: borrado de ficheros, robo de información, modificación de sitios web… - Grey hat: a veces respeta las leyes y otras actúa ilegalmente. Suele alertar de las vulnerabilidades encontradas a la comunidad hacker. Entre sus motivaciones se encuentran el ánimo de lucro, protestas o desafíos personales - Insider: trabaja como empleado o consultor en una organización, este tiene acceso a los sistemas de la organización. Puede causar grandes daños, repercutiendo en pérdidas de grandes sumas de dinero. Entre sus motivaciones se encuentran la venganza, obtención de información estratégica… - Script kiddie: atacante inexperto capaz de ejecutar un script desarrollado por un tercero para llevar a cabo un ataque. Carece de nivel de programación o aplicaciones usadas, dada esta deja muchas huellas durante los ataques, siendo rastreable - Phreaker: atacante que consigue acceder a sistemas o centrales telefónicos, se requiere gran conocimiento en telecomunicaciones 2. METODOLOGÍAS En un test de intrusión las tareas deben ejecutarse siguiendo un orden que permite ir conociendo cada vez más información sobre el sistema objetivo → Clasificación: - Caja negra: no se dispone de información, por lo que la tarea más importante es búsqueda de información - Caja gris: el atacante parte de alguna información - Caja blanca: se dispone de muchos tipos de información, incluso credenciales de acceso → Las más conocidas: - OWASP: Open Web Application Security Project testing guide - OSSTMM: Open Source Security Testing Methodology Manual - PTES: Penetration Testing Execution Standard - MITRE ATT&CK: Adversarial Tactics, Techniques, and Common Knowledge - PCI Penetration testing guide - NIST 800-115 - Penetration Testing Framework - ISSAF: Information Systems Security Assessment Framework 2.1. OWASP Es una fundación sin ánimo de lucro que supone una referencia para aspectos que afectan a la seguridad de aplicaciones web. Publican el top ten, un listado con las 10 vulnerabilidades más importantes y herramientas y consejos para subsanarlos, así como desarrollar guías sobre seguridad como la Guía de OWASP de Pruebas https → Metodología OWASP: - Introducción y objetivos - Pruebas de validación de datos - Recopilación de la información - Pruebas de manejo de errores - Pruebas de configuración y gestión de despliegue - Pruebas de gestión de identidades - Pruebas de gestión de sesiones - Pruebas de autenticación - Pruebas de gestión de sesiones - Pruebas de métodos de cifrados débiles - Pruebas sobre lógica de negocio - Pruebas del lado del cliente 2.2. PTES → Secciones principales: - Interacción previas al compromiso - Recopilación de inteligencia - Modelo de amenazas - Análisis de vulnerabilidades - Explotación - Post-Explotación - Informes Existe una guía técnica para llevar a cabo la ejecución de las pruebas 2.3. OSSTMM La metodología incluye en su alcance a personas, sistemas, aplicaciones y procesos. Se estructura en 15 capítulos sobre conceptos básicos de seguridad, procesos para definir una prueba, aspectos legales, métricas, etc → Tipos de pruebas: - De seguridad de los factores relacionados con las personas - De seguridad física - De seguridad inalámbrica - De seguridad en telecomunicaciones - De seguridad en redes de datos De cumplimiento normativo → STAR: un modelo de informe denominado Security Test Audit Report, este recapitula todas las evidencias encontradas durante las pruebas. Los auditores ISECOM pueden verificar este informe 2.4. MITRE ATT&CK Es la base de conocimiento de técnicas adversas, permite gestionar comportamientos adversos, modelos de ciclo de vida, aplicación a entornos reales y taxonomía común - Las tácticas representan el porqué de una técnica - Las técnicas representan el cómo un adversario consigue un objeto táctico realizando una acción. También pueden representar el qué gana un adversario realizando una acción - La relación entre tácticas y técnicas se visualizan en la matriz ATT&CK 3. RECONOCIMIENTO Y RECOLECCIÓN DE INFORMACIÓN EN FUENTES ABIERTAS La primera fase del pentesting es el reconocimiento (footprinting) que consiste en descubrir toda la información relevante de la organización víctima o cliente → Tipos de reconocimiento: - Pasivo: no tenemos interacción directa con la víctima o el cliente. Por ejemplo, la investigación de una empresa a través de Google - Activo: existe una interacción directa con la víctima o el objetivo. Por ejemplo, realizar un mapeo de la red o un barrido de ping 4. ESCANEO Y ENUMERACIÓN La segunda fase del pentesting es el escaneo y enumeración (fingerprinting) que tras obtener el rango de direcciones IP de nuestro objetivo durante la fase de reconocimiento, en esta fase: - Identificamos los hosts que están activo - Buscaremos los puertos abiertos en dichas máquinas - A partir de estos puertos, obtenemos información del SO, apps, servicios… Una vez identificados el SO, servicio, etc. podremos decidir si realizar la enumeración para tratar de obtener cuentas de usuario, procesos… Si existen vulnerabilidades, estas podrán ser posteriormente explotadas 5. ANÁLISIS DE VULNERABILIDADES → Vulnerabilidad: fallo o debilidad en los procedimientos, diseño, implementación o controles internos de seguridad del sistema, que puede ser activado (accidentalmente o de forma intencionada) y resultar en una brecha de seguridad o la violación de la política de seguridad del sistema → Origen de las vulnerabilidades: - Técnico, debido a fallos en la configuración de sistemas o errores de implementación - Factor humano y falta de cobertura de las políticas que las regulan → Resumen de la anatomía de un ataque - Reconocimiento - Identificación de vulnerabilidades - Explotación 5.1. CLASIFICACIÓN Y FUENTES → CVE: Common Vulnerabilities and Exposures es una base de datos de vulnerabilidades públicamente conocidas, es de libre acceso internacional creada por MITRE y financiada parcialmente por el Department of Homeland Security (DHS) Ofrece un identificador único y público (CVE-ID) para cada vulnerabilidad registrada: - Hasta el 01/01/2024, el CVE-ID tenía el formato fijo CVE-AAAA-NNNN - A partir de esa fecha, el CVE-ID tiene el formato: CVE-AAAA-NNNN….N Algunas bien documentadas: CVE-2021-26855, CVE-2021-28316, CVE-2021-44228, CVE-2020-1472, CVE-2017-0144, CVE-2021-34527, CVE-2021-42013 → NVD: National Vulnerability Database es una base de datos de vulnerabilidades públicamente conocidas, es de libre acceso internacional creada por el NIST y mantenida por el gobierno de los EE.UU. Implementa el protocolo Security Content Automation Protocol (SCAP) que facilita la clasificación y gestión automática de vulnerabilidades Permite: - Realizar búsquedas de vulnerabilidades específicas - Descargar la base de datos completa - Utilizar gratuitamente herramientas de consulta y alerta 6. EXPLOTACIÓN DE VULNERABILIDADES Un exploit es una pequeña app implementada para aprovecharse de una vulnerabilidad conocida en un software, el pentester usa un exploit para intentar conseguir el control de la máquina remota. Estos se implementan en distintos lenguajes de programación teniendo un payload o shellcode cuya finalidad es ejecutarse en la máquina víctima para llevar a cabo una acción maliciosa → SET: Social Engineering Toolkit es un framework para automatizar ataques basados en ingeniería social Permite realizar ataques: - Phishing - Vectores de ataques web - Generación de payloads para dispositivos USB - Ataques de mailing masivo → Metasploit es un framework que proporciona un conjunto de herramientas con las que el auditor desarrolla, ejecuta y lanza exploits contra máquinas para comprobar si son seguras. Es de los principales frameworks en Kali, en /usr/share/metasploit-framework se encuentran los archivos binarios de tipo msf Herramientas como: - Línea de comandos para interactuar con Metasploit - Interfaz gráfica para interactuar con Metasploit - Generación de payloads - Análisis de binarios 7. POST-EXPLOTACIÓN - Elevar privilegios desde una cuenta sin privilegios de admin. Proceso por el que, desde una cuenta de usuario con unos permisos determinados, se obtienen permisos superiores para realizar acciones que previamente estaban restringidas - Obtener los hashes de los usuarios de un sistema para posteriormente efectuar una rotura de contraseñas - Migrar un proceso a otro - Descargar o subir información desde y hacia un equipo, que ha sido vulnerado - Eliminar pistas que podrían revelar la explotación del sistema - Levantar un proceso como un keylogger u otro software espía para capturar información - Instalar un rootkit (software dañino que permite el acceso privilegiado a áreas de la máquina, mientras que al mismo tiempo se oculta su presencia mediante la corrupción del SO u otras app) o backdoor en un sistema para poder acceder posteriormente sin tener que volver a explotar la vulnerabilidad - Utilizar un sistema explotado como pivote para poder escanear hosts internos desde la red externa