Τι θα γινόταν αν σας έλεγα ότι η μόνη λειτουργία ενός από τα στοιχεία λογισμικού προστασίας από ιούς που διαθέτει αξιόπιστη ψηφιακή υπογραφή είναι να συλλέγει όλα τα διαπιστευτήριά σας που είναι αποθηκευμένα σε δημοφιλή προγράμματα περιήγησης Διαδικτύου; Κι αν πω ότι δεν έχει σημασία για εκείνον ποιανού συμφέροντα είναι να τα μαζέψει; Μάλλον θα νομίζετε ότι έχω αυταπάτες. Ας δούμε πώς είναι πραγματικά;
Κατανόηση
Ζει και ζει μια τέτοια εταιρεία προστασίας από ιούς όπως
Ας ενδιαφερθούμε για τη δωρεάν έκδοση και ας δούμε τι μπορεί να κάνει το προϊόν των Γερμανών συναδέλφων μας. Ρίχνουμε μια ματιά στη διεπαφή - τίποτα ασυνήθιστο. Δεν βρίσκουμε καμία αναφορά σε άλλο από τα προϊόντα της εταιρείας – Avira Password Manager.
Ας ρίξουμε μια ματιά στο στοιχείο με το όνομα που δεν τραβάει την προσοχή "Avira.PWM.NativeMessaging.exe"; Είναι μεταγλωττισμένο για την πλατφόρμα .NET και δεν είναι ασαφές με κανέναν τρόπο, οπότε το φορτώνουμε στο dnSpy και μελετάμε ελεύθερα τον κώδικα του προγράμματος.
Το πρόγραμμα είναι ένα πρόγραμμα κονσόλας και αναμένει εντολές στην τυπική ροή εισόδου. Κύρια λειτουργία χρησιμοποιώντας "Διάβασε"διαβάζει δεδομένα από τη ροή, ελέγχει τη μορφή και περνά την εντολή στη συνάρτηση"ProcessMessage" Το ίδιο, με τη σειρά του, ελέγχει ότι η μεταδιδόμενη εντολή είναι "fetchChromePasswords" ή "fetchCredentials" (αν και τι διαφορά έχει αν η περαιτέρω συμπεριφορά είναι η ίδια;) και μετά αρχίζει το πιο ενδιαφέρον μέρος - η κλήση της συνάρτησης "RetrieveBrowserCredentials" Είναι ακόμη ενδιαφέρον... τι μπορεί να κάνει μια συνάρτηση με αυτό το όνομα;
Τίποτα ασυνήθιστο, απλά συλλέγει σε μια λίστα όλους τους λογαριασμούς χρηστών που αποθηκεύονται κατά την εργασία με προγράμματα περιήγησης στο Διαδίκτυο "Chrome", "Opera" (βασισμένο στο Chromium), "Firefox" και "Edge" (με βάση το Chromium) και επιστρέφει τα δεδομένα ως Αντικείμενο JSON.
Λοιπόν, τότε εμφανίζει τα δεδομένα που συλλέγονται στην κονσόλα:
Η ουσία του προβλήματος
- Το στοιχείο συλλέγει τα διαπιστευτήρια χρήστη.
- Το στοιχείο δεν επαληθεύει το πρόγραμμα κλήσης (για παράδειγμα, με το εάν έχει ψηφιακή υπογραφή από τον ίδιο τον κατασκευαστή).
- Το εξάρτημα διαθέτει «αξιόπιστη» ψηφιακή υπογραφή και δεν προκαλεί υποψίες μεταξύ άλλων κατασκευαστών λογισμικού προστασίας από ιούς.
- Το στοιχείο εκτελείται ως ξεχωριστή εφαρμογή.
IoC
SHA1: 13c95241e671b98342dba51741fd02621768ecd5.
Το CVE-2020-12680 εκδόθηκε για αυτό το θέμα.
Στις 07.04.2020/XNUMX/XNUMX έστειλα επιστολή σχετικά με αυτό το πρόβλημα στη διεύθυνση: [προστασία μέσω email] и [προστασία μέσω email] με πλήρη περιγραφή. Δεν υπήρξαν επιστολές απάντησης, συμπεριλαμβανομένων των αυτόματων συστημάτων. Ένα μήνα αργότερα, το περιγραφόμενο στοιχείο εξακολουθεί να διανέμεται στη διανομή Avira Free Antivirus.
Πηγή: www.habr.com