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.127netname: VITIMAdescr: Vitima, Serviços de Informatica S.A.country: PTadmin-c: TAC3-RIPEtech-c: JTR1-RIPEtech-c: JPT16-RIPEstatus: ASSIGNED PAmnt-by: AS9186-MNTchanged: [email protected] 20001009source: RIPE
Whois - um outro exemplo
• whois -h whois.ripe.net 192.168.1.0
inetnum: 192.168.1.0 - 192.168.1.127netname: VITIMAdescr: Vitima, Serviços Digitaiscountry: PTadmin-c: TAC3-RIPEtech-c: JTR1-RIPEtech-c: JPT16-RIPEstatus: ASSIGNED PAmnt-by: AS9186-MNTchanged: [email protected] 20001009source: 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.13traceroute 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 ms10 192.168.1.58 (192.168.1.58) 41.769 ms 40.519 ms 38.675 ms11 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 -rnRouting tablesDestination Gateway Flags Interfacedefault 192.168.1.121 UG if010 0.0.0.0 U Null0192.168.1/27 192.168.1.58 UG if0192.168.1.32/28 192.168.1.57 UG if0192.168.1.40/29 192.168.1.57 UG if0192.168.1.50/32 192.168.1.57 UG if0192.168.1.56/29 192.168.1.62 U Ethernet1192.168.1.60/32 192.168.1.57 UG if0192.168.1.64/27 192.168.1.57 UG if0192.168.1.120/29 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.ptInteresting ports on (192.168.1.13):(The 2 ports scanned but not shown below are in state:
closed)Port State Service21/tcp open ftp25/tcp open smtp80/tcp open http443/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 25Connected 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.
Top Related