VIRUS DE MACRO
Death Knights Issue 4
by Milly
Ola pessoal, desculpe a furada no zine passado, acontece que eu tive uns problemas com minha conexao e acabei ficando sem nem mesmo acessar email; mas ja estamos de volta. Agora eu tenho uma materia especialmente para voces; ja esta caindo em desuso devido ao avanco dos anti-virus mas ainda pode ser util dada a teoria que tem por tras disso tudo, nesse zine veremos algo sobre: VIRUS DE MACRO. Isso e muito bom para novatos, uma vez que e extremamente facil de implementar e traz resultados extremamente rapidos o que incentiva muito o aprofundamento desse assunto.
Basicamente irei abordar como elaborar um virus para macro do Word 6.0 e 7.0, talvez eu traga um update para a versao 8.0 quando tiver mais chances de estuda-la. A diferenca entre a versao 6.0 e 7.0 e o nome de algumas funcoes e comandos, esse e o mesmo problema encontrado no caso de linguagens diferentes do Word (Espanhol, Ingles, Portugues...). Ainda nao tive tempo de avaliar totalmente a linguagem de macro do Word 8.0, mas sei que nao se trata de WordBasic, mas sim de VBA; isso significa que todos os programas do Office 97 estao habilitados a executar a mesma macro, ou seja em breve teremos virus de Excel, Access, PowerPoint... Porem foram inseridas umas funcoes que evitam a proliferacao de virus, mas isso nao e coisa para se preocupara pois como sabemos se e microsoft deve haver um jeito de infectar.
TEORIA BASICA
Existem algumas condicoes basicas para que possamos elaborar um virus:
- Deve ser possivel executar funcoes e/ou procedimentos sem o conhecimento nem autorizacao expressa do usuario.
- Deve haver um hospedeiro atraves do qual o virus se propagara de uma maquina a outra (afinal, ninguem vai te fazer o favor de copiar o virus pra outra maquina por voce).
- O virus deve se manter ativo sem o conhecimento do usuario, ate mesmo dos pouco mais avancados.
RESOLVENDO OS PROBLEMAS
- Quem conhece virus diz logo de cara: "O Word foi feito para que se possa implementar virus de macro.". E incrfvel a facilidade com que se obtem recursos extremamente uteis para a elaboracao de virus no WordBasic. As funcoes basicas do Word podem ser modificadas para atender as necessidade dos usuarios, Portanto se voce criar uma funcao com o mesmo nome de uma funcao ja existente, nesse caso voce na verdade editar essa funcao (experimente ArquivoAbrir, por exemplo).
- E como eu digo: "Se eh Microsoft, eh possevel infectar!", o Word tem um tipo de documento que pode carregar os codigos de WordBasic de uma maquina para outra, sao os chamados Modelos. E precisa explicar qual a melhor maneira de se transportar uma coisa entre um Word e Outro? E atraves de arquivos. Basta apenas modificarmos os Documentos para se tornarem Modelos. Alem disso existe uma funcao chamada CopiarMacro, com essa macro nem e necessario abrir o arquivo para infecta-lo.
- Existem varias maneira de se evitar que o usuario te perceba dentro do Word, uma delas e essencial: Seu virus nao pode gerar nenhuma caixa de dialogo ou mensagem de erro (o que ja encontrei em diversos virus por ai). Outra coisa muito boa e evitar que o usuario chame de alguma forma a caixa de dialogo que mostram as macros definidas, no inicio os virus simplesmente eliminavam o item do menu, eu pessoalmente acho isso pouco aconselhavel pois um usuario um pouco mais experiente vai notar a diferenca no menu. No MPad (virus que eu mesma fiz) eu redefini a funcao FerramMacros de forma que a funcao nao chamava a caixa de dialogo, isso resolve dois problemas: Se o usuario for experiente ele pode notar rapidamente a modificacao no menu (o que nao ocorre); se o alguem vier
INFECTANDO O WORD
Todo o Word tem um diretorio onde ele armazena os Modelos e la dentro sempre existem um Modelo chamado NORMAL.DOT. Esse Modelo sempre e carregado no inicio do Word, portanto e extremamente importante contaminar esse arquivo, e como contaminar os arquivos de inicializacao do sistema operacional.
O Modelo NORMAL.DOT pode ser referenciado na funcao MacroCopiar atraves do identificador 'Global', assim voce deve incluir na funcao AutoOpen, que se executa toda a vez que um documento e aberto uma sequencia de comandos que copie suas macros para dentro do 'Global'.
INFECTANDO ARQUIVOS
A tecnica que voce vai utilizar para infectar os arquivos vai do seu estilo. Uns gostam de ser mais violentos outros sao mais discretos mas a dica e utilizar o maior numero de funcoes que manipulam nomes de arquivos que voce descobrir.
Outra dica e utilizar a funcao ArquivoNovoPadrao para infectar os arquivos novos que o word cria, assim se o cara te tirar do NORMAL.DOT vc ainda continua no documento ativo, mesmo que tenham acabado de iniciar o Word.
CONFLITO DE VERSOES
Um dos problemas de praticamente qualquer virus e o conflito de versoes, deve-se tomar cuidado na elaboracao do primeiro virus para que ele nao venha a infectar versoes posteriores do seu virus. Para isso eu fiz uma funcao cujo nome seguia um padrao: MPadxx. Onde xx e o numero da versao, assim eu pego o nome da funcao divido em duas partes e verifico qual eh a versao, dessa forma versoes mais velhas ficam sao sobre-escritas pelas mais novas.
FEITICO CONTRA O FEITICEIRO
Outro Problema a ser resolvido e evitar de cair na sua propria armadilha. O virus quanto mais bem feito mais dificil de se livar dele, e isso inclui voce proprio e todo mundo envolvido no projeto. Porem um bom projeto preve esse caso, eu resolvi esse problema criando uma macro cujo nome eu nao vou revelar aqui (voce achou que eu iria entregar o ouro...) que evita que o virus se copie dentro do teu NORMAL.DOT. Para todos os efeitos sempre mantenha em mao um backup do NORMAL.DOT, mas nunca utilize o mesmo nome, sempre procure utilizar ate mesmo outra extensoes.
E isso ai pessoal. Um virus de macro prontinho pra ser usado, so espero que voces facam um bom uso dele, principalmente no que diz respeito a essa nova galera que vem vindo ai pra detonar.
Ate a proxima tdk! ;)
Milly MillyPad@hotmail.com
`'`'` `'`'`'`'`'`'`'`'`'`'