sexta-feira, 6 de junho de 2008

Trojans

Deinição de trojan

O nome trojan é uma alusão à história do antigo cavalo de tróia, em que o governante da cidade de Tróia na antiga Grécia foi presenteado com um cavalo de madeira no qual havia escondido soldados inimigos. Possui muitas características similares aos vírus, tais como: perda de arquivos, falhas na memória, erros em periféricos, etc... A grande diferença é que o trojan pode ser considerado um vírus inteligente, pois é controlado à distância pela pessoa que o instalou. Esse indivíduo então, consegue “enxergar” o seu computador, podendo realizar desde as mais simples tarefas como mexer o mouse à utilização do seu IP como ponte para outros ataques. Conseguem ficar escondidos em arquivos de inicialização do sistema operacional e se iniciam toda vez que a máquina é ligada.

Perigo real

A popularização da Internet e a facilidade de se criar um programa cavalo de tróia fazem com que esse método de invasão seja atualmente o mais perigoso de todos. Ele não depende de falhas no seu sistema, é quase indetectável e pela sua facilidade de uso pode ser operado por crianças de 6 anos. Pode-se esconder um trojan em fotos, arquivos de músicas, aplicativos e jogos. Sendo assim, nunca abra arquivos executáveis enviados por estranhos ou pegos em sites duvidosos.


Tipos de cavalos de tróia

Invasão por portas TCP e UDP

Possuem na sua maioria dois arquivos: um servidor para ser instalado no computador da vítima e em cliente com interface gráfica para manipular o servidor remotamente. O trojan que utiliza portas TCP, estabelece uma conexão como o servidor, atuando diretamente de dentro do sistema. Já o que utiliza portas UDP, comunica-se via pacotes de dados enviados ao host alvo. Não tão confiável como o TCP, não garante a entrega dos pacotes e o recebimento da resposta.

Trojans de Informação

Não é tão usado quanto o de portas mas igualmente (ou até mais) perigoso. Enquanto a maioria das funções dos trojans comuns é apenas para aborrecer (sumir com a barra de tarefas, apagar monitor, desligar Windows, etc...), o trojan de informação se concentra em ficar residente detectando todos os tipos de dados vitais do sistema. Ele consegue toda senha digitada no servidor junto ao endereço ip das máquinas e envia a informação para uma conta de e-mail configurada pelo invasor.


Trojans de Ponte

Consiste em instalar um servidor no seu computador que possibilite que através dele ( e do seu endereço ip) o invasor possa realizar atques de invasão e de recusa de serviço. Então, se um grande site for invadido e baterem na sua porta, procure pois deve haver algum desses no seu sistema.

Rootkits

Esse tipo especial de backdoor é utilizado no Unix e Linux. Ao ser executado pelo operador do sistema ele substitui arquivos executáveis importantes (como o os por exemplo) por versões “infectadas”. Essas versões podem ser tanto trojans de portas quanto de informação.

Trojans comerciais

Alguém já ouviu falar do PcAnywhere? Ou do terminal remoto do Windows 2000 e XP? Esses programas (além de muitos outros) possibilitam que você controle completamente a máquina de alguém, como se estivesse sentado ali. Quer jogar Quake no computador invadido? Clique no botão iniciar dele e faça tudo como se estivesse no seu próprio computador. A vantagem desses programas (já que são comerciais), é que o anti-vírus não pega.

Escondendo o trojan em arquivos confiáveis

Existem muitos programas na Internet que escondem os servidores em arquivos executáveis. Um deles é o The Joiner, que possibilita você juntar o trojan com algum outro executável e criar um terceiro contendo os dois. Além de possibilitar que o coloque em fotos. Um método engraçado muito utilizado hoje pelos que se dizem “hackers”, é renomear algum executável para foto e deixar um largo espaço. Por exemplo: supondo que o nosso servidor é o arquivo server.exe. Então iríamos renomeá-lo para loira.jpg____.exe.
Assim muitos usuários inexperientes caem no truque. Todos os métodos citados anteriormente têm somente uma falha: se você criar um executável pelo The Joiner ou renomear o servidor, qualquer programa anti-vírus logo detectará o arquivo. Para que o anti-vírus não o detecte, é só usar a imaginação. Crie um programa em alguma linguagem e coloque o servidor no meio dos arquivos. Faça com que o programa quando executado renomeie o servidor e o execute. Assim, se o servidor como voodoo.dll passe-o para sysconf.exe e execute. Esse método não é infalível mas engana maioria dos programas de detecção.

Utilizando compressores de executáveis

Consiste em usar um programa compressor de arquivos EXE, que apenas diminua o seu tamanho retirando espaços vazios desnecessários. Um programa comum é o Petite que diminui cerca de 30% ou mais do arquivo original. Um trojan (ou até mesmo um vírus) comprimido é absolutamente indetectável por anti-vírus e scanner. Isso porquê esses programas se baseiam na estrutura do arquivo para identifica-lo. É como se tivesse fotos na memória e as comparasse.
Spoofando uma porta

É muito raro a utilização do spoof em trojans. Isso porquê se a pessoa envia pedido de conexão a um servidor, ela precisa estar usando o seu endereço IP real para receber a resposta. Apenas com o protocolo UDP, que envia comandos sem estabelecimento de conexão, isso é possível. Em quase todos os casos, o endereço IP capturado por um programa anti-trojans é realmente o do invasor. A única exceção é quando se utiliza um trojan de ponte para se conectar a outro (geralmente TCP).

Métodos eficazes e os não eficazes de se retirar o programa

Detecção por portas

Funciona do seguinte modo: os programadores estudam as portas TCP e UDP utilizadas pelos trojans e criam um programa que abre essas portas. Assim, quando um invasor vir a porta aberta e pensar que é um cavalo de tróia que está instalado ali, cairá em uma armadilha tendo o seu endereço IP detectado. Esse método não é muito eficiente pois facilmente podemos mudar as portas que os trojans utilizam. Mas ainda é um método muito usado pois muitas pessoas não se lembram de trocar as portas.

Detecção pelo arquivo

Ele detecta o trojan checando a sua estrutura. Se o arquivo estiver renomeado (sem ser para executável) ou estiver comprimido, esse método se torna inútil. Para ser realmente eficaz, deve ser usado junto à detecção de portas. Assim, mesmo que se
Anti-vírus não encontrou um trojan, o Anti-Trojans pode encontrar.

Detecção por string

Pouco divulgado publicamente, se torna a melhor garantia para se detectar um trojan sem falhas. Isso porquê mesmo que o programa for comprimido ou mude as portas, ele ainda estará usando uma das 65535 portas do sistema e se comunicará com o cliente. A comunicação entre cliente e servidor se dá por uma string(texto) enviada. Por exemplo: O Netbus 1.7 envia uma string assim “Netbus 1.7x” quando alguma conexão for estabelecida. Se for o cliente, ele responderá com outra string. Então para analisar todas as portas do seu sistema e saber quais estão abertas e possuem string, utilize um programa como o Chaoscan ou algum outro scanner de portas que lhe dê essas informações.

Deteção manual
A checagem manual do sistema pelo operador pode facilitar muito a vida. Olhando registros, arquivos de inicialização, conferindo os programas carregados na memória, o tamanho dos arquivos, etc... Todas essas precauções evitam dores de cabeça. Essa política adotada junto aos outros tipos de detecção faz com que você exclua em 100% a chance de uma invasão por cavalos de tróia.

Nenhum comentário: