{"id":"c57872c7-614f-4d7f-a40d-b78c8df2d30d","title":"Assembly Loading Via CL_LoadAssembly.ps1","description":"Detects calls to \"LoadAssemblyFromPath\" or \"LoadAssemblyFromNS\" that are part of the \"CL_LoadAssembly.ps1\" script. This can be abused to load different assemblies and bypass App locker controls.","author":"frack113, Nasreddine Bencherchali (Nextron Systems)","status":"test","level":"medium","date":"2022-05-21","modified":"2023-08-17","tags":["attack.stealth","attack.t1216"],"technique_ids":["T1216"],"logsource":{"category":"process_creation","product":"windows"},"falsepositives":["Unknown"],"references":["https://bohops.com/2018/01/07/executing-commands-and-bypassing-applocker-with-powershell-diagnostic-scripts/","https://lolbas-project.github.io/lolbas/Scripts/CL_LoadAssembly/"],"source_path":"rules/windows/process_creation/proc_creation_win_powershell_cl_loadassembly.yml","source_sha256":"82d77b6398cd06d5bc4e7038bc4f005a54444a83e48b69998ad419abcc47899d","source_url":"https://github.com/anpa1200/sigma/blob/b249e9683190cffdcaf188ccbfb90bf4759844e1/rules/windows/process_creation/proc_creation_win_powershell_cl_loadassembly.yml","license":"Detection Rule License 1.1","license_url":"https://github.com/SigmaHQ/Detection-Rule-License/blob/main/LICENSE.Detection.Rules.md","yaml":"title: Assembly Loading Via CL_LoadAssembly.ps1\nid: c57872c7-614f-4d7f-a40d-b78c8df2d30d\nstatus: test\ndescription: Detects calls to \"LoadAssemblyFromPath\" or \"LoadAssemblyFromNS\" that are part of the \"CL_LoadAssembly.ps1\" script. This can be abused to load different assemblies and bypass App locker controls.\nreferences:\n    - https://bohops.com/2018/01/07/executing-commands-and-bypassing-applocker-with-powershell-diagnostic-scripts/\n    - https://lolbas-project.github.io/lolbas/Scripts/CL_LoadAssembly/\nauthor: frack113, Nasreddine Bencherchali (Nextron Systems)\ndate: 2022-05-21\nmodified: 2023-08-17\ntags:\n    - attack.stealth\n    - attack.t1216\nlogsource:\n    category: process_creation\n    product: windows\ndetection:\n    selection:\n        # Note: As this function is usually called from within powershell, classical process creation even would not catch it. This will only catch inline calls via \"-Command\" or \"-ScriptBlock\" flags for example.\n        CommandLine|contains:\n            - 'LoadAssemblyFromPath '\n            - 'LoadAssemblyFromNS '\n    condition: selection\nfalsepositives:\n    - Unknown\nlevel: medium\n","validation":"yaml_parsed_not_backend_compiled_or_live_validated","techniques":[{"key":"enterprise/T1216","id":"T1216","name":"System Script Proxy Execution","page":"techniques/enterprise/T1216/"}],"data_path":"data/detection-rules/c57872c7-614f-4d7f-a40d-b78c8df2d30d.json","kind":"sigma"}
