Engenharia de um Vírus – Looping e Modo Silencioso

Pensei em criar uma aplicação Windows Forms, porém como não teremos telas nessas demonstrações, optei por utilizar uma aplicação Console (Tela Preta), por serem menores (para efeito de testes criei 2 projetos um Console e um Windows Forms não alterei nenhuma configuração, compilei no modo release e percebi que o assembly gerado na aplicação Console é 2 kb menor que o assembly da aplicação Windows Forms).

Criação do Projeto

Nome do Projeto: V1RILL

Modelo de Projeto: Console Application

Versão Plataforma .NET: 4.0 -> Pensando na compatibilidade com o XP e versões anteriores

projeto

Looping Infinito

Pra começar a estrutura do nosso VIRILL, vamos coloca-lo em um looping infinito, a idéia é que ele sempre fique ativo, monitorando e interagindo com a máquina.

Abra o arquivo Program.cs e no ponto de entrada da aplicação coloque o código abaixo:

static void Main(string[] args)
{
    //Colocamos a variante em um looping infinito
    while (true)
    {

    }
}

Modo Silencioso

É muito comum que uma variante rode em background no modo SILENCIOSO, sem que o usuário saiba de sua execução até porquê se perceber que algo está errado vai tentar remover (Manualmente, Anti Vírus, Patch de Remoção) e consequentemente irá acabar com a brincadeira, quanto mais imperceptível estiver MELHOR !!!

Literalmente temos que dar um Visible (False), porém como estamos utilizando uma aplicação Console não temos uma interface visual e suas configurações, para resolver esse problema iremos recorrer as APIS NATIVAS DO WINDOWS.

Interagindo com as APIS WIN32 podemos manipular recursos nativos do sistema operacional (registro do windows, arquivos e pastas, arquivos de drivers, barras, menus, aplicações, formatações) e dispositivos conectados a máquina (teclado, mouse, webcam, monitor, cd-rom, impressora).

Agora veio a grande dúvida, como interagir com as APIS WIN32 através do Visual C# ???

Simples tem um recurso da plataforma .NET chamado PINVOKE que nos auxilia a fazer o Marshaling (Interoperabilização entre o código gerenciado e o código NÃO gerenciado normalmente bibliotecas em C, C++), para não ter que ficar decorando a assinatura e chamada das APIS WIN32, existe um site bem bacana chamado PINVOKE nele podemos visualizar todas as DLL’S nativas do sistema operacional, métodos e exemplos para CTRL + C e CTRL + V.

Para começar a utilizar PINVOKE, vamos importar a namespace (System.Runtime.InteropServices) e para poder deixar a aplicação oculta vamos utilizar os métodos (GetConsoleWindow e ShowWindow)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//Namespace necessária para habilitar as chamadas as APIS WIN32
using System.Runtime.InteropServices;

namespace V1RILL
{
    class Program
    {
        //Assinatura do método responsável por capturar o handle da janela
        //Esse método esta dentro de kernel32.dll
        [DllImport("kernel32")]
        private static extern IntPtr GetConsoleWindow();

        //Assinatura do método responsável por manipular o estado da janela
        //Esse método esta dentro de user32.dll
        [DllImport("user32")]
        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

        static void Main(string[] args)
        {
            //Pegamos o identificador da janela corrente
            //Deixamos a variante oculta = 0, visível = 1
            ShowWindow(GetConsoleWindow(), 0);

            //Colocamos a variante em um looping infinito
            while (true)
            {

            }
        }
    }
}
Anúncios

6 Responses to Engenharia de um Vírus – Looping e Modo Silencioso

  1. mutta says:

    Fodaaaaaaaa

  2. foo says:

    Nossa, super hacker você…

    • leolosi says:

      Acompanha o restante, acho que dão mais uns 10 rs
      Além do que em momento algum falou sobre Invasão, acho que você está confundindo termos uiaiehauhea

  3. Gostei
    Seus post estão interessante sobre engenharia de vírus
    Continue com os posts

  4. Anderson says:

    Cade a continuação?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: