Android/DroidKungFu.E!tr - Released Oct 25, 2011
|
Alias/esAndroid/LeNa.A!tr |
Detection Availability
|
Visible SymptomsAbnormally high bill due to connecting to Internet.
Additional (malicious) packages are installed without the owner's consent.
|
Detailed AnalysisAndroid/DroidKungFu.E!tr is a malware for Android mobile phones. It poses as
a VPN client application, but in background downloads further malware from a
remote web server.
To silently install other malware, it lures the victim into rooting the phone.
The "VPN client" says it needs the device to be rooted to perform its tasks,
but rooting the device actually enables it to silently download and install
other packages.

Figure 1. Malware requests root permission from user
|

Figure 2. Main screen of the malware. Explains how to root your device
|
Technical Details
First, the malware tests if the device is already infected or not.
The malware considers the device is infected if file /system/etc/.dhcpd
exists and has the exact size of 18316 bytes (see checkPrecondition() method
in VpnSettings class).
Then, it mounts the /system directory in read-write mode (checkFile() method):
/system/bin/mount -o remount, rw /dev/block/mtdblock0 /system
If the device is not infected yet (i.e /system/etc/.dhcpd does not exist
or does not have the expected size), the malware proceeds to device
infection:
- creates a configuration file, mycfg.ini, which contains the device's IMEI,
its brand (Build.BRAND), model (Build.MODEL), release (Build.VERSION.RELEASE)
and SDK version (Build.VERSION.SDK) and a constant "cvpn072".
This configuration file is located in the package's private directory.
This configuration file is later copied to system directories:
/system/bin/cat /package_dir/mycfg.ini > /system/etc/.rild_cfg
- decrypt an ELF binary and write it to the package's directory as WebView.db.
The encrypted binary is located in the package's assets and named WebView.db.init.
It is AES encrypted, using a hard coded key.
The decrypted binary is then copied to system directories:
/system/bin/cat PACKAGEDIR/WebView.db > /system/etc/.dhcpd
/system/bin/cat PACKAGEDIR/WebView.db > /system/xbin/ccb
chmod 4755 /system/xbin/ccb
- the decrypted binary is executed:
/system/xbin/ccb
This executable ensures it is run as root, makes sure the device is correctly infected, and then contacts a remote web server to whom it sends the contents of the configuration file using a custom user agent (adlib/3).
It downloads another package from the remote web server and installs it:
/system/bin/pm install -r
Then, it automatically starts the new package (launching the activity):
/system/bin/am start -n
It is also able to uninstall packages.
- the temporary files of the package directory, WebView.db and mycfg.ini, are deleted
|
Recommended ActionFortiGate Systems
- Check the main screen using the web interface for your FortiGate unit to ensure that the latest AV/NIDS database has been downloaded and installed on your system - if required, enable the "Allow Push Update" option.
FortiClient Systems
- Quarantine/delete files that are detected and replace infected files with clean backup copies.
|