Información general del ejercicio
Eres un analista de operaciones de seguridad que trabaja en una empresa que ha implementado Microsoft Sentinel. Debes aprender a detectar y mitigar amenazas mediante Microsoft Sentinel. Después de conectar los orígenes de datos a Microsoft Sentinel, crea reglas de análisis personalizadas que te ayuden a detectar las amenazas y los comportamientos anómalos de tu entorno.
Las consultas de búsqueda de amenazas permiten a los analistas de SOC supervisar e investigar de forma proactiva posibles ataques a medida que se están desarrollando o antes de que se produzcan. La búsqueda en Microsoft Sentinel permite que las consultas similares a las reglas analíticas se usen para auditar el entorno para actividades potencialmente malintencionadas, al tiempo que permite a los analistas escalar los resultados de incidentes si es necesario. A veces, las amenazas de búsqueda pueden requerir datos que superen la retención del nivel de análisis (frecuente), donde se pueden usar características como trabajos de búsqueda y restauración para asegurarse de que el SOC tiene los datos que necesita.
Instrucciones del ejercicio
Tarea 1: Realizar un ataque de elevación de privilegios simulado
En esta tarea, realizarás un ataque simulado en la máquina virtual Azure VM1.
-
En el explorador Edge, ve a Azure Portal en https://portal.azure.com.
-
Escribe Máquinas virtuales en la barra de búsqueda y, a continuación, selecciona Máquinas virtuales.
-
Selecciona la máquina virtual VM1.
-
En el menú de navegación izquierdo, expande la sección Operaciones y selecciona Ejecutar comando.
-
En el panel Ejecutar comando, selecciona RunPowerShellScript.
-
En el cuadro Script de PowerShell, desactiva los comandos anteriores y, a continuación, copia y ejecuta estos comandos para simular la creación de una cuenta de administrador. No olvides presionar Entrar después de la última fila:
net user theusernametoadd /add net user theusernametoadd ThePassword1! net localgroup administrators theusernametoadd /add
-
Supervisa la sección Salida para comprobar que los comandos se completaron correctamente.
Tarea 2: Crear consultas de búsqueda KQL
En esta tarea, crearás una consulta de búsqueda y marcarás un resultado.
-
Inicia sesión en la máquina virtual WIN1 como administrador con la contraseña: Pa55w.rd.
-
En el explorador Edge, ve a Azure Portal en https://portal.azure.com.
-
En el cuadro de diálogo Iniciar sesión, copia y pega la cuenta Correo electrónico de inquilino que ha facilitado el proveedor de hospedaje de laboratorio y luego selecciona Siguiente.
-
En el cuadro de diálogo Escribir contraseña, copia y pega la Contraseña de inquilino que ha facilitado el proveedor de hospedaje de laboratorio y luego selecciona Iniciar sesión.
-
En la barra de búsqueda de Azure Portal, escribe Sentinel y luego selecciona Microsoft Sentinel.
-
Selecciona el área de trabajo de Microsoft Sentinel.
-
Selecciona Registros
-
Escribe y Ejecuta la siguiente instrucción KQL en el espacio Nueva consulta 1:
Importante: puedes pegar primero las consultas de KQL en el Bloc de notas y luego copiar de allí a la ventana de registro Nueva consulta 1 para evitar errores.
search "administrators" | summarize count() by $table
Nota: un resultado con el evento puede tardar hasta 5 minutos en aparecer. Espera hasta que lo haga.
-
El resultado podría mostrar eventos de tablas diferentes, pero en nuestro caso, queremos investigar la tabla SecurityEvent. El EventID y Event que estamos buscando es “4732: se ha agregado un miembro a un grupo local habilitado para seguridad”. Con esto, identificaremos cómo agregar un miembro a un grupo con privilegios. Ejecuta la siguiente consulta KQL para confirmar:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators"
-
Expande la fila para ver todas las columnas relacionadas con el registro. El nombre de usuario de la cuenta agregada como administrador no aparece. El problema es que, en lugar de almacenar el nombre de usuario, tenemos el identificador de seguridad (SID). Ejecuta el siguiente KQL para que coincida el SID con el nombre de usuario que se ha agregado al grupo Administradores:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators" | extend Acct = MemberSid, MachId = SourceComputerId | join kind=leftouter ( SecurityEvent | summarize count() by TargetSid, SourceComputerId, TargetUserName | project Acct1 = TargetSid, MachId1 = SourceComputerId, UserName1 = TargetUserName) on $left.MachId == $right.MachId1, $left.Acct == $right.Acct1
-
Extiende la fila para ver las columnas resultantes. En la última, vemos el nombre del usuario agregado en la columna UserName1 que proyectamos dentro de la consulta KQL. Es importante ayudar al analista de operaciones de seguridad proporcionando todo el contexto sobre la alerta que puedas. Esto incluye la proyección de entidades para su uso en el gráfico de investigación. Ejecuta la siguiente consulta:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators" | extend Acct = MemberSid, MachId = SourceComputerId | join kind=leftouter ( SecurityEvent | summarize count() by TargetSid, SourceComputerId, TargetUserName | project Acct1 = TargetSid, MachId1 = SourceComputerId, UserName1 = TargetUserName) on $left.MachId == $right.MachId1, $left.Acct == $right.Acct1 | extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = UserName1
-
Ahora que tienes una buena regla de detección, en la ventana Registros, selecciona + Nueva regla de alertas en la barra de comandos y luego selecciona Crear alerta de Microsoft Sentinel. Sugerencia: es posible que tengas que seleccionar el botón de puntos suspensivos (…) en la barra de comandos.
-
Se abre el Asistente para reglas de análisis. Para el tipo de pestaña General:
Configuración Value Nombre Agregación de usuario a administradores locales de SecurityEvent Descripción Usuario agregado al grupo de administradores locales Tácticas Elevación de privilegios Gravedad Alta -
Selecciona el botón Siguiente: establecer la lógica de la regla.
-
En la pestaña Establecer lógica de regla, la consulta de regla debe rellenarse ya con la consulta KQL, así como las entidades de Mejora de alertas: asignación de entidades.
Entity Identifier Campo de datos Cuenta FullName AccountCustomEntity administrador de flujos de trabajo Nombre de host HostCustomEntity -
Si Nombre de host no está seleccionado para Entidad de host, selecciónela en la lista desplegable y use los parámetros de la tabla anterior para rellenar los campos.
-
En Programación de consultas, establece lo siguiente:
Configuración Valor Ejecutar consulta cada 5 minutos Buscar datos del último 1 día Nota: estamos generando muchos incidentes a propósito para los mismos datos. Esto permite al laboratorio usar estas alertas.
-
Deja el resto de las columnas con las opciones predeterminadas. Selecciona el botón Siguiente: configuración de incidentes >.
-
En la pestaña Configuración de incidentes, deja los valores predeterminados y selecciona el botón Siguiente: respuesta automatizada >.
-
- En la pestaña Respuesta automatizada, selecciona el botón Siguiente: revisar y crear >.
- En la pestaña Revisar y crear, selecciona el botón Crear para crear la nueva regla de Análisis programado.