Os investigadores Benjamin Chetioui e Baptiste Devigne da ProofOfCalc descobriram uma vulnerabilidade na aplicação mIRC que podia ser explorada pelos atacantes de forma a executar comandos remotamente.
O mIRC é uma aplicação popular de Internet Relay Chat que permite aos utilizadores manter conversas ligando-se a servidores de IRC, além de permitir que eles também troquem entre si ficheiros e links.
A instalação do mIRC cria três esquemas de URI personalizados, irc :, ircs: e mircurl: que podem ser usados como links para iniciar o mIRC (por exemplo, url irc: //irc.undernet.org/).
A falha pode ser explorada por invasores para executar vários comandos, incluindo descarregar e instalar binários no sistema vulnerável.
A falha permite que os atacantes injetem comandos nesses esquemas de URI personalizados.
As versões anteriores a 7.55 do mIRC estão vulneráveis à vulnerabilidade recém descoberta.
“Using the task manager and the registry, we figured out that when one calls a program through a link such as discord://randomcmd, “Discord.exe” –url — “%1” is executed, where %1 is replaced by randomcmd. What is interesting is that, in some browsers, the link is not URL-encoded in any way/just partially encoded when opened, which makes it possible to inject parameters in the command.” reads the blog post published by the experts.
No sistema operatoiv Windows, os esquemas de URI estão associados a apps específicas que serão iniciadas com argumentos da linha de comando quando o URL é acedido pelo utilizador.
De acordo com os investigadores, é possível impedir a injeção de comandos quando utilizado um sigil (“-”) para esquemas personalizados de URI.
Os investigadores descobriram que o mIRC suporta sigilos e permite command line injection.
“Because mIRCdoesn’t use any kind of sigil such as “–” to mark the end of the argument list, an attacker is able to pass arguments to mIRC through links opened by the program.” continues the analysis.
Os investigadores configuram um servidor Samba com um ficheiro de configuração MIRC.ini costumizado. Este fieiroch de configuração usado no PoC contém um comando que executa outro script, e que executa comandos no sistema.
Este esquema de ataque permitiu ao investigador executar comandos sob o contexto do usuário autenticado, ele que podia ser usado para realizar várias atividades maliciosas, como descarregar e executar malware.
Para explorar a falha, um atacante tem que enganar as vítimas para clicar no link a seguir ou visitar uma página web que contenha um iframe que abre o IRC personalizado:
Quando o utilizador visitar o website, o iframe acionará o lançamento da app mIRC usando o ficheiro de configuração remota quee executará os comandos do script remoto.
Em seguida, fica o PoC publicado pelos investigadores.
A falha foi corrigida com o lançamento do mIRC 7.55 em 08 de fevereiro de 2019.
Neste momento, os utilizador têm que atualizar o software o mais rápido possível.