ESTE SERVIÇO PODE CONTER TRADUÇÕES FEITAS PELO GOOGLE. O GOOGLE SE ISENTA DE TODAS AS GARANTIAS RELACIONADAS ÀS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER RESPONSABILIDADE EM RELAÇÃO À PRECISÃO, CONFIABILIDADE E QUALQUER DEVER IMPLÍCITO SOBRE SUA COMERCIALIZAÇÃO, ADEQUAÇÃO PARA UM FIM ESPECÍFICO E NÃO-VIOLAÇÃO.

Para sua conveniência, o site da Kaspersky Lab foi traduzido com a utilização do software de tradução Google Tradutor. Foram realizados esforços razoáveis para o oferecimento de uma tradução precisa; entretanto, as traduções automatizadas não são perfeitas e tampouco pretendem substituir a tradução qualificada de especialistas. Essas traduções são fornecidas como um serviço para os usuários do site da Kaspersky Lab e são exibidas "como estão". Não há nenhuma garantia de qualquer tipo, seja expressa ou implícita, sobre a precisão, confiabilidade, ou exatidão de quaisquer traduções feitas do inglês para qualquer outro idioma. Alguns conteúdos (como imagens, vídeos, Flash, etc.) podem não estar corretamente traduzidos devido às limitações do programa de tradução.

Virus.Multi.Navrhar

Classe Virus
Plataforma Multi
Descrição

Detalhes técnicos

Este é um vírus multipartido que infecta documentos do MS Word e drivers Windowsx VxD. O vírus usa vários passos em sua forma de infecção – a partir de um documento infectado ou VxD, ele faz três etapas para infectar os arquivos do mesmo formato do arquivo original: Documento do Word -> PE EXE -> driver VxD -> documento do Word e em breve.

Quando um arquivo infectado é aberto pelo Word, o vírus descarta sua parte PE para os discos e o executa. Esse conta-gotas procura drivers do Windowsx VxD e os infecta. Da próxima vez que o Windows carregar seus drivers, o vírus "permanece residente", prende as chamadas do sistema e infecta os documentos abertos.


+ ——— + + ——— + + ——— + + ——— +
| Infectado | -> | PE EXE | -> | + ——— + -> | + ——— + ->
| documento | | conta-gotas | || VxD | || + ——— + ->
| | | | | motoristas | ||| Documentos | ->
| | | | || | ||| |
| | | | || | ||| |
+ ——— + + ——— + + | | + || |
+ ——— + + | |
+ ——— +

"Overlay" Way of Infection

Tanto em arquivos VxD quanto em documentos do Word, o vírus usa uma maneira bastante inteligente de armazenar seus dados e códigos. Nos dois tipos de arquivos, o vírus coloca no corpo do documento / driver real apenas um gerenciador de vírus – um pequeno programa que carrega e executa o código principal do vírus. Nos documentos infectados do Word, este carregador é uma macro curta escrita no Word Basic (assim como todos os outros vírus de macro do Word), no VxD é um pequeno programa de 32 bits.

O principal código de vírus é colocado fora do corpo real do documento do Word e VxD – enquanto infectar o vírus apenas acrescenta este código principal ao final do arquivo e não faz correções necessárias para "linká-lo" com dados / código do arquivo host. Parece um código / dados de sobreposição – este código não está vinculado à estrutura do arquivo host de nenhuma maneira, e não há referências a essa sobreposição de código e dados no arquivo principal (exceto o carregador de vírus).


Windowsx VxD infectado: documento infectado do Word:
+ ———— + + ———— +
Original | Original |
Código VxD | | do documento |
+ ———— + | dados |
| Virus loader | <- 32 bits + ———— +
+ ———— + programa | Virus loader | <- programa macro
| O resto de | + ———— + <- final dos dados do documento legal
Código VxD | | Dados adicionais | <- código principal do vírus / data
| e dados | | |
| | + ———— + <- fim do arquivo do disco
| |
+ ———— + <- fim do código VxD legal
| Dados adicionais | <- código principal do vírus / data
| |
+ ———— + <- fim do arquivo do disco
Quando o Windows carrega esse VxD, ele não presta atenção a dados / códigos extras e não os carrega na memória. Quando o Word está abrindo documento infectado, ele também não carrega esses dados extras para a memória, além disso, ele sempre corta esses dados ao fechar um documento. A única maneira de o vírus acessar essa sobreposição é abrir o documento / VxD infectado como um arquivo de disco, procurar a sobreposição e lê-la, e o vírus faz isso.

Ao infectar objetos diferentes, o vírus aumenta seus comprimentos em números diferentes devido a diferentes estruturas de dados de "sobreposição". O comprimento dos documentos é aumentado em 17245 bytes, os drivers VxD têm mais 12288 bytes em seu final após a infecção, o tamanho do vírus RUNME.EXE é 16208 bytes.

Abrindo um documento infectado

A maneira mais difundida de contrair infecções hoje em dia não é receber programas infectados, mas documentos infectados. Assim, com 100: 1, um usuário obterá e abrirá um documento infectado, não um VxD infectado (alguém trocando VxDs, exceto programadores?).

Em documentos infectados, o carregador de macros de vírus é denominado AutoOpen – isso é auto-macro e é executado automaticamente pelo Word quando o documento é aberto. Essa macro aloca um bloco de memória (função HeapAlloc Word), abre o arquivo de host (documento), procura os dados de sobreposição (código de vírus principal), lê e descarta o arquivo C: RUNME.EXE recém-criado (por CreateFileA, SetFilePointer, ReadFile, WriteFile, funções CloseHandle).

Em seguida, a macro de vírus executa o arquivo C: RUNME.EXE (pela instrução "Shell" do Word) e o conta-gotas de vírus C: RUNME.EXE assume o controle, localiza e infecta os drivers do Windows.

Infecting VxD Drivers

Primeiro de tudo, quando o RUNME.EXE é executado, o código de vírus verifica a versão do Windows e sai imediatamente, se a versão do Windows é 3.xx ou menos (eu vagar, é que a verificação realmente necessária – RUNME.EXE é PE de 32 bits -programa, por isso não é capaz de executá-lo em Windows antigos).

O vírus então localiza o diretório do Windows, vai para o subdiretório SYSTEM, procura e infecta o conjunto de arquivos VxD, se eles estiverem lá:


EISA.VXD, FILESEC.VXD, ISAPNP.VXD, LOGGER.VXD, LPT.VXD, LPTENUM.VXD,
MSMOUSE.VXD, MSSP.VXD, NWSERVER.VXD, NWSP.VXD, PARALINK.VXD, PCI.VXD,
SERENUM.VXD, SERIAL.VXD, SPAP.VXD, SPLITTER.VXD, UNIMODEM.VXD, VFD.VXD,
VGATEWAY.VXD, WSIPX.VXD, WSOCK.VXD
Ao infectar arquivos VxD, o vírus analisa e modifica suas estruturas internas, grava seu código de carregamento no meio do arquivo e anexa seu código principal como dados extras ao final do arquivo.

Drivers Windows VxD têm formato de arquivo interno LE EXE (executável linear). Este formato é bastante complexo de entender – é muito mais complexo do que o formato de arquivo DOS EXE, mais complexo que o formato de arquivo do Windows NewEXE. Parece semelhante ao formato Portable Executable (PE), mas absolutamente diferente.

Seria preciso muitas páginas para descrever todos os detalhes que o vírus faz ao infectar os VxDs. Em suma: ele lê LE Entry Table e Object Tables, procura por uma seção de código VxD e corrige-a. Os arquivos LE possuem estrutura de seção (páginas). Se código / data não cobrir a seção, a seção é preenchida com zero bytes até o limite. O vírus usa esse recurso, e apenas aumenta o comprimento do código real na seção e acrescenta ao código do seu carregador (214 bytes), se houver espaço livre suficiente na seção.

Para evitar a infecção duplicada, o vírus só usa data e hora do arquivo – define nova data e hora para os arquivos enquanto os infecta, e os verifica antes da infecção. Esta data / hora é 4 de janeiro de 1997, 4:28 am. Se alguém alterar esse carimbo para arquivos VxD infectados, o vírus os infectará duas vezes e mais vezes.

O vírus não procura outros arquivos VxD listados acima, nem quando o dropper RUNME.EXE está ativo, nem a qualquer momento depois. O vírus também não apaga o RUNME.EXE depois de infectar os VxDs, portanto, um usuário pode executar este arquivo manualmente, se ele gostar desse nome.

Infectando Documentos

Quando o Windows 95 está carregando o VxD infectado, o carregador de vírus (da mesma forma que o carregador em documentos infectados) aloca o bloco de memória, procura no final do arquivo host ler sua "sobreposição", lê-lo como dados e depois executa como um programa (proteção do kernel do Windows 95 do vivat!). O instalador de vírus assume o controle, conecta a API do IFS e intercepta as chamadas do OpenFile.

Quando qualquer arquivo é aberto, o vírus compara a extensão de nome de arquivo com ".DOC", lê o cabeçalho do arquivo, verifica o carimbo OLE2, analisa os formatos OLE2 internos, cria no final da nova macro do documento denominado AutoOpen, grava seu carregador de macro para lá e acrescenta como "overlay" seu código principal. O vírus também converte os documentos da Microsoft para o formato Template – o mesmo que os vírus de macro comuns do Word.

O vírus não infecta documentos com tamanho de arquivo que não está alinhado ao setor (após a infecção, os documentos não ficam alinhados) – esse fato o vírus usa para separar documentos infectados e não infectados. O vírus também não infecta documentos com comprimento superior a 800Kb – a rotina de infecção por vírus simplesmente não é capaz de analisar formatos de documentos grandes (em tais documentos aparecem campos adicionais). O vírus verifica o identificador interno nos documentos e os infecta somente se eles tiverem o formato do PanEuro Word 6/7.

O MS Word deve cortar o código de sobreposição de vírus no final do documento (mas deixar a macro AutoOpen) enquanto salva o arquivo infectado e, em meus experimentos com o Word 7.0, o fez. Apesar disso, os documentos com extensões de nome de arquivo DOC foram imediatamente infectados por vírus. No caso de extensão não-DOC, os documentos permanecem semi-infectados – eles têm macro de vírus AutoOpen, mas eles não têm dados de "sobreposição" de vírus. Como resultado, o vírus não consegue se espalhar quando esses documentos são abertos.

O algoritmo de infecção de vírus não é livre de bugs. No caso de um modelo já ter macro (s), o vírus corrompe a estrutura interna dos documentos e essas macros permanecem invisíveis. Segundo, é impossível remover a macro AutoOpen de vírus de documentos infectados usando o ambiente do Word (Ferramentas / Macro / Excluir ou Organizador) – o Word não faz isso e falha com a mensagem de erro padrão do Windows:


Este programa realizou operações ilegais
e será desligado.

Últimas notas

Devido à sua maneira de infectar os drivers VxD, o vírus não é capaz de infectar o sistema WindowsNT, mas ao experimentar com o vírus sob o Windows95 não houve problemas descobertos (exceto problemas com modelos do Word, que foi descrito acima). O vírus não se manifesta de forma alguma e não causa mensagens de erro do sistema durante a execução no Windows95.

Parece-me que rotina de infecção VxD tem um bug (o vírus não analisa corretamente LE Object Table), eo vírus irá corromper drivers VxD "não-padrão", mas todos os VxDs da lista de vírus são "compatíveis com vírus" e executar o Windows95 com VxDs infectados (sempre infectados duas vezes) não causa problemas. Talvez devido a esse possível bug, o autor do vírus não incluiu a chamada para infecção por VxD em sua abertura, mas somente documentos do Word.

O vírus tem várias cadeias de texto, algumas delas parecem ser os rastros da versão em modo de depuração do vírus:


não consigo encontrar o fixupp do DDB
não pode infectar este arquivo
arquivo vxd inválido
infectados com sucesso
infectando arquivo
Outras strings contêm os nomes das funções do Windows que são usadas durante a infecção dos drivers VxD:

KERNEL32.dll CreateFileA ExitProcess GetFileSize GetFileTime
GetVersion GetProcessHeap GetWindowsDirectoryA HeapAlloc ReadFile
SetFilePointer SetFileTime WriteFile lstrcatA lstrcpyA CloseHandle
O restante das strings de texto visíveis são os comentários do autor do vírus em inglês e em alguns estilos de hackers corrompidos:

Vírus HZDS (o primeiro infector VxD direto do mundo e o segundo infector do Word 6/7)
c) Navrhar (DESIGNeR em inglês), Eslováquia, 21-oct-97
O vírus Diz foi escrito na cidade de Banska Bystrica, na Eslováquia.
W l ¢ 0m 0 h HZD $ v¡ sg ¡gZ!
GZ: Vyv0j, sy & pount; m & Ugly & pount; s, MG & pount ;, gh m 0k.
$ p ¢ ç GZ: Æ h0 0� Æ ¢ hy.6 93 (¡w 0 1s, h h 0 0
l0 gs 0 y0 – �0 ly)
M y k ks g0 s 0 0: HZD $, Vl 0 M. (D¡ ¢ 0)
$ p0 s0 y * -Z1 (hs VX-æ¡ v)
A tradução para o último bloco de texto se parece com a seguinte:

Bem-vindo à área de saudações de vírus do HZDS!
Greetz: Vyvojar, Ender, Nasty Lamer e Ugly Luser, MGL,
Coringa do Pesadelo,
Cumprimentos especiais: Autor de Anarchy.6093 (eu queria ser o primeiro, mas a honra
pertence a você – infelizmente)
Muitas fode vai para: HZDS, V1ado M. (Ditador)
Patrocinado pela * -Zine (o melhor VX-zine de sempre)


Link para o original