En este tercer capítulo, vamos a adentrarnos en definiciones y conceptos básicos del hacking y el mundo que le rodea. Los diferentes roles, tipos básicos de ataques y otras definiciones importantes que hay que conocer para poder ir metiéndonos poco a poco en las técnicas y herramientas empleadas.
También voy a exponer en próximos escritos, algunos conceptos e ideas de la cultura underground que rodea al hacker, ya que es vital tener conocimiento del aura que le recubre en su vida privada y gustos predilectos, para comprender mejor esta figura y no solo quedarnos en la superficie. Es cierto que habrá algún caso en el que alguien pueda no verse identificado, pero en términos generales hay algunos nexos de la cultura underground en los que gran parte de la comunidad coincidimos.
Como siempre, recordaros que por supuesto me dejaré un montón de cosas en el tintero. Intento sintetizar todo un poco y que sea una lectura ágil e introductoria.
Voy a realizar unas definiciones muy personales de lo que yo entiendo por un Hacker, y clasificarlos en función de sus fines. No trato de imponer a nadie mi punto de vista, y por supuesto alguién puede pensar que estoy equivocado. Si me equivoco es por tratar de hacer, como bien dice el dicho popular «el que no toca no rompe», pues bien, yo soy de los que rompen y de los que se equivocan y seguirán haciéndolo.
Comenzamos con la clasificación según la actividad que lleva a cabo:
- Hacker: (cito a Richard Stallman) «Lo que tenían en común era principalmente el amor por la excelencia y la programación. Querían que los programas que utilizaban fueran lo mejor posible. También querían hacer que hicieran cosas buenas. Querían ser capaces de hacer algo de una manera más emocionante de lo que nadie creía posible y mostrar ‘Mira lo maravilloso que es esto. Apuesto a que no creías que esto se podía hacer».
- Desde mi punto de vista personal, son gente que tiene la constante necesidad de aprender, de estar dedicando su tiempo a la constante evolución de sus cualidades/capacidades, que no se conforma nunca con lo que sabe hoy, sino que necesita seguir y seguir hasta quedarse dormido encima del teclado. Además, a su manera, son la gran mayoría unas auténticas «personajes» (en el buen sentido de la palabra). Personas muy peculiares con sus excentricidades, y personalidad atípica, marcada por una inmensa sed de conocimiento; el tipo de persona de la que te quieres rodear porque suma y aporta en tu ser. El término hacker ético es redundante, ya que un hacker es en sí una persona ética, por eso desaprobamos este término al no aportar nada. Como bien dice rek2, hay hackers que se consideran éticos, pero protegen a empresas que causan miles de muertos con venta de armas, por citar un ejemplo de los muchos que podría citar en esta línea, ¿es este hacker una persona ética al ser participe de este tipo de actividades que fomentan la violencia y los asesiantos en el mundo? Creo que podéis ver a qué me refiero.
- Cracker: dependiendo del libro o artículo que leas, también puedes ver este término definido como Black Hat. No quiero entrar en discursiones de terminología. El origen de esta palabra se remonta a los años 80 cuando algunas personas del mundillo hacker se dedicaron a piratear programas y juegos, ya que consideraban que el Coyright no debía existir, sino que la información debía ser libre (Hackstory). En la actualidad, abarcaría a aquellos criminales (no hackers) que se sirven de sus amplios conocimientos y habilidades, para vulnerar sistemas con fines lucrativos y delictivos, o bien con fines meramente destructivos. Existen diferentes perfiles dentro de esta casuística de hacker. Por citar un ejemplo, un perfil sería aquella persona que se especializa en el desarrollo de un malware, que posteriormente otro perfil, con una especialización más enfocada al impacto y consecuencias del mismo, ideará y planificará el mejor método para que se produzca la infección de forma efectiva. Normalmente estos cibercriminales se agrupan en organizaciones delictivas con una fuerte y marcada estructuración.
- Hacktivista: he decidido dedicarle su propio espacio ya que considero que es un perfil que se ha labrado su propia identidad, sobre todo en su época dorada (2008-2012). Los fines de sus acciones son la búsqueda de la verdad y exponer las malas prácticas de los gobiernos y grandes organizaciones al pueblo. Son personas que sueñan con un mundo mejor y buscan devolverle al pueblo la soberanía que le pertenece. Defienden que el poder está concentrado solamente en el 1% de la población frente al restante 99%. Afirman que esta mayoría en la que nos encontramos, merece conocer los hechos criminales que lleva a cabo ese 1% para aumentar su poder y control mundial. Uno de los fines de sus acciones, es transformar esas revelaciones en protestas masivas en las calles con objetivos revolucionarios y de transformación o camnbio social.
- Script-kiddie: Si en los anteriores roles mencionados, existe un alto conocimiento técnico y unas habilidades bastante desarrolladas en ciberseguridad/hacking, en este rol no hay ese conocimiento profundo y duramente trabajado. Este perfil utiliza el hacking con fines ególatras para hacer crecer una supuesta reputación dentro del mundillo, pero de una forma un tanto vengativa y de ajuste de cuentas contra aquellos objetivos que consideran que merecen un castigo. Un ejemplo de acción de este perfil, es propagar malware sin conocer realmente como funciona este y todo el trabajo técnico que conlleva construirlo y su funcionamiento. Simplemente les interesa el impacto que tenga este y no aprender todo lo que hay detrás. No están bien vistos en la comunidad, a pesar de lo que ellas puedan pensar. Dicho de una manera simplista, anteponen el fin a los medios. En su escala de valores está primero la acción en sí y su resultado, que el conocimiento y el aprendizaje paulatino.
La clasificación encuadrada respecto al ámbito profesional dentro de la ciberseguridad, según los tipos de técnicas empleadas, se divide en dos grandes grupos con sus subdivisiones internas en forma de departamentos o áreas.
Red Team
Dentro del espectro de actuación de este equipo, estarían encuadrados dentro de la seguridad ofensiva. Los miembros del Red Team simulan ser adversarios de la compañía en la que ejercen sus funciones, para llevar a cabo ataques controlados que puedan eventualmente ser llevados a cabo por los adversarios. Se sirven de múltiples herramientas, algunas de desarrollo propio, y otras dentro de las cuales se encuentran las que utilizan realmente los adversarios. Con dichas herramientas, exploran un gran abanico de posibilidades y distintos vectores de ataque: phishing, vishing, intrusión, persistencia, identificación de vulnerabilidades, pivoting, ingenieria social, entre otras TTP.
En primer lugar, analizan la estructura de la organización y planifican metódicamente la forma en la que van a llevar a cabo los ataques controlados. De hecho, en la mayoría de los casos, dedican mayor cantidad de tiempo a esta preparación y planificación/estudio previo, que a los ataques en sí.
Hay que señalar, que la cooperación entre Red Team y Blue Team es constante. Cuanto mejor y mayor sea esta comunicación, mejores resultados habrá de cara a la ciberseguridad efectiva en la organización pertinente.
Blue Team
Este equipo estaría encuadrado dentro del espectro de la seguridad defensiva. Su tarea es proteger los activos de la organización contra las amenazas de seguridad que puedan sobreponerse, de tal forma que los activos estén protegidos en el presente y de cara al futuro en la medida de lo posible. Hay que aclarar, que este equipo trabaja en una clara desventaja, ya que las herramientas y formas de proceder de los atacantes están en constante evolución y mejora, y en la mayoría de los casos, no se sabe cómo van a ser los ataques/TTP, hasta que estos no se materializan y se evaluan y analizan a posteriori.
Es cierto que han surgido nuevos puestos de trabajo más proactivos como los Threat Hunters y las herramientas EDR, que se centran más en el comportamiento del atacante y en aplicar una detección mediante Hunts de cualquier elemento malicioso en todos los niveles en los que puede manifestarse un ataque ya desde sus primeras fases.
Este rol, trata de investigar y anteponerse a los incidentes de seguridad, con métodos muy innovadores ante las futuras amenazas, aplicando investigaciones proactivas basadas en las TTP de los adversarios y haciendo uso de la tecnología machine learning que tienen integrada los EDR. Aún así, la desventaja siempre está presente, y son conscientes de ello.
La forma que tienen de trabajar es mediante el análisis de patrones, la vigilancia constante y monitorización de los activos, implantación de políticas de seguridad tanto internas como externas (en constante evolución), escaneos periódicos de los diferentes activos para hallar anomalías, respuesta ante incidentes de seguridad, configuración de las herramientas como Firewalls, Proxys, Antivirus, IPS, IDS, SIEM, EDR, y un largo etcétera.
Existen múltiples especialidades dentro de este equipo: forenses, análistas de malware, analistas de seguridad, seguridad perimetral, servicio 24/7, Threat Hunters, DFIR, CSIRT, arquitectos de las diferentes tecnologías, área de ciberinteligencia… entre otras.
Normalmente ambos equipos se organizan en un SOC (Centro Operativo de Ciberseguridad), donde los profesionales están distribuidos en áreas pero en constante comunicación para dar una respuesta unificada a cualquier incidente de seguridad. También existe esta unificación de cara al día a día de trabajo, ya que todas las áreas confluyen de alguna manera, y si una no funciona bien el resto se ve afectada.
Voy a exponer algunos ejemplos de distintos tipos de ciberataques, sin entrar en subtipos y dejándome muchos fuera de los escogidos para este artículo.
*Aclarar que un ciberataque puede ser: pasivo, activo, interno o externo.
- MitM: un tercero se infiltra en una comunicación entre el usuario X y el destino Y (por ejemplo un servidor web), mediante diferentes técnicas y medios (SaaS, extensiones de navegador, punto WiFi, protocolos, redirecciones… ), de forma que tiene acceso a la información transferida en dicha comunicación y posteriormente será utilizada con fines maliciosos.
- Phishing: se trata del envío de comunicaciones fraudulentas que simulan o tratan de suplantar la identidad de fuentes confiables (compañías, marcas, etc), normalmente mediante correo electrónico (también por SMS es bastante común), con el objetivo de robar las credenciales o datos financieros que la víctima introduce en los formularios que contiene. Existen algunas variantes de este tipo de ataque según el medio utilizado para el engaño.
- SQL injection: se trata de un ataque web que aprovecha una vulnerabilidad sirviendose del lenguaje SQL utilizado por la base de datos objetivo, mediante parámetros no deseados. De esta forma, recopila información que será utilizada en siguientes fases del ciberataque (contraseñas, usuarios, etc).
- Denegación de servicio: el ataque DDoS está diseñado para interrumpir el normal funcionamiento de un servicio (servidor, red, etc), saturándolo con tráfico malintencionado. En muchos casos, se sirven de una Botnet (conjunto de hosts comprometidos) para multiplicar el poder de este ataque y su efectividad.
- Ataque 0 day: este tipo de ciberataque trata de sacar provecho de vulnerabilidades aún no identificadas para explotar un determinado fallo de seguridad que todavía no ha sido «parcheado«, con diferentes fines maliciosos, según las intenciones del atacante.
- Tunelización DNS: se trata del uso del protocolo DNS (puerto 53) para comunicar tráfico (Http, Dns, etc) a través de efectuar una tunelización. La forma maliciosa de utilizar esta técnica es mediante la manipulación de solicitudes DNS con el fin de exfiltrar datos de un sistema comprometido hacía el sistema del atacante o C2C.
- DNS spoofing: método que altera las direcciones de los servidores DNS que usaría la eventual víctima, y de esta forma tener el control de las consultas que realiza para fines maliciosos.
- Malware: cuando el ataque se sirve de software maliciosos diseñado para dañar, reunir información, encriptar el dispositivo para pedir un rescate… Existen muchas técnicas para que el objetivo se infecte con este software malicioso. Ya sea mediante una una descarga web, introduciéndolo en herramientas supuestamente legítimas, mediante descarga efectuada por ejecución de código insertado en macros dentro de documentos Office (el caso de Emotet), y un sinfín de formas cada cual más ingeniosa a la par que peligrosa. Luego explico algunos tipos de malware.
- Ingeniería social: se trataría de aquellas técnicas cuyo fin es el de obtener datos sensibles/privados de un objetivo para utilizarlos, bien para futuras fases del ciberataque, o para diferentes tipos de extorsión.
- Cross-site scripting (XSS): inyección de scripts maliciosos que son introducidos en una web objetivo para aprovecharse de su posible mala configuración defensiva y poder extraer datos privados alojados en el servidor. Existen diferentes tipos de ataques XSS, en función del objetivo y lenguaje utilizado. Algunos tienen como objetivo/medio las cookies, usuarios de la web, el propio lenguaje HTML, la sesión…
- Ataque de clickjacking: sería cuando el implementa utiliza una capa falsa dentro de la página web, para alojar dentro de un botón, como puede ser para dar un like, una acción diferente a la que estaba prevista. De esta forma, se está llevando a cabo una especie de secuestro al usuario, ya que se utliza su click en el botón, para unos fines completamente distintos a los que el pretendía darles. Estos fines dependen de las intenciones del atacante y para lo que pretende utilizar esta capa falsa.
- SSRF (Server-side request forgery): es una vulnerabilidad de seguridad web que permite a un atacante inducir a la aplicación del lado del servidor a realizar peticiones HTTP a un dominio arbitrario de su elección. En un ataque típico de SSRF, el atacante puede hacer que el servidor realice una conexión a servicios sólo internos dentro de la infraestructura de la organización. En otros casos, pueden forzar al servidor a conectarse a sistemas externos arbitrarios, filtrando potencialmente datos sensibles como credenciales de autorización.
- CSRF (Cross Site Request Forgery): es un ataque que obliga a un usuario final a ejecutar acciones no deseadas en una aplicación web en la que está autenticado. Con una pequeña ayuda de ingeniería social (como el envío de un enlace por correo), un atacante puede engañar a los usuarios de una aplicación web para que ejecuten acciones de su elección. Un ataque CSRF exitoso puede forzar al usuario a realizar solicitudes de cambio de estado como por ejemplo, cambiar su dirección de correo electrónico (entre otros). Si la víctima es una cuenta administrativa, el CSRF puede comprometer toda la aplicación web.
Ahora vamos a hablar de malware, en algún caso de forma genérica y en otros específica, así como algún que otro concepto relacionado con este.
- Dropper: es un tipo de troyano diseñado para «instalar» otro tipo de malware en un sistema objetivo. El código malicioso puede estar contenido dentro del dropper de tal manera que se evite su detección por parte de los antivirus o este puede descargar el malware al objetivo una vez activado. El código extrae los componentes restantes del archivo si están almacenados dentro de él, o los carga de la red, los escribe en el disco y los ejecuta.
- Emotet: apareció por primera vez como troyano bancario en 2014. El malware ataca principalmente a través de correos electrónicos no deseados. Ha sido capaz de analizar contactos y el contenido de correos de los buzones de los sistemas infectados utilizando la llamada “Outlook Harvesting” con el fin de lanzar más ataques sobre esta base.
- Cobalt Strike: complemento de Metasploit que mejora las prueba de penetración diseñado para ejecutar ataques dirigidos. Identifica los servicios y sus vulnerabilidades, edita los exploits existentes y agrega nuevos módulos. Con CS puedes tener control y acceso total de la infraestructura con ataques al SO e ingeniería social, tal y como se haría en un ambiente empresarial. Algunos profesionales consideran este complemento como una especie de versión de pago y mejorada de Armitage, ya que hay características muy similares.
- Mimikatz: aplicación de código abierto que permite entre otras cosas, robar credenciales de autenticación y crear privilegios legítimos de usuarios en sistemas Windows, al brindar accesos por ejemplo, a los tickets Kerberos. Los dos ataques más conocidos relativos a Mimikatz son: pash-the-hash y pash-the-ticket.
- Ransomware: Es un tipo de malware que impide a los usuarios acceder a su sistema o a sus archivos personales mediante el cifrado de los mismos, y que exige el pago de un rescate para poder acceder de nuevo a ellos con la clave que los desencripta. Las primeras variantes de ransomware se crearon al final de la década de los 80, y el pago debía efectuarse por correo postal. Hoy en día los creadores de ransomware piden que el pago se efectúe mediante criptomonedas o tarjetas de crédito. Uno de los métodos más habituales actualmente es a través de spam malicioso.
- Botnet: Se trata de una red compuesta por un gran número de hosts que han sido secuestrados por un malware con el que los cyber-delincuentes pueden controlar de forma remota equipos. Los atacantes pueden obligar a estos hosts a enviar spams, infectar otras máquinas, robar información personal o realizar ataques DDoS.
- Trickbot: este malware aprovecha aquellos sistemas ya comprometidos previamente por otras botnets (Emotet) para seguir en circulación. Se ha convertido en una vía para implementar varios ransomware en redes corporativas. Entre los ransomware más conocidos de Trickbot está ‘Ryuk’.
- Qakbot: también conocido como Pinkslipbot, es un troyano bancario. Puede seguir utilizando los dispositivos infectados como servidores de control tras haber sido borrado por las soluciones de seguridad. La nueva versión no solo puede robar los datos bancarios de las víctimas mediante keyloggers o ataques Man-in-the-Browser, sino que además puede descargar otros programas maliciosos en los hosts a través de una backdoor.
- Keylogger: registra y exflitra las pulsaciones realizadas por el usuario en el teclado sin el conocimiento de este. El fin es obtener datos sensibles como contraseñas, datos financieros o algún tipo de información privada con fines maliciosos.
- Rootkit: se trata de un tipo de software malicioso que permite a un usuario no autorizado acceso al sistema con los más altos privilegios en el host infectado. Permite la ejecución remota de código así como la modificación de la configuración del sistema. Destacan por la dificultad de ser detectados o eliminados una vez están instalados en el sistema.
- Spyware: está diseñado para capturar información de los hábitos del usuario en el equipo, como su navegación, datos financieros introducidos e incluso contraseñas (según la variante del spyware).
En el siguiente artículo que escribiré para continuar esta Guía, me centraré en diferentes aspectos de la cultura underground que rodea al hacker y a su vez le hace ser quien es (valores, ética, etc): videojuegos, literatura, cyberpunk, música, anime, juegos de rol…. Va a ser un capítulo entretenido.
Muchas gracias por haber leído hasta aquí, espero que os haya gustado. Nos vemos pronto por estas tierras gato-satánicas, un beso fuerte.