370 likes | 495 Views
Intrusão de rede. As técnicas utilizadas pelos hackers http://necdum.pt/. Introdução. Os hackers são bem sucedidos porque os deixamos
E N D
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: xpto@isp.pt 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: xpto@isp.pt 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 Gateway Flags Interface default 192.168.1.121 UG if0 10 0.0.0.0 U Null0 192.168.1/27 192.168.1.58 UG if0 192.168.1.32/28 192.168.1.57 UG if0 192.168.1.40/29 192.168.1.57 UG if0 192.168.1.50/32 192.168.1.57 UG if0 192.168.1.56/29 192.168.1.62 U Ethernet1 192.168.1.60/32 192.168.1.57 UG if0 192.168.1.64/27 192.168.1.57 UG if0 192.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.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.