
Gera arquivos pseudo-maliciosos a partir de regras YARA para acionar detecção de AV/EDR, permitindo pesquisa de malware, QA de regras e teste de pressão de sensores de rede sem amostras reais de malware.
Arya é uma ferramenta única que produz arquivos pseudo-maliciosos projetados para acionar regras YARA. Pode-se pensar nela como um YARA reverso, pois faz exatamente o oposto – cria arquivos que correspondem às suas regras.
Você pode ler mais sobre Arya e como ela funciona em nosso blog.

As regras YARA são uma ferramenta essencial para pesquisadores de segurança, ajudando-os a identificar e classificar amostras de malware. Elas fazem isso descrevendo padrões e strings dentro do código de malware que podem ajudar um analista a identificar ameaças conhecidas ou novas. As regras YARA também são frequentemente integradas em ferramentas de detecção comerciais ou usadas internamente para detectar binários com comportamento suspeito na rede corporativa.
Mas e se não tivermos o arquivo malicioso para o qual estamos escrevendo regras? E se quisermos criar o arquivo “malware” com base em YARA como entrada? Foi por isso que desenvolvemos Arya. Arya pode ser usada para gerar arquivos de pseudo-malware personalizados para acionar ferramentas antivírus (AV) e de detecção e resposta de endpoints (EDR), assim como o bom e velho arquivo de teste EICAR. Nossa ferramenta possui diversos casos de uso, incluindo pesquisa de malware, teste de garantia de qualidade de regras YARA e teste de pressão em uma rede com amostras de código construídas a partir de regras YARA.

Arya é uma ferramenta inédita; ela produz arquivos pseudo-maliciosos destinados a acionar regras YARA. A ferramenta lê os arquivos YARA fornecidos (extensão .yar), analisa sua sintaxe usando o pacote yaramod da Avast — o mecanismo de análise YARA usado nesta pesquisa — e constrói um arquivo “malware” pseudo. Colocando cuidadosamente os bytes desejados das regras YARA para acionar as regras de entrada.
O objetivo da ferramenta é gerar um arquivo pseudo-malicioso sob medida que sensores de detecção como AV ou EDR identifiquem o arquivo resultante como o arquivo malicioso que uma regra YARA de entrada deve detectar. Para atingir esse objetivo, não apenas adicionamos as assinaturas, strings e bytes necessários das regras YARA de entrada, mas também adicionamos alguns “toques”, como cabeçalhos PE reais, aumento da entropia do arquivo de saída, adição de bytecode x86 e código de montagem de prólogo/epílogo de funções. Tudo isso auxilia o processo de acionamento de AV/EDR e contorna algumas verificações heurísticas que eles possam ter.

Arquivos YARA (extensão .yar) são arquivos de texto que contêm uma ou mais regras YARA. Neste projeto, usamos yaramod para transformar regras YARA em uma lista de regras representadas por objetos Python, que podem então ser usados para acessar o conteúdo interno de uma regra, como strings, tipos, condições e muito mais. O Yaramod analisa regras YARA em AST, ou Árvore Sintática Abstrata.
A travessia da árvore sintática abstrata é feita usando uma combinação dos padrões de projeto Observer e Visitor. Para cada nó pelo qual o código passa, ele determina quais bytes e strings precisa colocar e onde, a fim de acionar a condição na subárvore que percorre. Como resultado, esta árvore produz um mapeamento de strings e possíveis offsets para colocá-las; também pode reservar algumas delas no arquivo, que serão passadas para o mecanismo de posicionamento para processamento adicional.
Pesquisadores podem usar Arya para gerar arquivos pseudo-maliciosos usando regras YARA como blocos de construção. Esses arquivos podem ser usados para construir arquivos que serão identificados como malware específico. Por exemplo, se você não tem uma amostra do malware Zeus, mas quer verificar como seu AV reage a ela? Sem problemas, carregue as regras YARA do Zeus no Arya e gere seu próprio pseudo-malware “tipo Zeus” que ferramentas AV/EDR identificarão como Zeus.
Arya também pode ser usada como parte de treinamento de resposta a incidentes — semelhante ao purple teaming — onde arquivos pseudo-maliciosos podem ser enviados pela rede para testar a pressão sobre sensores e detectores na rede.
Suportadas
Planejado para as próximas atualizações
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
Execute Arya considerando os seguintes argumentos:
-i [DIRETÓRIO_DE_ENTRADA] OU [ARQUIVO_DE_ENTRADA]-o [NOME_DO_ARQUIVO_DE_SAÍDA]--header - Adiciona os primeiros 2048 bytes do conficker no início do arquivo.-r - Executa recursivamente em todos os arquivos sob [DIRETÓRIO_DE_ENTRADA]-m [ARQUIVO_MALWARE] - Usa o arquivo [DIRETÓRIO_DE_ENTRADA] como base para a saída.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe