Ce se întâmplă dacă ți-aș spune că singura funcție a uneia dintre componentele software antivirus care are o semnătură digitală de încredere este de a colecta toate acreditările stocate în browserele de internet populare? Dacă aș spune că nu contează pentru cel al cărui interese este să le strângă? Probabil vei crede că am delir. Să vedem cum este cu adevărat?
Înţelegere
Trăiește și trăiește o astfel de companie de antivirus ca
Să ne interesăm de versiunea gratuită și să vedem ce poate face produsul colegilor noștri germani. Aruncăm o privire peste interfață - nimic neobișnuit. Nu găsim nicio mențiune despre un alt produs al companiei – Avira Password Manager.
Să aruncăm o privire la componenta cu numele care nu atrage atenția „Avira.PWM.NativeMessaging.exe"? Este compilat pentru platforma .NET și nu este înfundat în niciun fel, așa că îl încărcăm în dnSpy și studiem liber codul programului.
Programul este un program de consolă și așteaptă comenzi în fluxul de intrare standard. Funcția principală folosind „Citeste" citește datele din flux, verifică formatul și transmite comanda funcției "ProcessMessage" Același, la rândul său, verifică dacă comanda transmisă este „aducă parolele Chrome" sau "fetchCredentials" (deși ce diferență are dacă comportamentul ulterioară este același?) și apoi începe partea cea mai interesantă - apelarea funcției "RecuperareBrowserCredentials" Este chiar interesant... ce poate face o funcție cu acest nume?
Nimic neobișnuit, pur și simplu colectează într-o singură listă toate conturile de utilizator salvate atunci când lucrezi cu browserele de internet „Chrome”, „Opera” (pe baza Chromium), „Firefox” și „Edge” (pe baza Chromium) și returnează datele ca un obiect JSON.
Ei bine, atunci afișează datele colectate pe consolă:
Esența problemei
- Componenta colectează acreditările utilizatorului;
- Componenta nu verifică programul apelant (de exemplu, dacă are o semnătură digitală de la producător însuși);
- Componenta are o semnătură digitală „de încredere” și nu ridică suspiciuni printre alți producători de software antivirus;
- Componenta rulează ca o aplicație separată.
IoC
SHA1: 13c95241e671b98342dba51741fd02621768ecd5.
CVE-2020-12680 a fost emis pentru această problemă.
Pe 07.04.2020 am trimis o scrisoare despre această problemă la: [e-mail protejat] и [e-mail protejat] cu descriere completa. Nu au existat scrisori de răspuns, inclusiv de la sisteme automate. O lună mai târziu, componenta descrisă este încă distribuită în distribuția Avira Free Antivirus.
Sursa: www.habr.com