La metodología hacker, cómo actúan y trabajan

La metodología hacker, cómo actúan y trabajan

en

Las películas muestran a menudo el trabajo de los hackers pero, excepto en muy contadas ocasiones, no son realistas, ni lo que vemos en pantalla tiene nada que ver con los métodos y procedimientos que sigue un hacker real.

Estos deben ser metódicos, tener un proceso que haga que examinen todo lo necesario sin pasar por alto y, por eso, vamos a ver cómo actúan a grandes rasgos.

Los verdaderos profesionales siguen un proceso establecido para entender y explotar sus objetivos. Esto asegura consistencia entre encargos.

El proceso sigue estos pasos:

  1. Reconocimiento.
  2. Enumeración / Escaneo.
  3. Ganar acceso.
  4. Escalada de privilegios.
  5. Cubrir las huellas.
  6. Informe.

1. Reconocimiento

Implica recoger información sobre el objetivo, normalmente, sin interacción con el objetivo o sus sistemas.

La herramienta más valiosa es Google y es interesante aplicar técnicas de Google Dorking.

Además de eso, canales de Youtube, redes sociales del objetivo, Linkedin, etc.

Eso nos permite ver posiciones abiertas de la compañía, estructura, personas, etc.

Es la parte más importante del procedimiento.

Algunas herramientas posibles.

  • Google (Dorking)
  • Wikipedia
  • PeopleFinder.com
  • who.is
  • sublist3r
  • hunter.io
  • builtwith.com
  • wappalyzer

2. Enumeración y escaneo

En esta fase empezamos a interactuar con el objetivo, a fin de conocer la llamada superficie del ataque y encontrar posibles vulnerabilidades.

En esta fase ya empezamos a usar herramientas más especializadas de nuestro arsenal. Burp Suite, Nmap, etc.

Nuestro objetivo es determinar la superficie de ataque general y ver a qué puede ser vulnerable el objetivo durante la fase de Explotación.

Puede ser de todo, desde una página que no está bastante protegida, hasta una web que filtre información, inyección SQL, Cross Site Scripting (XSS) o cualquier otra cosa.

La herramienta básica suele ser Nmap, un escáner que nos puede decir:

  • Qué puertos están abiertos.
  • El sistema operativo del objetivo.
  • Qué servicios están corriendo y sus versiones.

Otras herramientas especializadas son.

  • dirb, para encontrar directorios.
  • dirbuster (similar a dirb, pero con interfaz de usuario).
  • enum4linux, script para encontrar vulnerabilidades.
  • Metasploit, que se usa en la explotación, pero también tiene herramientas de enumeración incorporadas.
  • Burp Suite, para escanear webs , directorios e interceptar tráfico.

3. Explotación

Esta fase es tan buena como hayan sido las anteriores de reconocimiento y enumeración. Si no las has hecho bien, puedes perderte puntos que explotar.

La herramienta más común es Metasploit, que tiene muchos scripts que nos hacen la vida más fácil.

También se pueden usar herramientas como Burp Suite o SQLMap para explotar aplicaciones web. Además, msfvenom para construir payloads personalizados, BeEF (Browser-based exploitation) y muchos otros.

4. Escalada de privilegios

Una vez ganamos acceso, el siguiente paso es escalar privilegios a una cuenta con permisos más elevados.

  • En Windows, Administrador o System.
  • En Linux, root.

La escalada de privilegios puede tomar muchas formas, como por ejemplo:

  • Romper contraseñas hasheadas que se han encontrado en el objetivo.
  • Encontrar un servicio vulnerable o versión del servicio que permita escalar privilegios a través de él.
  • Spray de contraseñas descubiertas previamente (reutilización de contraseñas).
  • Usar credenciales por defecto.
  • Encontrar llaves secretas o llaves SSH guardadas en el dispositivo y que permitan pivotar a otras máquinas.
  • Correr scripts o comandos para enumerar la configuración del sistema, como ifconfig para encontrar configuraciones de red o bien find / -perm -4000 -type f 2>/dev/null para ver si el usuario tiene acceso a comandos que pueda ejecutar como administrador.

Hay muchas más maneras, en realidad.

5. Cubriendo nuestras huellas

Aunque esta parte es fundamental en un hackeo real para que no se pueda atrapar a un intruso, lo cierto es que muchos pentesters profesionales no necesitan hacerlo. De hecho, has de pedir permiso y saber qué pueden tocar o no, recordemos las reglas de enfrentamiento (rules of engagement).

Lo que debes hacer es anotar lo que has hecho y cómo has llegado.

6. Informe

En esta fase de reporte incluimos lo siguiente.

  • Las vulnerabilidades encontradas.
  • Lo críticas que son.
  • Una descripción breve de cómo se ha descubierto eso.
  • Recomendaciones para mitigar lo encontrado.

Un informe de hallazgos, normalmente, adquiere tres formatos:

  • Los resultados del escaneo de vulnerabilidades (un simple listado).
  • Resumen de los hallazgos.
  • Un informe completo.

Informe de vulnerabilidad

Un resumen de hallazgos suele ser así:

  • Hallazgo: Inyección SQL en parámetro ID de la página Cats.
  • Nivel de amenaza: Crítico.
  • Descripción: Con un payload de 1’ OR ‘1’=‘1 en el parámetro ID de la web se pudieron ver todos los nombres de gatos en la tabla gatos de la base de datos. Una declaración UNION SELECT SQL permite al atacante ver todos los nombres de usuario y contraseñas almacenados en la tabla Cuentas.
  • Recomendación de mitigación: Usa una declaración SQL preparada para prevenir ataques de inyección.

He aquí un ejemplo de informe completo. Y es que la vida de un pentester es mucho más metódica, y aburrida, que la de esos hackers de las películas.