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|...]
⚠️También hay que tener en cuenta que hay más navegadores (como Bing, Yahoo, Yandex, etc) con los que también se puede hacer dorking, y cada navegador tiene sus propias keywords.
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.
2.2. Set-Cookie
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:
Cabeceras de las peticiones (burp, herramientas de navegador)
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
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.
DEBUG ->
2.3.3. HTTP Smuggling
Los recursos de PortSwigger lo explican genial:
Herramientas: https://github.com/defparam/smuggler
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