Os hackers que têm a intenção de se introduzir nos sistemas informáticos procuram inicialmente falhas, ou seja vulnerabilidades prejudiciais à segurança do sistema, nos protocolos, nos sistemas de explorações, nas aplicações ou mesmo no pessoal de uma organização! Os termos de vulnerabilidade, de brecha ou em linguagem mais familiar de buraco de segurança (em inglês security hole) são utilizados igualmente para designar as falhas de segurança.
Para poder instalar um exploit (trata-se do termo técnico que significa explorar uma vulnerabilidade), a primeira etapa do hacker consiste em recuperar o máximo de informações sobre a arquitectura da rede e sobre os sistemas de exploração e de aplicações que funcionam neste. A maior parte dos ataques é obra de scripts kiddies que tenta estupidamente exploits encontrados na Internet, sem nenhum conhecimento do sistema, nem dos riscos ligados ao seu acto.
Uma vez que o hacker estabeleceu uma cartografia do sistema, está em condições de pôr em aplicação exploits relativos às versões das aplicações que encontrou. Um primeiro acesso a uma máquina permitir-lhe-á estender a sua acção a fim de recuperar outras informações, e eventualmente estender os seus privilégios na máquina.
Quando um acesso administrador (o termo inglês root é utilizado, geralmente) é obtido, fala-se então de comprometimento da máquina (ou mais exactamente, em inglês, root compromise), porque os ficheiros sistemas podem ter sido alterados. O hacker possui então o mais elevado nível de direito sobre a máquina.
A última etapa do hacker consiste em apagar os seus vestígios, a fim de evitar qualquer suspeita por parte do administrador da rede comprometida e de maneira a poder conservar durante o maior período de tempo possível o controlo das máquinas comprometidas.
A obtenção de informações sobre o endereçamento da rede visada, geralmente qualificada de tomada de marca, é uma preliminar a qualquer ataque. Consiste em reunir o máximo de informações relativas às infra-estruturas de comunicação da rede alvo:
Conhecendo o endereço IP público de uma das máquinas da rede ou muito simplesmente o nome de domínio da organização, o pirata é potencialmente capaz de conhecer o endereçamento de toda a rede, ou seja, a praia de endereços IP públicos que pertencem à organização visada e do seu corte em subredes. Para isto basta consultar as bases públicas de atribuição dos endereços IP e os nomes de domínio:
Quando a topologia da rede é conhecida pelo pirata, pode scanner (o termo varrer é igualmente utilizado), ou seja, determinar com a ajuda de um instrumento software (chamado scanner) quais são os endereços IP activos na rede, as portas abertas que correspondem a serviços acessíveis, e o sistema de exploração utilizado por estes servidores.
Um dos instrumentos mais conhecidos para varrer uma rede é o Nmap, reconhecido por numerosos administradores redes como um instrumento indispensável à segurança de uma rede. Este instrumento age enviando pacotes TCP e/ou UDP a um conjunto de máquinas numa rede (determinado por por um endereço rede e uma máscara), seguidamente ele analisa as respostas. De acordo com o andamento dos pacotes TCP recebidos, é-lhe possível determinar o sistema de exploração distante para cada máquina varrida.
Existe outro tipo de scanner, chamado mapper passivo (um dos mais conhecidos é o Sifão), permitindo conhecer a topologia rede do fio físico no qual o mapper analisa os pacotes. Contrariamente aos "scanner" precedentes, este instrumento não envia pacotes para a rede e é por conseguinte totalmente indetectável pelos sistemas de detecção de intrusão.
Por último, certos instrumentos permitem capturar as conexões X (um servidor X é um servidor que gere a afixação das máquinas de tipo UNIX). Este sistema tem como característica poder utilizar a afixação das estações presentes na rede, a fim de estudar o que é afixado nos ecrãs e eventualmente interceptar as teclas pressionadas pelos utilizadores das máquinas vulneráveis.
Quando o varrimento da rede terminou, basta ao pirata examinar o ficheiro diário (registo) dos instrumentos utilizados para conhecer os endereços IP das máquinas conectadas à rede e as portas abertas nestas.
Os números de portas abertas nas máquinas podem dar-lhe informações sobre o tipo de serviço aberto e por conseguinte convidá-lo a interrogar o serviço a fim de obter informações suplementares sobre a versão do servidor nas informações ditas “de bandeira”.
Assim, para conhecer a versão de um servidor HTTP, basta ligar-se ao servidor Web em Telnet na porta 80:
telnet pt.kioskea.net 80
GET / HTTP/1.0
HTTP/1.1 200 OK Date: Thu, 21 Mar 2002 18:22:57 GMT Server: Apache/1.3.20 (Unix) Debian/GNU
A engenharia social (em inglês “Social Engineering”) consiste em manipular os seres humanos, ou seja, utilizar a ingenuidade e a gentileza exagerada dos utilizadores da rede para obter informações sobre esta. Este método consiste em entrar em contacto com um utilizador da rede, fazendo-se passar em geral para outra pessoa, a fim de obter informações sobre o sistema de informação ou eventualmente para obter directamente uma senha. Da mesma maneira, uma falha de segurança pode ser criada no sistema distante enviando um Cavalo de tróia a certos utilizadores da rede. É suficiente que um dos utilizadores execute o anexo de modo a que um acesso à rede interna seja dado ao agressor externo
É a razão pela qual a política de segurança deve ser global e integrar os factores humanos (por exemplo, a sensibilização dos utilizadores para os problemas de segurança) porque o nível de segurança de um sistema é caracterizado pelo nível do seu elo mais fraco.
Após ter estabelecido o inventário do parque software e eventualmente material, falta ao hacker determinar se existem falhas.
Existem assim scanners de vulnerabilidade que permitem aos administradores submeter a sua rede a testes de intrusão a fim de constatar se certas aplicações possuem falhas de segurança. OS dois principais scanners de falhas são :
É igualmente aconselhdo aos administradores de redes que consultem regularmente os sites que têm uma base de dados das vulnerabilidades actualizada:
Quando o pirata elaborou uma cartografia dos recursos e das máquinas presentes na rede, está em condições de preparar a sua intrusão.
Para se poder introduzir na rede, o pirata tem necessidade de aceder s contas válidas nas máquinas que encontrou. Para o efeito, vários métodos são utilizados pelos piratas:
Quando o pirata obteve um ou vários acessos à rede alojando-se numa ou várias contas pouco protegidas, este vai procurar aumentar os seus privilégios obtendo o acesso root, fala-se assim de extensão de privilégios.
Logo que um acesso root for obtido numa máquina, o atacante tem a possibilidade de examinar a rede investigando informações suplementares.
É-lhe assim possível instalar um sniffer, ou seja um software capaz de ouvir (o termo inglês sniffing é empregado igualmente) o tráfego rede em proveniência ou a destino das máquinas situadas no mesmo fio. Graças a esta técnica, o pirata pode recuperar os pares identificadores/senha que lhe permitem aceder à contas que possuem privilégios estendidos sobre outras máquinas da rede (por exemplo, o acesso à conta de um administrador) a fim de poder controlar uma grande parte da rede.
Os servidores NIS presentes numa rede são igualmente alvos de escolhas para os piratas porque abundam de informações sobre a rede e os seus utilizadores.
Graças às etapas precedentes, o pirata pôde elaborar uma cartografia completa da rede, das máquinas que aí encontram-se, das suas falhas e possui um acesso root sobre pelo menos uma delas. É-lhe então possível estender ainda a sua acção explorando as relações de aprovação que existem entre as diferentes máquinas.
Esta técnica de usurpação de identidade, chamada spoofing, permite ao pirata penetrar nas redes privilegiadas às quais a máquina comprometida tem acesso.
Quando um pirata teve êxito em infiltrar-se numa rede de empresa e a comprometer uma máquina, pode acontecer que queira poder voltar. Para o efeito, este vai instalar uma aplicação a fim de criar artificialmente uma falha de segurança, fala-se então de porta roubada (em inglês backdoor, o termo alçapão é às vezes empregado igualmente).
Quando o intruso obteve um nível de controlo suficiente sobre a rede, resta-lhe apagar os vestígios da sua passagem suprimindo os ficheiros que criou e limpando os ficheiros de registos das máquinas nas quais se introduziu, ou seja, suprimindo os vestígios de actividade relativos às suas acções.
Além disso, existe software, chamados “conjuntos raiz” (em inglês “rootkits”) que permitem substituir os instrumentos de administração do sistema por versões alteradas a fim de mascarar a presença do pirata no sistema. Com efeito, se o administrador se ligar ao mesmo tempo que o pirata, pode observar os serviços que o pirata lançou ou muito simplesmente que uma outra pessoa está ligada simultaneamente. O objectivo de um rootkit é por conseguinte enganar o administrador mascarando-lhe a realidade.
Cabe ao responsável de rede conectado à Internet garantir a sua segurança e, por conseguinte, testar as falhas.
É a razão pela qual um administrador rede deve estar ao corrente das vulnerabilidades dos softwares que utiliza e “pôr-se na pele de um pirata” para tentar introduzir-se no seu próprio sistema e a fim de estar continuamente num contexto de paranóia.
Quando as competências na empresa não são suficientes para efectuar bem esta operação, convém realizar uma auditoria por uma empresa especializada em segurança informática.
Artigo escrito por Jean-François PILLOU, inspirado num artigo deGomoR.
Última modificação do dia Domingo 27 de Setembro de 2009 às 20:50:17.