Selling Everything in the Photo, Cheap: Analyzing the Mamont Android Backdoor

Angara Security's incident response team dissects malicious Android APK files distributed via messengers under the guise of personal item sales, revealing the Mamont backdoor family capable of stealing SMS, executing USSD commands, and harvesting personal data.

The incident response and digital forensics team at Angara MTDR, led by Alexander Gantimurov, conducted a study of malicious APK files distributed through social networks and messengers under the guise of urgent personal item sales.

The APK files submitted for analysis differ slightly in size and constitute malicious software of the Mamont family for Android. The malware is designed to:

  • Covertly receive and send messages
  • Collect information about the infected device
  • Send USSD commands
  • View notifications
  • Open arbitrary URLs
Mamont malware overview

Backdoor.Android.Mamont.12 (Mamont)

MD5FilenameSize
3333a455c87150b958986bc2760af528Фото 24шт.apk9.73 MB
05c8202b2570a86b47a7eca8db77e0d7photo12.apk10.70 MB

Upon opening, the malicious application requests access to receive and send SMS, as well as to make calls and use the camera.

Permission requests

After all requested permissions are granted, a phishing page specified in the application settings opens. In the studied case, an imitation of an image-sharing service opens, capable of collecting user credentials.

In other cases, the application may use a perfectly legitimate website to avoid arousing user suspicion.

Phishing page

Permissions

On the infected device, the malicious application obtains the following permissions:

PermissionDescription
android.permission.SEND_SMSSend SMS
android.permission.READ_PHONE_STATERead phone state (including IMEI)
android.permission.READ_SMSRead SMS
android.permission.RECEIVE_SMSReceive SMS
android.permission.READ_CONTACTSRead contacts
android.permission.RECEIVE_BOOT_COMPLETEDAuto-launch on device startup
android.permission.FOREGROUND_SERVICERun in background
android.permission.CALL_PHONEMake calls
android.permission.CAMERAAccess device camera
Permissions table

Protection Against Analysis

To conceal malicious functionality and complicate analysis, all primary strings in the application are encrypted using obfuse.NPStringFog.

String encryption

After decryption, the encrypted strings reveal application components responsible for SMS handling and system interaction.

Decrypted strings

Configuration

The main settings for carrying out operations are stored in the BuildConfig class. In most cases, the configuration is stored in plain text.

BuildConfig

Additionally, information about the application's operation is sent to a remote site via the RemoteLogger class. The URL for sending is also specified in plain text.

The application code implements an EnhancedRemoteLogger, which can also send information, but in the studied version of the malware it is not used.

RemoteLogger

Commands

All interaction between the attacker and the remote server occurs through retrofit2. Commands and results are sent in JSON format.

The attacker can send the following commands:

  • refresh_sms — send SMS to the remote server
  • get_permissions_status — send a list of available permissions
  • check_online — report availability via the internet
  • send_ussd — send USSD to a specified number
  • send_sms — send SMS to a specified number
  • open_link — open a specified URL in the built-in browser
  • delete_sms — delete a specified SMS
Command interface

Notable Features

The application code contains debug comments and messages in Russian, indicating the Russian origin of the developers.

The API for interacting with the remote server implements an uploadVerificationData method, which is currently not in use. Judging by the code, it is intended that in the future the following will be sent to the attacker:

  • Passport number
  • Date of birth
  • Device information

Unused strings found in the application code indicate plans for further expansion of the malware's functionality and the addition of a "verification" capability. Video materials featuring the user's face could be used to create phishing messages and further distribution.

Verification data

Indicators of Compromise

Source (MD5)Value
05c8202b2570a86b47a7eca8db77e0d7hxxps://photricity[.]com/flw/ajax/
05c8202b2570a86b47a7eca8db77e0d7hxxps://libertylibertypopcorn[.]live/
3333a455c87150b958986bc2760af528hxxps://libertydroid-xraycomm[.]top/remote_logs/log_receiver.php
3333a455c87150b958986bc2760af528hxxps://libertydroid[.]com/remote_logs/log_receiver.php
3333a455c87150b958986bc2760af528hxxps://ibb[.]co/MxnMtnGV
3333a455c87150b958986bc2760af528hxxps://libertydroidwestthebest[.]live/
IoC table

YARA Rule

rule malware_android_Mamont_12 {
 meta:
   description = "[ Malware ] Detected Mamont malicious APK"
   author = "Gantimurov/Angara MTDR"
   date = "2025-11-20"
   tlp = "WHITE"
   score = 100
   hash = "05c8202b2570a86b47a7eca8db77e0d7"

 strings:
     $s1 = "com.jaconda.infowebseq" wide
     $m1 = "HeadlessSmsSendService" wide
     $m2 = "SMSActivity" wide
     $m3 = "PermissionHandlerActivity" wide
     $m4 = "SMSReceiver" wide
     $m5 = "SecretCodeReceiver" wide
     $p1 = "android.provider.Telephony.SECRET_CODE" wide
     $p2 = "android.permission.SEND_RESPOND_VIA_MESSAGE" wide
     $p3 = "android.permission.BROADCAST_WAP_PUSH" wide

 condition:
   uint32be(0) == 0x504B0304 and
   ($s1 or ( all of ($m*) and all of ($p*)))
}
YARA rule

Conclusions

The study of this malware showed that attackers are preparing for a large-scale campaign to collect personal data and subsequently exploit it.

Angara MTDR experts strongly recommend:

  • Disable auto-downloading of files in Telegram and check file formats before downloading them
  • Do not install APK files from third-party sources, chats, or messengers
  • Before downloading files in .docx, .xlsx, and .pdf formats, check them on specialized services such as VirusTotal
  • Install and use antivirus applications on your mobile device