Auteur Sujet: [FireEye]The Latest Android Overlay Malware Spreading via SMS Phishing in Europe  (Lu 2948 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne igor51

  • Admin
  • Mega Power Members
  • *****
  • Messages: 10422
The Latest Android Overlay Malware Spreading via SMS Phishing in Europe

[html]
Introduction

 

In April 2016, while investigating a Smishing campaign dubbed   href="https://www.fireeye.com/blog/threat-research/2016/04/rumms-android-malware.html">RuMMS
  that involved the targeting of Android users in Russia, we also
  noticed three similar Smishing campaigns reportedly spreading in   href="http://b0n1.blogspot.com/2016/02/recent-mazarbot-targeting-mobilepay-can.html">Denmark
  (February 2016), in   href="http://b0n1.blogspot.com/2016/02/android-mazarbot-stealing-credit-card.html">Italy
  (February 2016), and in both Denmark and Italy (April 2016).


 

Unlike the RuMMS campaign, these three campaigns in Europe used view
  overlay techniques (the same   href="https://www.fireeye.com/blog/threat-research/2015/12/slembunk_an_evolvin.html">technique
  we described being used by   href="https://www.fireeye.com/blog/threat-research/2016/01/slembunk-part-two.html">SlemBunk
  malware) to present nearly identical credential input UIs as seen in
  benign apps, subsequently tricking unwary users into providing their
  banking credentials.


 

Figure 1 shows the process of how these overlay malware spread via
  Smishing and infect Android users.


 


 


 


  Figure 1. Overview


 

Threat actors typically first setup the command and control (C2)
  servers and malware hosting sites, then put the malware apps on the
  hosting sites and send victims SMS messages with an embedded link that
  leads to the malware app. After landing on the user’s device, the
  malware launches a process to monitor which app is running in the
  foreground on the compromised device. When the user launches a benign
  app into the foreground that the malware is programmed to target (such
  as a banking app), the malware overlays a phishing view on top of the
  benign app. The unwary user, assuming that they are using the benign
  app, will enter the required account credentials, which are then sent
  to remote C2 servers controlled by threat actors.


 

Through our close monitoring of overlay malware spreading via
  Smishing messages, we recently observed that these types of attacks
  did not stop despite publicity from security researchers. Instead, our
  systematic study revealed some interesting and simultaneously worrying findings:


 
  • From February 2016 to June 2016, we observed 55 malicious
        binaries used in a series of Smishing campaigns targeting different
        countries in Europe. All the malware samples use the same view
        overlay technique to phish banking credentials, and all share the
        same C2 communication protocol. Besides the three publicly disclosed
        campaigns in Denmark and Italy, we observed the same
        threats targeting Germany in March 2016 and Austria
        from April 2016 to May 2016. In June 2016, we still see new samples
        emerging and being used to target users in Denmark; a few other
        European countries could be impacted as well.
  • The key
        functions of these samples have been the same; however, over time,
        we noticed that the samples keep evolving in a few different
        directions. For example, later campaigns usually targeted more
          benign apps
    than earlier campaigns, focusing on messaging
        apps, for example, as opposed to banking apps. Also, the malicious
        apps used in later campaigns are often harder to analyze because
          obfuscation techniques were adopted to evade detection. In
        addition, some new functionality was added; in particular, we
        noticed that more recent samples leveraged reflection to bypass the
        SMS writing restriction enforced by the App Ops service (introduced
        in Android 4.3). All of this suggests that threat actors are
          actively improving their code.
  • Unlike the RuMMS
        campaign, which mainly used shared hosting services to distribute
        the malware, the Europe Smishing campaigns show more
        diversity
    in the associated infrastructure, including the use of
        self-registered domains, compromised websites, and URL shortening
        services. Since February 2016, we observed that 27 Bit.ly
        links have been used. In June 2016, we noticed that another three
        URL shorteners, including tr.im, jar.mar and
        is.gd, were adopted in the latest campaign. This suggests
        that threat actors are trying to diversify the URL shorteners to
          avoid detection.
  • In total, we identified 12 C2
        servers
    hosted in five different countries that were
        involved in these campaigns. Among them, the IP address 85.93.5.109
        has been used by 24 malicious apps in two campaigns and 85.93.5.139
        has been used by eight malicious apps. We also observed that four
          C2 servers are within the same 85.93.5.0/24 network segment
    .
        All this suggests that the threat actors have control over
          considerable network resources
    .
  • URL shortening
        services usually provide link analytics services, which
        enables us to collect data on how many users (from which countries)
        clicked particular short links and when it happened. Using these
        services, we found there have been at least 161,349 clicks on
        the 30 short links redirecting to the overlay malware, each of which
        can lead to the infection of one Android device. The date
        information indicated that most of the clicks occurred in the
          first few days after the links were created
    .

 

  Five Europe Smishing Campaigns

 

From February 2016 to April 2016, security researchers reported on
  three campaigns involving Android overlay malware being distributed
  via SMS phishing messages. As described in the reports, those
  campaigns started with SMS phishing messages being sent to a user’s
  phone. An example SMS message in the latest campaign is shown in
  Figure 1. The message roughly translates to, “We could not deliver
  your order. Please check your shipping information here
  hxxp://bit[.]ly/1ZfcNeV”. Users in Denmark and Italy were reported to
  be the primary targets of these three campaigns.


 

Our recent investigation revealed that these activities keep
  developing, with other European countries, including Germany
  and Austria, being impacted as well. We group these activities
  into five campaigns, as shown in Table 1.


 


 


 


 


 


  Table 1. Overview of the five Europe Smishing
    campaigns ordered in the beginning dates


 

(*: First publicized by FireEye researchers)


 

Shortened links were commonly used in the five campaigns. In total,
  we identified 30 short links. Some URL shorteners provide analytics,
  through which anyone can see how many people clicked the link and the
  countries those clicks came from. For example, Figure 2 shows that
  there were 135 clicks from Germany on one of the Whats-Germany
  samples, and 1,633 clicks from Austria on one of the
  Post-Austria samples.


 


 


 


  Figure 2. Analytics pages on one Whats-Germany
    sample and one post-Austria sample


 

  Code Evolution

 

In the aforementioned Smishing campaigns, we observed that the
  malware code has been evolving over time. The malware author(s) seems
  to be working diligently to improve the code by adding new target
  apps, obfuscating the code to evade detection, and trying to bypass
  App Ops restrictions.


 

  Adding New Target Apps

 

All five campaigns attempt to steal credentials from various
  targeted apps. When the malicious app is started, a background service
  is triggered to periodically monitor the apps running in the
  foreground. When the service detects that the foreground app is one of
  its targeted apps, it overlays a carefully designed phishing view on
  top of the target app.


 

Analysis of the malware code shows that this task is executed by a
  method in the main service, named initInjTask in most cases.
  Figure 3 shows the code of initInjTask in one of the earliest
  samples of the MPay-Denmark campaign, in which only a localized
  app named   href="http://mobilepay.dk/da-dk/Pages/The-story-in-English.aspx">MobilePay
  was targeted.


 


 


 


  Figure 3. MobileBank class to be started
    to overlay app named “dk.danskebank.mobilepay”


 

(code extracted from app with a MD5 of 49dac3b35afb2e8d3605c72d0d83f631)


 

Figure 4 shows the code of initInjTask in one Whats-Italy
 
sample, in which the target was changed to a more widely used app:
  WhatsApp Messenger.


 


 


 


  Figure 4. Cards class to be started to
    overlay app named “com.whatsapp”


 

(code extracted from app with a MD5 of 97c2d04aa0f3c3b446fc228c1dbc4837)


 

Figure 5 shows the code of initInjTask in one
    Whats-Germany sample, in which two apps – WhatsApp and the
  Google Play Store – were targeted.


 


 


 


  Figure 5. Cards class to be started to
    overlay apps WhatsApp and Play Store


 

(code extracted from app with a MD5 of 9e9d9a3717eed4d558a3f5eddb260901)


 

Figure 6 shows the code of initInjTask in one Post-Austria
 
sample (in this case, the malicious app was obfuscated; the code
  was extracted from the dropped jar file). In total, eight worldwide
  popular apps – including Uber and Tencent’s WeChat – were on its radar.


 


 


 


  Figure 6. cqkwjqjtoz class to be started
    to overlay apps 8 popular apps


 

(code extracted from app with a MD5 of d70296d3dc4937dedd44f93bb3b74034)


 

The code examples demonstrate changes in the malware over time.
  Early samples targeted single apps (a localized banking app and
  WhatsApp) while later samples included a broader range of apps,
  suggesting that the threat actors continue to both improve their
  malware and broaden their targeting, presumably for greater financial gain.


 

  Code Obfuscation

 

In earlier campaigns, including MPay-Denmark, Whats-Italy and
  Whats-Germany, most of the malicious apps were not obfuscated and
  experienced reverse engineers can work readily with the disassembled code.


 

Figure 7 shows the manifest file and code structures for these
  earlier samples. With these two pieces of information, we see that
  three receivers are registered for various purposes: to handle
  incoming SMS messages; to request device-admin privileges; and to
  start the app at booting time and handle two application-specific
  events. There are also two services designed to be running in the
  background and four activities meant to interact with users. With this
  basic information at hand, adept malware analysts can readily figure
  out the role played by each part of the code and further understand
  how these pieces work together to achieve the malware’s goal.


 


 


 


  Figure 7. Code structure and manifest file of
    earlier un-obfuscated code


 

Since April 2016, we observed that all the samples in our dataset
  had adopted obfuscation techniques. With the obfuscation, the manifest
  file became harder to read and the code structure looked totally different.


 

Figure 8 presents one sample in the PostDanmark campaign. The
  code structure on the left shows that there are five classes named
  “a”, “b”, “c”, “d” and “mrtbeig”
  with a same package name of “com.atrdectn.ioitsrc”. At the
  right side, the manifest file shows there are four receivers, seven
  services and four activities declared, with a different package name
  of “com.lpygioep.tjzcverotl”. So where is the code of these
  declared classes? What are the purposes of these classes named at
  left? Here the code is much more complex to analyze.


 


 


 


  Figure 8. Code structure and manifest file of
    later obfuscated code


 

Deeper investigation showed that these classes defined on the left
  side compose the real payload and overlay the phishing view on top of
  the eight popular benign apps. Their code is in fact hidden in the
  asset file named mptxip.dat, which was encoded in a special
  manner beforehand.


 

The classes at the left side are actually unpacking code to decode
  the asset file, to load the real payload at runtime, and leverage
  reflection to execute the malicious code in the payload. This process
  is usually much more complex, and involves a round of static analysis
  first to understand what is in the code, then dynamic analysis to
  recover the real payload, and then both analyses to understand the
  real payload. Antivirus vendors often have difficulty identifying such
  threats. As of June 8, 2016, only 6 out of 54 anti-virus tools labeled
  these samples as malicious.


 
Bypassing App Ops Restriction

 

Android uses app permissions to restrict the set of sensitive
  actions a particular app can take. With earlier versions of the
  Android operating system, when an app is installed, the user is
  prompted to agree to the permissions the app requests. If the user
  declines, then the app isn’t installed – it is an all or nothing
  situation. App Ops is a service framework introduced in Android 4.3
  that allows the permissions of individual apps to be changed at
  runtime. With App Ops, users can disallow some permission requests at
  runtime. Interestingly, we observed that, starting from the
  Whats-Italy campaign, the overlay malware began to adopt some
  code to bypass these runtime restrictions.


 

Figure 10 shows a code snippet in the class MainService,
  called by the launcher activity at app start time. It checks whether
  the build version of the device is 19 (Android 4.4) and whether the
  WRITE_SMS ops are disabled. If both conditions are true, the malware
  will call the method setWriteEnabled of class SmsWriteOpUtil
 
(at line 93) to re-enable the permission of writing SMS.


 


 


 


  Figure 9. Code to check and re-enable the
    permission of writing SMS


 

Figure 10 shows the major code of SmsWriteOpUtil to re-enable
  the SMS writing permission. At line 60, a handle to the system service
  App Ops is fetched. At line 61, reflection is used to get access to
  the particular class. At line 64 and 65, the reflection methods
  getMethod and invoke are used to call a method named
  setMode. These API methods are usually designed for use by
  other framework code or pre-installed apps. However, in this case
  threat actors use reflection to bypass the App Ops restriction.


 


 


 


  Figure 10. Code using reflection to call App Ops
    service and to enable writing SMS


 
Hosting Sites

 

To execute Smishing campaigns, threat actors first have to determine
  where to host their malware. Shared hosting services were used heavily
  in the RuMMS campaign, but the threat actors in these five campaigns
  varied it up a bit by using self-registered domains, URL shorteners,
  and compromised websites.


 
Self-Registered Domains

 

In our investigation, we noticed that some of the URL domains were
  registered a few days before malware was hosted on the sites. Also, we
  found no other services were provided on these domains. These facts
  lead us to believe that those sites were registered specifically for
  the Smishing campaigns.


 

To lure victim users to clicks these links, the domain names were
  often carefully crafted for a particular campaign. For example, in the
  earlier MPay-Denmark campaign, threat actors used the Danish postal
  service provider as a theme and the Smishing messages came as: “You
  received an MMS from XXX. Follow hxxp://mms4you[.]us/mms.apk to view
  the message.” Thus, many of the domains included the words “mms”
  and/or “you”, such as mmsforyou.pw, mmsservice.pw and
  mmstildig.net (“til dig” is “for you” in Danish).


 

In the later PostDanmark campaign, the Smishing messages came
  as: “Your package is available for pick up. Follow
  hxxp://postdanmark[.]org/post.apk to see all the information on your
  package:” Thus, many URL domains had the words “post” and/or “danmark”
  present, such as postdanmark.net, postdanmark.online,
  postdanmark.menu and postdanmarks.com. Note that the
  official website for Post Danmark is “www.postdanmark.dk”, so all
  these phishing URLs were actually mimicking the official website for
  Post Danmark.


 
Shortened URLs

 

A small screen size makes shortened URLs perfect for mobile devices.
  Threat actors seem to understand this, and will leverage it for their
  own gain. While monitoring these five Smishing campaigns in Europe, we
  observed shortened URLs being used frequently. In total, we observed
  four different URL shorteners were used at least once, including
  bit.ly, tr.im, is.gd and jar.ma.


 

Of the four, bit.ly has been the most commonly used URL
  shortener. In total, we identified 27 bit.ly links were used
  from February 2016 to June 2016. The other three URL shorteners were
  not observed until June 2016, and only one was used for each service.
  Diversifying URL shorteners suggests that the threat actors are trying
  to avoid detection.


 
Compromised Websites

 

It is costly to use self-registered domains to host malware. More
  capable threat actors might choose to use compromised websites for the
  same purpose. Despite the risk of the victim site detecting the
  compromise and removing the malware, this method can be effective: the
  compromise is often not noticed until some time later, and the number
  of victim clicks is usually highest at the start of a campaign and
  decays a few days after the malware goes online.


 

While monitoring the five Smishing campaigns, we observed
  compromised websites were used frequently. For example, the analytics
  page for the shortened URL hxxps://bitly[.]com/1qRey7a+ shows
  that on April 13, 2016, website kgiexport.com was hosting an Android
  app with the file named post.apk.


 
How Many Clicks?

 

Two of the four URL shorteners, bit.ly and tr.im,
  provide analytics pages for each short URL created. Figure 2 showed
  analytics pages provided by bit.ly. Figure 13 shows a screenshot of
  the analytics page provided by tr.im. From these pages, we can collect
  data on how many people clicked the shortened URL at particular dates,
  and also the countries these clicks came from.


 


 


 


  Figure 11. Analytics page provided by tr.im


 

Table 2 shows relevant information on the 28 short URLs we monitored.


 


 


 


  Table 2. Click counts on each short URL


 

In total, the 28 short links were clicked 161,349 times. Of these
  clicks, 130,636 were from the PostDanmark campaign, which shows that
  phishing messages claiming to be from the post office can be
  effective. We also noticed the number of clicks decayed a few days
  after these short links were created. For example, there were 96,631
  clicks (67.06%) on the first day after short links were created, and
  there were 30,749 clicks (21.33%) on the second day after short links
  were created. These clicks come primarily from two countries: Denmark
  (88.66%) and Austria (5.30%). A handful of other countries might be
  impacted as well, including Germany, Luxembourg, Spain, Sweden,
  Norway, United Kingdom, Netherlands, Italy, Greece, and Turkey.


Tags: