Clasificación Hashing y Strings
- Tipo de archivo
- Portable Executable (PE)
- PDF
- DOCX
- Hashes
- Hashes comunes (MD5, SHA1, SHA256...)
- Fuzzy Hash
- Import Hash
- Section Hash
- Strings
- ASCII vs UNICODE
Homólogo de GTFObins basado en extensiones de archivos
file $FILE1 $FILE2 $FILE3 ...
# .EXE
4D 5A
ME
"This program cannot be run in DOS mode"
PE
md5sum $FILE* > MD5.txt
sha1sum $FILE* > SHA1.txt
sha256sum $FILE* > SHA256.txt
Get-FileHash .\sampleA* -Algorithm MD5 | tee MD5.txt
Get-FileHash .\sampleA* -Algorithm SHA1 | tee SHA1.txt
Get-FileHash .\sampleA* -Algorithm SHA256 | tee SHA256.txt
El malware polimórfico cambiará su hash así que mucho ojo con clasificarlo con este método
# Crear BBDD de las muestras a analizar
.\ssdeep.exe -b .\SET_01\sampleA* > hashes.txt
# Compara la BBDD con el resto de muestras
.\ssdeep.exe -bm hashes.txt SET_02\sampleB*
Examina las strings de ambos tipos para asegurarte de que no te dejas nada relevante
- cmd.exe
- nc
- netcat
- socket
- http
- https
Las strings ASCII son de 7-bits = 128 caracteres
Las strings Extended-ASCII son de 8 bits = 256 caracteres
# NULL CHARS
\x0A \x0D
También llamados UTF-16 o "Wide chars"
# NULL CHARS
\x0 NUL
Nos dará automáticamente cualquier tipo de string, muy recomendable sobre las demás herramientas.
floss.exe $FILE
# Normal Mode
strings $FILE
# Para buscar UTF (Cirílico)
strings -E S $FILE
.\bstrings.exe -f SET_01\sampleA1_.exe -m 5 --off -o .\sampleA1_STRINGS.txt
-f # Selecciona el archivo a escanear
-m 5 # Longitud mínima de la string
--off # mostrar offset de memoria
-o # Archivo de output
Última actualización 1yr ago