No dia 24 de maio de 2019 a Fortinet publicou através do seu PSIRT (Product Security Incident Response Team) a vulnerabilidade "FortiOS system file leak through SSL VPN via specially crafted HTTP resource requests" que até então não parecia ser tão ofensivo.

A empresa DEVCORE publicou um exploit para esta vulnerabilidade através de um post em seu blog https://devco.re/blog/2019/08/09/attacking-ssl-vpn-part-2-breaking-the-Fortigate-ssl-vpn/.

Partindo de um exploit público, eu realizei alguns testes usando desta vulnerabilidade para explorar um firewall do lab, e decidi escrever meu próprio exploit para essa vulnerabilidade. Um dos exploit escrito foi em ruby para o Metasploit (https://www.exploit-db.com/exploits/47287), assim seria mais fácil realizar os testes e também escrevi em Python (https://www.exploit-db.com/exploits/47288)

Basicamente a vulnerabilidade se trata de uma má configuração do servidor web do serviço de SSL VPN, onde é possível acessar um arquivo interno do firewall, onde está alocado todas as sessões ativas de VPN. Neste arquivo é possível obter informações como: IP de quem está conectado, login, senha (em texto claro "Ow yeeh"), grupo e nome do portal de VPN.

Neste vídeo podemos ver como é simples obter acesso a estas credenciais de VPN.

Geralmente o serviço de VPN é usado por um time ou fornecedor para dar suporte em sistemas, servidores e tudo o que está relacionado a infraestrutura e, na maioria das vezes as empresas adotam serviços de login único (AD, RADIUS), e apenas com esta credencial seria possível acessar outros serviços dentro da rede de uma empresa.

Possíveis alvos de ataques!


Realizando uma simples dork é possível localizar várias empresas com portais de SSLVPN da Fortinet, e assim sendo possíveis alvos para ataques.

Com apenas alguns filtros podemos ver mais de 700 resultados de portais de VPN's que podem estar expostos a este tipo de falha.

Image

Eu reportei essa falha para a ANEEL (Agencia nacional de Energia Elétrica), onde um atacante (a.k.a hacker) poderia acessar todos os servidores e fazer o que chamamos de "Power Grid Attack", o relatório foi enviado para o CTIR.GOV.BR informando a falha.  

Correção da vulnerabilidade

De acordo com a Fortinet para mitigar esta vulnerabilidade seria necessário atualizar o firmware do FortiGate/FortiOs para FortiOS 5.4.11, 5.6.9, 6.0.5, 6.2.0 ou superior.