1. Trojans Os Trojans tornaram-se recentemente como uma das infecções mais habituais, por este motivo, justificam uma atenção especial. O grande objectivo de um Trojan é conseguir o controlo absoluto de um computador infectado, actuando de dentro do computador da vítima. Um Trojan é composto por duas partes: módulo cliente e módulo servidor. O módulo servidor é a parte que é injectada no computador da vítima e que vai permitir actuar de dentro do computador infectado, como um agente infiltrado nas defesas do inimigo. O módulo cliente é a parte que permanece no computador do atacante e que permite o diálogo com o módulo cliente e o controlo das acções a executar remotamente no computador da vítima. A concepção e utilização de um Trojan podem ser decompostas em 4 fases: Preparação do Trojan; distribuição do Trojan; instalação do Trojan, Controlo do computador da vítima. 1.1. Exemplo real de um Trojan O modo mais fácil de usar esta técnica consiste em carregar um Trojan a partir da própria Internet, existem inúmeros Trojans disponíveis e que podem ser utilizados. Para efeitos de demonstrar a facilidade, falaremos do subseven, que pode ser obtido a partir de www.subseven.ws. Escolhemos este Trojan por ser quase unanimemente considerado como o mais conhecido dos Trojan, e deste modo reconhecido e detectado pela maior parte dos antivírus. Para efeitos de teste, é perfeitamente possível a instalação do cliente e do servidor no mesmo computador. Neste caso, o endereço IP a utilizar pode ser sempre o 127.0.0.1 (endereço local). O primeiro passo do nosso teste consiste no carregamento do ficheiro que contém o pacote do Trojan e que é constituído por 3 ficheiros: server.exe, subseven.exe, editserver.exe. Uma vez tendo estes ficheiros disponíveis no nosso disco, entraremos na fase 1. 1.1.1. Fase 1 – Configuração do Trojan Para configurar o Trojan apenas temos de executar o programa editserver. Ao executar este programa, é-nos apresentada a janela principal do editor. Nesta janela podemos configurar vários parâmetros, como sejam: server, startup methods, notification options e installation. As últimas três opções correspondem às funções de empacotamento (bind) do pacote a gerar. Normalmente não se utilizam, em detrimento de um outro utilitário para proceder ao empacotamento, como veremos de seguida. Para terminar esta fase apenas falta a injecção do Trojan num ficheiro inofensivo. Para esse efeito usaremos o DMEB binder (Digital Mafia’s Exe Binder) que pode ser obtido na Internet, por exemplo, no endereço www.NandedMafia.tk. Esta aplicação apenas necessita de ser transferida para o nosso computador e não necessita de nenhuma instalação. É necessário dispor, para além do server já configurado nos parágrafos anteriores, de um ficheiro inofensivo, por exemplo um jpeg (um ficheiro de uma foto). Após o lançamento da aplicação DMEB binder, é apresentada uma janela onde deverão ser indicados os ficheiros que constituem o nosso pacote. No caso do nosso exemplo, são dois ficheiros: o ficheiro do servidor do Trojan e o ficheiro inofensivo com uma foto. As funções do programa são: Add File, Delete, Bind e Quit. O pacote, a produzir, pode ser configurado com as seguintes opções para cada um dos seus elementos constituintes: Opening Stat, Copy To, Action, Registry Start e Icon. Continuando com o nosso exemplo, resta-nos seleccionar a opção Bind e escolher o nome do pacote final, tendo em atenção que este nome deverá forçosamente terminar com a extensão .exe, por exemplo omeugato.jgp.exe. A inclusão do radical ajuda a camuflagem, uma vez que continua a passar a mensagem de que se trata de uma simples foto. De seguida temos apenas que fazer clique em save. 1.1.2. Fase 2 – Distribuição do Trojan Uma vez concluída a produção do pacote (infectado), a fase seguinte será distribuir o pacote pelas potenciais vítimas. Existem essencialmente três meios que podem ser utilizados para este fim, a saber: e-mail, site na Internet, mensageiro (MSN, ICQ, IRC). O método mais simples de usar, e com razoável eficácia, é a utilização de um mensageiro, bastando para isso o envio do pacote para potenciais vítimas da lista de contacto, com o pretexto do envio de uma simples foto, ficando à imaginação do atacante os métodos utilizados para a persuasão da potencial vítima. O processo de disseminação será tanto mais eficaz quanto interessante for a foto utilizada podendo na maior parte dos casos a vítima no transmissor da infecção a outras vítimas. 1.1.3. Fase 3 – Aguardando Esta fase é, essencialmente, uma fase de expectativa. Uma vez que o vírus tenha sido recebido pela vítima, ao atacante resta apenas aguardar que o mesmo seja executado inadvertidamente e sem ser detectado por algum potencial antivírus Após a execução com sucesso, o atacante é notificado do sucesso do mesmo e de um dado fundamental o endereço IP da vítima. No nosso exemplo, esta notificação será efectuado por ICQ. 1.1.4. Fase 4 – Controlo total do computador da vítima E finalmente o controlo total do computador da vítima foi conseguido! Uma vez na posse do IP da vítima, podemos utilizando o módulo cliente, subseven.exe, controlar o computador infectado. Começamos por executar o programa subseven.exe, o que dá origem a uma janela, e por introduzir o IP da vítima no campo ip/uin e premir connect. A última linha da janela apresenta a mensagem “connected. 22:34 – Janeiro 8, 2004”, sinalizando que foi obtida com sucesso a ligação ao computador da vítima. A partir da janela principal da aplicação, podemos aceder aos seguintes conjuntos de funções: connection, keys/messages, advanced, miscellaneous, fun manager, extra fun e local options. 1.1.4.1. Connection Este grupo de funções enquadra as funções básicas associadas ao protocolo de comunicação utilizado e são as seguintes: IP Scanner, Get PC Info, Get Home Info, Server Options, IP Notify. 1.1.4.2. Keys/Messages As funções enquadradas no grupo Key/Messages estão relacionadas com o envio de mensagens para o computador da vítima. Estas funções são as seguintes: Keyboard, Chat, Matrix, Message Manager, Spy e ICQ Takeover. 1.1.4.3. Advanced As funções agrupadas no grupo denominado Advanced estão relacionadas com a manipulação dos mecanismos de comunicação e administração de aplicações do computador da vítima. Estas funções são as seguintes: FTP/HTTP, Find Files, Passwords, RegEdit, App Redirect, Port Redirect. 1.1.4.4. Miscellaneous As funções agrupadas neste grupo estão relacionadas com a utilização de funções básicas disponíveis no sistema operativo do computador da vítima. Estas funções são as seguintes: File Manager, Windows Manager, Process Manager, Text-2-Speech, Clipboard Manager, IRC Bot. 1.1.4.5. Fun Manager Este grupo enquadra as funções que apenas provocam efeitos desconcertantes. Estas funções são as seguintes: Desktop/Webcam, Flip Screen, Print, Browser, Resolution, Win Colors. 1.1.4.6. Extra Fun Este grupo enquadra as funções que não provocam efeitos destrutivos, apenas provocando um comportamento anormal no computador da vítima, como seja provocando alterações no comportamento do mouse ou do screen saver. Estas funções são as seguintes: Screen Saver, Restart Win, Mouse, Sound, Time/Date, Extra. 1.1.4.7. Local options Este grupo de funções enquadra as definições locais relacionadas com a aplicação não tem qualquer impacto no computador da vítima. É através destas funções que podemos alterar o modo como a aplicação se apresenta escolhendo esquemas de cores alternativos, ou entre outras opções a velocidade com que a informação recebida do computador da vítima é exibida e que área no ecrã é reservada para esta exibição. Estas funções são as seguintes: Quality, Local Folder, Skins, Misc Options, Advanced e Run EditServer.