hacktricks/forensics/basic-forensic-methodology/malware-analysis.md
2023-06-03 01:46:23 +00:00

7.8 KiB
Raw Blame History

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Hojas de trucos de forense

https://www.jaiminton.com/cheatsheet/DFIR/#

Servicios en línea

Herramientas de detección y antivirus sin conexión

Yara

Instalar

sudo apt-get install -y yara

Preparar reglas

Utilice este script para descargar y fusionar todas las reglas de malware yara desde Github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Cree el directorio rules y ejecútelo. Esto creará un archivo llamado malware_rules.yar que contiene todas las reglas yara para malware.

wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py

Escaneo

yara -w malware_rules.yar image  #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder

YaraGen: Verificar malware y crear reglas

Puedes utilizar la herramienta YaraGen para generar reglas yara a partir de un binario. Revisa estos tutoriales: Parte 1, Parte 2, Parte 3

 python3 yarGen.py --update
 python3.exe yarGen.py --excludegood -m  ../../mals/

ClamAV

Instalación

sudo apt-get install -y clamav

Escaneo

sudo freshclam      #Update rules
clamscan filepath   #Scan 1 file
clamscan folderpath #Scan the whole folder

IOCs

IOC significa Indicador de Compromiso. Un IOC es un conjunto de condiciones que identifican algún software potencialmente no deseado o malware confirmado. Los equipos de seguridad (Blue Teams) utilizan este tipo de definición para buscar este tipo de archivos maliciosos en sus sistemas y redes.
Compartir estas definiciones es muy útil, ya que cuando se identifica malware en un equipo y se crea un IOC para ese malware, otros equipos de seguridad pueden utilizarlo para identificar el malware más rápidamente.

Una herramienta para crear o modificar IOCs es IOC Editor.
Puedes utilizar herramientas como Redline para buscar IOCs definidos en un dispositivo.

Loki

Loki es un escáner de Indicadores Simples de Compromiso.
La detección se basa en cuatro métodos de detección:

1. File Name IOC
   Regex match on full file path/name

2. Yara Rule Check
   Yara signature matches on file data and process memory

3. Hash Check
   Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
   
4. C2 Back Connect Check
   Compares process connection endpoints with C2 IOCs (new since version v.10)

Linux Malware Detect

Linux Malware Detect (LMD) es un escáner de malware para Linux lanzado bajo la licencia GNU GPLv2, que está diseñado en torno a las amenazas que se enfrentan en entornos de alojamiento compartido. Utiliza datos de amenazas de sistemas de detección de intrusiones en el borde de la red para extraer malware que se está utilizando activamente en ataques y genera firmas para la detección. Además, los datos de amenazas también se derivan de las presentaciones de los usuarios con la función de pago de LMD y los recursos de la comunidad de malware.

rkhunter

Herramientas como rkhunter se pueden utilizar para comprobar el sistema de archivos en busca de posibles rootkits y malware.

sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]

PEpper

PEpper verifica algunas cosas básicas dentro del ejecutable (datos binarios, entropía, URLs e IPs, algunas reglas yara).

NeoPI

NeoPI es un script de Python que utiliza una variedad de métodos estadísticos para detectar contenido ofuscado y encriptado dentro de archivos de texto / script. El propósito previsto de NeoPI es ayudar en la detección de código de shell web oculto.

php-malware-finder

PHP-malware-finder hace todo lo posible para detectar código ofuscado/sospechoso y archivos que utilizan funciones PHP a menudo utilizadas en malwares/shell web.

Firmas binarias de Apple

Al verificar alguna muestra de malware, siempre debe verificar la firma del binario, ya que el desarrollador que lo firmó puede estar relacionado con malware.

#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"

#Check if the apps contents have been modified
codesign --verify --verbose /Applications/Safari.app

#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app

Técnicas de Detección

Apilamiento de Archivos

Si sabes que una carpeta que contiene los archivos de un servidor web fue actualizada por última vez en alguna fecha. Verifica la fecha en que todos los archivos del servidor web fueron creados y modificados y si alguna fecha es sospechosa, verifica ese archivo.

Baselines

Si los archivos de una carpeta no deberían haber sido modificados, puedes calcular el hash de los archivos originales de la carpeta y compararlos con los actuales. Cualquier cosa modificada será sospechosa.

Análisis Estadístico

Cuando la información se guarda en registros, puedes verificar estadísticas como cuántas veces se accedió a cada archivo de un servidor web, ya que una shell web podría ser una de las más.