Intrusão de rede
As técnicas utilizadas pelos hackers
http://necdum.pt/
Introdução
• Os hackers são bem sucedidos porque os deixamos
• Nesta apresentação iremos falar sobre as diversas
técnicas possíveis para adquirir informação sobre a
sua rede, e as razões pelas quais estas informação é
vital para a segurança da sua rede
Vulnerabilidades
• As vulnerabilidades têm de ser identificadas antes de
poderem ser exploradas.
• Os seguintes pontos têm que ser determinados:
– Identificação de sistemas: que máquinas estão activas na
sua rede?
– Enumeração de serviços: que serviços se encontram a correr
nessas máquinas?
– Enumeração de utilizadores: quais são os logins (e
respectivas passwords) dos utilizadores da sua rede?
– Teste de vulnerabilidades: Existe algum serviço vulnerável
a um ataque conhecido pelo hacker?
Informações genéricas
• O primeiro passo é o tentar conhecer a empresa em
causa, no que diz respeito a:
– Serviços oferecidos e parcerias
• Possíveis relações de confiança entre serviços
– Identificação de colaboradores e respectivos interesses
profissionais
• Possíveis fugas de informação no que diz respeito a topologia
de rede e software utilizado
– Redes e endereços IP alocados
• Identificação dos alvos
Whois - um ponto de partida
• As bases de dados Whois contêm muita informação
– Normalmente são o primeiro passo no processo de aquisição
de informação sobre a sua rede e a sua empresa
– Cada domínio registado na Internet tem um registo numa
destas bases de dados. Estes registos contêm:
• Nome e endereço da empresa
• Número de telefone e endereço de email do:
– contacto técnico
– contacto administrativo
– contacto financeiro
Whois - continuação
• Existem diversas bases de dados Whois. Diferentes
bases de dados possuem informação sobre diferentes
domínios
–
–
–
–
whois.networksolutions.com: .com, .net, .org, .edu
whois.nic.gov: .gov
whois.nic.mil: .mil
whois.ripe.net: domínios europeus
• As bases de dados Whois podem ser pesquisadas
através do comando whois, e podem também
utilizadas para a obtenção de informação sobre redes
e/ou endereços IP.
Whois - um exemplo
• whois -h whois.ripe.net vitima
inetnum: 192.168.1.0 - 192.168.1.127
netname: VITIMA
descr:
Vitima, Serviços de Informatica S.A.
country: PT
admin-c: TAC3-RIPE
tech-c:
JTR1-RIPE
tech-c:
JPT16-RIPE
status:
ASSIGNED PA
mnt-by:
AS9186-MNT
changed: [email protected] 20001009
source:
RIPE
Whois - um outro exemplo
• whois -h whois.ripe.net 192.168.1.0
inetnum: 192.168.1.0 - 192.168.1.127
netname: VITIMA
descr:
Vitima, Serviços Digitais
country: PT
admin-c: TAC3-RIPE
tech-c:
JTR1-RIPE
tech-c:
JPT16-RIPE
status:
ASSIGNED PA
mnt-by:
AS9186-MNT
changed: [email protected] 20001009
source:
RIPE
Domain Name Service - DNS
• O seu DNS pode estar a fornecer demasiada
informação sobre os seus endereços IP, política de
nomeação de sistemas e outros.
• Os registos de DNS contêm:
–
–
–
–
Nome e endereço IP das máquinas da sua rede.
Endereço IP dos seus servidores de DNS.
Endereço IP dos seus servidores de SMTP.
Os registos TXT pode conter informação específica sobre o
seu equipamento, sistema operativo, versões, etc.
DNS - dig
• O comando ‘dig’, é uma ferramenta freeware muito
utilizada para querys de DNS:
– Obter os name servers do seu domínio:
• dig ns vitima.pt:
;; ANSWER SECTION:
vitima.pt.
17h54m26s IN NS dns1.vitima.pt.
vitima.pt.
17h54m26s IN NS dns2.vitima.pt.
– Obter os mail servers do seu domínio:
• dig mx vitima.pt
• ;; ANSWER SECTION:
vitima.pt.
1H IN MX
10 mail.vitima.pt.
DNS - Transferências de zona
• As transferências de zona são feitas pelos servidores
de DNS secundários, permitindo-lhes assim terem as
suas bases de dados sincronizadas.
• Se não estiverem protegidas, o hacker pode fazer
uma tentativa de transferência de zona, de maneira a
ter acesso a toda a base de dados do seu servidor de
DNS:
– Tentativa de transferência da zona vitima.pt:
• dig @192.168.1.1 vitima.pt axfr
; <<>> DiG 8.3 <<>> @192.168.1.1 vitima.pt axfr
; (1 server found)
;; Received 0 answers (0 records).
;; FROM: laika.necdum.net to SERVER: 192.168.1.1
;; WHEN: Fri Feb 16 01:29:00 2001
DNS - Limitação de informação
• Através dos registos do seu DNS, o hacker pode ficar
a saber sobre todas as suas máquinas.
– Uma boa política de segurança é o de manter um servidor de
DNS externo, com apenas a informação relativa às máquinas
que devem ser acedidas pelo público em geral.
• O hacker irá tentar descobrir TODAS as máquinas
existentes na sua rede.
– Quantas mais máquinas o hacker conhecer, maiores são as
suas probabilidades de encontrar uma máquina vulnerável.
• Para descobrir as restantes máquinas, o hacker terá
que utilizar técnicas de scanning.
Scanning - à procura de máquinas
• Um método de detecção de máquinas activas numa
rede é o de enviar pacotes para todos os endereços IP
dessa rede, e analisar quais os que respondem
• Existem diversos tipos de pacotes que podem ser
usados:
–
–
–
–
–
–
Ping - usa pacotes ICMP do tipo 0 e do tipo 8
Outros pacotes ICMP
TCP connect
TCP Syn
UDP
Outros
Recolher informação da sua rede
• É útil ao hacker conhecer a estrutura da sua rede:
– Permite-lhe saber quais os caminhos que os pacotes
percorrem dentro da sua rede.
– Pode indicar máquinas por trás das firewalls.
• A política de routing pode ser determinada:
– Verificando os caminhos que os pacotes tomam dentro da
sua rede
• o traceroute (tracert em Windos) permite esta verificação
– Perguntando directamente aos routers
Traceroute
• Consiste no envio de pacotes com baixos TTLs, e
registo dos pacotes de retorno.
• Com o traceroute, o hacker pode ver quais os
caminhos seguidos pelos pacotes dentro da sua rede:
• traceroute 192.168.1.13
traceroute to www.vitima.pt (192.268.1.13), 30 hops max, 38 byte packets
1 gateway.necdum.net (194.38.148.246) 1.769 ms 1.743 ms 1.828 ms
2 internal (192.168.64.25) 20.516 ms 20.386 ms 20.288 ms
3 rt-lisboa-1.meganet.pt (194.38.128.1) 21.778 ms 21.976 ms 22.354 ms
4 195.245.142.225 (195.245.142.225) 26.441 ms 25.321 ms 93.067 ms
5 195.245.142.5 (195.245.142.5) 63.029 ms 56.748 ms 59.061 ms
6 195.245.142.14 (195.245.142.14) 37.450 ms 38.736 ms 37.150 ms
7 195.245.131.162 (195.245.131.162) 38.344 ms 39.007 ms 38.832 ms
8 195.245.131.194 (195.245.131.194) 43.926 ms 43.701 ms 38.788 ms
9 192.168.1.126 (192.168.1.126) 60.514 ms 48.280 ms 40.577 ms
10 192.168.1.58 (192.168.1.58) 41.769 ms 40.519 ms 38.675 ms
11 192.168.1.13 (192.168.1.13) 40.450 ms 38.797 ms 40.302 ms
SNMP - olhando para a sua rede
• Simple Network Management Protocol - SNMP
– Usado para monitorização e administração remota de
máquinas.
– A maior parte dos routers e switches tem a capacidade de
falar SNMP.
– Muitas redes não têm os seus equipamentos de rede
protegidos contra acessos SNMP.
• Muitas redes nem sabem da capacidades SNMP dos seus
routers e switches, e muito menos das suas configurações por
omissão
• Pode ser utilizado para determinar políticas de
routing e topologia de rede.
SNMP - snmpnetstat
• O snmpnetstat faz parte de um conjunto de
aplicações de SNMP freeware, e é usado para
questionar routers capazes de falar SNMP sobre as
suas tabelas de routing
• snmpnetstat 192.168.1.126 -rn
Routing tables
Destination
default
10
192.168.1/27
192.168.1.32/28
192.168.1.40/29
192.168.1.50/32
192.168.1.56/29
192.168.1.60/32
192.168.1.64/27
192.168.1.120/29
Gateway
Flags Interface
192.168.1.121 UG
if0
0.0.0.0
U
Null0
192.168.1.58
UG
if0
192.168.1.57
UG
if0
192.168.1.57
UG
if0
192.168.1.57
UG
if0
192.168.1.62
U
Ethernet1
192.168.1.57
UG
if0
192.168.1.57
UG
if0
192.168.1.126 U
Ethernet0
SNMP - defesas
• Antes de poder usar SNMP, o hacker tem de saber o
community name do equipamento
– Por omissão, o nome é ‘public’
• O community name é a ‘password’ do SNMP
• De maneira a impedir que os hackers possam
recolher este tipo de informação, deverá escolher
bons community names
– I.e, palavras não públicas e difíceis de adivinhar
Identificação de serviços
• Após a identificação das máquinas, o hacker irá
agora tentar determinar quais os serviços que se
encontram a correr:
– Estes serviços são o que o hacker irá tentar atacar.
• O primeiro passo no processo de identificação de
serviços é o port scanning.
Port scanning
• O port scanning consiste no envio de pacotes para
portas específicas das máquinas alvo, e na
observação das respostas
– Existem diferentes tipos de pacotes que podem ser enviados
• TCP - usando o 3 way TCP handshake.
• SYN - apenas é enviado o primeiro pacote do 3 way TCP
handshake.
• UDP - na tentativa de se encontrar serviços UDP.
• Outros.
Port scanning - ferramentas
• Existem inúmeras ferramentas de port scanning de
domínio público.
• Uma das ferramentas mais utilizadas para port
scanning é o nmap, da www.insecure.org:
– Suporta várias técnicas para detecção de portas activas
– Suporta stealth scans, difíceis de serem detectados
– Permite saber qual o sistema operativo que corre na
máquina
Port scanning - nmap
• nmap vitima.pt
Interesting ports on (192.168.1.13):
(The 2 ports scanned but not shown below are in state: closed)
Port
State
Service
21/tcp open
ftp
25/tcp open
smtp
80/tcp open
http
443/tcp open
https
Determinar o Sistema Operativo
• Saber qual o Sistema Operativo que corre numa
máquina, permite ao hacker procurar
vulnerabilidades e exploits específicos.
• Para determinar o Sistema Operativo, o hacker pode:
– Fazer “inspecção de banners”.
– Usar TCP/IP fingerprinting. Esta técnica baseia-se na análise
dos pacotes que são devolvidos pela stack TCP/IP da
máquina alvo.
• O nmap suporta técnicas sofisticadas de TCP/IP fingerprinting
Determinar o software dos serviços
• Com a lista de portas activas gerada anteriormente, o
hacker irá tentar determinar:
– O nome do software.
– A sua versão.
– O seu Patch Level.
• Os banners dos serviços muitas vezes indicam este
tipo de informação.
Determinar o software dos serviços
• Inspecção de banners é uma técnica que se baseia em
analisar a informação retornada pelos serviços.
• É normalmente feita com um cliente de telnet (ou
uma ferramenta semelhante), ligando-se
directamente ao serviço.
• Bons protocolos para esta técnica são o ftp (tcp/21),
telnet (tcp/23), smtp (tcp/25) e o http (tcp/80)
• telnet mail.vitima.pt 25
Connected to mail.vitima.pt.
Escape character is '^]'.
220 mail.vitima.pt Microsoft ESMTP MAIL Service, Version: 5.0.2195.1600 ready at Fri, 16
Feb 2001 01:46:34 +0000
Determinar o software dos serviços
• Caso a inspecção de banner se mostre infrutífera, o
hacker irá usar outras técnicas:
– Através da utilização normal do serviço.
• Por exemplo, muitos servidores de http retornam o seu nome e
versão na página de erro por omissão
– O hacker pode ainda determinar o software por outras
informações.
• Por vezes, o facto de se conhecer a versão do sistema operativo
pode permitir determinar a versão do software do serviço
Vulnerabilidades
• Depois de determinar o software que corre nos
serviços, o hacker irá iniciar o processo de teste de
vulnerabilidades.
• Existem inúmeras bases de dados de
vulnerabilidades, organizadas por sistema operativo
e versão do software.
• Caso qualquer um dos serviços encontrados pelo
hacker conste destas bases de dados, este irá tentar
explorar a vulnerabilidade.
– Este é o funcionamento normal dos scanners de
vulnerabilidades existentes, como o CyberCop e o ISS
– Alguns hackers irão correr estes tipos de scanners, mas
outros não, por serem facilmente detectáveis
Vulnerabilidades - fontes de informação
• Sites de segurança
– http://www.securityfocus.com/
– http://p.ulh.as/
• Mailing lists
– Bugtraq
– NTSecurity
– CERT
• Contacto directo
– IRC
– Cons
– Sites específicos
Vulnerabilidades - tipos
• Existem diversos tipos de vulnerabilidades:
– Remotos vs locais
– Elevação de previlégios vs negação de serviço
– Erro de programação vs erro de configuração
• Os mais graves são os que permitem acesso remoto
ao sistema, com previlégios de super utilizador.
• Buffer overflows
Vulnerabilidades - leitura e escrita no disco
• Serviços que permitem a leitura e escrita no disco são
os alvos preferenciais dos hackers:
– File Transfer Protocol (FTP)
– Network File Server (NFS)
– System Message Block (SMB)
• O serviço de Remote Procedure Calls é um alvo
frequente:
– rpcinfo -p <host> é usado para questionar os serviços de
RPC existentes numa máquina
Vulnerabilidades - continuação
• Network File Service (NFS)
– Baseado em RPC
– showmount -e <host> pode ser usado para determinar se
existe algum share a ser partilhado por outras máquinas
• Windows File Shares (SMB)
– snbclient -L <netbios name> -I <target IP> pode ser usado
para determinar se existe algum share SMB a ser partilhado
por outras máquinas
Vulnerabilidades - serviços de Internet
• DNS
– Existem problema em quase todas as versões do Bind, o
servidor de DNS mais utilizado na Internet
• Mail
– Foram célebres os problemas que afligiram o Sendmail
desde o seu nascimento
• HTTP
– O IIS e é pródigo em problemas de segurança, sendo
conhecidos problemas em:
• Frontpage extensions
• Coldfusion
• Unicode interpretation
Vulnerabilidades - exploits
• Qualquer um dos serviços identificado é uma
potencial porta de entrada para o hacker.
• Existem inúmeras fontes de informação na Internet
que distribuem informação sobre as vulnerabilidades
existentes nos diversos serviços:
– Algumas apenas descrevem a vulnerabilidade, bem como
maneiras de se proteger das mesmas.
– Outras descrevem a maneira como a vulnerabilidade pode
ser explorada (exploit), podendo inclusivé fazer-se
acompanhar pelo código fonte do exploit.
Informação sobre os seus utilizadores
• De maneira a poder ter acesso a alguns dos sistemas
da sua rede, o hacker irá tentar aceder aos mesmos
fazendo-se passar por um dos utilizadores
creditados.
• Existem várias fontes de informação onde pode ser
encontrada informação sobre os seus utilizadores:
– Motores de procura
– News
– Endereços de mail
• Caso esteja activo, o finger pode fornecer muita desta
informação.
Utilizadores - passwords
• Depois de ter compilado uma lista de nomes, o
hacker irá tentar adivinhar as respectivas passwords.
• O hacker irá tentar ligar-se a um dos serviços que
forneça login, e tentar algumas passwords.
• Existem inúmeras ferramentas que permitem a
automatização deste processo:
– Baseados em dicionários - palavras comuns.
– Brute force - tentando todas as combinações possíveis.
• Qualquer serviço que forneça login pode ser atacado
por este tipo de ferramenta.
Utilizadores - boas passwords
• De maneira a proteger as suas passwords deste tipo
de ataque, deverá
– Criar passwords longas (> 7 caracteres).
– Criar passwords que contenham letras, números e símbolos.
– Criar passwords que não sejam baseadas em palavras
conhecidas.
• Os serviços que fornecem login devem bloquear a
conta depois de várias tentativas falhadas.
– É assim que funciona o Multibanco
Sumário
• Os hacker necessitam de informação para serem bem
sucedidos nas suas tentativas de intrusão.
• Existem diversas maneiras de eles conseguirem esta
informação.
• Ao negar esta informação aos hacker, está-lhes a
negar o acesso à sua rede.
Download

Vulnerabilidades dos sistemas informáticos