Investigação de um novo truque de instrução em situação irregular

 

Ao investigar algumas amostras de malware novo esta semana, nos deparamos com algums interessantes arquivos que usam um truque novo com uma instrução não-documentada. Tivemos que fazer um pouco de escavação em torno da lista de instruções do Intel para resolver este pequeno mistério. Enquanto  este truque em si não é eficaz na depuração e desmontagem, mas mesmo assim  pensamos que é digna de ser compartilhada em todo o caso, como estamos vendo agora três variantes de malware diferentes usando-o.

Um dos exemplos sinalizados pelos nossos sistemas (SHA1:3d85cc93115c1ebfdeba17b54d6570e06c1bb2f5) parecia nada fora do comum no início. Ele tem o empacotador personalizado usual para dissuadir a análise e detecção e é malformado para confundir várias ferramentas:

 

 

A parte realmente interessante, porém, é imediatamente no ponto de entrada:

 

 

 De acordo com os manuais da Intel, as instruções realçadas são instruções inválidas, o que tornaria o aplicação acidente se executado. Isso realmente contradiz nossa experiência – em nossos sistemas, o arquivo correu em uma máquina virtual. Por isso, decidimos que deveríamos aprofundar e verificar para ver que o problema reside.

Nós tentamos ver se outras ferramentas que normalmente usamos corretamente interpretados e desmontado as instruções:

 

 

 

Todas as ferramentas deram resultados diferentes para as mesmas instruções. Neste ponto, nós suspeitamos que nós estávamos lidando com uma instrução em situação irregular, em que as ferramentas não estavam cientes.

Para continuar a investigação, optamos por usar uma biblioteca disassembler da Intel, que nos deu a desmontagem a seguir:

 

 

Procurando por estas instruções revelou que estão em situação irregular instruções FPU, levando a desmontagem incorreta em diferentes ferramentas de inversão.

Porque este tinha despertado nossa curiosidade, perguntamos nós mesmos quem emprega este truque e quando ele apareceu primeiro na natureza.

A primeira amostra que percebemos que usando este truque alcançado nossos sistemas em 10 de janeiro de 2013, após uma apresentação do VirusTotal. A amostra (SHA1: 7403f5e5a88b26001295fd201d490fbb4854e061) é detectado como Backdoor:Win32/Farfli.AV. Este exemplo não estava lotado ou protegidos de alguma forma e só estava usando este truque de instrução.

Desde janeiro temos também visto o Trojan: Win32 / Danglo família e Backdoor:Win32/Zegost.B usando este truque.

Pesquisar fóruns subterrâneos  que menciona este truque não deu qualquer resultado. O número de famílias que usam essa técnica é relativamente pequeno, então ele levanta algumas questões interessantes: são essas famílias relacionadas? Como são os autores, se eles são pessoas diferentes, compartilhamento de informações?

Uma coisa é certa, autores de malware continuam a lutar em suas tentativas de evitar a detecção.

Por Daniel Ramos
MMPC Munique

 

Original source: http://Blogs.technet.com/b/MMPC/Archive/2013/06/24/Investigation-of-a-New-Undocumented-Instruction-Trick.aspx