8.4 KiB
Análisis de Malware
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte tus trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Hojas de Trucos Forenses
https://www.jaiminton.com/cheatsheet/DFIR/#
Servicios en Línea
Herramientas de Antivirus y Detección sin Conexión
Yara
Instalación
sudo apt-get install -y yara
Preparar reglas
Utiliza este script para descargar y fusionar todas las reglas de malware yara desde github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Crea el directorio rules y ejecútalo. 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. Consulta 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
Capa
Capa detecta posibles capacidades maliciosas en ejecutables: PE, ELF, .NET. Por lo tanto, encontrará cosas como tácticas de Att&ck o capacidades sospechosas como:
- verificar errores de OutputDebugString
- ejecutarse como un servicio
- crear procesos
Encuéntralo en el repositorio de Github.
IOC
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 Blue Team 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 una computadora y se crea un IOC para ese malware, otros equipos de Blue Team pueden usarlo 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 enfrentadas 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 su detección. Además, los datos de amenazas también se derivan de las contribuciones 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 verificar el sistema de archivos en busca de posibles rootkits y malware.
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSS es una herramienta que intentará encontrar cadenas ofuscadas dentro de ejecutables utilizando diferentes técnicas.
PEpper
PEpper verifica algunas cosas básicas dentro del ejecutable (datos binarios, entropía, URLs e IPs, algunas reglas yara).
PEstudio
PEstudio es una herramienta que permite obtener información de ejecutables de Windows como importaciones, exportaciones, encabezados, pero también verificará VirusTotal y encontrará posibles técnicas de Att&ck.
Detect It Easy(DiE)
DiE es una herramienta para detectar si un archivo está encriptado y también encontrar empaquetadores.
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/dudoso así como archivos que utilizan funciones de PHP a menudo utilizadas en malwares/webshells.
Firmas Binarias de Apple
Al verificar alguna muestra de malware, siempre debes 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 app’s 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 alguna carpeta que contiene los archivos de un servidor web fue actualizada por última vez en alguna fecha. Verifica la fecha en la que todos los archivos en el servidor web fueron creados y modificados y si alguna fecha es sospechosa, verifica ese archivo.
Líneas de Base
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 modificación 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 un shell web podría ser uno de los más.