Neste post vou compartilhar dois repositórios da Maldev Academy.
Ambos ilustram algumas maneiras criativas que autores de malware podem disfarçar código malicioso dentro de arquivos de imagem PNG, transformando imagens aparentemente inofensivas em ameaças potenciais.
Vamos analisar como essas técnicas funcionam:
1. Snippets Escondidos: Ocultando Malware em Seções IDAT
https://github.com/Maldev-Academy/EmbedPayloadInPng
O primeiro método envolve manipular as seções IDAT (Dados de Imagem) dentro de um arquivo PNG.
- Dividir para Conquistar: Em vez de incorporar todo o payload como um único bloco, ele é dividido em pedaços menores. Esses pedaços são então espalhados por várias seções IDAT, tornando-os mais difíceis de detectar.
- Criptografia para Ofuscação: Cada um desses pedaços de payload é criptografado usando o algoritmo RC4 com uma chave única de 16 bytes. Essa criptografia faz com que os dados aleatórios, ocultando ainda mais sua verdadeira natureza.
- IDAT Marcado: O Sinal Secreto: Para indicar o início do payload incorporado, uma seção IDAT especial "marcada" é criada. Essa seção marcada funciona como um farol, sinalizando a localização do código malicioso.
- Hash CRC: O Localizador de Payload: O hash CRC da seção IDAT marcada serve como um guia para extrair o payload.
- Auxílio Visual: As fontes fornecem imagens que retratam visualmente a estrutura do arquivo PNG modificado com as seções de payload incorporadas. Essa representação visual ajuda a esclarecer como o payload está oculto dentro dos dados da imagem.
2. Arquivos LNK: O Lobo em Pele de Cordeiro
https://github.com/Maldev-Academy/ExecutePeFromPngViaLNK
O segundo método se concentra em incorporar um arquivo executável (PE) inteiro dentro de um PNG e usar um arquivo LNK (atalho) como um gatilho para a execução.
- Criptografia XOR: Simples, Mas Eficaz: O arquivo PE é criptografado usando um algoritmo XOR de chave única. Embora não seja tão complexo quanto o RC4, a criptografia XOR ainda oculta o payload da inspeção casual.
- Anexando ao Final: O arquivo PE criptografado é adicionado como uma seção IDAT no final do arquivo PNG. Esse posicionamento pode tornar menos provável que interrompa a exibição da imagem, mas ainda permite o acesso para fins maliciosos.
- LNK como Isca: Um arquivo LNK aparentemente inofensivo é criado, enganando os usuários a pensar que estão abrindo um documento.
- %TEMP% para Execução: Quando o arquivo LNK é executado, ele extrai o arquivo PE criptografado do PNG e o salva no diretório %TEMP% do usuário. O malware é então executado a partir desse local temporário, muitas vezes sem levantar suspeitas imediatas.
Concluindo
Essas técnicas destacam o potencial de arquivos PNG, normalmente considerados inofensivos, serem usados para entregar malware, passando por técnicas de detecção e pelo treinamento de usuários.
O uso de criptografia, posicionamento estratégico dentro de seções IDAT e arquivos LNK falsos demonstram a criatividade e sofisticação dos autores de malware.
Dentro de cada repositório, tem os códigos de exemplo e uma explicação mais detaçhada do funcionamento.
Como evitar ?
- Medidas de segurança, como software antivírus e monitoramento de integridade de arquivos, para detectar e prevenir esses tipos de ataques.
- Nunca confie cegamente em arquivos, mesmo aqueles que parecem imagens inócuas.