McAfee Labssecurite informatique

Fakecalls Android Malware Abuses Legitimate Signing Key

Authored by Dexter Shin 

McAfee Mobile Research Team found an Android banking trojan signed with a key used by legitimate apps in South Korea last year. By design, Android requires that all applications must be signed with a key, in other words a keystore, so they can be installed or updated. Because this key can only be used by the developer who created it, an application signed with the same key is assumed to belong to the same developer. That is the case of this Android banking trojan that uses this legitimate signing key to bypass signature-based detection techniques. And these banking trojans weren’t distributed on Google Play or official app stores until now. This threat had been disclosed to the company that owns the legitimate key last year and the company has taken precautions. The company has confirmed that they have replaced the signing key and currently, all their legitimate apps are signed with a new signing key. 

Android malware using a legitimate signing key 

While tracking the Android banking trojan Fakecalls we found a sample using the same signing key as a wellknown app in Korea. This app is developed by a reputable IT services company with extensive businesses across various sectors, including but not limited to IT, gaming, payment, and advertising. We confirmed that most of the malicious samples using this key pretend to be a banking app as they use the same icon as the real banking apps. 

Figure 1. Malware and legitimate app on Google Play 

Distribution method and latest status 

Domains verified last August when we first discovered the samples are now down. However, we investigated URLs related to this malware and we found similar ones related to this threat. Among them, we identified a phishing site that is still alive during our research. The site is also disguised as a banking site. 

Figure 2. A phishing page disguised as a Korean banking site 

We also found that they updated the domain information of this web page a few days before our investigation. 

So we took a deeper look into this domain and we found additional unusual IP addresses that led us to the Command and control(C2) server admin pages used by the cybercriminals to control the infected devices. 

 

Figure 3. Fakecalls Command and control(C2) admin pages 

How does it work 

When we check the APK file structure, we can see that this malware uses a packer to avoid analysis and detection. The malicious code is encrypted in one of the files below. 

Figure 4. Tencent’s Legu Packer libraries 

After decrypting the DEX file, we found some unusual functionality. The code below gets the Android package information from a file with a HTML extension. 

 Figure 5. Questionable code in the decrypted DEX file 

This file is in fact another APK (Android Application) rather than a traditional HTML file designed to be displayed in a web browser. 

Figure 6. APK file disguised as an HTML file 

When the user launches the malware, it immediately asks for permission to install another app. Then it tries to install an application stored in the assets directory as introduction.html”. Theintroduction.html” is an APK file and real malicious behavior happens here. 

Figure 7. Dropper asks you to install the main payload 

When the dropped payload is about to be installed, it asks for several permissions to access sensitive personal information. 

Figure 8. Permissions required by the main malicious application 

It also registers several services and receivers to control notifications from the device and to receive commands from a remote Command and Control server. 

 Figure 9. Services and receivers registered by the main payload

By contrast, the malware uses a legitimate push SDK to receive commands from a remote server. Here are the complete list of commands and their purpose. 

 

Command name  Purpose 
note  sms message upload 
incoming_transfer  caller number upload 
del_phone_record  delete call log 
zhuanyi  set call forwarding with parameter 
clear_note  delete sms message 
assign_zhuanyi  set call forwarding 
file  file upload 
lanjie  block sms message from specified numbers 
allfiles  find all possible files and upload them 
email_send  send email 
record_telephone  call recording on 
inout  re-mapping on C2 server 
blacklist  register as blacklist 
listener_num  no function 
no_listener_num  disable monitoring a specific number 
rebuild  reset and reconnect with C2 
deleteFile  delete file 
num_address_list  contacts upload 
addContact  add contacts 
all_address_list  call record upload 
deleteContact  delete contacts 
note_intercept  intercept sms message from specified numbers 
intercept_all_phone  intercept sms message from all 
clear_date  delete all file 
clear_phone_contact  delete all contacts 
clear_phone_record  delete all call log 
per_note  quick sms message upload 
soft_name  app name upload 

 

Cybercriminals are constantly evolving and using new ways to bypass security checks, such as abusing legitimate signing keys. Fortunately, there was no damage to users due to this signing key leak. However, we recommend that users install security software on their devices to respond to these threats. Also, users are recommended to download and use apps from the official app stores. 

McAfee Mobile Security detects this threat as Android/Banker regardless of the application, is signed with the previously legitimate signing key. 

 

Indicators of Compromise 

 

SHA256  Name  Type 
7f4670ae852ec26f890129a4a3d3e95c079f2f289e16f1aa089c86ea7077b3d8  신한신청서  Dropper 
9e7c9b04afe839d1b7d7959ad0092524fd4c6b67d1b6e5c2cb07bb67b8465eda  신한신청서  Dropper 
21ec124012faad074ee1881236c6cde7691e3932276af9d59259df707c68f9dc  신한신청서  Dropper 
9621d951c8115e1cc4cf7bd1838b8e659c7dea5d338a80e29ca52a8a58812579  신한신청서  Dropper 
60f5deb79791d2e8c2799e9af52adca5df66d1304310d1f185cec9163deb37a2  보안인증서  Banker 
756cffef2dc660a241ed0f52c07134b7ea7419402a89d700dffee4cc6e9d5bb6  보안인증서  Banker 
6634fdaa22db46a6f231c827106485b8572d066498fc0c39bf8e9beb22c028f6  보안인증서  Banker 
52021a13e2cd7bead4f338c8342cc933010478a18dfa4275bf999d2bc777dc6b  보안인증서  Banker 
125772aac026d7783b50a2a7e17e65b9256db5c8585324d34b2e066b13fc9e12  보안인증서  Banker 
a320c0815e09138541e9a03c030f30214c4ebaa9106b25d3a20177b5c0ef38b3  보안인증서  Banker 
c7f32890d6d8c3402601743655f4ac2f7390351046f6d454387c874f5c6fe31f  보안인증서  Banker 
dbc7a29f6e1e91780916be66c5bdaa609371b026d2a8f9a640563b4a47ceaf92  보안인증서  Banker 
e6c74ef62c0e267d1990d8b4d0a620a7d090bfb38545cc966b5ef5fc8731bc24  보안인증서  Banker 

 

Domains: 

  • http[://]o20-app.dark-app.net 
  • http[://]o20.orange-app.today 
  • http[://]orange20.orange-app.today 

The post Fakecalls Android Malware Abuses Legitimate Signing Key appeared first on McAfee Blog.