8.3 KiB
Análise de Malware
{% hint style="success" %}
Aprenda e pratique Hacking AWS: HackTricks Treinamento AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Treinamento GCP Red Team Expert (GRTE)
Apoie o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.
Folhas de Dicas de Forense
https://www.jaiminton.com/cheatsheet/DFIR/#
Serviços Online
Ferramentas de Antivírus e Detecção Offline
Yara
Instalação
sudo apt-get install -y yara
Preparar regras
Utilize este script para baixar e mesclar todas as regras de malware yara do github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Crie o diretório rules e execute-o. Isso criará um arquivo chamado malware_rules.yar que contém todas as regras yara para malware.
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
Verificação
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
YaraGen: Verificar malware e Criar regras
Você pode usar a ferramenta YaraGen para gerar regras yara a partir de um binário. Confira estes tutoriais: Parte 1, Parte 2, Parte 3
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
ClamAV
Instalação
sudo apt-get install -y clamav
Verificação
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
Capa
Capa deteta potencialmente capacidades maliciosas em executáveis: PE, ELF, .NET. Portanto, irá encontrar coisas como táticas Att&ck, ou capacidades suspeitas como:
- verificar erro de OutputDebugString
- executar como um serviço
- criar processo
Obtenha-o no repositório do Github.
IOCs
IOC significa Indicador de Comprometimento. Um IOC é um conjunto de condições que identificam algum software potencialmente indesejado ou malware confirmado. As equipes de Defesa (Blue Teams) usam esse tipo de definição para procurar por esse tipo de arquivos maliciosos em seus sistemas e redes.
Compartilhar essas definições é muito útil, pois quando um malware é identificado em um computador e um IOC para esse malware é criado, outras equipes de Defesa (Blue Teams) podem usá-lo para identificar o malware mais rapidamente.
Uma ferramenta para criar ou modificar IOCs é o Editor de IOC.
Você pode usar ferramentas como o Redline para procurar por IOCs definidos em um dispositivo.
Loki
Loki é um scanner para Indicadores Simples de Comprometimento.
A detecção é baseada em quatro métodos de detecção:
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) é um scanner de malware para Linux lançado sob a licença GNU GPLv2, projetado em torno das ameaças enfrentadas em ambientes de hospedagem compartilhada. Ele utiliza dados de ameaças de sistemas de detecção de intrusão na borda da rede para extrair malware que está sendo ativamente usado em ataques e gera assinaturas para detecção. Além disso, os dados de ameaças também são derivados de envios de usuários com o recurso de verificação do LMD e de recursos da comunidade de malware.
rkhunter
Ferramentas como rkhunter podem ser usadas para verificar o sistema de arquivos em busca de possíveis rootkits e malware.
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSS é uma ferramenta que tentará encontrar strings obfuscadas dentro de executáveis usando diferentes técnicas.
PEpper
PEpper verifica algumas coisas básicas dentro do executável (dados binários, entropia, URLs e IPs, algumas regras yara).
PEstudio
PEstudio é uma ferramenta que permite obter informações de executáveis do Windows, como imports, exports, headers, mas também verificar o virus total e encontrar potenciais técnicas Att&ck.
Detect It Easy(DiE)
DiE é uma ferramenta para detectar se um arquivo está criptografado e também encontrar empacotadores.
NeoPI
NeoPI é um script Python que usa uma variedade de métodos estatísticos para detectar conteúdo obfuscado e criptografado em arquivos de texto/script. O objetivo do NeoPI é auxiliar na detecção de códigos de shell web ocultos.
php-malware-finder
PHP-malware-finder faz o melhor possível para detectar código obfuscado/suspeito e arquivos que usam funções PHP frequentemente usadas em malwares/webshells.
Assinaturas Binárias da Apple
Ao verificar alguma amostra de malware, você sempre deve verificar a assinatura do binário, pois o desenvolvedor que o assinou pode estar relacionado a malwares.
#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 Detecção
Empilhamento de Arquivos
Se você souber que alguma pasta contendo os arquivos de um servidor web foi atualizada pela última vez em alguma data. Verifique a data em que todos os arquivos no servidor web foram criados e modificados e se alguma data for suspeita, verifique esse arquivo.
Linhas de Base
Se os arquivos de uma pasta não deveriam ter sido modificados, você pode calcular o hash dos arquivos originais da pasta e compará-los com os atuais. Qualquer modificação será suspeita.
Análise Estatística
Quando as informações são salvas em logs, você pode verificar estatísticas como quantas vezes cada arquivo de um servidor web foi acessado, pois um web shell pode ser um dos mais.