Segurança: detectando rootkits
Os rootkits podem ser instalados tanto localmente (quando alguém tem acesso físico à sua máquina) quanto remotamente, caso o intruso tenha acesso via SSH, VNC, XDMCP ou qualquer outra forma de acesso remoto. Neste caso, ele precisará primeiro descobrir a senha de algum dos usuários do sistema para poder fazer login e instalar o programa. O alvo mais comum neste caso são contas com senhas fáceis. Qualquer instalação com o SSH ou telnet ativo e alguma conta de usuário com uma senha fácil (ou sem senha) é muito vulnerável a este tipo de ataque. A instalação do rootkit é em geral o último passo de uma série de ataques que visam obter acesso a uma conta de usuário do sistema. A partir do momento que é possível logar na máquina, o atacante executa o rootkit para tentar obter privilégios de root. Uma vez instalado, o rootkit vai alterar binários do sistema, instalar novos módulos no Kernel e alterar o comportamento do sistema de várias formas para que não seja facilmente detectável. O processo do rootkit não aparecerá ao rodar o "ps -aux", o módulo que ele inseriu no Kernel para alterar o comportamento do sistema não vai aparecer ao rodar o "lsmod", e assim por diante. Aparentemente vai estar tudo normal, você vai poder continuar usando a máquina normalmente, mas existirão outras pessoas com acesso irrestrito a ela, que poderão usá-la remotamente da forma que quiserem. Se num desktop isso já parece assustador, imagine num servidor importante. Naturalmente também existem programas capazes de detectar rootkits. Um dos mais populares é o chkrootkit, que pode ser encontrado no: http://www.chkrootkit.org/. No site está disponível apenas o pacote com o código fonte, que você precisa compilar manualmente, mas ele é um programa bastante popular e vem incluso na maior parte das distribuições. No Debian, Kurumin ou derivados, você pode instalá-lo pelo apt-get: # apt-get install chkrootkit Ele pergunta se deve ser executado automaticamente todos os dias, através do cron. Isso garante uma proteção adicional, pois ele avisa caso futuramente a máquina seja comprometida.
Para executar o chkrootkit, basta chamá-lo no terminal: # chkrootkit Ele exibe um longo relatório, mostrando um por um os arquivos checados. Numa máquina saudável, todos retornarão um "nothing found":
Searching
for Ramen Worm files and dirs... nothing found Uma parte importante é a checagem das interfaces de rede, que aparece no final do relatório:
Checking
`sniffer'... lo: not promisc and no packet sniffer sockets Os sniffers são usados para monitorar o tráfego da rede e assim obter senhas e outras informações não apenas do servidor infectado, mas também de outras máquinas da rede local. Um dos sintomas de que existe algum sniffer ativo é a placa da rede estar em modo promíscuo, onde são recebidos também pacotes destinados a outros micros da rede local. Alguns programas, como o VMware, o Ethereal e o Nessus colocam a rede em modo promíscuo ao serem abertos, mas caso isso aconteça sem que você tenha instalado nenhum destes programas, é possível que outra pessoa o tenha feito. Caso o teste do chkrootkit detecte algo, o melhor é desligar o micro da rede, reiniciar usando um live-CD, salvar arquivos importantes e depois reinstalar completamente o sistema. Da próxima vez mantenha o firewall ativo, mantenha o sistema atualizado e fique de olho no que outras pessoas com acesso ao sistema estão fazendo. Se a intrusão for um servidor importante e ele for ser enviado para análise, simplesmente desconecte-o da rede. Alguns indícios se perdem ao desligar ou reiniciar a máquina. Infelizmente o teste do chkrootkit não é confiável caso seja executado em uma máquina já infectada, pois muitos rootkits modificam os binários do sistema, de forma que ele não descubra as alterações feitas. A única forma realmente confiável de fazer o teste é dar boot em algum live-CD e executar o teste a partir dele, um sistema limpo. Neste caso, monte a partição onde o sistema principal está instalado e execute o chkrootkit usando o parâmetro "-r", que permite especificar o diretório onde será feito o teste:
# mount
/dev/hda1 /mnt/hda1 O Knoppix inclui o chkrootkit instalado por padrão. Você pode também remasterizar o Kurumin para incluí-lo. » Próximo: Instalando o Kurumin 7 (e outras distros) num pendrive ou cartão Você está lendo o livro Linux, Ferramentas Técnicas (publicado em 2006) Se se está em busca de um livro atualizado sobre Linux, leia o Linux, Guia Prático, que oferece informações atualizadas:
Autor: Carlos E. Morimoto
Páginas: 736 Formato: 23 x 16 cm Editora: GDH Press e Sul Editores » Veja mais detalhes sobre o livro Descrição: Em 2001 publiquei a edição inicial do livro "Entendendo e Dominando o Linux", que foi sucedida por diversas atualizações, culminando no livro que está atualmente disponível para leitura online. O livro Linux, Guia Prático é um novo trabalho, onde pretendo transmitir a experiência e os conhecimentos acumulados ao longo de todos esses anos. Este é um livro de referência, destinado a mostrar detalhes sobre a configuração e uso do sistema, abordando diversas distribuições, incluindo o Ubuntu, Mandriva, Fedora, OpenSUSE e Slackware. Temas gerais, como os aplicativos disponíveis e o uso do terminal são explicados de forma independente, enquanto as configurações específicas para cada distribuição são agrupadas em capítulos específicos para cada uma. A idéia é oferecer os meios para que você se torne um usuário avançado, capaz de usar e solucionar problemas em qualquer distribuição. Veja também nossos livros Hardware, o Guia Definitivo, Redes, Guia Prático, Servidores Linux, Guia Prático e Smartphones, Guia Prático nossos outros lançamentos. |
|