PixPirate: Die brasilianische Finanz-Malware, die du nicht sehen kannst!

PixPirate: Die brasilianische Finanz-Malware, die du nicht sehen kannst!

Schädliche Software hat immer das Ziel, verborgen zu bleiben und sich unsichtbar zu machen, damit die Opfer sie nicht entdecken können. Die ständig mutierende PixPirate-Malware hat diese Strategie auf ein neues Extrem gebracht.

PixPirate ist eine hochentwickelte Finanz-Remote-Access-Trojaner-Malware (RAT), die in großem Umfang Anti-Research-Techniken nutzt. Der Infektionsvektor dieser Malware basiert auf zwei bösartigen Apps: einem Downloader und einem Droppee. Diese beiden Apps arbeiten zusammen und kommunizieren miteinander, um den Betrug auszuführen. Bisher haben Forscher von IBM Trusteer beobachtet, dass diese Malware Banken in Brasilien angreift.

Eine versteckte Bedrohung:

Bei IBM Trusteer haben wir verschiedene Techniken gesehen, um Malware vor ihren Opfern zu verbergen. Die meisten Banking-Malware verbirgt ihre Existenz auf dem Mobilgerät, indem sie ihr Startsymbol mithilfe der SetComponentEnabeldSetting-API (Application Programming Interface) vor dem Opfer verbirgt. Seit Android 10 funktioniert diese Technik jedoch aufgrund neuer Einschränkungen durch Google nicht mehr.
Um dieser neuen Herausforderung zu begegnen, hat PixPirate eine neue Technik zum Verstecken seines Symbols eingeführt, die wir noch nie zuvor bei Finanz-Malware gesehen haben. Dank dieser neuen Technik bemerkt das Opfer während der Aufklärungs- und Angriffsphasen von PixPirate nichts von den bösartigen Vorgängen, die diese Malware im Hintergrund ausführt.
PixPirate missbraucht den Barrierefreiheitsdienst, um RAT-Funktionen zu erlangen, die Aktivitäten des Opfers zu überwachen und die Online-Banking-Zugangsdaten, Kreditkartendaten und Anmeldeinformationen aller Zielkonten des Opfers zu stehlen. Wenn für den Abschluss der betrügerischen Transaktion eine Zwei-Faktor-Authentifizierung (2FA) erforderlich ist, kann die Malware auch auf die SMS-Nachrichten des Opfers zugreifen, diese bearbeiten und löschen, einschließlich aller Nachrichten, die die Bank sendet.

PixPirate nutzt moderne Fähigkeiten und stellt eine ernsthafte Bedrohung für seine Opfer dar.

Hier ist eine kurze Liste der wichtigsten Schadfunktionen von PixPirate:

  • Andere Anwendungen manipulieren und steuern
  • Keylogging
  • Sammeln einer Liste der auf dem Gerät installierten Apps
  • Installieren und Entfernen von Apps vom infizierten Gerät
  • Sperren und Entsperren des Gerätebildschirms
  • Zugriff auf registrierte Telefonkonten
  • Zugriff auf die Kontaktliste und laufende Anrufe
  • Lokalisierung des Gerätestandorts
  • Anti-virtuelle Maschine (VM) und Anti-Debug-Funktionen
  • Persistenz nach Neustart
  • Verbreitung über WhatsApp
  • SMS-Nachrichten lesen, bearbeiten und löschen
  • Anti-Entfernung und Deaktivierung von Google Play Protect
  • Dank seiner RAT-Funktionen kann PixPirate On-Device Fraud (ODF) durchführen und den Betrug vom Gerät des Opfers aus ausführen, um einer Entdeckung durch die Sicherheits- und Betrugserkennungssysteme der Bank zu entgehen.

PixPirate-Infektionsverlauf:

Die meiste Finanz-Malware besteht aus einer Hauptdatei des Android-Pakets (APK). Dies ist bei PixPirate nicht der Fall, das aus zwei Komponenten besteht: einem Downloader-APK und dem Droppee-APK. Der Einsatz einer Downloader-App im Rahmen eines Finanzangriffs ist nicht neu; Allerdings wurden im Gegensatz zu den meisten Finanz-Malware heutzutage, die einen Downloader als Dienst nutzt, sowohl der Droppee als auch der Downloader für PixPirate vom selben Akteur erstellt.
Darüber hinaus unterscheidet sich die Rolle des PixPirate-Downloaders im Infektionsfluss der Malware von der anderer Finanz-Malware. Normalerweise wird der Downloader zum Herunterladen und Installieren des Droppees verwendet, und von diesem Zeitpunkt an ist der Droppee der Hauptakteur, der alle betrügerischen Operationen durchführt, und der Downloader ist irrelevant. Im Fall von PixPirate ist der Downloader nicht nur für das Herunterladen und Installieren des Droppees verantwortlich, sondern auch für dessen Ausführung und Ausführung. Der Downloader spielt eine aktive Rolle bei den böswilligen Aktivitäten der Droppees, da diese miteinander kommunizieren und Befehle zur Ausführung senden.
Normalerweise infizieren sich Opfer mit PixPirate, indem sie den PixPirate-Downloader über einen schädlichen Link herunterladen, der ihnen über WhatsApp oder eine SMS-Phishing-Nachricht (Smishing) gesendet wird. Diese Nachricht überzeugt das Opfer, den Downloader herunterzuladen, der sich als legitime Authentifizierungs-App der Bank ausgibt. Sobald das Opfer den Downloader startet, wird es aufgefordert, eine aktualisierte Version von sich selbst zu installieren, bei der es sich in Wirklichkeit um die eigentliche PixPirate-Malware (den Droppee) handelt. Nachdem das Opfer dieses Update genehmigt hat, installiert der Downloader entweder das in sein APK eingebettete Droppee oder lädt es direkt vom PixPirate Command and Control (C2)-Server herunter. Wenn das Droppee in die APK-Datei des Downloaders eingebettet ist, wird es im Ordner „/assets/“ des Downloaders verschlüsselt und kodiert und als JPEG-Datei getarnt, um den Verdacht zu mindern.

Als nächstes sendet der Downloader einen Befehl an das PixPirate-Droppee, um es zu aktivieren und auszuführen. Beim ersten Durchlauf fordert der Droppee das Opfer auf, die Ausführung seines Barrierefreiheitsdienstes zuzulassen. Im nächsten Schritt missbraucht PixPirate den Barrierefreiheitsdienst, um sich alle notwendigen Berechtigungen zu erteilen, die es für die Ausführung und erfolgreiche Durchführung von Finanzbetrug benötigt.
Nachdem die Malware alle erforderlichen Berechtigungen zum Ausführen erhalten hat, sammelt sie einige Informationen und Daten über das infizierte Gerät, um zu entscheiden, ob es sich um ein legitimes Gerät und einen guten Kandidaten für Betrug handelt (Anti-VM/Anti-Emulator, welche Bank-Apps es gibt). auf dem Gerät installiert ist usw.) und sendet dann alle diese Daten an den PixPirate C2.

Neue Verstecktechnik in freier Wildbahn:

Malware hat schon immer versucht, sich vor ihrem beabsichtigten Opfer zu verstecken. Der offensichtlichste und effektivste Weg besteht darin, das Startsymbol der bösartigen APK auszublenden, da die meisten Benutzer nicht auf den App-Einstellungsbildschirm schauen, um zu überprüfen, welche Apps installiert sind, sodass sie die bösartige App nicht bemerken und nicht versuchen, sie zu entfernen .
Traditionell verbirgt Finanz-Malware das Launcher-Symbol mithilfe der „SetComponentEnabledSetting“-API. Für diese Technik ist keine Zustimmung des Opfers erforderlich. Ab Android 10 war diese Technik jedoch für Malware unwirksam und konnte nicht mehr verwendet werden. Wie die Technik funktioniert, erklären wir anhand der FakeChat-Malware, die diese Technik ebenfalls nutzt.
Die Malware deklariert im Manifest die MainActivity, die ausgeführt wird, sobald das Opfer sie durch Drücken ihres Symbols auf dem Startbildschirm des Mobilgeräts startet.
Im folgenden Bild sehen wir im FakeChat- Manifest das App-Tag der Malware und den Pfad des App-Symbols im Symbolwert. Außerdem enthält das Manifest die MainActivity mit dem Namen „com.eg.android.AlipayGphone.MainActivity“ mit der Aktion „android.intent.action.Main“ und der Kategorie „android.intent.category.LANUCHER“. Diese Aktivität wird ausgeführt und ausgeführt, sobald der Benutzer auf das Symbol der App drückt und die App startet.

Im ersten Lauf der Malware lässt sie das Launcher-Symbol verschwinden, indem sie die Android-API „SetComponentEnabledSetting“ mit den folgenden Parametern aufruft:

  • ComponentName: die Komponente, die die MainActivity im Zusammenhang mit dem Symbol zum Starten der App darstellt.

  • NewState: der neue Zustand der Komponente. In diesem Fall gibt die Malware den Status „COMPONENT_ENABLED_STATE_DISABLED“ an, um das APK-Symbol zu deaktivieren und auszublenden.

  • Flags (optional): Der Wert ist entweder 0 oder eine Kombination aus DONT_KILL_APP und SYNCHRONOUS.

Ab Android 10 sind alle App-Symbole im Launcher sichtbar, es sei denn, es handelt sich um eine System-App oder sie fragt überhaupt nicht nach einer Erlaubnis. Diese Einschränkungen machten diese Technik für Malware ab Android 10 irrelevant. Daher konnte Malware ihr Startsymbol und ihre Existenz nicht mehr verbergen.

Die neue innovative Verstecktechnik von PixPirate:

Bei der Untersuchung von PixPirate hat IBM Trusteer eine neue Technik zum Erreichen desselben Ziels entdeckt, die bisher in allen Android-Versionen funktioniert. Um das Ziel zu erreichen, Malware vor dem Opfer zu verbergen, hat der PixPirate-Droppee keine Hauptaktivität; das heißt, es gibt keine Aktivität mit der Aktion „android.intent.action.MAIN“ und der Kategorie „android.intent.category.LANUCHER“. Diese Verhaltensänderung führt dazu, dass das App-Symbol überhaupt nicht auf dem Startbildschirm des Geräts des Opfers vorhanden ist. Allerdings stellt dies auch ein neues Problem dar. Wenn das Droppee-Symbol nicht auf dem Startbildschirm des Opfers vorhanden ist, wie soll das Opfer die App überhaupt starten?
Die neue Technik erfordert, dass die Malware über zwei Anwendungen verfügt: in diesem Fall den Downloader und den Droppee, die zusammenarbeiten. Der Downloader ist die App, die ausgeführt wird. Der Downloader führt dann den Droppee aus, der andernfalls nicht ausgeführt würde, da sein Symbol nicht existiert.

Wie der Droppee läuft:

Wie läuft also der Droppee ab? PixPirate hat einen Mechanismus entwickelt, der die Ausführung des Droppees auslöst, wenn verschiedene Ereignisse auf dem Gerät auftreten.

Im folgenden Bild sehen wir den Dienst, der zum Starten des Droppees verwendet wird und die Aktivität („MainActivity“) ersetzt, die in anderen Apps und APKs verwendet wird. Der Dienst wird exportiert und kann von anderen Prozessen ausgeführt werden, die auf dem Gerät ausgeführt werden. Dieser Dienst verfügt über eine benutzerdefinierte Aktion, die durch die Bindung an diesen bestimmten Dienst ausgelöst wird. Der Downloader verwendet dies, um diesen Dienst zu erstellen, eine Bindung daran herzustellen und den Droppee jedes Mal auszuführen, wenn er benötigt wird.

Die Methode funktioniert wie folgt:

  • Der Droppee hat einen Dienst namens „com.companian.date.sepherd“ exportiert und enthält einen Intent-Filter mit der benutzerdefinierten Aktion „com.ticket.stage.Service“.
  • Wenn der Downloader den Droppee ausführen möchte, erstellt er diesen Droppee-Dienst und bindet ihn mithilfe der API „BindService“ mit dem Flag „BIND_AUTO_CREATE“, die den Droppee-Dienst erstellt und ausführt.
  • Nach der Erstellung und Bindung des Droppee-Dienstes wird die Droppee-APK gestartet und beginnt zu arbeiten.

Die BindService-API verfügt über die folgenden Parameter:

  • Die Dienstabsicht „com.ticket.stage.Service“
  • Das Flag „BIND_AUTO_CREATE“ (0x01), das den Dienst erstellt und an ihn bindet (falls der Dienst nicht existiert)
  • ServiceConnection-Objekt, das eine Verbindung zum Droppee-Dienst herstellt und aus einer Schnittstelle zur Überwachung des Status des Anwendungsdiensts besteht

Auf diese Weise gelingt es dem Downloader, die Ausführung des Droppees auszulösen. Das ServiceConnection-Objekt wird als Schnittstelle zur Aufrechterhaltung der Kommunikation zwischen dem Downloader und dem Droppee verwendet und ermöglicht es ihnen, Nachrichten untereinander zu senden und über diese Schnittstelle zu kommunizieren.
Im folgenden Bild sehen wir den Code des Downloader-APK, der den exportierten Dienst des Droppee-APK, den wir im vorherigen Bild gesehen haben, erstellt und an ihn bindet, um die Ausführung des Droppee auszulösen und ihm Befehle zur Ausführung zu senden.

grafik

Dieser Code muss beim ersten Start und der ersten Ausführung von Droppee ausgeführt werden, direkt nachdem der Downloader Droppee installiert hat. Um die Persistenz aufrechtzuerhalten, wird der Droppee später auch von den verschiedenen Empfängern, die er registriert hat, zur Ausführung veranlasst. Die Empfänger werden so eingestellt, dass sie basierend auf verschiedenen Ereignissen aktiviert werden, die im System auftreten, und nicht unbedingt durch den Downloader, der ursprünglich die Ausführung des Droppees ausgelöst hat.
Diese Technik ermöglicht es dem PixPirate-Droppee, zu laufen und seine Existenz zu verbergen, selbst wenn das Opfer den PixPirate-Downloader von seinem Gerät entfernt. PixPirate-Malware ist die erste von IBM Trusteer-Forschern beobachtete Finanz-Malware, die diese Technik verwendet, um sich selbst und ihr Startsymbol zu verbergen, sodass Opfer nicht bemerken, dass Malware auf dem Gerät installiert ist und ausgeführt wird.

Was ist Pix?

Pix ist eine Instant-Payment-Plattform, die die schnelle Ausführung von Zahlungen und Überweisungen zwischen Bankkonten ermöglicht. Kunden erhalten einen Pix-String oder QR-Code, der den zu zahlenden Betrag für Dienstleistungen oder Waren enthält, um eine Transaktion abzuschließen. Anschließend bezahlen Kunden die Pix-Zahlung über ihre Bank-Apps oder über Internetbanking. Sie können mit Pix über ihre Banking-App bezahlen oder Geld überweisen.
Der im November 2020 eingeführte Zahlungsdienst Pix wurde von Nutzern und Unternehmen in Brasilien stark angenommen und brach Rekorde bei der Anzahl der Nutzer, Finanztransaktionen und Volumina.

Pix-Betrug MO:

Bei PixPirate-Pix-Betrug wird eine neue Pix-Transaktion vom Opfer auf das Pix-Konto des Betrügers initiiert oder die Pix-Daten des Empfängers einer legitimen Pix-Transaktion, die vom Opfer initiiert wurde, in die Pix-Daten des Betrügers geändert.
Technisch gesehen wird Pix-Betrug dank der RAT-Funktionen von PixPirate durchgeführt, die durch den Missbrauch des Android-Eingabehilfedienstes erlangt werden. Die Malware überwacht die Aktivitäten des Opfers auf dem Gerät und wartet darauf, dass der Benutzer eine gezielte Bankanwendung startet. Bei jedem Barrierefreiheitsereignis wird die Art des aufgetretenen Ereignisses überprüft. Wenn der Ereignistyp „TYPE_WINDOW_STATE_CHANGED“ ist, ruft es den Namen des Pakets der App aus dem Fenster ab. Befindet sich die App in der Zielliste, kann die Malware ihre schädlichen Aktivitäten starten.
Wenn das Opfer seine Bank-App startet, greift die Malware auf die Benutzeranmeldeinformationen und Kontoinformationen zu und sammelt diese, während der Benutzer seine Anmeldeinformationen eingibt, um sich anzumelden. Die Malware sendet die gestohlenen Informationen und Anmeldeinformationen an den C2-Server des Angreifers. Das Opfer ist sich nicht bewusst, dass die Malware Anmeldedaten stiehlt, da alles legitim erscheint, da die Malware sich versteckt und im Hintergrund agiert.
Wenn die Schadsoftware beschließt, den Betrug durchzuführen, öffnet sie einen neuen Bildschirm über dem aktuellen Bildschirm des Geräts, der die böswilligen Aktivitäten der Schadsoftware vor dem Opfer verbirgt. Die Malware startet die Bank-App (sofern sie noch nicht ausgeführt wird) und ruft die Pix-Seite auf, indem sie programmgesteuert die App-Tasten drückt. Sobald die Schadsoftware auf der Pix-Überweisungs-/Zahlungsseite ist, führt sie die Pix-Geldüberweisung durch.

Im folgenden Bild sehen wir die verschiedenen Funktionen, die die Malware aufruft, um die relevanten Details einzugeben und den Geldtransfer auszuführen (Pix-Details, Betrag, Passwort usw.).

grafik

Die Hauptfunktion für den Betrug ist „strictPay_js.action.transfer“, die den Betrug automatisch ausführt. Zuerst ruft es SendPageNode(1) mit dem Argument „1“ auf. Diese Funktion navigiert zur Pix-Seite in der Bankanwendung. Die nächste Funktion ist sendBalance(), die aus drei Unterfunktionen besteht:

  • inputPix() : Gibt die Pix-Details zur Ausführung der Pix-Geldüberweisung ein
  • continue2Password() : Die Malware gibt die Anmeldeinformationen des gestohlenen Opfers ein
  • waitUntilPassword() : Wartet, bis die Pix-Geldüberweisung abgeschlossen ist, und bestätigt, dass sie erfolgreich ausgeführt wurde

Die gleiche Technik wird von PixPirate für den zweiten Pix-Angriffsmodus verwendet, bei dem die Operationen des Opfers abgefangen und die Pix-Details geändert werden, während das Opfer das Geld überweist, ohne dass das Opfer davon weiß. PixPirate kann sowohl das Zielkonto als auch den Pix-Transaktionsbetrag manipulieren.
Wenn 2FA im Rahmen des Banking-Ablaufs erforderlich ist, kann die Malware auch SMS-Nachrichten abfangen, die der Benutzer von der Bank erhält.

Automatische Betrugsfunktionen:

PixPirate-Betrug erfolgt automatisch, da diese Malware Code für alle verschiedenen Aktivitäten enthält, die zur Durchführung des Pix-Betrugs erforderlich sind: Anmelden, Pix-Daten eingeben, Anmeldeinformationen eingeben, bestätigen und mehr. PixPirate ist nicht nur ein automatisiertes Angriffstool, sondern kann auch zu einem manuell betriebenen, ferngesteuerten Angriffstool werden. Diese Funktion wird wahrscheinlich implementiert, um Betrug manuell auszuführen, wenn die automatischen Betrugsausführungsabläufe fehlschlagen, weil sich die Benutzeroberfläche der Banking-App ändert oder wenn sich ein neues lukratives Ziel bietet.
Der manuelle Betrug wird durch das Einblenden eines Overlay-Bildschirms auf dem Gerät des Opfers und die Deaktivierung der Benutzerkontrolle auf dem infizierten Gerät eingeleitet, um die Aktivitäten des Betrügers im Hintergrund zu verbergen. Als nächstes verbindet sich die Schadsoftware mit dem C2 und empfängt vom Betrüger Befehle zur Ausführung. Diese Fernsteuerungsfunktion gibt dem Betrüger die Kontrolle über das Gerät des Opfers, einschließlich des Zugriffs auf private Informationen und der Manipulation von Anwendungen auf dem Gerät des Opfers.