Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Acceso

Consultas personalizadas

1. Elementos de inicio

2.Sha256 Hashes de procesos en ejecución

3. Proceso con conexiones de red

4.Proceso privilegiado con conexión de red de host no local

5.Copia de seguridad/Restauración de la supervisión del registro

6. Búsqueda de archivos

7.Supervisión del historial de Powershell

8.Consulta de precaptura

9.Inspección de caché del protocolo de resolución de direcciones (ARP)

Introducción

Este documento describe las consultas de búsqueda orbital básica para el análisis de amenazas.

Prerequisites

Requirements

Cisco recomienda conocer el interés por comprender las amenazas y el malware, así como los conocimientos básicos de las tablas de lenguaje de consulta estructurado (SQL).

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Secure Endpoint Connector versión 7.1.5 o posterior para Windows

- Secure Endpoint Connector versión 1.16 o posterior para Mac

- Secure Endpoint Connector versión 1.17 o posterior para Linux

- El usuario de terminal seguro debe tener asignada la función de administrador para implementar Orbital

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

Las consultas personalizadas se aprovechan, lo que debe ayudarle a aprender rápidamente el poder de Orbital y osquery para la búsqueda de amenazas.

Orbital utiliza tablas de valores de osquerys además de tablas específicas de Orbital. Los resultados devueltos a través de Orbital se pueden enviar a otras aplicaciones, como Secure Endpoint, Secure Malware Analytics y SecureX Threat Response, y se pueden almacenar en almacenes de datos remotos (RDS), como Amazon S3, Microsoft Azure y Splunk.

Utilice la página Orbital Investigate (Investigación orbital) para construir y ejecutar consultas en directo en los terminales con el fin de recopilar más información de ellos. Orbital utiliza osquery, que le permite consultar sus dispositivos como una base de datos con comandos SQL básicos.

He aquí un ejemplo simple: SELECT column1, column2 FROM table1, table2 WHERE column2='value'.

En este ejemplo, column1 y column2 son los nombres de campo de la tabla de la que desea elegir datos. Para elegir todos los campos disponibles en la tabla, utilice esta sintaxis: SELECT * FROM tabla1.

Acceso

Abra Orbital directamente en estos sitios:

Norteamérica: https://orbital.amp.cisco.com

Europa: https://orbital.eu.amp.cisco.com

Asia Pacífico - https://orbital.apjc.amp.cisco.com

O bien

En Secure Endpoint Console, elija el sistema host afectado y haga clic en Investigate in Orbital.

Hay opciones para utilizar el Catálogo orbital (Haga clic en Browse) o Enter the Custom Queries bajo Custom SQL sección como se mencionó:

Consultas personalizadas

Nota: El sistema host se encuentra en la red de laboratorio y se intenta mantener el sistema/la red intactos.

1. Elementos de inicio

Los atacantes pueden aprovechar los elementos de inicio para mantener la persistencia en un sistema comprometido, lo que significa que el software malicioso seguirá ejecutándose o se reiniciará automáticamente con cada reinicio del sistema. En el siguiente ejemplo, Qakbot.exe se está ejecutando en el sistema host.

SELECT name, path, args, source, type, status, username

FROM startup_items;

2. Hashes Sha256 de procesos en ejecución

Los hashes SHA256 no están inherentemente asociados con procesos en ejecución en su estado natural. Sin embargo, el software de seguridad y las herramientas de supervisión del sistema pueden calcular el hash SHA256 de un proceso en ejecución del archivo ejecutable para ayudar a comprobar su integridad y autenticidad.

SELECT

p.pid, p.name, p.path, p.cmdline, p.state, h.sha256

FROM processes p

INNER JOIN hash h

ON p.path=h.path;

si el hash asociado de un archivo es malicioso, podrá identificarse con esta consulta.

3. Proceso con conexiones de red

Los procesos con conexiones de red son programas o servicios del sistema que utilizan activamente la interfaz de red para comunicarse con otros dispositivos de una red o a través de Internet.

SELECT

DISTINCT pos.pid, p.name, p.cmdline, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port

FROM processes p

JOIN process_open_sockets pos USING (pid)

WHERE

pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1", “0");

4. Proceso privilegiado con conexión de red de host no local

Programa o servicio en ejecución que tiene permisos elevados (como los de una cuenta de administrador o del sistema) y se comunica a través de la red con un dispositivo o servicio externo, lo que significa cualquier dirección IP distinta de 127.0.0.1 (host local) o ::1 (host local IPv6).

SELECT DISTINCT p.name, p.cmdline, pos.pid, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port

FROM processes p JOIN process_open_sockets pos USING (pid)

WHERE pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1")

Una vez que tenga la lista de identificadores de paquetes (PID), puede agregarla en consecuencia en las consultas personalizadas.

SELECT DISTINCT p.name, p.cmdline, pos.pid, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port

FROM processes p JOIN process_open_sockets pos USING (pid)

WHERE pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1") and p.uid=1436

5. Copia de seguridad/Restauración de la supervisión del registro

Seguimiento de eventos en los que se realizan cambios en el Registro de Windows mediante operaciones de copia de seguridad o restauración. El Registro de Windows es una base de datos jerárquica que almacena opciones y valores de configuración en los sistemas operativos Microsoft Windows.

SELECT key AS reg_key, path, name, data, DATETIME(mtime, "unixepoch") as last_modified

FROM registry

WHERE key LIKE "HKEY_LOCAL_MACHINE\system\currentcontrolset\control\backuprestore\filesnottosnapshot";

SELECT data, path FROM registry

WHERE key LIKE 'HKEY_USERS\%\Control Panel\Accessibility\StickyKeys’;

SELECT username, data, split(path, '\', 1) AS sid

FROM

(SELECT data, path FROM registry

WHERE key LIKE 'HKEY_USERS\%\Control Panel\Accessibility\StickyKeys’)

JOIN users ON users.uuid = sid;

6. Búsqueda de archivos

Permite a los usuarios localizar archivos y carpetas en su equipo mediante diversos criterios, como el nombre de archivo, el contenido, las propiedades o los metadatos.

SELECT

f.directory, f.filename, f.uid, f.gid,

f.mode, f.device, f.size,

f.atime,

f.mtime,

f.ctime,

f.btime,

f.hard_links, f.symlink, f.file_id, h.sha256

FROM file f

LEFT JOIN hash h on f.path=h.path

WHERE

f.path LIKE (SELECT v from __vars WHERE n="file_path") AND

f.path NOT LIKE (SELECT v from __vars WHERE n=“not_file_path");

Navegue hasta PARAMETERS > File Path y haga clic en %.dll o %.exe o %.png.

7. Supervisión del historial de Powershell

Práctica de realizar un seguimiento de los comandos que se han ejecutado en sesiones de PowerShell. La supervisión del historial de PowerShell puede ser especialmente importante por motivos de seguridad y cumplimiento.

SELECT time, datetime, script_block_id, script_block_count, script_text, script_name, script_path

FROM orbital_powershell_events

ORDER BY datetime DESC

LIMIT 500;

8. Consulta de captura previa

Función de rendimiento que acelera la carga de aplicaciones. La captura previa implica analizar la forma en que se carga y ejecuta el software en un sistema y, a continuación, almacenar información sobre esto en archivos específicos.

select datetime(last_run_time, "unixepoch", "UTC") as last_access_time,*

from prefetch

ORDER BY last_access_time DESC;

La captura previa es un mecanismo con el cual SQL Server puede activar muchas solicitudes de E/S en paralelo para una unión de loop anidado.

9. Inspección de caché del protocolo de resolución de direcciones (ARP)

Implica examinar el contenido de la caché ARP en un equipo o dispositivo de red. La memoria caché ARP es una tabla que almacena las asignaciones entre las direcciones IP y sus direcciones MAC correspondientes.

SELECT address, mac, count(*) as count

FROM arp_cache GROUP BY mac,address;

En el siguiente ejemplo, se obtiene la dirección MAC sospechosa y su recuento de la memoria caché ARP.

SELECT address, mac, count(*) as count

FROM arp_cache GROUP BY mac,address

HAVING COUNT(mac) >= (SELECT count FROM arp_cache WHERE count>=1)

AND mac LIKE (SELECT mac FROM arp_cache WHERE mac=“52:54:00:12:35:02");