Add Android forensics, IOC threat-intel DB, Compose companion; scrub secrets from configs
This commit is contained in:
154
data/ioc/yara/novispy.yara
Normal file
154
data/ioc/yara/novispy.yara
Normal file
@@ -0,0 +1,154 @@
|
||||
rule APT_serbia_novispy_android_accesibilityservice {
|
||||
meta:
|
||||
description = "Rule for Serbian NoviSpy Android spyware APK, com.accesibilityservice version"
|
||||
author = "Donncha O Cearbhaill, Amnesty International"
|
||||
sample = "99673ce7f10e938ed73ed4a99930fbd6499983caa7a2c1b9e3f0e0bb0a5df602"
|
||||
|
||||
strings:
|
||||
$dex = { 64 65 78 0A 30 33 ?? 00 }
|
||||
|
||||
// C2 communication
|
||||
$c2_1 = "195.178.51.251"
|
||||
$c2_2 = "79.101.110.108"
|
||||
$c2_3 = "188.93.127.34"
|
||||
|
||||
// Unique Strings
|
||||
$u_1 = "kataklinger vibercajzna" ascii nocase
|
||||
$u_2 = "select action_command.* from action_command where action_id = ? and trigger_type = ?" ascii nocase
|
||||
$u_3 = "6FDF20EAFA2D58AF609C72AE7092BB45" ascii nocase
|
||||
$u_4 = "{\"cellChangeMonitoring\":true,\"signalStrengthMonitoring\":true,\"temperatureDelta\":1," ascii nocase
|
||||
$u_5 = "{\"fileUpload\":false,\"audioRecording\":false,\"cellChangeMonitoring\":true,"ascii nocase
|
||||
$u_6 = "\"serverIp\":\"188.93.127.34\"" ascii nocase
|
||||
$u_7 = "ucitavanjepodataka" ascii nocase
|
||||
|
||||
// Other strings
|
||||
$s_1 = "test.dat" ascii
|
||||
$s_2 = "/active.config" ascii
|
||||
$s_3 = "message_map.ser" ascii
|
||||
$s_4 = "event type =" ascii
|
||||
$s_5 = "change type subtree" ascii
|
||||
$s_6 = "change type content description" ascii
|
||||
$s_7 = "change type pane title" ascii
|
||||
$s_8 = "content change type pane_appeared" ascii
|
||||
$s_9 = "window state changed" ascii
|
||||
$s_10 = "notification state changed" ascii
|
||||
$s_11 = "window content changed" ascii
|
||||
$s_12 = "view scrolled" ascii
|
||||
$s_13 = "type selection changed" ascii
|
||||
$s_14 = "type announcement" ascii
|
||||
$s_15 = "scroll position =" ascii
|
||||
$s_16 = "imei=%s;imsi=%s;phone=%s;sim_serial=%s;os=%s"
|
||||
$s_17 = "imei=%s;imsi=%s;phone=%s;sim_serial=%s;roaming=%s;os=%s"
|
||||
$s_18 = "last message = %s, level = %d, hash = %s, node count = %d"
|
||||
$s_19 = "MyAccessibilityService"
|
||||
|
||||
condition:
|
||||
$dex at 0 and (
|
||||
any of ($u*) or
|
||||
any of ($c2*) or
|
||||
7 of ($s*)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
rule APT_serbia_novispy_android_serv_services {
|
||||
meta:
|
||||
description = "Rule for Serbian NoviSpy Android spyware APK, com.serv.services version"
|
||||
author = "Donncha O Cearbhaill, Amnesty International"
|
||||
sample = "087fc1217c897033425fe7f1f12b913cd48918c875e99c25bdb9e1ffcf80f57e"
|
||||
|
||||
strings:
|
||||
$dex = { 64 65 78 0A 30 33 ?? 00 }
|
||||
|
||||
// C2 communication
|
||||
$c2_comm_1 = "178.220.122.57"
|
||||
|
||||
// Unique Strings
|
||||
|
||||
|
||||
// C2 commands received via SMS
|
||||
$sms_c2_cmd_1 = "C_ARF" ascii
|
||||
$sms_c2_cmd_2 = "C_ARN" ascii
|
||||
$sms_c2_cmd_3 = "C_AWF" ascii
|
||||
$sms_c2_cmd_4 = "C_AWI" ascii
|
||||
$sms_c2_cmd_5 = "C_AWN" ascii
|
||||
$sms_c2_cmd_6 = "C_CRF" ascii
|
||||
$sms_c2_cmd_7 = "C_CRN" ascii
|
||||
$sms_c2_cmd_8 = "C_LCW" ascii
|
||||
$sms_c2_cmd_9 = "C_MNS" ascii
|
||||
$sms_c2_cmd_10 = "C_MXS" ascii
|
||||
$sms_c2_cmd_11 = "C_R_F" ascii
|
||||
$sms_c2_cmd_12 = "C_R_N" ascii
|
||||
$sms_c2_cmd_13 = "C_SMF" ascii
|
||||
$sms_c2_cmd_14 = "C_SMN" ascii
|
||||
$sms_c2_cmd_15 = "C_SWF" ascii
|
||||
$sms_c2_cmd_16 = "C_SWN" ascii
|
||||
$sms_c2_cmd_17 = "C_UIR" ascii
|
||||
$sms_c2_cmd_18 = "C_UMF" ascii
|
||||
$sms_c2_cmd_19 = "C_UMN" ascii
|
||||
$sms_c2_cmd_20 = "C_UWF" ascii
|
||||
$sms_c2_cmd_21 = "C_UWN" ascii
|
||||
$sms_c2_cmd_22 = "C_WLF" ascii
|
||||
$sms_c2_cmd_23 = "C_WLN" ascii
|
||||
|
||||
// C2 commands received via FTP.
|
||||
// This is not a comprehensive list of commands, generic command names are excluded to prevent false positives.
|
||||
$ftp_c2_cmd_1 = "CALL_REC_OFF" ascii
|
||||
$ftp_c2_cmd_2 = "CALL_REC_ON" ascii
|
||||
$ftp_c2_cmd_3 = "CHARGING_REC_OFF" ascii
|
||||
$ftp_c2_cmd_4 = "CHARGING_REC_ON" ascii
|
||||
$ftp_c2_cmd_5 = "SECURE_REC_OFF" ascii
|
||||
$ftp_c2_cmd_6 = "SECURE_REC_ON" ascii
|
||||
$ftp_c2_cmd_7 = "SSD_MOBILE_OFF" ascii
|
||||
$ftp_c2_cmd_8 = "SSD_MOBILE_ON" ascii
|
||||
$ftp_c2_cmd_9 = "SSD_WIFI_OFF" ascii
|
||||
$ftp_c2_cmd_10 = "SSD_WIFI_ON" ascii
|
||||
$ftp_c2_cmd_11 = "UPLOAD_INTERVAL" ascii
|
||||
$ftp_c2_cmd_12 = "UPLOAD_MOBILE_OFF" ascii
|
||||
$ftp_c2_cmd_13 = "UPLOAD_MOBILE_ON" ascii
|
||||
$ftp_c2_cmd_14 = "UPLOAD_WIFI_OFF" ascii
|
||||
$ftp_c2_cmd_15 = "UPLOAD_WIFI_ON" ascii
|
||||
$ftp_c2_cmd_16 = "AUTO_WIFI_INTERVAL" ascii
|
||||
$ftp_c2_cmd_17 = "WIFI_LOCK_ON" ascii
|
||||
$ftp_c2_cmd_18 = "WIFI_LOCK_OFF" ascii
|
||||
$ftp_c2_cmd_19 = "AUTO_WIFI_ON" ascii
|
||||
$ftp_c2_cmd_20 = "AUTO_WIFI_OFF" ascii
|
||||
$ftp_c2_cmd_21 = "START_AUDIO" ascii
|
||||
|
||||
// App local settings configured based on C2 commands.
|
||||
$setting_1 = "UIR" ascii
|
||||
$setting_2 = "ULW" ascii
|
||||
$setting_3 = "ULM" ascii
|
||||
$setting_4 = "SSW" ascii
|
||||
$setting_5 = "SSM" ascii
|
||||
$setting_6 = "CRN" ascii
|
||||
$setting_7 = "SRN" ascii
|
||||
$setting_8 = "CRC" ascii
|
||||
$setting_9 = "MXS" ascii
|
||||
$setting_10 = "MNS" ascii
|
||||
$setting_11 = "AWF" ascii
|
||||
$setting_12 = "AWI" ascii
|
||||
$setting_13 = "CHR" ascii
|
||||
$setting_14 = "WLS" ascii
|
||||
$setting_15 = "A_R_N" ascii
|
||||
$setting_16 = "A_R_F" ascii
|
||||
$setting_17 = "U_I" ascii
|
||||
$setting_18 = "U_W_N" ascii
|
||||
$setting_19 = "S_W_N" ascii
|
||||
$setting_20 = "U_M_F" ascii
|
||||
$setting_21 = "S_M_F" ascii
|
||||
$setting_22 = "A_W_F" ascii
|
||||
$setting_23 = "A_W_I" ascii
|
||||
$setting_24 = "W_L_N" ascii
|
||||
$setting_25 = "C_R_F" ascii
|
||||
$setting_26 = "CH_R_F" ascii
|
||||
$setting_27 = "S_R_N" ascii
|
||||
|
||||
condition:
|
||||
$dex at 0 and (
|
||||
any of ($c2_comm*) or
|
||||
20 of ($sms_c2_cmd*) or
|
||||
20 of ($ftp_c2_cmd*) or
|
||||
20 of ($setting*)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user