lunes, 26 de octubre de 2020

TryHackMe: traduciendo las salas al español

He aquí uno de mis hobbies más recientes: aprender acerca de la ciberseguridad y el hacking ético. En este caso os muestro una traducción al español hecha por mí mismo de la teoría mostrada en TryHackMe, en la sala de Introductory Researching.

Recomiendo esta página para aprender sobre ciberseguridad a tod@s l@s que estéis interesad@s, ya que es muy buena en cuanto a teoría. La única pega es que está en inglés, pero tengo pensado ir traduciendo poco a poco cada sala e ir subiéndolas aquí, a ver si no se queda este proyecto en agua de borrajas.

Por lo pronto, lo dicho, aquí tenéis la traducción de la primera sala introductoria a las búsquedas en Google. Espero que la disfrutéis.

 

INTRODUCCIÓN A LAS BÚSQUEDAS (INTRODUCTORY RESEARCHING).-

Tarea 1: Introducción

Sin duda alguna, la habilidad para buscar es, efectivamente, la cualidad más importante que un hacker debe tener. Por su naturaleza, el hacking requiere de una gran base de conocimiento, porque ¿cómo se supone que vas a romper algo si no sabes cómo funciona? El asunto es: nadie sabe nada. Todo el mundo (profesionales o aficionados, con experiencia o totalmente nuevos en el tema) encontrarán problemas que no sabrán resolver de forma automática. Ahí es donde lleva la búsqueda porque, como en el mundo real, no puedes esperar que las respuestas te lluevan del cielo.

Conforme vaya creciendo tu nivel de experiencia, encontrarás que va aumentando la escala de dificultad en las búsquedas de forma coherente; de todas formas, en el campo de la seguridad de la información, nunca llegará un momento en que no necesites buscar algo.

Esta sala servirá como un breve vistazo a algunas de las fuentes de búsqueda más importantes disponibles para ti, y esperamos que te ayuden en el proceso de construir un método de búsqueda que te funcione.

Echaremos un vistazo a los siguientes temas:

  • Un ejemplo de búsqueda mediante preguntas.
  • Herramientas de búsqueda de vulnerabilidades.
  • Páginas del manual de Linux.

Empecemos.

 

Tarea 2: Ejemplo de búsqueda mediante preguntas

Comenzaremos echándole un vistazo a una típica pregunta de investigación: la clase de preguntas que encontrarás cuando trabajes con CTF’s en TryHackMe.

Digamos que has descargado una imagen JPEG de un servidor remoto. Sospechas que hay algo oculto dentro de la imagen, ¿pero como puedes extraerlo?

Empecemos haciendo una búsqueda para “hiding things inside images” (“ocultando cosas en imágenes”) en Google:

Fíjate que el segundo enlace nos da el título de una técnica: “Esteganografía”. Puedes hacer clic y leer el documento, que te enseñará cómo se esconden archivos dentro de imágenes.

Ok, ahora que sabemos cómo se hace, busquemos una forma de extraer los archivos usando esteganografía:

Parece ser que todos los enlaces nos llevan a algo útil. El primero contiene una colección de herramientas útiles, el segundo contiene más instrucciones sobre cómo realizar trabajos de esteganografía. Realmente, cualquiera de estos enlaces nos puede ser útil, pero vamos a echar un vistazo al primero (https://0xrick.github.io/lists/stego/):


La primera herramienta parece sernos útil. Se puede usar para extraer datos insertados dentro de archivos JPEG, exactamente lo que necesitamos hacer. Esta página también te explica que steghide puede instalarse usando algo llamado “apt”.

Vamos a realizar una nueva búsqueda:


Muy bien, así que apt es un administrador de paquetes que nos permite instalar herramientas en distribuciones Linux como Ubuntu (o Kali).

¿Cómo podemos instalar paquetes usando apt? Vamos a buscarlo:

 

Perfecto. En la parte superior de la página encontramos que se nos dan las instrucciones que necesitamos. Sabemos que el paquete que nos interesa se llama steghide, así que vamos allá, a instalarlo:


Ahora volvamos a esa colección de herramientas de esteganografía que encontramos antes. ¿Te diste cuenta de que ahí habían instrucciones sobre cómo usar steghide?

¡Ahí lo tenemos! Así es cómo podemos extraer una imagen de un archivo. Nuestra búsqueda ha acabado y ahora podemos llevar a cabo nuestra tarea.

Fíjate en la metodología usada aquí. Hemos empezado sin nada, pero gradualmente hemos ido trazando un boceto de lo que necesitamos hacer. Teníamos una pregunta. Hemos buscado una respuesta a esa pregunta, después hemos analizado cada respuesta hasta tener una completa comprensión del tema. Esta es una buena conducta de búsqueda: empezar con una pregunta; conseguir una comprensión inicial del tema; después buscar aspectos más avanzados que necesitemos.

 

Tarea 3: Búsqueda de vulnerabilidades

A menudo, en el hacking, te encontrarás con software que es susceptible de ser explotado. Por ejemplo, los CMS (Content Management Systems como Wordpress, FuelCMS, Ghost, etc) se usan frecuentemente para crear páginas web de forma más sencilla, y bastantes de ellos son vulnerables a varios ataques. ¿Pero dónde podemos echar un vistazo a la hora de explotar un software específico?

La respuesta a esa pregunta está en páginas como:

NVD realiza un seguimiento de los CVEs (Exposiciones y vulnerabilidades comunes, Common Vulneratibilites Exposures), nos dice si hay exploits disponibles de forma pública, así que es un sitio genial que mirar si estás buscando vulnerabilidades para un programa específico. Los CVEs tienen el formato: CVE-AÑO-IDNUMBER.

ExploitDB tiende a ser muy útil para los hackers, ya que contiene exploits que pueden ser descargados y usados directamente. Suele ser una de las primeras paradas cuando encuentras un software en un CTF o pentesting.

Si te inclinas hacia el CLI de Linux, Kali trae preinstalada una herramienta llamada “searchsploit” que te permite buscar los exploits en la base de datos dentro de tu máquina. Esto se realiza offline, y funciona usando una versión descargada de la base de datos mendionada, lo que significa que antes debes de tener todos los exploits descargados en tu Kali.

Veamos un ejemplo. Digamos que estamos en un CTF y nos encontramos con un sitio así:


Bien, es obvio que la web usa FuelCMS. Normalmente no será tan obvio, pero debemos trabajar con lo que tenemos.

Conocemos el software, así que busquémoslo en ExploitDB.

Usando el comando searchsploit fuelcms para buscar exploits, encontramos:

Si prefieres hacerlo mediante la web, aquí están los resultados de la misma:


¡Perfecto! Tenemos un exploit que podemos usar contra este sitio web.

Actualmente el uso de exploits está fuera del alcance de aprendizaje de esta sala, pero puedes ver el proceso.

Si clicas en el título, te darán un poco más de información acerca del exploit:


Presta especial atención a los números de CVE. Como dijimos antes, el formato es CVE-AÑO-IDNUMBER.

 

Tarea 4: Páginas del Manual

Si nunca has trabajado en Linux, te recomiendo fervientemente que le eches un vistazo a la sala Learn Linux. Linux (usualmente Kali Linux) es sin duda alguna el sistema operativo más ubicuo usado en hacking, por lo que te tiene que ser familiar.

Una de las características más útiles de Linux es el comando interno man, el cual te da acceso a las páginas del manual para la mayoría de herramientas directamente en tu terminal. Ocasionalmente encontrarás alguna herramienta que no tenga entrada en el manual; de todas formas, eso es bastante raro de ver. Generalmente hablando, cuando no sepas cómo usar una herramienta, este comando debería ser tu primer lugar de consulta.

Vamos a echarle un vistazo.

Digamos que queremos conectar a un ordenador remoto usando SSH, pero no conocemos la sintaxis. Podemos usar man ssh para entrar en la página de manual de SSH:

¡Asombroso!

Podemos ver, en la descripción, que la sintaxis para usar SSH es <usuario>@<host>:

También podemos usar las páginas de manual para buscar los modificadores de los programas que hacen que el programa haga otras cosas. Un ejemplo de esto es que (siguiendo con el ejemplo del primer apartado) steghide puede usarse tanto para extraer como para insertar archivos en una imagen, según el modificador que le pasemos.

Por ejemplo, si quieres ver en pantalla el número de versión de tu SSH, solo has de bajar por la página de manual de este comando hasta que encuentres el modificador adecuado:


Después, úsalo:

 

Otra forma de encontrar este modificador podría haber sido buscar en la página de manual el modificador correcto usando grep:


 

Tarea 5: Reflexiones finales

Siempre te han dicho en la escuela que hay buenas y malas fuentes de información. Esto puede ser cierto cuando se refiere a ensayos e información de referencia; de todos modos, es un placer comunicarte que eso no se cumple aquí. Cualquier información puede ser potencialmente útil, por lo que siéntete libre de consultar blogs, Wikipedia o cualquier otra fuente que contenga lo que estás buscando. Los blogs pueden ser especialmente útiles en ocasiones para aprender cuando se trata de seguridad de la información, por lo que muchos investigadores de seguridad tienen un blog.

Habiendo completado esta sala, debes haber establecido una base de metodología para abordar las preguntas de búsqueda que te vengan a la cabeza. La amplia mayoría de salas en TryHackMe pueden ser resueltas usando el conocimiento disponible en Google, por lo que date la oportunidad de mejorar tus habilidades googleando cualquier problema que te venga a la cabeza.

Como siguiente fase a esta sala, te recomiendo la sala de CMNatic Google Dorking para aprender algunos trucos avanzados en Google.

No hay comentarios:

Publicar un comentario