Aprenda tácticas adversas, técnicas y conocimientos comunes (ATT @ CK). Tácticas empresariales. Parte 7

Descubrimiento


Enlaces a todas las partes:

Parte 1. Obtención del acceso inicial (acceso inicial)
Parte 2. Ejecución
Parte 3. Fijación (persistencia)
Parte 4. Escalada de privilegios
Parte 5. Evasión de defensa
Parte 6. Obtención de credenciales (acceso de credenciales)
Parte 7. Descubrimiento
Parte 8. Movimiento lateral
Parte 9. Recolección de datos (Colección)
Parte 10 Exfiltración
Parte 11. Comando y Control

Después de obtener, como resultado del compromiso inicial, el acceso al sistema, el adversario debe "mirar a su alrededor", comprender que ahora controla qué oportunidades tiene y si hay suficiente acceso actual para lograr un objetivo táctico o final. Esta etapa del ataque se llama "Descubrimiento" (Ing. Discovery - "descubrimiento científico", "divulgación", "exposición").

El autor no es responsable de las posibles consecuencias de aplicar la información contenida en el artículo, y también se disculpa por posibles imprecisiones hechas en algunas formulaciones y términos. La información publicada es un recuento gratuito de los contenidos de MITER ATT & CK .

Los sistemas operativos tienen muchas herramientas integradas con las cuales el adversario puede estudiar el perímetro interno de la red atacada después de que se haya visto comprometida. En Windows, la interacción directa con la API de Windows, WMI y la funcionalidad de PowerShell se pueden utilizar para recopilar información.

Un atacante utiliza métodos de detección mientras estudia el entorno atacado, por lo tanto, la identificación de dicha actividad debe considerarse como parte de la cadena de ataque, seguida de intentos de avanzar al enemigo a través de la red.

Como medida destinada a identificar la actividad descrita anteriormente en los sistemas protegidos, se recomienda que se supervisen los procesos y los argumentos de la línea de comandos que se pueden utilizar para recopilar información sobre un sistema o red. Una recomendación general para evitar la posibilidad de una investigación interna no autorizada del sistema y la red protegidos es auditar la presencia de utilidades innecesarias del sistema y software potencialmente peligroso que se puede usar para estudiar el entorno protegido y usar herramientas para bloquear su lanzamiento, por ejemplo AppLocker o políticas de restricción de software (Restricción de software Políticas).

Descubrimiento de cuenta


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: los atacantes pueden intentar obtener una lista de cuentas en el sistema o dominio local.

Ventanas
Para obtener información de la cuenta, se pueden usar las utilidades Net o Dsquery :
net user
net group
net localgroup
dsquery user
dsquery group


Un atacante puede usar el descubrimiento del propietario / usuario del sistema para buscar el usuario principal, el usuario actual del sistema o el grupo de usuarios que generalmente usan el sistema.

Mac
En Mac, los grupos de usuarios se pueden obtener usando los grupos y los comandos de identificación . Los grupos de usuarios y los usuarios también se pueden enumerar con los siguientes comandos:
dscl . list /Groups
dscacheutile -q group


Linux
En Linux, los usuarios locales pueden obtenerse del archivo / etc / passwd , que todos los usuarios pueden leer. En Mac, el mismo archivo se usa solo en modo de usuario único, además del archivo /etc/master.passwd . Además, los grupos y los comandos de identificación también están disponibles en Linux.

Recomendaciones de protección: evite la posibilidad de enumerar cuentas de administrador al elevar los privilegios a través del UAC, ya que esto conducirá a la divulgación de los nombres de cuenta de administrador. La clave de registro correspondiente se puede deshabilitar con el GPO:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\CredUI\
EnumerateAdministrators

GPO: Computer Configuration > [Policies] > Administrative Templates > Windows Components > Credential User Interface: Enumerate administrator accounts on elevation.


Aplicación Window Discovery


Sistema: Windows, macOS
Derechos: usuario
Descripción: los atacantes pueden intentar obtener listas de ventanas abiertas por las aplicaciones. Dichas listas pueden indicar cómo se usa el sistema allí o descubrir el contexto de la información recopilada por el keylogger. En una Mac, esto se puede hacer con un pequeño script AppleScript.

Navegador Marcador Descubrimiento


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: para descubrir tanta información sobre un sistema comprometido como sea posible, los atacantes pueden examinar los marcadores del navegador del usuario. Los marcadores pueden revelar información personal sobre los usuarios (por ejemplo, sitios bancarios, intereses personales, redes sociales, etc.), así como información sobre los recursos internos de la red: servidores, herramientas, paneles y otros elementos de infraestructura. Un adversario puede usar credenciales almacenadas en caché en un navegador para obtener acceso a servicios de usuario cuyas direcciones están almacenadas en los marcadores del navegador. Las ubicaciones de almacenamiento para marcadores dependen de la plataforma y los detalles de las aplicaciones y el sistema operativo. Los marcadores del navegador generalmente se almacenan como archivos locales o bases de datos.

Recomendaciones de protección: dado que almacenar información en archivos es una característica estándar del sistema operativo, los intentos de suprimir esta actividad serán inapropiados. Por ejemplo, restringir el acceso a los archivos de marcadores del navegador puede provocar efectos secundarios no deseados e interrumpir el software legítimo. Los esfuerzos de defensa deben estar dirigidos a prevenir el lanzamiento de las herramientas y herramientas de un atacante en las primeras etapas de un ataque.

Descubrimiento de archivos y directorios


Sistema: Windows, Linux, macOS
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden enumerar archivos y directorios o buscar información específica en ubicaciones específicas en el host o en recursos de red compartidos.

Ventanas
Ejemplos de utilidades para obtener información sobre archivos y directorios son dir y tree . Las herramientas personalizadas a través de la interacción directa con la API de Windows también se pueden utilizar para recopilar información sobre archivos y directorios.

Linux y macOS
En Linux y macOS, la exploración de archivos y directorios se realiza mediante los comandos ls, find y localizar .

Recomendaciones de protección: dado que la presentación de información en forma de archivos y directorios es una característica estándar del sistema operativo, los intentos de suprimir esta actividad serán inapropiados. Los esfuerzos de defensa deben estar dirigidos a prevenir el lanzamiento de las herramientas y herramientas de un atacante en las primeras etapas de un ataque.

Escaneo de servicios de red


Sistema: Windows, Linux, macOS
Derechos: Administrador, Sistema
Descripción: los atacantes pueden intentar obtener una lista de servicios que se ejecutan en hosts remotos, incluidos aquellos que pueden ser vulnerables a las herramientas de acceso remoto. Los métodos para obtener dicha información incluyen escanear puertos y vulnerabilidades utilizando herramientas que se descargan al sistema.

Consejos de seguridad: use sistemas IDS / IPS para detectar y prevenir escaneos remotos. Asegúrese de que se cierren los puertos innecesarios, se apaguen los servicios no utilizados y se respete la segmentación de red adecuada para proteger los servidores y dispositivos críticos.

Descubrimiento de redes compartidas


Sistema: Windows, macOS
Derechos: usuario
Descripción: en las redes locales, a menudo hay unidades y carpetas de red compartidas que permiten a los usuarios acceder a directorios de red de directorios de archivos ubicados en diferentes sistemas. Los atacantes pueden buscar carpetas y unidades de red compartidas en sistemas remotos para buscar fuentes de datos de destino e identificar sistemas potenciales para un mayor movimiento en la red.

Ventanas
El intercambio de archivos en las redes de Windows se realiza utilizando el protocolo SMB. La utilidad Net se puede utilizar para obtener información de un sistema remoto sobre la presencia de unidades de red compartidas en ella: net view \remotesystem
O bien, obtenga información sobre unidades de red compartidas en el sistema local: net share .

Mac
En una Mac, los recursos compartidos de red montados localmente se pueden ver con el comando: df -aH .

Sniffing de red


Sistema: Windows, Linux, macOS
Descripción: un atacante puede usar la interfaz de red en modo promiscuos ( modo "inaudible"), en el que la tarjeta de red aceptará todos los paquetes independientemente de a quién se dirijan o usará puertos span (puertos espejo) para capturar una gran cantidad de datos transmitidos por cable o redes inalámbricas.

Los datos capturados durante el rastreo pueden contener credenciales enviadas a través de conexiones inseguras sin utilizar protocolos de cifrado. Varios ataques a los servicios de nombres de red, como el envenenamiento LLMNR / NBT-NS al redirigir el tráfico, también se pueden usar para recopilar credenciales en sitios web, servidores proxy y sistemas internos. Mientras escucha una red, un adversario también puede revelar información de configuración diversa (servicios en ejecución, números de versión, direcciones IP, nombres de host, ID de VLAN, etc.) necesarios para un mayor movimiento en la red y / o eludir las características de seguridad.

Consejos de seguridad: asegúrese de que el tráfico inalámbrico esté encriptado correctamente. Si es posible, use Kerberos, SSL y autenticación multifactor. Monitoree los conmutadores de red para puertos de expansión, envenenamiento ARP / DNS y cambios de configuración de enrutador no autorizados. Use herramientas para identificar y bloquear software potencialmente peligroso que pueda usarse para interceptar y analizar el tráfico de red.

Descubrimiento de la política de contraseña


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: una política de contraseña en la red es una forma de garantizar a los usuarios el uso de contraseñas complejas que son difíciles de adivinar o descifrar por la fuerza bruta. Un atacante puede intentar acceder a información sobre la configuración de la política de contraseñas de la red atacada para crear una lista de contraseñas conocidas y comunes que cumplan con los requisitos de la política (por ejemplo, si la política tiene una longitud mínima de contraseña de 8 caracteres, no intente usar contraseñas como pass123 o no marque más de 3 4 contraseñas por cuenta, si el número de intentos fallidos es igual a 6) y el inicio posterior de la selección de contraseñas en el diccionario. Las políticas de contraseña se pueden aplicar y detectar tanto en Windows, Linux y macOS.

Ventanas
net accounts
net accounts /domain


Linux
chage -l
cat /etc/pam.d/comman-password


macOS
pwpolicy getaccountpolicies

Recomendaciones de protección: no se recomiendan los intentos de evitar directamente la detección de una política de contraseña, ya que la configuración de la política de contraseña debe ser conocida por todos los sistemas y usuarios de la red. Asegúrese de que la política de contraseñas que use dificulte el uso de contraseñas de fuerza bruta y no permita el uso de contraseñas que sean demasiado livianas. La forma más común de aplicar una política de contraseña en una red corporativa es implementar Active Directory.

Si hay una tarea para detectar actividad maliciosa, supervise los procesos en busca de herramientas y argumentos de línea de comandos que indiquen intentos de identificar una política de contraseña. Haga coincidir esta actividad con otras actividades sospechosas del sistema fuente para reducir la probabilidad de un evento falso relacionado con las acciones del usuario o administrador. Lo más probable es que el adversario intente identificar los parámetros de la política de contraseñas en las primeras etapas del ataque o junto con el uso de otras técnicas de la etapa de identificación y revisión.

Descubrimiento de dispositivos periféricos


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden intentar recopilar información sobre periféricos conectados a computadoras en la red atacada. Esta información se puede utilizar para aumentar la conciencia del entorno atacado y se puede utilizar en la planificación de nuevas acciones maliciosas.

Descubrimiento de grupos de permisos


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: los atacantes pueden intentar encontrar grupos de acceso locales o de dominio y examinar su configuración de permisos.

Ventanas
Puede enumerar grupos de acceso utilizando la utilidad Net :
net group /domain
ner localgroup


Linux
En Linux, los grupos locales se pueden enumerar usando el comando groups , los grupos de dominio se pueden enumerar usando el comando ldapsearch .

macOS
En Mac, puede hacer lo mismo con los siguientes comandos:
dscacheutil -q - para grupos de dominio;
dscl . -list /Groups dscl . -list /Groups - para grupos locales.

Descubrimiento de procesos


Sistema: Windows, Linux, macOS
Derechos: usuario, administrador, sistema
Descripción: los opositores pueden intentar obtener información sobre los procesos que se ejecutan desde el sistema para obtener información sobre el software que se ejecuta en los sistemas de la red atacada.

Ventanas
Un ejemplo de cómo obtener información sobre procesos en Windows es la utilidad del sistema Lista de tareas .

Mac y Linux
En Mac y Linux, esto se hace usando el comando ps .

Registro de consultas


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden interactuar con el registro de Windows para recopilar información sobre el sistema, la configuración y el software instalado. El registro contiene una cantidad significativa de información sobre el sistema operativo, la configuración, el software y la seguridad. Alguna información puede ayudar al adversario a realizar más operaciones en la red atacada. La interacción con el registro puede ocurrir usando varias utilidades, por ejemplo, Reg, o ejecutando herramientas de terceros que usan la API de Windows.

Descubrimiento de sistemas remotos (Descubrimiento de sistema remoto)


Sistema: Windows, Linux, macOS
Derechos: usuario, administrador, sistema
Descripción: El adversario probablemente intentará obtener una lista de sistemas en la red atacada. Los sistemas remotos se pueden detectar por dirección IP, nombre de host u otro identificador, que luego se puede utilizar para avanzar a un atacante a través de la red desde el sistema actual. La funcionalidad correspondiente se puede incluir en las Herramientas de acceso remoto (RAT) y también se pueden utilizar las utilidades del sistema integrado.

Ventanas
Comandos ping o net view .

Mac
El protocolo Bonjour se utiliza para detectar sistemas Mac dentro del dominio de difusión. Las utilidades como el ping también se pueden usar para recopilar información sobre sistemas remotos.

Linux
Las utilidades como el ping también se pueden usar para recopilar información sobre sistemas remotos.

Descubrimiento de software de seguridad


Sistema: Windows, macOS
Derechos: usuario, administrador, sistema
Descripción: los atacantes pueden intentar obtener listas de software de seguridad, configuraciones, sensores instalados en el sistema. El objetivo de un adversario puede ser cosas como reglas de firewall locales, antivirus y herramientas de virtualización. Estas comprobaciones pueden integrarse en las herramientas de acceso remoto (RAT) utilizadas en las primeras etapas de un ataque.

Ventanas
Ejemplos de comandos que se pueden usar para obtener información sobre herramientas de seguridad son las utilidades netsh, reg query, dir y tasklist , pero también se pueden usar otras herramientas más específicas para identificar sistemas de seguridad específicos que un adversario está buscando.

Mac
Una forma común de verificar si hay malware es usar LittleSnitch y KnockKnock .

Descubrimiento de información del sistema


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: Un adversario puede intentar obtener información detallada sobre el sistema operativo y el hardware, incluida la arquitectura, la versión, los parches y los paquetes de servicio instalados.

Ventanas
Ejemplos de utilidades para obtener información del sistema son ver, systeminfo y dir para identificar información del sistema basada en archivos y directorios existentes.

Mac
El comando systemsetup proporciona información detallada del sistema, pero requiere privilegios administrativos. Además, system_profiler proporciona un desglose detallado de configuraciones, reglas de firewall, volúmenes montados, hardware y muchas otras cosas sin la necesidad de escalar privilegios.

Descubrimiento de parámetros de configuración de red (Descubrimiento de configuración de red del sistema)


Sistema: Windows, Linux, macOS
Derechos: usuario
Descripción: lo más probable es que un atacante busque información detallada sobre la configuración de la red y los parámetros del sistema a los que tiene acceso o mediante el estudio de sistemas remotos. Algunas utilidades diseñadas para administrar el sistema operativo se pueden utilizar para recopilar la información anterior. Ejemplos de tales utilidades: arp, ipconfig / ifconfig, nbtstat, route, tracert / tracerout , etc.

Descubrimiento de conexiones de red (Descubrimiento de conexiones de red del sistema)


Sistema: Windows, Linux, macOS
Derechos: Usuario, Administrador
Descripción: los atacantes pueden intentar obtener una lista de conexiones de red entrantes y salientes de un sistema comprometido al que tienen acceso, o un sistema remoto, solicitando información a través de la red.

Ventanas
Utilidades y comandos para obtener información sobre conexiones de red:
Netstat
net use
net session


Mac y Linux
Netstat y lsof se pueden usar para mostrar las conexiones actuales. Similar a " sesión de red ", las utilidades who y w pueden mostrar los usuarios actuales que han iniciado sesión.

Propietario del sistema / descubrimiento de usuarios


Sistema: Windows, Linux, macOS
Derechos: Usuario, Administrador
Descripción: Los atacantes pueden tratar de identificar al usuario principal del sistema, el usuario actual actualmente conectado, un grupo de usuarios que usualmente usan el sistema o determinan cuánto está usando el usuario. Un adversario puede obtener la información anterior mediante el uso de métodos de descubrimiento de cuenta (consulte la técnica "Descubrimiento de cuenta") o mediante métodos de descarga de credenciales . La información sobre el usuario y su nombre se distribuye en todo el sistema; se incluyen en la información sobre los propietarios de procesos, archivos y directorios, en información sobre sesiones y registros del sistema, de modo que el adversario puede usar varios métodos de detección.
En Mac, el usuario actual puede identificarse utilizando las utilidades usuarios, w y who . En sistemas Linux, solo con w y who .

Descubrimiento de servicio del sistema


Sistema: Windows
Derechos: usuario, administrador, sistema
Descripción: un atacante puede intentar obtener información sobre los servicios registrados. Para recopilar datos, un adversario puede usar varias herramientas, incluidas las utilidades integradas que pueden recibir información sobre los servicios:
sc
tasklist /svc
net start


Descubrimiento de hora del sistema


Sistema: Windows
Derechos: usuario
Descripción: la hora del sistema se establece en el dominio y el Servicio de tiempos de Windows la almacena para garantizar la sincronización horaria entre sistemas y servicios en la red empresarial. Un atacante puede obtener la hora y / o zona horaria del sistema de un sistema local o remoto. Esta información se puede recopilar de varias maneras:
net time \\hostname : obtiene la hora del sistema host;
w32tm /tz : obtención de la zona horaria.
La información sobre la hora del sistema puede ser útil para que el enemigo use varios métodos de ataque, como ejecutar un archivo con una tarea programada o, según la información sobre la zona horaria, revelar la ubicación de la víctima.

Recomendaciones de protección: el software de alta calidad utiliza procesos legítimos para recopilar la hora del sistema. Los esfuerzos de protección deben estar dirigidos a prevenir la ejecución de código no deseado o desconocido en el sistema. Para evitar la recuperación no autorizada de información de tiempo desde un sistema remoto, las herramientas como la utilidad Net pueden estar bloqueadas por una política de seguridad. La supervisión de la línea de comandos puede ser útil para detectar instancias de Net.exe u otras utilidades utilizadas para recopilar la hora y la zona horaria del sistema. El monitoreo de las llamadas a la API para estos fines es menos útil debido al hecho de que la API a menudo es utilizada por software legítimo.

Source: https://habr.com/ru/post/es436350/


All Articles