
EVENTOS LOLBIN: cómo identificarlos y detectarlos
INTRODUCCIÓN En el presente documento, se llevó a cabo la investigación de eventos de tipo LOLBIN (Living off the Land Binaries) desde su entendimiento, las variantes que existen (según las herramientas y comandos aplicados), hasta reglas generadas para detectarlos en un sistema de tipo SIEM. Para el desarrollo del presente trabajo, se procede a dividir el tema en distintos casos: 1. Powershell 2. WMIC 3. Malicious Parent/Child Processes 4. Shadow Copy Donde se hará énfasis en cada uno, desde el punto de vista de su explotación, métodos para su ejecución y posteriormente, para su detección. DEFINICIÓN DE LOLBIN Living Off the Land Binaries and Scripts (LOLBins) se refiere a una categoría de herramientas de software que están presentes de manera nativa dentro de un sistema operativo o se descargan e instalan legítimamente, y que luego pueden ser explotadas por atacantes para actividades maliciosas. Los LOLBins no solo incluyen binarios, sino también scripts y librerías que son partes genuinas de los sistemas operativos, como scripts de PowerShell, Windows Management Instrumentation (WMI), Certutil, e incluso herramientas básicas de Unix/Linux como curl o wget. La propia característica de los LOLBINs, en el propio contexto de la seguridad de los sistemas, requiere un enfoque holístico, ésto es, combinar las tecnologías con el propio entendimiento humano de la naturaleza de estos ataques. CASO 1: EJECUCIÓN DE POWERSHELL Una de las principales herramientas para los atacantes es Powershell. Debido a su potencia, es capaz de realizar todo tipo de actividades. Esta herramienta es muy popular en su uso, tanto por administradores de sistema, como por atacantes. Este caso se relaciona con la sub técnica T1059.001(Command and Scripting Interpreter: PowerShell) de Mitre. Existen dos fundamentos claves a la hora de la detección: – ¿qué monitorear? – ¿cómo monitorear? Que monitorear: se puede observar el uso de distintos argumentos desde Powershell, los cuales pueden resultar sospechosos. A continuación, se recaban algunos ejemplos de otras investigaciones de cazas de amenazas. Principales argumentos sospechosos de Powershell: • NoProfile (all variations) • Window hidden (all variations) • W hidden • windowstyle hidden • NonInteractive (all variations) • ExecutionPolicy (all variations) • EP bypass • Bypass • Unrestricted • EncodedCommand (all variations) • NoLogo • Command (all variations) Principales «palabras clave» en ejecuciones de Powershell: • DownloadString • http:// • New-Object • Get-WMIObject • Text.Encoding • FromBase64String • ScriptBlock • $env: • Invoke-Expression • Assembly • Char • https:// • DownloadFile Ejemplos de ejecución COMO monitorear: se realiza mediante la utilidad de Sysmon (https://learn.microsoft.com/es-es/sysinternals/downloads/sysmon), cargando un template con varias reglas específicas. Para capturar los eventos de Sysmon (específicamente interesa el proceso id1: process creation), se ejecuta Powershell con argumentos seleccionados desde un equipo con Windows Server instalado: En el visor de eventos, se identifica el log de Sysmon (id = 1). Capturando el evento “Process Creation” de Sysmon, se observa que el campo “commandLine” contiene los argumentos utilizados en la ejecución. A partir de la siguiente información recolectada, se generan las reglas correspondientes: title: Suspicious Encoded PowerShell Command Line description: Detects suspicious powershell process starts with base64 encoded commands (e.g. Emotet) date: 2018-09-03 modified: 2023-04-06 tags: – attack.execution – attack.t1059.001 logsource: category: process_creation product: windows detection: selection_img: – Image|endswith: – ‘\powershell.exe’ – ‘\pwsh.exe’ – OriginalFileName: – ‘PowerShell.EXE’ – ‘pwsh.dll’ selection_cli_enc: CommandLine|contains: ‘ -e’ # covers -en and -enc selection_cli_content: CommandLine|contains: – ‘ JAB’ – ‘ SUVYI’ – ‘ SQBFAFgA’ – ‘ aQBlAHgA’ – ‘ aWV4I’ – ‘ IAA’ – ‘ IAB’ – ‘ UwB’ – ‘ cwB’ selection_standalone: CommandLine|contains: – ‘.exe -ENCOD ‘ – ‘ BA^J e-‘ # Reversed filter_optional_remote_signed: CommandLine|contains: ‘ -ExecutionPolicy remotesigned ‘ condition: selection_img and (all of selection_cli_* or selection_standalone) and not 1 of filter_optional_* level: high A partir del evento de Id 1 de Sysmon, se detecta el evento con nombre de proceso generado “powershell.exe” El campo commandLine contiene la palabra clave “Command”. Ejemplo de detección desde Wazuh: En la primera detección se pueden observar los argumentos capturados desde el campo data.win.eventdata.commandLine. En la segunda detección, se puede observar la ejecución inicial desde el campo data.win.eventdata.parentCommandLine. De esta manera, es posible detectar diferentes argumentos y/o palabras claves en la ejecución de Powershell. CASO 2: WMIC WMIC es otra herramienta de Windows, también de línea de comandos, para tareas administrativas del sistema operativo. Si bien ya se encuentra en “desuso”, todavía se puede observar la utilización de la misma. Es muy usada por los atacantes para distribuir malware, ya sea para descargarlos, como a la hora de ejecutar código malicioso en Powershell. Este caso se relaciona con la Técnica T1047(Windows Management Instrumentation) de Mitre. Para el presente ejemplo, se detecta el uso del parámetro “/node” como sospechoso, ya que permite realizar acciones desde un servidor remoto. Esto le daría posibilidad a los atacantes para correr todo tipo de tareas de forma remota. Ejemplo de ejecución: De lo anterior podemos observar que se ejecuta un proceso en cmd, que abre la calculadora, en el servidor remoto 192.168.0.42, utilizando la cuenta de administrador. Para la captura de eventos y posterior detección, se procede a ejecutar la utilidad con el parámetro anteriormente mencionado, observando la generación del evento de Sysmon y posteriormente, la regla de detección en Wazuh. Esto genera el siguiente evento de Sysmon: De lo observado, se genera la siguiente alerta: title: New Process Created Via Wmic.EXE description: Detects new process creation using WMIC via the «process call create» date: 2019-01-16 modified: 2023-02-14 tags: – attack.execution – attack.t1047 logsource: category: process_creation product: windows detection: selection_img: – Image|endswith: ‘\wmic.exe’ – OriginalFileName: ‘wmic.exe’ selection_cli: CommandLine|contains|all: – ‘process’ – ‘call’ – ‘create’ condition: all of selection_* falsepositives: – Unknown level: medium Utilizando el mismo campo que en el ejemplo de Powershell: commandLine, el cual contiene el parámetro utilizado en la ejecución de Wmic. CASO 3: MALICIOUS PARENT/CHILD PROCESSES Para los casos de child processes engendrados por Powershell, se listan algunos que resultan sospechosos de la misma manera, pero con la herramienta WMIC. Desde Sysmon se identifica “powershell” o “WmiPrvSE.exe” como parentImage (el proceso que origina), y luego se analiza el valor de Image para determinar de esta forma que procesos son ejecutados por los primeros. title: Suspicious WmiPrvSE Child Process description: Detects suspicious and uncommon child processes of WmiPrvSE date: 2021-08-23 modified: 2023-11-10 tags: – attack.execution – attack.defense-evasion – attack.t1047 – attack.t1204.002 – attack.t1218.010 logsource: product: windows category: process_creation detection: selection_parent: ParentImage|endswith: ‘\wbem\WmiPrvSE.exe’ selection_children_1: Image|endswith: – ‘\certutil.exe’ – ‘\cscript.exe’ – ‘\mshta.exe’ – ‘\msiexec.exe’ – ‘\regsvr32.exe’ – ‘\rundll32.exe’ – ‘\verclsid.exe’ – ‘\wscript.exe’ selection_children_2: Image|endswith: ‘\cmd.exe’ CommandLine|contains: – ‘cscript’ – ‘mshta’ – ‘powershell’ – ‘pwsh’ – ‘regsvr32’ – ‘rundll32’ – ‘wscript’ filter_main_werfault: Image|endswith: ‘\WerFault.exe’ filter_main_wmiprvse: Image|endswith: ‘\WmiPrvSE.exe’ # In some legitimate case WmiPrvSE was seen spawning itself filter_main_msiexec: Image|endswith: ‘\msiexec.exe’ CommandLine|contains: ‘/i ‘ condition: selection_parent and 1 of selection_children_* and not 1 of filter_main_* falsepositives: – Unknown level: high Para lo anterior, se procede con la secuencia ya mencionada en los ejemplos anteriores: 1. Ejecutar el binario Mshta.exe desde Powershell. 2. Identificar evento en Sysmon 3. Ejemplo de ejecución de la regla en un SIEM. 1. 2. 3. CASO 4: SHADOW COPY Es una herramienta de Windows que permite crear copias de seguridad de los archivos en la máquina del usuario, pudiendo volver a un punto anterior o hacer una restauración del sistema. Una vez habilitada la funcionalidad, se crean “instantáneas”, como si fueran fotos de los datos. Estas son las Shadow Copies. Las copias generadas por VSS (Volume Shadow Copy) quedan ocultas en el sistema de archivos del sistema operativo del usuario y se realizan cuando ocurre un cambio en la computadora, como una actualización del sistema operativo o de algún programa instalado. Este servicio es una de los blancos principales en los ataques de Ransomware, donde se procede a eliminar cualquier copia que hubiese creada, a modo de anular definitivamente la posibilidad de contar con respaldos de la información (además de los respaldos propiamente dichos). Hay varias formas de manipular las Shadow Copies, en el presente documento nos vamos a enfocar en las técnicas utilizadas con algunos LOLBINs. Existen varios ejecutables para administrar el servicio: Windows Utilities for VSCs Algunos ejemplos de ejecuciones: 1. vssadmin delete shadows /for=<ForVolumeSpec> [/oldest | /all | /shadow=<ShadowID>] [/quiet] 2. wmic SHADOWCOPY DELETE 3. wbadmin delete systemstatebackup [-backupTarget:<volumename>] [-machine:<backupmachinename>] [-quiet] 4. bcdedit.exe /set {{default}} bootstatuspolicy ignoreallfailures & bcdedit /set {{default}} recoveryenabled no 5. diskshadow delete shadows all 1. 2. 3. 4. 5. Regla de detección title: Delete shadow copy via WMIC description: Delete shadow copy via WMIC date: 2020-05-11 id: 200076 threatname: behaviorgroup: 18 classification: 0 tags: – attack.execution – attack.inhibit-system-recovery – attack.t1490 logsource: category: process_creation product: windows detection: selection: CommandLine: – ‘*wmic*shadowcopy delete*’ condition: selection level: critical BIBLIOGRAFÍA https://www.vpnunlimited.com/es/help/cybersecurity/lolbin https://www.youtube.com/watch?v=XZw9kajmCis https://docs.broadcom.com/doc/living-off-the-land-turning-your-infrastructure-against-you-en https://learn.microsoft.com/es-es/windows/win32/wmisdk/wmic https://lolbas-project.github.io/ https://www.mcafee.com/learn/what-is-mshta-how-can-it-be-used-and-how-to-protect-against-it/ https://blogs.vmware.com/security/2022/09/threat-report-illuminating-volume-shadow-deletion.html https://medium.com/@cyberjyot/lolbin-execution-via-diskshadow-f6ff681a27a4 https://cyber-kill-chain.ch/techniques/T1490/ https://docs.datacore.com/WIK-WebHelp/WIK-WebHelp/VSS/DiskShadow_Commands_Example.htm https://github.com/NVISOsecurity/sigma-public/ SOC Datasec EVENTOS LOLBIN: cómo identificarlos y detectarlos

















