Què passaria si us digués que l'única funció d'un dels components del programari antivirus que té una signatura digital de confiança és recollir totes les vostres credencials emmagatzemades als navegadors d'Internet populars? I si dic que no li importa a qui els interessa recollir-los? Segurament pensareu que estic enganyat. A veure com és realment?
Comprensió
Viu i viu una empresa d'antivirus com
Interessem-nos per la versió gratuïta i veiem què pot fer el producte dels nostres companys alemanys. Donem un cop d'ull a la interfície, res estrany. No trobem cap menció d'un altre dels productes de l'empresa: Avira Password Manager.
Fem una ullada al component amb el nom que no crida l'atenció "Avira.PWM.NativeMessaging.exe"? Està compilat per a la plataforma .NET i no està ofuscat de cap manera, així que el carreguem a dnSpy i estudiem lliurement el codi del programa.
El programa és un programa de consola i espera ordres al flux d'entrada estàndard. Funció principal utilitzant "Llegir" llegeix dades del flux, comprova el format i passa l'ordre a la funció "Missatge de procés" El mateix, al seu torn, comprova que l'ordre transmesa sigui "buscar les contrasenyes de Chrome" o "fetchCredentials" (encara que quina diferència hi ha si el comportament posterior és el mateix?) i llavors comença la part més interessant: cridar la funció "Recupera les credencials del navegador" Fins i tot és interessant... què pot fer una funció amb aquest nom?
Res inusual, simplement recull en una llista tots els comptes d'usuari desats quan es treballa amb els navegadors d'Internet "Chrome", "Opera" (basat en Chromium), "Firefox" i "Edge" (basat en Chromium) i retorna les dades com a Objecte JSON.
Bé, llavors mostra les dades recollides a la consola:
L'essència del problema
- El component recull les credencials d'usuari;
- El component no verifica el programa de trucada (per exemple, per si té una signatura digital del propi fabricant);
- El component té una signatura digital "de confiança" i no genera sospita entre altres fabricants de programari antivirus;
- El component s'executa com una aplicació independent.
IoC
SHA1: 13c95241e671b98342dba51741fd02621768ecd5.
S'ha emès CVE-2020-12680 per a aquest problema.
El 07.04.2020/XNUMX/XNUMX vaig enviar una carta sobre aquest problema a: [protegit per correu electrònic] и [protegit per correu electrònic] amb descripció completa. No hi havia cartes de resposta, fins i tot de sistemes automàtics. Un mes després, el component descrit encara es distribueix a la distribució Avira Free Antivirus.
Font: www.habr.com