FIRST CERTIFICATION IN ETHICAL HACKING Conceptos básicos del Hacking Ético MÓDULO 1 First Certification in Ethical Hacking Módulo 1: CONCEPTOS BÁSICOS 1- Tipos de ataques Existen multitud de ataques en internet, alguno de los ejemplos los veremos en el siguiente punto, pero todos ellos se dividen dentro de dos grandes grupos, activos y pasivos. Los ataques pasivos son aquellos donde el atacante usa diferentes técnicas para introducirse en los sistemas u obtener información de la víctima, sin alterar las comunicaciones o la información que contiene. Ataques activos son aquellos que aprovechan las mismas vulnerabilidades que en el caso de los ataques pasivos, pero el atacante interfiere de forma directa en el funcionamiento de los sistemas de su víctima, alterando las comunicaciones o la información contenida, se hace pasar por quien no es, daña la información o simplemente deja instalada una aplicación de forma que pueda ser usada para su provecho en futuras ocasiones. 2- Ejemplos de ataques Son demasiados los tipos diferenciados de ataques existentes y cada poco tiempo aparecen nuevos conceptos sobre diferentes ataques. Al igual que la tecnología de la información avanza, las formas de atacar o dañar estos sistemas crece en la misma medida. Es por ello que ponemos una pequeña relación de algunos de los ataques más usados y conocidos actualmente, dejando muchos otros sin mención. Spoofing: Es el uso de técnicas a través de las cuales un atacante crea un envenenamiento del tráfico, haciéndose pasar por una entidad distinta a través de la falsificación de los datos en una comunicación. Ingeniería Social: es la práctica de obtener información confidencial o información de carácter personal o empresarial a través de la manipulación de usuarios o empleados. Scanners: son sistemas de búsqueda de vulnerabilidades de un tipo concreto, ya sean de puertos, un CMS (Joomla, WordPress, Drupal, etc.) concreto o cualquier otro tipo. Sniffing: Es la técnica mediante el uso de sniffers (aplicación o dispositivo físico) que trata de interceptar las comunicaciones de una red. Para ello el atacante hace uso de aplicaciones o dispositivos capaces de manipular un bit de su tarjeta de red, que le permite activar el modo monitor o modo promiscuo, de forma que acepte todas las peticiones de red que se generen. First Certification in Ethical Hacking Estos sistemas son muy usados por los administradores de redes para tener un mayor control del tráfico de red que están gestionando y poder resolver diferentes incidencias. Data Corruption: Esta técnica consiste en la alteración de la información posibilitada por errores que se producen durante la escritura, lectura, almacenamiento, transmisión o procesamiento y que introducen cambios no deseados a los datos originales. XSS: XSS o Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera persona inyectar en páginas web visitadas por el usuario código de script o ejecución del navegador, evitando medidas de control. Este es debido principalmente a los fallos en la programación. Pharming: Siendo poco frecuentes es un ataque bastante peligroso, consiste en atacar los servidores DNS o de nombre de dominio de internet para alterar sus tablas de direcciones IP. De esta forma, un atacante puede hacer que las búsquedas de internet o diferentes páginas webs, apunten directamente a donde él lo desee. Injection: es un método de infiltración de código intruso que se vale de una vulnerabilidad informática o una mala programación presente en una aplicación o página web en el nivel de validación de las entradas, para realizar operaciones sobre una base de datos en el caso de SQL Injection o SQLi. Fuerza Bruta: se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso. Antes de este tipo de ataques, es necesario conocer el usuario a atacar, o en su defecto se realiza sobre usuarios estándar, dependiendo de la plataforma o aplicación, siendo como ejemplo sobre el usuario root para entornos Linux. Phishing: es la suplantación de identidad, es un término informático que denomina un modelo de abuso informático y que se comete mediante el uso de un tipo de ingeniería social, caracterizado por intentar adquirir información confidencial de forma fraudulenta. Es muy habitual su uso mediante correos electrónicos que nos dirigen a falsas páginas web con la misma estética, como pueda ser la de un banco. DoS y DDoS: el ataque de denegación de servicio, es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la conectividad con la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema atacado. Una vez este ataque se produce desde varios orígenes de forma simultánea, se considera un ataque de denegación de servicio distribuido o DDoS. Keyloggers: Son aplicaciones que registran las pulsaciones del teclado, de forma que estas sean almacenadas o enviadas al atacante, pudiendo ver las tareas realizadas, usuarios teclados o contraseñas en texto plano. Estas aplicaciones suelen disponer de First Certification in Ethical Hacking la opción de realizar una captura de pantalla cada cierto tiempo, enviándosela al atacante junto con todas las teclas pulsadas. Exploiting: Ataque mediante exploits o scripts que explotan una vulnerabilidad muy concreta de una aplicación o de una versión muy concreta de esa aplicación o sistema. Zero Day: El tipo de ataque más peligroso que existe sobre cualquier sistema o aplicación. Consiste en el uso de un exploit concreto que explota una vulnerabilidad no reconocida por su diseñador o fabricante, o en caso de conocerla, no existe aún solución diseñada para solventarla, lo que hace es que sea prácticamente imposible defenderse de ella. MITM: Son ataques conocidos como Man In The Midle o en español, Hombre en el Medio. Consiste en la interceptación del tráfico de la víctima, haciendo de Puente en las comunicaciones entre la o las víctimas, de forma que todo ese tráfico en ambos sentidos, pase a través de la máquina del atacante. 3- Auditorías Existen diferentes tipos de auditoría, dependiendo de si son de red o de plataformas web. Ampliaremos más conocimientos sobre este tema en el tercer curso y veremos algunos de los estándares con mayor establecimiento y solidez de las diferentes auditorías, pero de momento, para lo que veremos en este primer curso, más relacionado con los sistemas de redes, se diferencian tres tipos diferentes: Black Box. Conocidas como auditorías de caja negra, son las realizadas con el menor número posible de datos del sistema a auditar, normalmente el nombre de la empresa, la dirección IP o un dominio de internet. Al disponer de menor información, son las que más tiempo nos pueden llevar al auditarlas, ya que se simula ser un atacante, quien debe obtener mayor información por otros métodos. Son el tipo de auditorías más caras, debido al mayor tiempo de trabajo y son las que suelen ser usadas para auditar plataformas o páginas web. Grey o Gray Box. Una mezcla entre las Black Box y White Box, se proporciona una mayor información sobre la infraestructura o red a auditar, como pueda ser el número de servidores, tipo de sistemas, etc. White Box. Son las que nos hacen disponer de toda la información que solicitemos. De esta forma puede realizarse una auditoría más rápida y por lo tanto más económica, pero al tener un conocimiento total de la red del cliente, es la que nos permite realizar mayor número de pruebas. 4- Conceptos hacking Al igual que es importante conocer algunos de los ataques existentes en la actualidad, es fundamental conocer algunos conceptos básicos utilizados en el mundo del hacking y el pentesting, de forma que cuando queramos ampliar nuestros conocimientos a First Certification in Ethical Hacking través de diferentes páginas web profesionales, podamos entender de qué se está hablando. Spoofing: envenenamiento del tráfico para falsear los destinos de este, existen diferentes formas de envenenamiento, como pueda ser el IP, ARP o cualquier protocolo de comunicaciones. Bindear: Ocultación de la información o una aplicación tras otro archivo de similar o diferente formato. Muy usado para ocultar virus y malware en fotografías, películas, archivos de audio, etc. Scanners: Aplicaciones que tienen el objetivo de buscar algo concreto, ya sea puertos abiertos, dorks, etc. Dorks: Son combinaciones de operadores de búsqueda especiales que se utilizan para extraer información valiosa o sensible. Google Dorks por ejemplo, son términos de búsqueda mediante los comandos aceptados por este navegador, para buscar webs que tengan esos criterios especificados. Injection: Es la inyección de código programado para obtener información producida por una mala programación. Cuando una web manda una solicitud sobre una base de datos, si existe un fallo en su seguridad, puede ser alterada la petición para obtener datos que no deberían ser accesibles. Existen diferentes tipos de injection, el caso más popular es el SQL Injection, donde las peticiones se realizan sobre bases de datos. Existen otros como es el LDAP Injection, Xpath Injection, etc. Cifrado: Es la técnica usada para alterar el texto plano o normal, de forma que mediante una contraseña pueda ser alterado, mostrando un texto ininteligible para quien desconozca la contraseña utilizada en el proceso. Gathering: Consiste en la recolección de información de la víctima y sus sistemas previa al ataque o el pentesting. Hardening: Es la securización de los sistemas mediante diferentes técnicas, sistemas de seguridad y modificación de configuraciones. Shell: Es el Interface de comandos el cual consiste en la interfaz de usuario tradicional de los sistemas operativos. BotNet: Conjunto o red de robots informáticos o bots (equipos infectados), que se ejecutan de manera autónoma y automática. El artífice de la botnet puede controlar todos los ordenadores/servidores infectados de forma remota. Malware: Código malicioso creado para infectar a las víctimas o crear backdoor o puertas traseras. First Certification in Ethical Hacking Backdoor: o puertas traseras son secuencias especiales dentro del código de programación, mediante la cual se pueden evitar los sistemas de seguridad para acceder al sistema. Spyware: Es código malicioso o aplicaciones que tienen el objetivo de recopilar información de los sistemas o víctimas infectadas. Metadatos: Datos de control y configuración ocultos del documento con información de su creación y modificaciones. Exif: Es la información oculta contenida en una imagen, es el nombre recibido para los metadatos de las imágenes. Existen aplicaciones gratuitas destinadas a su visualización, como es ExifRead. Footprinting: Es el procedimiento de recopilar información para realizar el ataque o pentesting. 5- Tipos de seguridad Los sistemas de seguridad se diferencian a grandes rasgos en dos tipos diferenciados según sean físicos o no, estos son algunos ejemplos: Físicos: Aparatos de Firewall, switch, cámaras de video vigilancia, sistemas de acceso como los de biometría, guardias de seguridad, sistemas anti incendios, sistemas anti inundaciones, etc. Lógicos: IDS e IPS, HoneyPots, programas antivirus, anti malware, firewalls como el de los sistemas Windows, sistemas de monitorización de red, etc. 6- Sistemas de defensa Es importante conocer algunos de los sistemas usados para la protección de la seguridad de la información y los servicios críticos de una empresa, algunos son: IDS: Un sistema de detección de intrusiones es un programa de detección de accesos no autorizados a un computador o a una red IPS: Entre otras funciones (como en el caso del IDS) se tiene que puede alertar al administrador ante la detección de intrusiones o actividad maliciosa, mientras que es exclusivo de un Sistema de Prevención de Intrusos (IPS) establecer políticas de seguridad para proteger al equipo o a la red de un ataque. Proactividad: Cualquier método de prevención usado, como pueda ser la contratación de técnicos en Seguridad Informática, la formación a los empleados en las buenas prácticas en seguridad informática, etc. Firewall: Un cortafuegos es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. First Certification in Ethical Hacking Antivirus: Son programas que buscan prevenir, detectar y eliminar virus informáticos. Antimalware: Programa dedicado a la detección y erradicación del software malintencionado. HoneyPots: Sistema trampa o señuelo, es una herramienta de la seguridad informática dispuesto en una red o sistema informático para ser el objetivo de un posible ataque informático, y así poder detectarlo y obtener información del mismo y del atacante. GPO: Son políticas de grupo dentro de una Directiva de Grupo. Estas directivas de grupo son conjuntos de reglas que controlan el entorno de trabajo de cuentas de usuario y cuentas de equipo. DMZ: Una zona desmilitarizada o red perimetral es una zona segura que se ubica entre la red interna de una organización y una red externa, generalmente en Internet. Proxy: Aplicación que interviene en la navegación por la web, con distintos fines: seguridad, rendimiento, anonimato, etc. Criptografía: Arte y técnica de escribir con procedimientos o claves secretas o de un modo enigmático, de tal forma que lo escrito solamente sea inteligible para quien sepa descifrarlo.