_ _ __ _ __ _
| | | | / / (_) | |
| | | |_ __ | | _ | | _ __ __ _ ___| | _____ _ __
| | | | '_ / / | | '_ / _` |/ __| |/ / _ '__|
| |_| | | | | | / / |_) | (_| | (__| < __/ |
___/|_| |_|| | |_| | || .__/ __,_|___|_|____|_|
_ /_/ | |
|_|
| Mestre | |
| Dev |
O uso de packers de tempo de execução por autores de malware é muito comum, pois é uma técnica que ajuda a impedir a análise. Além disso, os Packers são um desafio para os produtos antivírus, pois tornam impossível identificar malware apenas por assinaturas ou hashes.
Para poder analisar uma amostra de malware compactada, geralmente é necessário descompactar o binário. Geralmente, isso significa que o analista terá que descompactar manualmente o binário usando técnicas de análise dinâmica (ferramentas: ollydbg, x64dbg). Existem também algumas abordagens para a descompactação automática, mas todas estão disponíveis apenas para Windows. Portanto, ao segmentar um malware do Windows embalado, o analista exigirá uma máquina Windows. O objetivo do nosso projeto é habilitar a desempacamento automático independente da plataforma usando a emulação que produz binários Windows executáveis.
Quaisquer outros Packers também devem funcionar, desde que as funções necessárias da API sejam implementadas no Packer da ONU {i}. Para os Packers que não são especificamente conhecidos, você será perguntado se gostaria de especificar manualmente os endereços de início e final para emulação. Se você deseja começar no ponto de entrada declarado no cabeçalho do PE e apenas imite até que a seção de salto seja detectada, pressione Enter
Somos humilhados ao ver algum uso ativo do Packer da ONU para projetos de pesquisa, cursos universitários e outros recursos que ensinam aos alunos sobre ofuscação de malware:
Se você estiver usando o Packer da ONU {i} para projetos adicionais e gostaria que eles sejam apresentados nesta lista, gostaríamos de ouvir de você!
Instale o pacote Yara para o seu sistema operacional, obtenha o Packer da Un {i} do Pypi e inicie -o usando o wrapper de linha de comando criado automaticamente:
pip3 install unipacker
unipacker
Para obter instruções detalhadas sobre como usar o Un {i} Packer, consulte o wiki. Além disso, todos os comandos do shell estão documentados. Para acessar essas informações, use o comando de help
Você pode dar uma rápida olhada no packer da ONU {i} em ação em um vídeo (alemão) do Prof. Chris Dietrich
Clone o repositório e, dentro da pasta raiz do projeto, ativam o modo de desenvolvimento usando pip3 install -e .
Você também pode usar o DockerFile fornecido para executar uma versão em contêiner do Un {i} Packer:
docker run -it -v ~/local_samples:/root/unipacker/local_samples vfsrfs/unipacker
Supondo que você tenha uma pasta chamada local_samples no diretório inicial, isso será montado dentro do contêiner. Un {i} Packer poderá, portanto, acessar esses binários via /root/unipacker/local_samples
Um invólucro de terceiros criado por @rpgeeganage permite descompactar amostras enviando uma solicitação para um servidor repousante: https://github.com/rpgeeganage/restful4up