YARA · Volexity threat-intel
VOLEXITY_Apt_Malware_Macos_Gimmick
Detects the macOS port of the GIMMICK malware.
- Autor
- threatintel@volexity.com
- Fecha
- 2021-10-18
- Modificada
- 2024-08-02
- Puntuación / Calidad
- 75 / 78
Qué detecta esta regla
Detects the macOS port of the GIMMICK malware.
Define 29 patrones (29 de texto, 0 hex, 0 regex).
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
rule VOLEXITY_Apt_Malware_Macos_Gimmick : STORMBAMBOO FILE MEMORY
{
meta:
= "Detects the macOS port of the GIMMICK malware."
= "threatintel@volexity.com"
= "3d485788-4aab-511b-a49e-5dc09d1950a9"
= "2021-10-18"
= "2024-08-02"
= "https://www.volexity.com/blog/2022/03/22/storm-cloud-on-the-horizon-gimmick-malware-strikes-at-macos/"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2022/2022-03-22 GIMMICK/indicators/yara.yar#L1-L59"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
= "2a9296ac999e78f6c0bee8aca8bfa4d4638aa30d9c8ccc65124b1cbfc9caab5f"
= "00fba9df2212874a45d44b3d098a7b76c97fcd53ff083c76b784d2b510a4a467"
= 75
= 78
= "STORMBAMBOO, FILE, MEMORY"
= "darwin"
= "all"
= "file,memory"
= "critical"
= "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
= 6022
= 8
strings:
$s1 = "http://cgi1.apnic.net/cgi-bin/my-ip.php --connect-timeout 10 -m 20" wide ascii
$json1 = "base_json" ascii wide
$json2 = "down_json" ascii wide
$json3 = "upload_json" ascii wide
$json4 = "termin_json" ascii wide
$json5 = "request_json" ascii wide
$json6 = "online_json" ascii wide
$json7 = "work_json" ascii wide
$msg1 = "bash_pid: %d, FDS_CHILD: %d, FDS_PARENT: %d" ascii wide
$msg2 = "pid %d is dead" ascii wide
$msg3 = "exit with code %d" ascii wide
$msg4 = "recv signal %d" ascii wide
$cmd1 = "ReadCmdQueue" ascii wide
$cmd2 = "read_cmd_server_timer" ascii wide
$cmd3 = "enableProxys" ascii wide
$cmd4 = "result_block" ascii wide
$cmd5 = "createDirLock" ascii wide
$cmd6 = "proxyLock" ascii wide
$cmd7 = "createDirTmpItem" ascii wide
$cmd8 = "dowfileLock" ascii wide
$cmd9 = "downFileTmpItem" ascii wide
$cmd10 = "filePathTmpItem" ascii wide
$cmd11 = "uploadItems" ascii wide
$cmd12 = "downItems" ascii wide
$cmd13 = "failUploadItems" ascii wide
$cmd14 = "failDownItems" ascii wide
$cmd15 = "downloadCmds" ascii wide
$cmd16 = "uploadFiles" ascii wide
$cmd17 = "bash callback...." ascii wide
condition:
$s1 or 5 of ( $json* ) or 3 of ( $msg* ) or 9 of ( $cmd* )
}
Cadenas (29 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $s1 | texto | "http://cgi1.apnic.net/cgi-bin/my-ip.php --connect-timeout 10 -m 20" | wide ascii |
| $json1 | texto | "base_json" | ascii wide |
| $json2 | texto | "down_json" | ascii wide |
| $json3 | texto | "upload_json" | ascii wide |
| $json4 | texto | "termin_json" | ascii wide |
| $json5 | texto | "request_json" | ascii wide |
| $json6 | texto | "online_json" | ascii wide |
| $json7 | texto | "work_json" | ascii wide |
| $msg1 | texto | "bash_pid: %d, FDS_CHILD: %d, FDS_PARENT: %d" | ascii wide |
| $msg2 | texto | "pid %d is dead" | ascii wide |
| $msg3 | texto | "exit with code %d" | ascii wide |
| $msg4 | texto | "recv signal %d" | ascii wide |
| $cmd1 | texto | "ReadCmdQueue" | ascii wide |
| $cmd2 | texto | "read_cmd_server_timer" | ascii wide |
| $cmd3 | texto | "enableProxys" | ascii wide |
| $cmd4 | texto | "result_block" | ascii wide |
| $cmd5 | texto | "createDirLock" | ascii wide |
| $cmd6 | texto | "proxyLock" | ascii wide |
| $cmd7 | texto | "createDirTmpItem" | ascii wide |
| $cmd8 | texto | "dowfileLock" | ascii wide |
| $cmd9 | texto | "downFileTmpItem" | ascii wide |
| $cmd10 | texto | "filePathTmpItem" | ascii wide |
| $cmd11 | texto | "uploadItems" | ascii wide |
| $cmd12 | texto | "downItems" | ascii wide |
| $cmd13 | texto | "failUploadItems" | ascii wide |
| $cmd14 | texto | "failDownItems" | ascii wide |
| $cmd15 | texto | "downloadCmds" | ascii wide |
| $cmd16 | texto | "uploadFiles" | ascii wide |
| $cmd17 | texto | "bash callback...." | ascii wide |
Condición
$s1 or 5 of ( $json* ) or 3 of ( $msg* ) or 9 of ( $cmd* )En palabras sencillas (Heurística)
- Deben coincidir al menos 5 patrones de ( $json* ).
- Deben coincidir al menos 3 patrones de ( $msg* ).
- Deben coincidir al menos 9 patrones de ( $cmd* ).
- El patrón $s1 debe estar presente.
Prueba esta regla en tu navegador
Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.
Hashes de muestras
Hashes de las muestras que el autor lista en los metadatos de la regla (búscalos en tu plataforma de threat intelligence).
- 2a9296ac999e78f6c0bee8aca8bfa4d4638aa30d9c8ccc65124b1cbfc9caab5f
Licencia y atribución
Autor: threatintel@volexity.com
Repositorio de origen: Volexity threat-intel @ 3a9d0b5245
Licencia: BSD 2-Clause License (indicada en los metadatos de la regla)
“See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt”
Aviso de copyright: Copyright 2022 by Volexity, Inc.
Obtenida a través de YARA Forge 20260927, que añade a los nombres el prefijo de la fuente y campos meta normalizados.
Id de la regla: 3d485788-4aab-511b-a49e-5dc09d1950a9
Metadatos
| os | darwin |
|---|---|
| os_arch | all |
| scan_context | file,memory |
| severity | critical |
| rule_id | 6022 |
| version | 8 |
Etiquetas:STORMBAMBOOFILEMEMORY
Reglas relacionadas
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2023-07-21
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2023-08-17
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2024-02-23
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2024-02-23
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2023-07-24
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2020-03-16
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2024-07-30
- APT / actorVolexity threat-intel· threatintel@volexity.com· 2023-03-30