{"id":"e5f5c693-52d7-4de5-88ae-afbfbce85595","title":"Unsigned .node File Loaded","description":"Detects the loading of unsigned .node files.\nAdversaries may abuse a lack of .node integrity checking to execute arbitrary code inside of trusted applications such as Slack.\n.node files are native add-ons for Electron-based applications, which are commonly used for desktop applications like Slack, Discord, and Visual Studio Code.\nThis technique has been observed in the DripLoader malware, which uses unsigned .node files to load malicious native code into Electron applications.\n","author":"Jonathan Beierle (@hullabrian)","status":"experimental","level":"medium","date":"2025-11-22","modified":"","tags":["attack.execution","attack.privilege-escalation","attack.persistence","attack.stealth","attack.t1129","attack.t1574.001","attack.t1036.005"],"technique_ids":["T1036.005","T1129","T1574.001"],"logsource":{"category":"image_load","product":"windows"},"falsepositives":["VsCode extensions or similar legitimate tools might use unsigned .node files. These should be investigated on a case-by-case basis, and whitelisted if determined to be benign."],"references":["https://www.coreycburton.com/blog/driploader-case-study","https://github.com/CoreyCBurton/DripLoaderNG","https://www.electronjs.org/docs/latest/tutorial/native-code-and-electron"],"source_path":"rules/windows/image_load/image_load_dll_unsigned_node_load.yml","source_sha256":"421439127b9023bfa22dfac8e6e286a4c1c40f2839aee30f0e00cefbe58516c4","source_url":"https://github.com/anpa1200/sigma/blob/b249e9683190cffdcaf188ccbfb90bf4759844e1/rules/windows/image_load/image_load_dll_unsigned_node_load.yml","license":"Detection Rule License 1.1","license_url":"https://github.com/SigmaHQ/Detection-Rule-License/blob/main/LICENSE.Detection.Rules.md","yaml":"title: Unsigned .node File Loaded\nid: e5f5c693-52d7-4de5-88ae-afbfbce85595\nstatus: experimental\ndescription: |\n    Detects the loading of unsigned .node files.\n    Adversaries may abuse a lack of .node integrity checking to execute arbitrary code inside of trusted applications such as Slack.\n    .node files are native add-ons for Electron-based applications, which are commonly used for desktop applications like Slack, Discord, and Visual Studio Code.\n    This technique has been observed in the DripLoader malware, which uses unsigned .node files to load malicious native code into Electron applications.\nreferences:\n    - https://www.coreycburton.com/blog/driploader-case-study\n    - https://github.com/CoreyCBurton/DripLoaderNG\n    - https://www.electronjs.org/docs/latest/tutorial/native-code-and-electron\nauthor: Jonathan Beierle (@hullabrian)\ndate: 2025-11-22\ntags:\n    - attack.execution\n    - attack.privilege-escalation\n    - attack.persistence\n    - attack.stealth\n    - attack.t1129\n    - attack.t1574.001\n    - attack.t1036.005\nlogsource:\n    category: image_load\n    product: windows\ndetection:\n    selection_node_extension:\n        ImageLoaded|endswith: '.node'\n    selection_status:\n        - Signed: 'false'\n        - SignatureStatus: 'Unavailable'\n    filter_optional_vscode_jupyter:\n        Image|endswith: '\\Code.exe'\n        ImageLoaded|contains: '.vscode\\extensions\\ms-toolsai.jupyter-'\n        ImageLoaded|endswith:\n            - '\\electron.napi.node'\n            - '\\node.napi.glibc.node'\n    condition: all of selection_* and not 1 of filter_optional_*\nfalsepositives:\n    - VsCode extensions or similar legitimate tools might use unsigned .node files. These should be investigated on a case-by-case basis, and whitelisted if determined to be benign.\nlevel: medium\n","validation":"yaml_parsed_not_backend_compiled_or_live_validated","techniques":[{"key":"enterprise/T1036.005","id":"T1036.005","name":"Match Legitimate Resource Name or Location","page":"techniques/enterprise/T1036.005/"},{"key":"enterprise/T1129","id":"T1129","name":"Shared Modules","page":"techniques/enterprise/T1129/"},{"key":"enterprise/T1574.001","id":"T1574.001","name":"DLL","page":"techniques/enterprise/T1574.001/"}],"data_path":"data/detection-rules/e5f5c693-52d7-4de5-88ae-afbfbce85595.json","kind":"sigma"}
