Este artículo, centrado en TryHackMe 3, te introduce en los fundamentos de la investigación, proporcionándote las claves para explorar y comprender el complejo paisaje de la seguridad digital.

¿Te gustaría enterarte de cuando lanzamos descuentos al Máximo o Nuevos Cursos?

La capacidad de investigar de manera efectiva es la cualidad más importante que debe tener un hacker. Hackear requiere una amplia base de conocimientos, porque ¿cómo se supone que vas a entrar en algo si no sabes cómo funciona? La realidad es que nadie lo sabe todo.

Todo el mundo (profesional o aficionado, experimentado o totalmente nuevo en el tema) se encontrará con problemas que no sabrá cómo resolver automáticamente. Aquí es donde entra la investigación, ya que, en el mundo real, nunca se puede esperar que simplemente se le entreguen las respuestas a sus preguntas. En el campo de la seguridad de la información, nunca llegará un punto en el que no necesite consultar las cosas.

Example Research Question – Ejemplo de una pregunta de investigación

Comenzaremos analizando una pregunta de investigación típica: del tipo que es probable que encuentre al trabajar con un CTF (capture the flag). Supongamos que ha descargado una imagen JPEG desde un servidor remoto. Sospechas que hay algo escondido en su interior, pero ¿cómo puedes sacarlo? ¿Qué tal si comenzamos buscando “ocultar cosas dentro de las imágenes” en Google. Puedes buscar en español, pero, generalmente, buscar en ingles te va a dar mejores resultados, más precisos y de mejor calidad.

Tenga en cuenta que el segundo enlace hacia abajo nos da el título de una técnica: “Esteganografía”. Luego puede hacer clic en ese enlace y leer el documento, que le enseñará cómo se ocultan los archivos dentro de las imágenes. Bien, sabemos cómo se hace, intentemos buscar una forma de extraer archivos usando esteganografía:

Prácticamente todos los enlaces apuntan a algo útil. El primer enlace ya contiene una colección de herramientas útiles. Cualquiera de estos enlaces podría resultar útil, pero veamos el primero https://0xrick.github.io/lists/stego/

la primera herramienta es util. Se puede usar para extraer datos incrustados de archivos JPG. Esta página también le dice que steghide se puede instalar usando “apt”. ¡Busquemos eso a continuación!

En la parte superior de la página, se nos dan instrucciones. Sabemos que nuestro paquete se llama steghide, así que podemos continuar e instalarlo:

Si volvemos a esa colección de herramientas de esteganografía que estábamos viendo antes había instrucciones sobre cómo usar steghide ahí mismo =).

Así es como podemos extraer una imagen de un archivo. Nuestra investigación ha valido la pena y ahora podemos ir y completar la tarea. Presta atención a la metodología. Empezamos sin nada, pero poco a poco construimos una imagen de lo que teníamos que hacer.

Teníamos una pregunta

(¿Cómo puedo extraer datos de esta imagen?). Buscamos una respuesta a esa pregunta, luego continuamos consultando cada una de las respuestas que nos dieron hasta que comprendimos completamente el tema. Esta es una muy buena manera de realizar una investigación:

Comience con una pregunta; obtener una comprensión inicial del tema; luego busque aspectos más avanzados según sea necesario.

A menudo, al hackear, encontrarás software que podría estar abierto a la explotación. Por ejemplo, los sistemas de administración de contenido (como WordPress) se utilizan con frecuencia para facilitar la configuración de un sitio web y muchos de estos son vulnerables a varios ataques. Entonces, ¿dónde buscaríamos si quisiéramos explotar un software específico? La respuesta a esa pregunta se encuentra en sitios web como:

NVD

Realiza un seguimiento de CVE (vulnerabilidades y exposiciones comunes) , ya sea que haya o no un exploit disponible públicamente, por lo que es un buen lugar para buscar si está investigando vulnerabilidades en una pieza específica de software. Los CVE toman la forma: CVE-YEAR-IDNUMBER. ¡Va a ser muy útil en las preguntas!

ExploitDB

Tiende a ser muy útil ya que a menudo contiene exploits que se pueden descargar y usar directamente. Tiende a ser una de las primeras paradas cuando encuentra software en un CTF o pentest.

Si se inclina por la CLI en Linux, Kali viene preinstalado con una herramienta llamada “searchsploit” que le permite buscar ExploitDB desde su propia máquina. Esto está fuera de línea y funciona con una versión descargada de la base de datos, lo que significa que ya tiene todos los exploits en su Kali Linux. Tomemos un ejemplo. Digamos que estamos jugando un CTF y nos encontramos con un sitio web:

Esto es obviamente FuelCMS. Por lo general, no será tan obvio. Conocemos el software, así que vamos a buscarlo en ExploitDB. (Nota: voy a usar la herramienta CLI en Kali, ya que tiende a ser más rápida desde la perspectiva del flujo de trabajo; sin embargo, puede usar el sitio web) Estoy usando el comando “searchsploit fuel CMS” para buscar exploits:

Si prefiere hacer las cosas en el sitio web:

Prestemos especial atención a los números CVE. El formato será así: CVE-YEAR-NUMBER


Los números CVE se asignan cuando se descubre la vulnerabilidad, no cuando se publican. Tenga en cuenta que, si se descubre una vulnerabilidad al final de un año, o si el proceso de confirmación y rectificación de la vulnerabilidad lleva mucho tiempo, entonces la fecha de lanzamiento podría ser el año posterior al año en la fecha CVE. Tengamos esto en mente al contestar las siguientes preguntas.

Manual Pages – El comando MAN

Linux (generalmente Kali Linux) es el sistema operativo más utilizado en seguridad. El comando man le da acceso a las páginas del manual para la mayoría de las herramientas directamente dentro de su terminal. 

Cuando no sabe cómo usar una herramienta use man. Si queremos conectarnos a una computadora usando SSH, pero no conocemos la sintaxis. Podemos intentar man ssh obtener la página del manual para SSH. Podemos ver en la descripción que la sintaxis para usar SSH es <usuario>@<host>:

También podemos usar las páginas del manual para buscar interruptores especiales en los programas que hacen que el programa haga otras cosas. Si quisiera mostrar el número de versión para SSH, se desplazaría hacia abajo hasta que encontrara el interruptor apropiado:

Para salir debes presionar q (y para interrumpir un proceso Ctrl+C. Probamos el interruptor: la opción -V. Otra forma de encontrar ese interruptor habría sido buscar en la man página el interruptor correcto usando grep:

Cualquier información puede ser potencialmente útil, puedes usar blogs, Wikipedia o cualquier otra cosa que contenga lo que estás buscando! Los blogs, especialmente, a menudo pueden ser muy valiosos para aprender cuando se trata de seguridad, ya que muchos investigadores de seguridad mantienen un blog. 

Una vez que haya completado esta sala, es de esperar que ahora haya establecido la base de una metodología para abordar las preguntas de investigación que encuentre por sí mismo. La gran mayoría de las salas en TryHackMe se pueden resolver simplemente utilizando el conocimiento que se encuentra en Google.

Al final de las traducciones y explicaciones de cómo llegar al resultado veras las respuestas. No te estafes a vos mismo. La idea es que lo puedas resolver. No aparecen junto al texto justamente para no revelar la respuesta y permitir hacer todo el proceso.

Task 2 Example Research Question – Ejemplos de preguntas de investigación

 In the Burp Suite Program that ships with Kali Linux, what mode would you use to manually send a request (often repeating a captured request numerous times)?
Repeater

 Burp Repeater es una herramienta que te permite modificar y enviar un mensaje HTTP o WebSocket interesante una y otra vez. Puede utilizar el repetidor para todo tipo de propósitos, por ejemplo para:

  • Enviar una solicitud con diferentes valores de parámetros para probar vulnerabilidades basadas en entradas.
  • Enviar una serie de solicitudes HTTP en una secuencia específica para probar vulnerabilidades en procesos de varios pasos o vulnerabilidades que dependen de la manipulación del estado de la conexión.
  • Verificar manualmente los problemas informados por Burp Scanner.

 What hash format are modern Windows login passwords stored in?
NTLM

NTLM

(NT Lan Manager) consiste en una serie de protocolos de autenticación utilizados en los entornos Windows. Estos protocolos permiten que un usuario demuestre su identidad a un servidor. Es en esta autenticación donde nosotros como atacantes, podemos aprovecharnos para, entre otras cosas, hacer Pass The Hash.

 What are automated tasks called in Linux?
Cron Jobs

 Cron Job

es una utilidad de Linux que establece un comando o secuencia de comandos de horarios en tu servidor para que algunas tareas se ejecuten automáticamente a una hora y fecha especificadas. Una tarea cron es la tarea programada en sí. Los puestos de Cron Job pueden ser muy útiles para automatizar tareas repetitivas.

 What number base could you use as a shorthand for base 2 (binary)?
Base 16

 El sistema hexadecimal es el sistema de numeración posicional que tiene como base el 16. Su uso actual está muy vinculado a la informática y ciencias de la computación donde las operaciones de la CPU suelen usar el byte u octeto como unidad básica de memoria. 

Los números hexadecimales son números representados en base 16 , que significa los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F en lugar de solamente 0-9. En esta tabla se pueden ver los equivalentes de base deciman en binario, octal y hexadecimal.

 If a password hash starts with $6$, what format is it (Unix variant)?
Sha512crypt

 A grandes rasgos un hash es un algoritmo matemático que básicamente transforma un bloque de datos en otro distinto, con la característica de que este bloque final siempre tendrá la misma longitud, no importa la longitud del bloque de entrada, el bloque de salida siempre tendrá el mismo tamaño. Existen varios métodos de hash (SHA-1, MD 5, SHA-512, etc.) Ejemplo:

//El SHA-512 de la clásica cadena “Hola mundo” seria: 34ddb0edac59e441459e07cf33bd628f53fbbf752141125f069f32081b169f933666c71b2f1b83031da66bc905a1e72af7c6cfd779fc197513639a098f94c641

Esto cobra sentido cuando necesitemos usar a “juancito el destripador” =)

Task 3 Vulnerability Searching – Búsqueda de vulnerabilidades

 What is the CVE for the 2020 Cross-Site Scripting (XSS) vulnerability found in WPForms?
CVE-2020-10385

En CVE buscamos WPForms Cross-Site Scripting 2020 y nos arroja un único resultado. 

 There was a Local Privilege Escalation vulnerability found in the Debian version of Apache Tomcat, back in 2016. What’s the CVE for this vulnerability?
CVE-2016-1240

En CVE buscamos ” Local Privilege Escalation vulnerability Tomcat 2016″. Nos arroja dos resultados. Sabemos que es ese porque es en Debian.

 There was a Local Privilege Escalation vulnerability found in the Debian version of Apache Tomcat, back in 2016. What’s the CVE for this vulnerability?
CVE-2016-1240

En CVE buscamos ” Local Privilege Escalation vulnerability Tomcat 2016″. Nos arroja dos resultados. Sabemos que es ese porque es en Debian.

 If you wanted to exploit a 2020 buffer overflow in the sudo program, which CVE would you use?

CVE-2019-18634

Buscamos buffer overflow sudo 2020. Nos da seis resultados y ninguno es 2020. Pero ya nos habían advertido que esto podia pasar “Los números CVE se asignan cuando se descubre la vulnerabilidad, no cuando se publican.”. Asi que podemos saber que es el de 2019. 

Task 4 Manual Pages – El comando MAN

 SCP is a tool used to copy files from one computer to another. What switch would you use to copy an entire directory?

-r

Ejecutamos: 

       man SCP

Y buscamos:

-r Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree

traversal.

 fdisk is a command used to view and alter the partitioning scheme used on your hard drive. What switch would you use to list the current partitions?

-l

Ejecutamos: 

       man fdisk

Y buscamos:

-l, –list: List the partition tables for the specified devices and then exit. If no devices are given, the devices mentioned in /proc/partitions (if this file exists) are used. Devices are always listed in the order in which they are specified on the command-line, or by the kernel listed in /proc/partitions.

 nano is an easy-to-use text editor for Linux. There are arguably better editors (Vim, being the obvious choice); however, nano is a great one to start with. What switch would you use to make a backup when opening a file with nano?

-B

Ejecutamos: 

       man nano

Y buscamos:

-B, –backup: When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (~).

 Netcat is a basic tool used to manually send and receive network requests. What command would you use to start netcat in listen mode, using port 12345?

nc -l -p 12345

Ejecutamos: 

       man netcat

Y buscamos:

Vemos que -p es para puerto y -l para la escucha. 

Con TryHackMe 3, no solo has obtenido conocimientos en ciberseguridad, sino que has desbloqueado la puerta de la investigación. Esta habilidad te permite navegar con confianza por el vasto océano de amenazas cibernéticas, asegurando un viaje sólido y perspicaz en el ámbito de la seguridad informática.

Felicidades has finalizado – Happy Hacking! – Nos vemos en Linux Fundamentals =)

Hacking Ético Ofensivo. 100% Practico en Red Team. +42hs

Aprende Hacking Ético y Pentesting 100% Practicando. Laboratorios donde te explicamos detalladamente cada herramienta: https://achirou.com/ctf-red-team

Lo que aprenderás

  • Hacking Ético Ofensivo
  • Ser un Hacker Ético Profesional Ofensivo (Red Team)
  • Utilizar Herramientas para Hacking
  • Montar un Laboratorio para hacer las Prácticas
  • Introducción a Redes
  • Modelo OSI
  • Dirección IP, Protocolos de Red y Puertos
  • Conexiones Inversas, Directas y Lado del Cliente
  • Las 5 Fases del Pentesting
  • Herramientas Útiles para Realizar Escaneo
  • Herramientas Útiles para Encontrar Vulnerabilidades
  • Herramientas Útiles para Obtener Acceso al Sistema
  • Utilizar Tryhackme
  • Diferencias entre Red Team y Blue Team
  • Cómo Realizar Investigaciones Autodidactas
  • Manejar Linux como todo un Profesional
  • Usa la Herramienta Nmap como todo un Profesional
  • Entender, Escanear y Explotar el Servicio de Red SMB
  • Entender, Escanear y Explotar el Servicio de Red Telnet
  • Entender, Escanear y Explotar el Servicio de Red FTP
  • Entender, Escanear y Explotar el Servicio de Red NFS
  • Entender, Escanear y Explotar el Servicio de Red SMTP
  • Entender, Escanear y Explotar el Servicio de Red MySQL
  • Cómo Funcionan y se Crean los Sitios Web
  • Cómo Funciona toda la Web
  • Uso de la Herramienta Burp Suite como todo un profesional
  • Entender, Enumerar, Explotar y Reconocer las TOP 10 Vulnerabilidades de OWASP
  • Poner en Práctica la Explotación de las Vulnerabilidades OWASP
  • Entender, Enumerar, Reconocer y Explotar la Vulnerabilidad de Carga de Archivos
  • Escenarios Reales donde Prácticar Pentesting Ofensivo

¿Te gustaría enterarte de cuando lanzamos descuentos al Máximo o Nuevos Cursos?