Engenharia de um Vírus – Situações e Efeitos Colaterais

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.

Anúncios

Engenharia de um Vírus – Expectativas

Depois de vários e vários meses sem escrever no blog, estou de volta… e muito provavelmente após essa série de artigos IMORTAIS vou sumir de novo, afinal diga-se de passagem eu odeio escrever em blogs !!!

A minha ideia é montar uma sequência de artigos para mostrar todos os passos envolvidos na criação e desenvolvimento de um vírus, worm, trojan, malware, adware e qualquer outra variante e mostrar que pra ser um bom VXER (Cara que coda um vírus), você só precisa ser um bom programador ou NÃO !!!

O que me motivou a escrever essa série foi a falta de assuntos desse gênero na Web, além de já estar enjoado de toda hora ver alguém postando mais do mesmo “SignalR com exemplo de um Chat”, “MVC4 com Bootstrap”, “Windows Store Apps”…

Dei uma boa GOGADA (google) e BINGADA (bing) e não achei nenhum artigo em português, inglês que se compare aos assuntos que falarei nessa série de artigos, literalmente você vai adquirir conhecimentos para ser um HACKER utilizando o Visual Studio 2012, Visual C# 5.0 e PINVOKE.

Vou mostrar como é fácil interagir com as APIS nativas do Windows utilizando PINVOKE, monitorar o protocolo HTTP, simular teclados virtuais, interceptar informações de aplicações, conexões reversas, loaders e infects entre outras técnicas mais ROX, lembrando que todas as técnicas são exclusivamente para estudos o que você vai fazer com elas é problema seu !!!

Depois dessa série de artigos, você vai perceber que as aplicações vão muito além do CRUD, certificações não valem nada, que o sênior do seu lado não é tão sênior assim e o que importa na programação é a diversão !!!

 

Segue abaixo o link de um vídeo muito bacana, com uma simulação que fizemos no começo do ano !!!

Preview