YARA · Synacktiv rules
SYNACKTIV_SYNACKTIV_HKTL_Tunnel_X64_GO_Iox_May25
Detects the 64-bits version of the iox tunneling tool used for port forwarding and SOCKS5 proxy
- Auteur
- Synacktiv, Maxence Fossat [@cybiosity]
- Date
- 2025-05-12
- Score / Qualité
- 75 / 80
Ce que détecte cette règle
Detects the 64-bits version of the iox tunneling tool used for port forwarding and SOCKS5 proxy
Cibles : PE Windows, ELF Linux, Mach-O macOS.
Elle définit 2 motifs (0 texte, 2 hex, 0 regex).
Résumé généré à partir des métadonnées et de la condition de la règle.
Source de la règle
rule SYNACKTIV_SYNACKTIV_HKTL_Tunnel_X64_GO_Iox_May25 : COMMODITY FILE
{
meta:
= "Detects the 64-bits version of the iox tunneling tool used for port forwarding and SOCKS5 proxy"
= "Synacktiv, Maxence Fossat [@cybiosity]"
= "0b5a4689-58ea-45d5-aa14-a1455276352a"
= "2025-05-12"
= "2025-05-12"
= "https://www.synacktiv.com/en/publications/open-source-toolset-of-an-ivanti-csa-attacker"
= "https://github.com/synacktiv/synacktiv-rules/blob/d234cc4da0783db7dca56ae8dd5252afdc248df8/2025/offensive_tools/hktl_tunnel_x64_go_iox.yar#L1-L96"
= "https://github.com/synacktiv/synacktiv-rules/blob/d234cc4da0783db7dca56ae8dd5252afdc248df8/LICENSE.md"
= "0500c9d0b91e62993447cdcf5f691092aff409eca24080ce149f34e48a0445e0"
= "13c1cfb12017aa138e2f8d788dcd867806cc8fd6ae05c3ab7d886c18bcd4c48a"
= "1a9524a2c39e76e0ea85abba1f0ddddc5d0d0a3a601a1b75e8d224ad93968b5e"
= "1bd710dc054716bf5553abd05d282d9aeb7eb30a76320bd6be4ce2efc04b20bc"
= "2457a3241ec13c77b4132d6c5923e63b51a4d05a96dc0ae249c92a43ed9c7c04"
= "328570168780a5dd39e1b49db00430c02d3292ff1e8b14ff6aacce40d90d908f"
= "39d51ef91e189de44696ac67590b4251a6a320719668399127096dc57cbecba3"
= "4c4ec3314afe4284e4cf8bf2fdfb402820932ddcf16913a88a2b7c1d55a12a90"
= "4d1e87b372af0f52b9e2d7a2ac1d223575d29de5e3c0570a96b0d2ff346214f0"
= "4d49ceb20ad85b117dd30f317977526e73cb5dd622705277b5cbc691972abb4b"
= "5138090aee794a08de4b0482bbe58adbd918467d14dedf51961963b324e63f89"
= "63d32b6b29e5d4f8aab4b59681d853e481e858cbf1acfcb190469d8881f47aa6"
= "79d6dfacfa0e0e5bc48d8d894dae261b9412b9c04a39b6ebf992cb8a5a40de95"
= "82aec8846232a43a77e2b5c5a80de523b2c7f912d60bce3ac28242156395b9d0"
= "92cc697b909c398de8533499271c9d3c2425a71feaa0d70bac7428d90423ddff"
= "9e3cba612d5f69e27534e3d2ceb7bb6067d44ac93e5b1e74bf994a94dfd706b6"
= "a4139ffd12565edf5291dc5580a70e600f76695b03376e5c0130ade18a6a7bcd"
= "a8bda8e1d39ee61998381a2f0bfeb7069b19035551b8895eb48642bf98ade3d1"
= "aeddd8240c09777a84bb24b5be98e9f5465dc7638bec41fb67bbc209c3960ae1"
= "b9c40960259b9b14d80c8b1cb3438913f8550fe56dbdfe314b53c7ceae77ccb0"
= "c061952d49f03acf9e464ab927b0b6b3bc38da8caaf077e70ace77116b6d1b8c"
= "c1ca82411e293ec5d16a8f81ed9466972a8ead23bd4080aaf9505baccce575ba"
= "c6cf82919b809967d9d90ea73772a8aa1c1eb3bc59252d977500f64f1a0d6731"
= "c8b40fbb5cd27f42c143c35b67c700f7ea42a2084418c5e2da82fb0ac094f966"
= "d3190648bc428640a721b7d3c2b05c56e855355e8b44561e3b701e80e97f7ea7"
= "d879ff9275cd62f4e7935261e17461d3a3cd1a29d65a5688bd382c47ae680ad6"
= "d9e868af5567a8c823f48f0f30440f1a9d77b52b2e6d785e116c450c48df9fc6"
= "adf3e21aa146b3def9baa73829126d8738db9cedb96e783a6baa589c77d7d518"
= 75
= 80
= "COMMODITY, FILE"
= "DRL-1.1"
= "TLP:CLEAR"
= "PAP:CLEAR"
strings:
$expand_key = {
( 48 8B 84 24 | 48 8B 9C 24 | 48 8B 8C 24 | 48 8B BC 24 | 48 8B B4 24 | 4C 8B 84 24 | 4C 8B 8C 24 | 4C 8B 94 24 | 4C 8B 9C 24 ) ?? ?? ?? ??
( 48 83 F8 20 | 48 83 FB 20 | 48 83 F9 20 | 48 83 FF 20 | 48 83 FE 20 | 49 83 F8 20 | 49 83 F9 20 | 49 83 FA 20 | 49 83 FB 20 )
( 0F 8D ?? ?? ?? ?? | 7D ?? )
( 48 89 ?? | 49 89 ?? | 4C 89 ?? | 4D 89 ?? )
( 48 83 E0 1F | 48 83 E3 1F | 48 83 E1 1F | 48 83 E7 1F | 48 83 E6 1F | 49 83 E0 1F | 49 83 E1 1F | 49 83 E2 1F | 49 83 E3 1F | 83 E0 1F | 83 E3 1F | 83 E1 1F | 83 E7 1F | 83 E6 1F | 41 83 E0 1F | 41 83 E1 1F | 41 83 E2 1F | 41 83 E3 1F )
( 83 C0 E0 | 83 C3 E0 | 83 C1 E0 | 83 C7 E0 | 83 C6 E0 | 41 83 C0 E0 | 41 83 C1 E0 | 41 83 C2 E0 | 41 83 C3 E0 )
( F7 D8 | F7 DB | F7 D9 | F7 DF | F7 DE | 41 F7 D8 | 41 F7 D9 | 41 F7 DA | 41 F7 DB )
}
$shuffle = {
( 44 0F B6 04 | 44 0F B6 0C | 44 0F B6 14 | 44 0F B6 1C | 44 0F B6 44 | 44 0F B6 4C | 44 0F B6 54 | 44 0F B6 5C | 46 0F B6 04 | 46 0F B6 0C | 46 0F B6 14 | 46 0F B6 1C | 46 0F B6 44 | 46 0F B6 4C | 46 0F B6 54 | 46 0F B6 5C ) [1-2]
( 45 0F AF C0 | 45 0F AF C1 | 45 0F AF C2 | 45 0F AF C3 | 45 0F AF C8 | 45 0F AF C9 | 45 0F AF CA | 45 0F AF CB | 45 0F AF D0 | 45 0F AF D1 | 45 0F AF D2 | 45 0F AF D3 | 45 0F AF D8 | 45 0F AF D9 | 45 0F AF DA | 45 0F AF DB | 44 0F AF C0 | 44 0F AF C1 | 44 0F AF C2 | 44 0F AF C3 | 44 0F AF C8 | 44 0F AF C9 | 44 0F AF CA | 44 0F AF CB | 44 0F AF D0 | 44 0F AF D1 | 44 0F AF D2 | 44 0F AF D3 | 44 0F AF D8 | 44 0F AF D9 | 44 0F AF DA | 44 0F AF DB )
[0-4]
( 41 B8 | 41 B9 | 41 BA | 41 BB ) FF FF FF FF
( 45 0F B6 C0 | 45 0F B6 C1 | 45 0F B6 C2 | 45 0F B6 C3 | 45 0F B6 C8 | 45 0F B6 C9 | 45 0F B6 CA | 45 0F B6 CB | 45 0F B6 D0 | 45 0F B6 D1 | 45 0F B6 D2 | 45 0F B6 D3 | 45 0F B6 D8 | 45 0F B6 D9 | 45 0F B6 DA | 45 0F B6 DB )
[0-4]
( 41 89 D0 | 41 89 D1 | 41 89 D2 | 41 89 D3 | 89 D0 | 89 D1 | 89 D2 | 89 D3 )
31 D2
( 66 41 F7 F0 | 66 41 F7 F1 | 66 41 F7 F2 | 66 41 F7 F3 )
( 41 0F AF D0 | 41 0F AF D1 | 41 0F AF D2 | 41 0F AF D3 | 44 0F AF C2 | 44 0F AF CA | 44 0F AF D2 | 44 0F AF DA | 0F AF D0 | 0F AF D1 | 0F AF D2 | 0F AF D3 | 0F AF C2 | 0F AF CA | 0F AF D2 | 0F AF DA )
( 31 ?? | 41 31 ?? | 44 31 ?? | 45 31 ?? )
( 31 ?? | 41 31 ?? | 44 31 ?? | 45 31 ?? )
( 44 88 04 ?F | 44 88 0C ?F | 44 88 14 ?F | 44 88 1C ?F | 44 88 04 ?7 | 44 88 0C ?7 | 44 88 14 ?7 | 44 88 1C ?7 | 88 04 ?F | 88 0C ?F | 88 14 ?F | 88 1C ?F | 88 04 ?7 | 88 0C ?7 | 88 14 ?7 | 88 1C ?7 | 44 88 04 3? | 44 88 0C 3? | 44 88 14 3? | 44 88 1C 3? | 88 04 3? | 88 0C 3? | 88 14 3? | 88 1C 3? )
}
condition:
( uint16be( 0 ) == 0x4d5a or uint32be( 0 ) == 0x7f454c46 or uint32be( 0 ) == 0xcffaedfe ) and filesize < 5MB and all of them
}
Chaînes (2 motifs)
| Identifiant | Type | Valeur | Modificateurs |
|---|---|---|---|
| $expand_key | hex | { ( 48 8B 84 24 | 48 8B 9C 24 | 48 8B 8C 24 | 48 8B BC 24 | 48 8B B4 24 | 4C 8B 84 24 | 4C 8B 8C 24 | 4C 8B 94 24 | 4C 8B 9C 24 ) ?? ?? ?? ?? … | |
| $shuffle | hex | { ( 44 0F B6 04 | 44 0F B6 0C | 44 0F B6 14 | 44 0F B6 1C | 44 0F B6 44 | 44 0F B6 4C | 44 0F B6 54 | 44 0F B6 5C | 46 0F B6 04 | 46 0F B6 0C | 46 0 … |
Condition
( uint16be( 0 ) == 0x4d5a or uint32be( 0 ) == 0x7f454c46 or uint32be( 0 ) == 0xcffaedfe ) and filesize < 5MB and all of themEn clair (Heuristique)
- Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
- Le fichier doit commencer par l’en-tête ELF — un exécutable Linux/Unix.
- Le fichier doit commencer par une signature Mach-O / fat — un exécutable macOS.
- Le fichier doit faire moins de 5MB (garde-fou peu coûteux qui écarte les gros fichiers).
- Tous les motifs de la règle doivent être trouvés.
Tester cette règle dans votre navigateur
Déposez un fichier pour le scanner avec cette règle grâce à YARA-X compilé en WebAssembly. Rien n’est envoyé.
Hashes d’échantillons
Hashes des échantillons listés par l’auteur dans les métadonnées de la règle (à rechercher dans votre plateforme de threat intelligence).
- 0500c9d0b91e62993447cdcf5f691092aff409eca24080ce149f34e48a0445e0
- 13c1cfb12017aa138e2f8d788dcd867806cc8fd6ae05c3ab7d886c18bcd4c48a
- 1a9524a2c39e76e0ea85abba1f0ddddc5d0d0a3a601a1b75e8d224ad93968b5e
- 1bd710dc054716bf5553abd05d282d9aeb7eb30a76320bd6be4ce2efc04b20bc
- 2457a3241ec13c77b4132d6c5923e63b51a4d05a96dc0ae249c92a43ed9c7c04
- 328570168780a5dd39e1b49db00430c02d3292ff1e8b14ff6aacce40d90d908f
- 39d51ef91e189de44696ac67590b4251a6a320719668399127096dc57cbecba3
- 4c4ec3314afe4284e4cf8bf2fdfb402820932ddcf16913a88a2b7c1d55a12a90
- 4d1e87b372af0f52b9e2d7a2ac1d223575d29de5e3c0570a96b0d2ff346214f0
- 4d49ceb20ad85b117dd30f317977526e73cb5dd622705277b5cbc691972abb4b
- 5138090aee794a08de4b0482bbe58adbd918467d14dedf51961963b324e63f89
- 63d32b6b29e5d4f8aab4b59681d853e481e858cbf1acfcb190469d8881f47aa6
- 79d6dfacfa0e0e5bc48d8d894dae261b9412b9c04a39b6ebf992cb8a5a40de95
- 82aec8846232a43a77e2b5c5a80de523b2c7f912d60bce3ac28242156395b9d0
- 92cc697b909c398de8533499271c9d3c2425a71feaa0d70bac7428d90423ddff
- 9e3cba612d5f69e27534e3d2ceb7bb6067d44ac93e5b1e74bf994a94dfd706b6
- a4139ffd12565edf5291dc5580a70e600f76695b03376e5c0130ade18a6a7bcd
- a8bda8e1d39ee61998381a2f0bfeb7069b19035551b8895eb48642bf98ade3d1
- aeddd8240c09777a84bb24b5be98e9f5465dc7638bec41fb67bbc209c3960ae1
- b9c40960259b9b14d80c8b1cb3438913f8550fe56dbdfe314b53c7ceae77ccb0
- c061952d49f03acf9e464ab927b0b6b3bc38da8caaf077e70ace77116b6d1b8c
- c1ca82411e293ec5d16a8f81ed9466972a8ead23bd4080aaf9505baccce575ba
- c6cf82919b809967d9d90ea73772a8aa1c1eb3bc59252d977500f64f1a0d6731
- c8b40fbb5cd27f42c143c35b67c700f7ea42a2084418c5e2da82fb0ac094f966
- d3190648bc428640a721b7d3c2b05c56e855355e8b44561e3b701e80e97f7ea7
- d879ff9275cd62f4e7935261e17461d3a3cd1a29d65a5688bd382c47ae680ad6
- d9e868af5567a8c823f48f0f30440f1a9d77b52b2e6d785e116c450c48df9fc6
Licence et attribution
Auteur : Synacktiv, Maxence Fossat [@cybiosity]
Dépôt source : Synacktiv rules @ d234cc4da0
Licence : Detection Rule License 1.1 (indiquée dans les métadonnées de la règle)
“DRL-1.1”
Reprise via YARA Forge 20260927, qui préfixe les noms de règles par la source et ajoute des champs meta normalisés.
Identifiant de règle: 0b5a4689-58ea-45d5-aa14-a1455276352a
Métadonnées
| tlp | TLP:CLEAR |
|---|---|
| pap | PAP:CLEAR |
Règles liées
- Outil offensifSynacktiv rules· Synacktiv, Maxence Fossat [@cybiosity]· 2025-05-12
- Web shellSynacktiv rules· Synacktiv, Maxence Fossat [@cybiosity]· 2025-05-12