7f9d84dde2ca2081fdccc421…

sample

Tracked by C2 Tracker · indicators & metadata only, the APK itself is never published

Analyst notes

SyamRAT (provisional). Commodity Indonesian Android RAT distributed under utility/“booster” lures (e.g. package com.pt.sejahtera, label “pelancar hp” — Indonesian for “phone booster”). The build ships a plaintext assets/config.json naming the operator backend, and abuses AccessibilityService + MediaProjection for remote control, overlay injection and live screen capture. A bundled native module (libnuker.so / assets/nuker, an ELF) provides the screen-stream/VNC component. Live control runs over Socket.IO to the base_url in the config.

How the C2 is recovered: config.json is cleartext, so the decoder reads base_url directly (binary-verified). The webview_url (commonly https://www.google.com) and logo_url (image CDNs such as catbox.moe) are victim-facing decoys and are not recorded as C2. The operator username, session_id and per-build uid (from assets/uid.json) are captured as attribution. Family label is provisional — this is a builder kit, not a single actor. Indicators: https://syamrat.syamcloud.com.

Recovered configuration

build_uid
3d2de6d56e3d03aec1c7fd831384259c
lure_app_name
Uc Browser
lure_webview_url
https://www.mediafire.com
operator_username
fredy
session_id
b7a16377435dc21c
transport
socket.io

Identification

SHA-256
7f9d84dde2ca2081fdccc421e62d92695b49615c4ac5b2bcdfa9bcaa0ea5ba77
MD5
c6e856b5bbb1955ad3786d3c2b8bd883

Observed

Families
SyamRAT (provisional)
First seen
2026-10-03

APK metadata

Summary

Type
Android · APK
Package
com.pt.sejahtera
Main activity
com.pt.sejahtera.SplashActivity
Internal version
9
Displayed version
1.3.4-silentcam
Min SDK
24
Target SDK
34

Signing certificate

Valid from
2016-10-23 20:10:05
Valid to
2044-03-10 20:10:05
Serial
56c1a15
Thumbprint
5d08264b44e0e53fbccc70b4f016474cc6c5ab5c
Subject
C:US, CN:Android Debug, L:US, O:US, ST:US, OU:Android
Issuer
C:US, CN:Android Debug, L:US, O:US, ST:US, OU:Android

Permissions (40)

android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_NETWORK_STATEandroid.permission.ACCESS_WIFI_STATEandroid.permission.BIND_ACCESSIBILITY_SERVICEandroid.permission.BIND_NOTIFICATION_LISTENER_SERVICEandroid.permission.CAMERAandroid.permission.DISABLE_KEYGUARDandroid.permission.FOREGROUND_SERVICEandroid.permission.FOREGROUND_SERVICE_CAMERAandroid.permission.FOREGROUND_SERVICE_CONNECTED_DEVICEandroid.permission.FOREGROUND_SERVICE_DATA_SYNCandroid.permission.FOREGROUND_SERVICE_MEDIA_PROJECTIONandroid.permission.GET_ACCOUNTSandroid.permission.INTERNETandroid.permission.MANAGE_EXTERNAL_STORAGEandroid.permission.MODIFY_AUDIO_SETTINGSandroid.permission.POST_NOTIFICATIONSandroid.permission.READ_CALL_LOGandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_MEDIA_IMAGESandroid.permission.READ_MEDIA_VIDEOandroid.permission.READ_PHONE_STATEandroid.permission.READ_SMSandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.RECEIVE_SMSandroid.permission.RECORD_AUDIOandroid.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONSandroid.permission.SEND_SMSandroid.permission.SET_WALLPAPERandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_BIOMETRICandroid.permission.USE_FULL_SCREEN_INTENTandroid.permission.VIBRATEandroid.permission.WAKE_LOCKandroid.permission.WRITE_CALL_LOGandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.pt.sejahtera.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Activities (10)

  • com.google.android.gms.common.api.GoogleApiActivity
  • com.pt.sejahtera.MainActivity
  • com.pt.sejahtera.MediaActivity
  • com.pt.sejahtera.ScreenCaptureActivity
  • com.pt.sejahtera.SecurityActivity
  • com.pt.sejahtera.SetupActivity
  • com.pt.sejahtera.SplashActivity
  • com.pt.sejahtera.VerifyActivity
  • com.pt.sejahtera.socket.LockNewActivity
  • com.pt.sejahtera.socket.SocketScreenCaptureActivity

Services (27)

  • androidx.camera.core.impl.MetadataHolderService
  • androidx.room.MultiInstanceInvalidationService
  • androidx.work.impl.background.systemalarm.SystemAlarmService
  • androidx.work.impl.background.systemjob.SystemJobService
  • androidx.work.impl.foreground.SystemForegroundService
  • com.pt.sejahtera.AppService
  • com.pt.sejahtera.CommandService
  • com.pt.sejahtera.CoreService
  • com.pt.sejahtera.ForegroundService
  • com.pt.sejahtera.JobWakeUpService
  • com.pt.sejahtera.KeepAliveService
  • com.pt.sejahtera.MyAccessibilityService
  • com.pt.sejahtera.NotificationListener
  • com.pt.sejahtera.NukerService
  • com.pt.sejahtera.PolicyService
  • com.pt.sejahtera.ScreenCaptureService
  • com.pt.sejahtera.SecurityActivity$KeepAliveService
  • com.pt.sejahtera.ServiceWindow
  • com.pt.sejahtera.SyncHelper
  • com.pt.sejahtera.socket.AppBlockerService
  • com.pt.sejahtera.socket.DialogSpamService
  • com.pt.sejahtera.socket.LockOverlayService
  • com.pt.sejahtera.socket.SmsNotifService
  • com.pt.sejahtera.socket.SocketSyncService
  • com.pt.sejahtera.socket.SyamratSocketService
  • com.pt.sejahtera.socket.TTSService
  • com.pt.sejahtera.socket.VideoOverlayService

Receivers (12)

  • androidx.profileinstaller.ProfileInstallReceiver
  • androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy
  • androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy
  • androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy
  • androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy
  • androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver
  • androidx.work.impl.background.systemalarm.RescheduleReceiver
  • androidx.work.impl.diagnostics.DiagnosticsReceiver
  • androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver
  • com.pt.sejahtera.BootReceiver
  • com.pt.sejahtera.PolicyReceiver
  • com.pt.sejahtera.SocketWatchdogReceiver

Providers (2)

  • androidx.startup.InitializationProvider
  • com.klinker.android.send_message.MmsFileProvider

Intent filters — actions

android.accessibilityservice.AccessibilityServiceandroid.app.action.DEVICE_ADMIN_DISABLEDandroid.app.action.DEVICE_ADMIN_DISABLE_REQUESTEDandroid.app.action.DEVICE_ADMIN_ENABLEDandroid.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTEDandroid.intent.action.BATTERY_LOWandroid.intent.action.BATTERY_OKAYandroid.intent.action.BOOT_COMPLETEDandroid.intent.action.DEVICE_STORAGE_LOWandroid.intent.action.DEVICE_STORAGE_OKandroid.intent.action.LOCKED_BOOT_COMPLETEDandroid.intent.action.QUICKBOOT_POWERONandroid.intent.action.REBOOTandroid.intent.action.TIMEZONE_CHANGEDandroid.intent.action.TIME_SETandroid.intent.action.USER_PRESENTandroid.net.conn.CONNECTIVITY_CHANGEandroid.service.notification.NotificationListenerServiceandroidx.profileinstaller.action.BENCHMARK_OPERATIONandroidx.profileinstaller.action.INSTALL_PROFILEandroidx.profileinstaller.action.SAVE_PROFILEandroidx.profileinstaller.action.SKIP_FILEandroidx.work.diagnostics.REQUEST_DIAGNOSTICSandroidx.work.impl.background.systemalarm.UpdateProxiescom.pt.sejahtera.ACTION_ALARM_HANG

C2 configuration (1)

Every indicator extracted from this sample. One row per C2 — each links to its indicator page with Whois, DNS and certificate pivots.

IndicatorTypePortSchemeFamilyFirst seen
syamrat.syamcloud.com domain — https SyamRAT (provisional) 2026-10-03

Signing certificate

Subject CN
Android Debug
Issuer CN
Android Debug
Fingerprint
1e08a903aef9c3a721510b64ec764d01d3d094eb954161b62544ea8f187b5953

Relationships

Sample → C2 indicators, signing certificate (with every other sample signed by it) and family. Click a node for details, double-click to open its page.

Click a node to inspect it.

About SyamRAT (provisional)

Commodity **Indonesian Android RAT** distributed under utility/"booster" lures (e.g. package `com.pt.sejahtera`, label *"pelancar hp"* — Indonesian for "phone booster"). The build ships a plaintext `assets/config.json` naming the operator backend, and abuses **AccessibilityService** + **MediaProjection** for remote control, overlay injection and live screen capture. A bundled native module (`libnuker.so` / `assets/nuker`, an ELF) provides the screen-stream/VNC component. Live control runs over **Socket.IO** to the `base_url` in the config. How the C2 is recovered: `config.json` is cleartext, so the decoder reads `base_url` directly (binary-verified). The `webview_url` (commonly `https://www.google.com`) and `logo_url` (image CDNs such as catbox.moe) are victim-facing decoys and are **not** recorded as C2. The operator `username`, `session_id` and per-build `uid` (from `assets/uid.json`) are captured as attribution. Family label is provisional — this is a builder kit, not a single actor.