Este artigo tem por objectivo explicar a metodologia geralmente retida pelos piratas para se introduzir num sistema informático. Não visa explica como comprometer um sistema mas compreender a forma como isso pode ser feito, a fim de poder melhor precaver-se. Com efeito, a melhor maneira de proteger o seu sistema é proceder da mesma maneira que os piratas a fim de cartografar as vulnerabilidades do sistema.
Assim, este artigo não dá nenhuma precisão sobre a maneira como as falhas são exploradas, mas explica como fazer para as detectar e corrigir.
Os hackers que têm a intenção de se introduzir nos sistemas informáticos procuram inicialmente falhas, quer dizer vulnerabilidades prejudiciais à segurança do sistema, nos protocolos, nos sistemas de explorações, nas aplicações ou mesmo junto do pessoal de uma organização! Os termos vulnerabilidade, brecha ou, em linguagem mais familiar, buraco de segurança (em inglês security hole) são utilizados igualmente para designar as falhas de segurança.
Para poder executar um explorador (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ções e de aplicações que funcionam neste. A maior parte dos ataques é o resultado de scripts kiddies que experimentam estupidamente exploradores encontrados na Internet, sem nenhum conhecimento do sistema, nem dos riscos associados ao seu acto.
Uma vez que o hacker estabeleceu uma cartografia do sistema, está em condições de aplicar os exploradores relativos às versões de aplicações que recenseou. Um primeiro acesso a uma máquina permite estender a sua acção a fim de recuperar outras informações, e eventualmente aumentar 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.
Se se tratar de um pirata, a última etapa consiste em apagar os seus vestígios, para evitar qualquer suspeita por parte do administrador da rede comprometida e de maneira a poder guardar, durante o maior tempo possível, o controlo das máquinas comprometidas.
O esquema seguinte recapitula a metodologia completa:
A obtenção de informações sobre o endereçamento da rede visada, geralmente qualificada de tomada de marca, é 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 simplesmente o nome de domínio da organização, o pirata é potencialmente capaz de conhecer o endereçamento de toda a rede, quer dizer, a praia de endereços IP públicos que pertencem à organização visada e do seu corte em sub-redes. Para isso, basta consultar as bases públicas de atribuição dos endereços IP e os nomes de domínio:
A simples consulta dos motores de busca permite às vezes recuperar informações sobre a estrutura de uma empresa, o nome dos seus principais produtos, ou mesmo o nome de certas pessoas.
Quando a topologia da rede é conhecida pelo pirata, pode scannar (o termo "varrer" é utilizado igualmente), quer dizer, determinar om a ajuda de um instrumento "software" 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 é Nmap, reconhecido por numerosos administradores redes como um instrumento indispensável para a segurança de uma rede. Este instrumento age enviando pacotes TCP e/ou UDP a um conjunto de máquinas numa rede (determinado por um endereço rede e por uma máscara), analisando seguidamente as respostas. Dependendo do andamento dos pacotes TCP recebidos, é-lhe possível determinar o sistema de exploração distante para cada máquina varrida.
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 por característica poder utilizar a afixação das estações presentes sobre a rede, para estudar o que é afixado nos ecrãs e eventualmente interceptar as teclas introduzidas pelos utilizadores das máquinas vulneráveis.
Quando o varrimento da rede está terminado, basta que o pirata examine o ficheiro jornal (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 para 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 conectar-se ao servidor Web em Telnet na porta 80:
telnet pt.kioskea.net 80
seguidamente, pedir a página inicial:
GET / HTTP/1.0
O servidor responde então as primeiras linhas seguintes:
HTTP/1.1 200 OK
Date: Thu, 21 Mar 2002 18:22:57 GMT
Server: Apache/1.3.20 (Unix) Debian/GNU
O sistema de exploração, o servidor e a sua versão são, então, conhecidos.
A engenharia social (em inglês “Social Engineering”) consiste em manipular os seres humanos, quer dizer, 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 por outra pessoa, a fim de obter informações sobre o sistema de informação ou eventualmente para obter directamente uma palavra-passe. 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 seja dado ao agressor externo um acesso à rede interna.
É por esta razão que 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.
Existe scanners de vulnerabilidade que permitem aos administradores expor a sua rede a testes de intrusão a fim de constatar se certas aplicações possuem falhas de segurança. Os dois principais scanneurs de falhas são:
É igualmente aconselhado aos administradores de redes que consultem regularmente os sites que têm uma base de dados das vulnerabilidades actualizada:
Assim, certos organismos, em especial os CERT (Computer Emergency Response Team), estão encarregados de capitalizar as vulnerabilidades e federar informações relativas aos problemas de segurança.
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 poder introduzir-se na rede, o pirata precisa de aceder a contas válidas nas máquinas que recenseou. Para o efeito, vários métodos são utilizados pelos piratas:
Quando o pirata tiver obtido um ou vários acessos à rede, alojando-se em uma ou várias contas pouco protegidas, este vai tentar aumentar os seus privilégios obtendo o acesso root (em português superutilisador ou superadministrator); fala-se então de extensão de privilégios.
Assim que um acesso root for obtido numa máquina, o atacante tem a possibilidade de examinar a rede para procurar informações suplementares.
É-lhe assim possível instalar um sniffer , quer dizer um "software" capaz de ouvir (o termo inglês sniffing, é empregado igualmente) o tráfego rede em proveniência ou com destino às máquinas situadas sobre a mesma linha. Graças a esta técnica, o pirata pode esperar recuperar os casais identificadores/senha que lhe permitem aceder às contas que possuem privilégios alargados sobre outras máquinas da rede (por exemplo o acesso à conta de um administrador) para ser capaz de controlar uma parte maior 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í se encontram, das suas falhas, e possui um acesso root sobre pelo menos uma dentre elas. É-lhe então possível estender ainda mais 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 se conseguiu infiltrar numa rede de empresa e comprometer uma máquina, pode acontecer que queira poder voltar a fazê-lo. 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, quer dizer, suprimindo as linhas de actividade relativas às suas acções.
Além disso, existem softwares, 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 conectar ao mesmo tempo que o pirata, é susceptível de observar os serviços que o pirata lançou ou muito simplesmente que uma outra pessoa que está conectada simultaneamente. O objectivo de um rootkit é, por conseguinte, enganar o administrador, mascarando-lhe a realidade.
Cabe a todo o responsável por uma rede conectada à Internet assegurar 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 "software" que utiliza e “de se pôr 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 da empresa não são suficientes para efectuar bem esta operação, convém que uma empresa especializada em segurança informática realize uma auditoria.
Artigo escrito por Jean-François PILLOU, inspirado de um artigo de GomoR.