Die neue Ransomware namens CryCryptor hat kanadische Android-Nutzer im Visier und wird über zwei Websites vertrieben. Dort gibt sie sich als offizielle Corona-Tracing-App des kanadischen Gesundheitsministeriums aus. ESET Forschern gelang es die Ransomware zu analysieren und ein Entschlüsselungswerkzeug für die Opfer bereitzustellen.
CryCryptor tauchte nur wenige Tage nach der offiziellen Ankündigung der kanadischen Regierung auf, die Entwicklung einer landesweiten, freiwilligen Tracing-App mit dem Namen „COVID Alert“ zu unterstützen. Die offizielle App soll bereits im nächsten Monat in der Provinz Ontario getestet werden.
ESET informierte das kanadische Zentrum für Cybersicherheit sofort nach der Entdeckung über diese Bedrohung.
Wenn ein Nutzer CryCryptor zum Opfer fällt, verschlüsselt die Ransomware die Dateien auf dem Gerät – und zwar die meisten gängigen Dateitypen. Doch anstatt das Gerät zu sperren, hinterlässt sie in jedem Verzeichnis mit verschlüsselten Dateien eine ReadMe-Datei mit der E-Mail des Angreifers.Glücklicherweise konnten wir ein Entschlüsselungs-Tool für die Opfer der Ransomware erstellen.
Nachdem wir durch den Tweet eines Sicherheitsforschers auf die Ransomware aufmerksam wurden, analysierten wir die App. Uns fiel auf, dass es sich, anders als vom Entdecker angenommen, nicht um einen Banking Trojaner handelte. Wir entdeckten darin einen Fehler, der als „Unsachgemäßer Export von Android-Komponenten“ bezeichnet wird und als CWE-926 dokumentiert ist.
Aufgrund dieses Fehlers kann jede App, die auf dem betroffenen Gerät installiert ist, jeden exportierten Dienst starten, den die Ransomware bereitstellt. Auf diese Weise konnten wir das Entschlüsselungs-Tool erstellen - eine App, die einfach die Entschlüsselungsfunktion der Ransomware-App nutzt.
Verschlüsselung / Funktion
Nach dem Start der App fordert die Ransomware die Berechtigung für den Dateizugriff auf dem Gerät an. Nach Erhalt dieser Berechtigung werden bestimmte Dateitypen, wie in Abbildung 2 dargestellt, auf den externen Medien verschlüsselt.
Die Dateien werden mit AES mit einem zufällig generierten 16-stelligen Schlüssel verschlüsselt. Nachdem CryCryptor eine Datei verschlüsselt hat, werden drei neue Dateien erstellt und die Originaldatei entfernt.
An die verschlüsselte Datei wird die Dateierweiterung ".enc" angehängt und der Algorithmus generiert für jede verschlüsselte Datei, die mit der Erweiterung ".enc.salt" gespeichert ist, ein eindeutiges Salt und einen Initialisierungsvektor ".enc.iv".
Nachdem alle Zieldateien verschlüsselt wurden, zeigt CryCryptor die Benachrichtigung "Verschlüsselte persönliche Dateien, siehe readme_now.txt" an. Die Datei readme_now.txt wird in jedem Verzeichnis mit verschlüsselten Dateien abgelegt.
Entschlüsselung
Der für die Entschlüsselung von Dateien in CryCryptor verantwortliche Dienst, speichert den Verschlüsselungsschlüssel in den gemeinsamen Einstellungen, sodass er sich nicht an einen Command-and-Control-Server wenden muss, um ihn abzurufen.
Wesentlich ist, dass es aufgrund eines Programmierfehlers (Sicherheitslücke CWE-926) möglich ist die Dienste der App auch von externen Programmen aus zu starten.
Auf dieser Grundlage haben wir eine Android-Entschlüsselungs-App für diejenigen erstellt, die von der CryCryptor-Ransomware betroffen sind. Natürlich funktioniert die Entschlüsselungs-App nur für diese Version von CryCryptor.
Eine neue Ransomware-Familie
Die CryCryptor-Ransomware basiert auf Open Source-Code, der auf GitHub verfügbar ist. Wir haben ihn dort mithilfe einer einfachen Suche, auf Basis des Paketnamens der App und einigen einzigartigen Zeichenfolgen, entdeckt.
Die Entwickler der Open-Source-Ransomware mit dem Namen „CryDroid“ hat offensichtlich gewusst, dass der Code für böswillige Zwecke verwendet werden wird. Um das Projekt als Forschungsprojekt zu tarnen, behaupten sie den Code bei VirusTotal hochgeladen zu haben. Es ist unklar, wer das Sample hochgeladen hat, aber tatsächlich erschien es am selben Tag auf VirusTotal als der Code bei GitHub veröffentlicht wurde.
Wir sind sicher, dass das Projekt nicht Forschungszwecken dient. Kein verantwortlicher Forscher würde ein derartiges Tool, das leicht für böswillige Zwecke missbraucht werden kann, veröffentlichen. Deswegen haben wir auch GitHub über diesen Code informiert.
ESET Produkte bieten Schutz vor CryCryptor-Ransomware und erkennen sie als Trojan.Android/CryCryptor.A.
Grundsätzlich raten wir Android-Nutzern nur Apps aus seriösen Quellen wie dem Google Play Store zu installieren und zudem eine hochwertige mobile Sicherheitslösung auf ihrem Smartphone einzusetzen.
Zeitleiste:
- 11. Juni 2020: Quellcode veröffentlicht - CryDroid v1.1
- 11. Juni 2020: Code wurde auf VirusTotal hochgeladen
- 12. Juni 2020: Die erste bösartige Domain, die die Ransomware-App verteilt hat, wurde registriert
- 18. Juni 2020: Die bösartige App (diese Android-Ransomware) wurde kompiliert (basierend auf ihrem Zertifikat).
- 21. Juni 2020: Die zweite bösartige Domain, die dieses Beispiel verteilt hat, wurde registriert
- 23. Juni 2020: ESET informiert das kanadische Zentrum für Cybersicherheit
- 23. Juni 2020: Die beiden Domänen reagieren nicht mehr
Wir haben ein Video erstellt, das den Prozess der Ver- und Entschlüsselung zusammen mit unserer Erklärung zeigt.
Indicators of Compromise (IoCs)
Package name | Hash | ESET detection name |
---|---|---|
com.crydroid | 322AAB72228B1A9C179696E600C1AF335B376655 | Trojan.Android/CryCryptor.A |
Distribution links
https://covid19tracer[.]ca/
https://tracershield[.]ca/
MITRE ATT&CK techniques
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1476 | Deliver Malicious App via Other Means | The malware is downloaded from a fake website |
Initial Access | T1444 | Masquerade as Legitimate Application | It impersonates COVID-19 tracking app |
Persistence | T1402 | App Auto-Start at Device Boot | It listens for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts |
Impact | T1471 | Data Encrypted for Impact | Encrypts files with particular file extensions found on external media |