Engenharia de um Vírus – Situações e Efeitos Colaterais
27/06/2013 1 Comentário
Desenvolver um VIRILL é um processamento extremamente divertido e complicado, existem várias situações e efeitos colaterais que devemos nos atentar para garantir que a variante atinja o maior número de máquinas ao redor do mundo.
Fique sempre atento aos pontos listados abaixo, pois são eles que vão garantir o sucesso do virill…
Performance, Internet, Versão do Sistema Operacional, Firewall, Anti Vírus, Endereço de IP
Situações e Efeitos Colaterais
Nossa variante será executada em diversas máquinas ao redor do mundo, com isso não teremos como garantir que a máquina infectada possuirá o sistema operacional Windows ou uma determinada versão dele, portanto tome cuidado para não se prender em algum recurso (DLL, API, PASTA, CHAVE DO REGISTRO, APLICATIVO) específico daquela versão, tente se possível programar de forma genérica pra garantir que a aplicação se comporte do mesmo jeito em todos os SO.
Caso tenha algum recurso específico pra determinada versão, uma alternativa FAIXA PRETA para resolver esse cenário é disponibilizar um LOADER que detecte o Sistema Operacional e baixe de um servidor FTP a versão específica da variante daquele SO.
Tome cuidado com a performance, nem todas as máquinas ao redor do mundo são rápidas, quanto mais performática for a variante melhor, tente consumir a menor quantidade possível de recursos no HD, Memória, Processador e Rede.
A máquina pode estar sem internet no momento do envio ou resgate dos dados, armazene os dados offline de preferência criptografados e quebre as informações em diversos arquivos para dificultar a remontagem.
Tome cuidado ao trabalhar com sockets, o firewall vai acusar que a variante está tentando abrir uma porta TCP, antes de abrir a porta adicione uma exceção no firewall ou desabilite o firewall momentaneamente, uma alternativa bacana é simular uma tela de erro no windows enquanto em background você desabilita o firewall.
A DMZ pode estar fechada então essa máquina não possuirá comunicação externa através de alguma porta TCP, porém a porta da internet pode estar liberada, para esses casos enviar um pedido HTTP com SOAP ou REST para garantir o acesso ao mundo externo e fazer a sincronização de informações.
Pode ser que o anti vírus detecte a variante, para esses casos disponibilizar um LOADER, que desabilite o anti vírus para depois fazer o download e execução da variante, mesclar executáveis através do código MSIL ou código de máquina também ajuda a dificultar a detecção pelo anti vírus.
Antes de repassar a variante, aconselho testa-la em diversas VMS com diversos SO e pra poupar o trabalho de ficar instalando diversos softwares anti vírus, subir a variante para o site VIRUS TOTAL, ele faz um SCANNER do arquivo com todos os possíveis anti vírus e verifica se o arquivo está ou não infectado.