Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk CERT OPL Autorzy: Iwo Graj, Marcin Ressel Warszawa, 2014-08-01 CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 1 z 16
Spis treści Wstęp 3 Analiza statyczna malware.............2-6 Analiza dynamiczna malware.........7-14 Reverse engineering malware...15 Podsumowanie...16 CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 2 z 16
Wstęp Pod koniec lipca br. roku do wielu użytkowników zaczęły być rozsyłane fałszywe wiadomości e-mail, sugerujące, iż pochodzą od producenta oprogramowania antywirusowego, Kaspersky Lab (szczegóły na stronie http://www.kaspersky.pl/about.html?s=news_warnings&cat=4&newsid=2292): Nakłaniały one użytkownika do pobrania pliku w postaci aplikacji na telefony z systemem operacyjnym Android, zainfekowanego złośliwym kodem. Charakterystyka zainfekowanego pliku Kaspersky_Mobile_Security.apk: Nazwa pliku: Kaspersky_Mobile_Security.apk Suma kontrolna MD5: 6df6553b115d9ed837161a9e67146ecf Suma kontrolna SHA-1: 489eb873944bccc66b33c3d7fe21c6ed9577cffd Rozmiar pliku: 135.725 Bytes Ocena złośliwości kodu: 10/10 CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 3 z 16
Analiza statyczna malware. Po wstępnej analizie raportu malware'a w izolowanym środowisku, określono, iż komunikuje się on z centrum Command and Control, znajdującym się pod adresem http://winrar.nstrefa.pl/path/, gdzie wysyła informacje wrażliwe, dotyczące posiadacza zainfekowanego urządzenia, takie jak: ostatnie połączenia, zawartość skrzynek, etc. Używa usług: Malware wykorzystuje wiele wywołań funkcjonalności oprogramowania, między innymi: com.zero1.sandrorat.gpslocation com.zero1.sandrorat.toaster Broadcast Receivers: com.zero1.sandrorat.connector intent-filter action: android.net.conn.connectivity_change Podnosi uprawnienia: android.permission.read_sms android.permission.receive_sms android.permission.internet android.permission.record_audio android.permission.read_external_storage android.permission.write_external_storage android.permission.access_wifi_state android.permission.read_phone_state android.permission.write_sms android.permission.access_fine_location android.permission.access_coarse_location android.permission.access_network_state android.permission.camera android.permission.write_contacts android.permission.read_contacts android.permission.send_sms android.permission.read_call_logandroid.permission.write_call_log android.permission.get_accounts com.android.browser.permission.read_history_bookmarks android.permission.receive_boot_completed android.permission.wake_lock android.permission.call_phone CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 4 z 16
Używa uprawnień dostępowych do: android.permission.access_fine_location "Lcom/zero1/sandrorat/af/a()[B" calls "Landroid/location/LocationManager/getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;" android.permission.access_fine_location "Lcom/zero1/sandrorat/af/a()[B" calls "Landroid/location/LocationManager/getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;" android.permission.send_sms "Lcom/zero1/sandrorat/ar/a()[B" calls "Landroid/telephony/SmsManager/getDefault()Landroid/telephony/SmsManager;" "Lcom/zero1/sandrorat/ar/a()[B" calls "Landroid/telephony/SmsManager/sendMultipartTextMessage(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V" android.permission.read_contacts "Lcom/zero1/sandrorat/h/a()V" calls "Landroid/provider/ContactsContract$CommonDataKinds$Phone/Landroid/net/Uri;CONTENT_URI" android.permission.access_network_state "Lcom/zero1/sandrorat/Connector/a()Z" calls "Landroid/net/ConnectivityManager/getActiveNetworkInfo()Landroid/net/NetworkInfo;" android.permission.wake_lock "Lcom/zero1/sandrorat/Controller/onStartCommand(Landroid/content/Intent; I I)I" calls "Landroid/os/PowerManager/newWakeLock(I Ljava/lang/String;)Landroid/os/PowerManager$WakeLock;" "Lcom/zero1/sandrorat/Controller/onStartCommand(Landroid/content/Intent; I I) I" calls "Landroid/os/PowerManager$WakeLock/acquire()V" android.permission.record_audio "Lcom/zero1/sandrorat/aj/a()[B" calls "Landroid/media/MediaRecorder/setAudioSource(I)V" "Lcom/zero1/sandrorat/al/a()[B" calls "Landroid/media/MediaRecorder/setAudioSource(I)V" "Lcom/zero1/sandrorat/d/a(Ljava/io/File;)V" calls "Landroid/media/MediaRecorder/setAudioSource(I)V" CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 5 z 16
android.permission.read_phone_state "Lcom/zero1/sandrorat/d/onReceive(Landroid/content/Context; Landroid/content/Intent;)V" calls Landroid/telephony/TelephonyManager/listen(Landroid/telephony/PhoneStateListener; I)V" android.permission.internet "Lcom/zero1/sandrorat/ax/a()[B" calls "Ljava/net/URL/openConnection()Ljava/net/URLConnection;" "Lcom/zero1/sandrorat/n/run()V" calls "Ljava/net/URL/openConnection()Ljava/net/URLConnection;" "Lcom/zero1/sandrorat/ab/a()[B" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/ae/a()[B" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/ao/run()V" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/l/run()V" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/m/run()V" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/n/run()V" calls "Lorg/apache/http/impl/client/DefaultHttpClient/<init>()V" "Lcom/zero1/sandrorat/ak/run()V" calls "Ljava/net/Socket/<init>(Ljava/lang/String; I)V" "Lcom/zero1/sandrorat/ax/a()[B" calls "Ljava/net/HttpURLConnection/connect()V" android.permission.write_history_bookmarks "Lcom/zero1/sandrorat/b/a()V" calls "Landroid/provider/Browser/Landroid/net/Uri;BOOKMARKS_URI" android.permission.get_accounts "Lcom/zero1/sandrorat/a/a(Landroid/accounts/AccountManager;)Landroid/accounts/Account;" calls Landroid/accounts/AccountManager/getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;" Używa takich funkcjonalności, jak: dostęp do kontroli nad aparatem, lokalizatorem GPS, mikrofonem, komunikacją sieciową: android.hardware.camera ndroid.hardware.camera.autofocus ndroid.hardware.camera.flash ndroid.hardware.location ndroid.hardware.location.gps ndroid.hardware.location.network ndroid.hardware.microphone ndroid.hardware.wifi ndroid.hardware.telephony ndroid.hardware.touchscreen CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 6 z 16
Analiza dynamiczna malware. Poniżej schemat działania malware'u w zainfekowanym środowisku systemu Android oraz operacje, jakich dokonuje w systemie na plikach: Operacje odczytu: /data/data/com.android.music/shared_prefs/music.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <string name="queue"></string> <int name="curpos" value="-1" /> <int name="cardid" value="-1" /> <int name="shufflemode" value="0" /> <int name="repeatmode" value="0" /> </map> /data/data/com.android.mms/shared_prefs/_has_set_default_values.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <boolean name="_has_set_default_values" value="true" /> </map> /data/data/com.android.mms/shared_prefs/com.android.mms_preferences.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <string name="pref_key_ringtone">content://settings/system/notification_sound</string> <boolean name="pref_key_auto_delete" value="true" /> <boolean name="checked_message_limits" value="true" /> <boolean name="pref_key_mms_auto_retrieval" value="true" /> <string name="pref_key_vibratewhen">never</string> <boolean name="pref_key_enable_notifications" value="true" /> </map> /data/data/com.google.android.gsf/shared_prefs/checkinservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="checkintask_securitytoken" value="9194299892783409716" /> <string name="checkinservice_lastsim">89014103211118510720 310005123456789</string> <long name="operationscheduler_lastsuccesstimemillis" value="1356706751230" /> <long name="checkintask_bookmark" value="1356706666461" /> <string name="checkinservice_lastbuild">generic/generic/generic:2.3.4/grj22/eng.weixi.20121221.112442:eng/t est-keys unknown unknown</string> <boolean name="operationscheduler_enabledstate" value="true" /> </map> /data/data/com.google.android.gsf/shared_prefs/eventlogservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="lastlog" value="1357824995245" /> <long name="lastdata" value="1357824981503" /> <long name="operationscheduler_lastsuccesstimemillis" value="1357824988868" /> </map> /data/data/com.google.android.gsf/shared_prefs/update.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <int name="status" value="0" /> <long name="provisioned" value="1355838786704" /> </map> /data/data/com.android.deskclock/shared_prefs/alarmclock.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map /> /data/data/com.google.android.partnersetup/shared_prefs/applicationhidingpreferen ces.xml CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 7 z 16
<?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <int name="hiding_run_count" value="19" /> </map> /data/data/com.google.android.apps.maps/files/data_preferences..experiments. TRAFFIC_ON. SessionID...c...^...LastSessionTime..;...U...?.RemoteStringsVersionPref_en" en/strings_remote_1187122833.dat.map info...b]...ga...t_and_c_accept...whatsnew...wifi_crippled_pref. HttpWorks..Cohort..515 UserAgentPref...Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; generic Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1.IS_COMING_FROM_SETTINGS_PAGE...ContentAdCookie..GMM_- 755529417335347886.CurrentAccountName..andrubis01@gmail.com.LAST_VERSION..5.0.0.LBS_CRIPPLED _PREF. Operacje modyfikacji oraz zapisu: /data/data/com.google.android.partnersetup/shared_prefs/applicationhidingpreferen ces.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <int name="hiding_run_count" value="20" /> </map> /data/data/com.google.android.partnersetup/shared_prefs/applicationhidingpreferen ces.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <int name="hiding_run_count" value="21" /> </map> /data/data/com.google.android.gsf/shared_prefs/eventlogservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="lastdata" value="1357824981503" /> <long name="lastlog" value="1357825728383" /> <long name="operationscheduler_lastsuccesstimemillis" value="1357824988868" /> </map> /data/data/com.google.android.gsf/shared_prefs/eventlogservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="lastdata" value="1406882445667" /> <long name="lastlog" value="1406882445667" /> <long name="operationscheduler_lastsuccesstimemillis" value="1357824988868" /> </map> /data/data/com.google.android.gsf/shared_prefs/eventlogservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="lastdata" value="1406882445667" /> <long name="lastlog" value="1406882445667" /> <long name="operationscheduler_lastsuccesstimemillis" value="1406882446000" /> </map> /data/data/com.google.android.gsf/app_sslcache/android.clients.google.com.443...0... -...:...JBDN...$......].}...0G...A...=...M...fH...y...u[...j...q...s...w...S...R...,...C0...?0...'...f.....0. *...H......0I1.0..U...US1.0...U.. Google Inc1%0#..U...Google Internet Authority G20.. 140716115609Z. 141014000000Z0f1.0..U...US1.0...U... California1.0...U... Mountain View1.0...U.. Google Inc1.0...U...*.google.com0..."0. *...H......0......@Y...iU...L...S`Dc...2...]...$e{...j...-..l.*[e@s...C.z...D<5..Tj...kgB..._...s...^...KA!0Xq&.Wq...76...R...C3...j7...t@..._...J...'...]R...Q...06...*...F... }e...o{2*^$] ~...G.4...g?#...q...x...w...j...)0...e...X...}RI..$]...Y.R...N...]:......N7...b...0...0...U.%..0...+...+...0...U...0...*.google.com... CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 8 z 16
*.android.com...*.appengine.google.com...*.cloud.google.com...*.googleanalytics.com...*.google.ca...*.google.cl...*.google.co.in...*.google.co.jp...*.google.co.uk...*.google.com.ar...*.google.com.au...*.google.com.br...*.google.com.co...*.google.com.mx...*.google.com.tr...*.google.com.vn...*.google.de...*.google.es...*.google.fr....*.google.hu...*.google.it...*.google.nl...*.google.pl...*.google.pt...*.googleapis.cn...*.googlecommerce.com...*.googlevideo.co m... *.gstatic.com... *.gvt1.com...*.urchin.com...*.url.google.com...*.youtube-nocookie.com... *.youtube.com...*.youtubeeducation.com...*.ytimg.com...android.com...g.co...goo.gl...google-analytics.com... google.com...googlecommerce.com... urchin.com...youtu.be...youtube.com...youtubeeducation.com0h..+...0z0+..+...0...http://pki.google.com/giag2.crt0+..+...0...http://clients1.google.com/ocsp0...u...>w...ok...0...u...00...u.#..0...j...h...v...b...z.../0...u...0.0.. +...y...00..u...)0'0%...#...!...http://pki.google.com/giag2.crl0. *...H......"w...=...]...fgW&...=...X...E`.b...8...1...m...V.h.k...@po...x...Y...rT...O...,...:.Hr......6...l...R...`.C}...(...%@ly}...#...t...1_p:..]....N...)...wnS...i...z...t...H...c.....9...?U...X...3...R...7...o.EZ...&...}R...)...w... c8...:...rp...2^[...c0...?0...'...f...0. *...H......0I1.0..U...US1.0...U.. Google Inc1%0#..U...Google Internet Authority G20.. 140716115609Z. 141014000000Z0f1.0..U...US1.0...U... California1.0...U... Mountain View1.0...U.. Google Inc1.0...U...*.google.com0..."0. *...H......0......@Y...iU...L...S`Dc...2...]...$e{...j...-..l.*[e@s...C.z...D<5..Tj...kgB..._...s...^...KA!0Xq&.Wq...76...R...C3...j7...t@..._...J...'...]R...Q...06...*...F... }e...o{2*^$] ~...G.4...g?#...q...x...w...j...)0...e...X...}RI..$]...Y.R...N...]:......N7...b...0...0...U.%..0...+...+...0...U...0...*.google.com... *.android.com...*.appengine.google.com...*.cloud.google.com...*.googleanalytics.com...*.google.ca...*.google.cl...*.google.co.in...*.google.co.jp...*.google.co.uk...*.google.com.ar...*.google.com.au...*.google.com.br...*.google.com.co...*.google.com.mx...*.google.com.tr...*.google.com.vn...*.google.de...*.google.es...*.google.fr....*.google.hu...*.google.it...*.google.nl...*.google.pl...*.google.pt...*.googleapis.cn...*.googlecommerce.com...*.googlevideo.co m... *.gstatic.com... *.gvt1.com...*.urchin.com...*.url.google.com...*.youtube-nocookie.com... *.youtube.com...*.youtubeeducation.com...*.ytimg.com...android.com...g.co...goo.gl...google-analytics.com... google.com...googlecommerce.com... urchin.com...youtu.be...youtube.com...youtubeeducation.com0h..+...0z0+..+...0...http://pki.google.com/giag2.crt0+..+...0...http://clients1.google.com/ocsp0...u...>w...ok...0...u...00...u.#..0...j...h...v...b...z.../0...u...0.0.. +...y...00..u...)0'0%...#...!...http://pki.google.com/giag2.crl0. *...H......"w...=...]...fgW&...=...X...E`.b...8...1...m...V.h.k...@po...x...Y...rT...O...,...:.Hr......6...l...R...`.C}...(...%@ly}...#...t...1_p:..]....N...)...wnS...i...z...t...H...c.....9...?U...X...3...R...7...o.EZ...&...}R...)...w... c8...:...rp...2^[...0...0...:i0. *. /data/data/com.google.android.gsf/shared_prefs/checkinservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="checkintask_securitytoken" value="9194299892783409716" /> <string name="checkinservice_lastsim">89014103211118510720 310005123456789</string> <long name="operationscheduler_lastsuccesstimemillis" value="1356706751230" /> <boolean name="operationscheduler_enabledstate" value="true" /> <string name="checkinservice_lastbuild">generic/generic/generic:2.3.4/grj22/eng.weixi.20121221.112442:eng/t est-keys unknown unknown</string> <long name="checkintask_bookmark" value="1357825715299" /> </map> /data/data/com.google.android.partnersetup/shared_prefs/applicationhidingpreferen ces.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <int name="hiding_run_count" value="22" /> </map> /data/data/com.google.android.gsf/shared_prefs/checkinservice.xml <?xml version='1.0' encoding='utf-8' standalone='yes'?> <map> <long name="checkintask_securitytoken" value="9194299892783409716" /> <string name="checkinservice_lastsim">89014103211118510720 310005123456789</string> <long name="operationscheduler_lastsuccesstimemillis" value="1406882452606" /> <boolean name="operationscheduler_enabledstate" value="true" /> <string name="checkinservice_lastbuild">generic/generic/generic:2.3.4/grj22/eng.weixi.20121221.112442:eng/t est-keys unknown unknown</string> <long name="checkintask_bookmark" value="1357825715299" /> </map> CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 9 z 16
Poniżej komunikacja sieciowa zarażonego telefonu z Command & Control. Jak widać, całość ruchu ma miejsce na porcie 80 przy użyciu metodu POST. Po połączeniu się z Command & Control zapisywane są informacje pobrane z zainfekowanego urządzenia: cl3.netmark.pl 80 CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 10 z 16
open muc03s13-in-f2.1e100.net 443 muc03s13-in-f2.1e100.net 80 HTTP/1.1 200 OK Content-Type: application/x-protobuffer; charset=utf-8 Date: Fri, 01 Aug 2014 08:40:45 GMT Expires: Fri, 01 Aug 2014 08:40:45 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Server: GSE Alternate-Protocol: CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 11 z 16
80:quic Transfer-Encoding: chunked 9...( 0 open muc03s13-in-f2.1e100.net 80 muc03s13-in-f2.1e100.net 80 POST /checkin HTTP/1.1 Content-type: application/x-protobuffer Content-Length: 2 Host: android.clients.google.com Connection: Keep-Alive User-Agent: Android-Checkin/2.0 (generic GRJ22); gzip Usługi jakie były uruchomione podczas analizowania malware w systemie Android: com.android.vending.util.workservice com.android.vending.util.workservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.music.mediaplaybackservice com.android.mms.transaction.smsreceiverservice com.android.mms.transaction.smsreceiverservice com.android.email.service.emailbroadcastprocessorservice com.android.email.service.emailbroadcastprocessorservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.update.systemupdateservice com.google.android.gsf.update.systemupdateservice com.android.exchange.syncmanager com.google.android.partnersetup.apphiderservice com.google.android.partnersetup.apphiderservice com.android.providers.downloads.downloadservice com.android.providers.downloads.downloadservice com.android.mms.transaction.smsreceiverservice com.android.mms.transaction.smsreceiverservice com.android.providers.media.mediascannerservice com.android.providers.media.mediascannerservice com.android.vending.util.alarmservice com.android.vending.util.alarmservice com.android.providers.calendar.emptyservice com.android.bluetooth.opp.bluetoothoppservicecom.android.bluetooth.opp.bluetoothoppservice com.google.android.gm.mailintentservice com.google.android.gm.mailintentservice com.google.android.gm.downloadprovider.downloadservice com.google.android.gm.downloadprovider.downloadservice CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 12 z 16
com.google.android.gsf.checkin.checkinservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.update.systemupdateservice com.google.android.gsf.update.systemupdateservice com.google.android.partnersetup.apphiderservice com.google.android.partnersetup.apphiderservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.checkin.eventlogservice com.google.android.gsf.checkin.eventlogservice com.android.providers.calendar.emptyservice com.google.android.gsf.checkin.eventlogservice com.google.android.gsf.checkin.eventlogservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.checkin.checkinservice com.google.android.gsf.update.systemupdateservice com.google.android.gsf.update.systemupdateservice com.google.android.partnersetup.apphiderservice com.google.android.partnersetup.apphiderservice Poniżej przedstawiona została komunikacja HTTP między zainfekowanym urządzenie a Command & Control znajdującym się pod adresem winrar.nstrefa.pl: From RE-ANDROID:46803 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:56199 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:46890 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:36846 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:55325 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:49326 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:52665 to 176.119.34.38:80 [winrar.nstrefa.pl] CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 13 z 16
From RE-ANDROID:49575 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:58633 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:51601 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:47649 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:47476 to 176.119.34.38:80 [winrar.nstrefa.pl] From RE-ANDROID:48995 to 176.119.34.38:80 [winrar.nstrefa.pl] Response: 200 "OK" From RE-ANDROID:51486 to 176.119.34.38:80 [winrar.nstrefa.pl] Zrzut ekranowy aplikacji z malware'em zachęcającym do jego instalacji: CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 14 z 16
Reverse enginering Po zdekompilowaniu kodu malware'u, w jednej ze zdefiniowanych struktur com.zero1.sandrorat w klasie o nazwie am.class znajduje się również domena o nazwie winrar.ddns.net z Command & Control public class am { protected static String a = "winrar.ddns.net"; protected static int b = 1800; protected static String c = "http://winrar.nstrefa.pl/path/"; } CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 15 z 16
Podsumowanie Malware Kaspersky_Mobile_Security.apk jest kolejną mutacją znanego malware'u o nazwie SandroRAT, wykradającą z urządzenia z systemem Android poufne informacje, takie jak: - wiadomości SMS - lokalizację GPS - listę kontaktów - listę połączeń telefonicznych - połączenia telefoniczne (możliwość przechwytywania w czasie rzeczywistym i zapisu do pliku) Analizowany malware daje atakującemu możliwość instalowania dodatkowych modułów złośliwego oprogramowania, posiada także funkcje aktualizacji. Umożliwia dostęp atakującemu do kamery w urządzeniu mobilnym, a także do sieci, z którymi łączy się użytkownik, wysyłania przez atakującego wiadomości multimedialnych do telefonu użytkownika, a także dostęp do mikrofonu za pomocą którego może rejestrować dźwięki z otoczenia ofiary. Zainfekowanie urządzenia mobilnego analizowany malware em daje możliwość przejęcia całkowitej kontroli nad urządzeniem i wykorzystania go do działań przestępczych, a także kradzieży informacji dostępowych np. do kont bankowych lub skrzynek pocztowych użytkownika. Malware działa i funkcjonuje jak normalny Trojan a jego klasyfikacja to RAT REMOTE ACCESS TROJAN, która zapewnia pełną kontrolę i dostęp atakującemu do telefonu ofiary. CERT OPL Malware Mobile Analysis Autorzy: Iwo Graj, Marcin Ressel Strona 16 z 16