Upload
vanhanh
View
213
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE TUIUTI DO PARANÁ
Luiz Carlos Roth
TESTE DE INVASÃO COM USO DE SOFTWARE LIVRE E
FERRAMENTAS OPEN SOURCE EM REDES CORPORATIVAS
CURITIBA
2011
Luiz Carlos Roth
TESTE DE INVASÃO COM USO DE SOFTWARE LIVRE E
FERRAMENTAS OPEN SOURCE EM REDES CORPORATIVAS
Monografia apresentada ao Curso de Especialização em Redes de Computadores, da Universidade Tuiuti do Paraná, como requisito parcial para obtenção do grau de Especialista. Orientador: Prof. Msc. Roberto Neia Amaral
CURITIBA
2011
Luiz Carlos Roth
TESTE DE INVASÃO COM USO DE SOFTWARE LIVRE E
FERRAMENTAS OPEN SOURCE EM REDES CORPORATIVAS
Esta monografia foi julgada e aprovada para a obtenção do grau de
Especialista em Redes de Computadores no Programa de Pós Graduação da
Universidade Tuiuti do Paraná.
Curitiba, 17 de Novembro de 2011.
Orientador: Prof. Msc. Roberto Neia Amaral
Coordenador: Prof. Msc. Roberto Neia Amaral
AGRADECIMENTOS
Agradeço a Deus, que me deu vida e inteligência, e que
me dá força para continuar a caminhada em busca dos
meus objetivos.
Aos Professores pela dedicação no ensino, que sem suas
importantes lições e ajudas não teria sido concretizado.
Aos meus pais, que me ensinaram a não temer desafios e
a superar os obstáculos com humildade.
À minha noiva pelo incentivo e apoio durante a realização
do trabalho.
Aos amigos da área de Tecnologia, pelas sugestões
dadas para a realização da pesquisa.
E aos demais, que de alguma forma contribuíram na
elaboração desta monografia.
RESUMO
A presente pesquisa apresenta os principais meios de se invadir redes corporativas, utilizando de ferramentas de código aberto. Busca também mostrar aos administradores de rede as técnicas e ferramental que podem ser usados por atacantes ao invadir redes e sistemas. Além de apresentar as ferramentas os conceitos utilizados também são explorados, possibilitando ao leitor um melhor entendimento para correto uso e aplicação de um conjunto de ferramentas. Com essa avaliação proposta na pesquisa, pode o administrador de rede focar nos potenciais problemas e brechas existentes no ambiente digital, direcionando os recursos e investimentos para correção de vulnerabilidades antes de serem exploradas.
Palavras chaves: Teste de invasão, correção de vulnerabilidades, redes corporativas.
ABSTRACT This paper presents the main ways to break into corporate networks using open source tools. It also seeks to show network administrators the tools and techniques that can be used by attackers to break into networks and systems. In addition to presenting the concepts used tools are also explored, allowing the reader a better understanding for the correct use and application of a set of tools. With this proposed evaluation research, the network administrator can focus on potential problems and gaps in the digital environment, directing resources and investments to correct vulnerabilities before they are exploited. Keywords: Penetration testing, vulnerability remediation, corporate networks.
LISTA DE FIGURAS
FIGURA 1 – VARREDURA TCP Connect() ....................................................................... 25
FIGURA 2 – VARREDURA TCP SYN (half-open) ............................................................ 26
FIGURA 3 – VARREDURA TCP Null ............................................................................... 27
FIGURA 4 – VARREDURA TCP FIN ................................................................................ 28
FIGURA 5 – VARREDURA TCP Xmas ............................................................................. 29
FIGURA 6 – VARREDURA TCP ACK .............................................................................. 31
FIGURA 7 – VARREDURA DE JANELA TCP .................................................................. 32
FIGURA 8 – VARREDURA TCP Maimon ......................................................................... 33
FIGURA 9 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 1 ............................... 35
FIGURA 10 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 2 ............................. 36
FIGURA 11 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 3 ............................. 37
FIGURA 12 – VARREDURA FTP Bounce ......................................................................... 38
FIGURA 13 – VARREDURA UDP ..................................................................................... 39
FIGURA 14 – METASPLOIT FRAMEWORK: GUI .......................................................... 46
FIGURA 15 – METASPLOIT FRAMEWORK: INTERFACE WEB ................................... 47
FIGURA 16 – MANTENDO O ACESSO ............................................................................ 49
LISTA DE TABELAS
TABELA 1 – COMANDOS PARA BUSCA DE HOSTS VIVOS ....................................... 22
TABELA 2 – EXEMPLO USANDO A FERRAMENTA DNSSPOOF E ETTERCAP ........ 44
TABELA 3 – SINTAXE EXPRESSÕES METASPLOIT FRAMEWORK .......................... 45
SUMÁRIO 1 INTRODUÇÃO ....................................................................................................... 9
2 SEGURANÇA EM REDES CORPORATIVAS .................................................... 11
2.1 PORQUE REALIZAR O TESTE DE INVASÃO.................................................. 12
2.2 DIFERENÇAS ENTRE UMA SIMULAÇÃO E UM ATAQUE REAL....................12
3 OBTENÇÃO DE INFORMAÇÕES ....................................................................... 13
3.1 ENGENHARIA SOCIAL..................................................................................... 13
3.2 TRASHING......................................................................................................... 14
3.3 WHOIS............................................................................................................... 15
3.4 DNS.................................................................................................................... 15
3.4.1 COLHENDO ENTRADAS DNS....................................................................... 16
3.5 GOOGLE HACKING.......................................................................................... 18
4 VARREDURAS .................................................................................................... 20
4.1 WARDRIVING................................................................................................... 21
4.2 MAPEAMENTO DE REDES.............................................................................. 21
4.2.1 Busca por hosts vivos....................................................................................... 22
4.2.2 Detecção de Serviços....................................................................................... 22
4.2.3 Detecção de Sistemas Operacionais............................................................... 23
4.2.4 Port Scan.......................................................................................................... 23
4.3 VUNERABILIDADES......................................................................................... 39
5 INVASÃO ............................................................................................................. 40
5.1 SNIFFING.......................................................................................................... 40
5.2 SEQUESTRO DE DNS..................................................................................... 41
5.3 ATAQUES A AQUIVOS HOSTS....................................................................... 43
5.4 SEQUESTRO DE DNS..................................................................................... 43
5.5 METASPLOIT FRAMEWORK........................................................................... 44
5.6 QUEBRA ONLINE DE SENHAS....................................................................... 47
6 MANTENDO O ACESSO .................................................................................... 49
7 CONCLUSÃO ...................................................................................................... 51
REFERÊNCIAS ......................................................................................................... 52
GLOSSÁRIO ............................................................................................................. 54
9
1 INTRODUÇÃO
Com a crescente utilização e necessidade de Tecnologia da
Informação nas empresas, o número de dispositivos de Sistemas de
Informação tem crescido assim como seu uso tem se tornado maior. Sejam
eles: Computadores, Notebooks, Netbooks, Tablets ou Smartphones. Com
todos esses dispositivos sendo utilizados conseqüentemente existem vários
meios de acesso a rede corporativa, através da rede local ou Internet, tendo o
departamentos de tecnologia da informação a função de prover recursos e
mecanismos que facilitem o uso das informações pelos usuários, que utilizam
de tecnologia nas suas operações diárias, assim como contribuir para a
tomada de decisão de gestores que fazem uso da informação digital.
Para garantir que as informações de empresas não sejam acessadas
por pessoas indevidas, ou até mesmo comprometidas, criou-se um conceito
definido como Teste de Invasão, onde preferencialmente um Profissional
Sênior da área de redes, com grande conhecimento da área utiliza de
técnicas usadas por Hackers para simular e efetivar uma invasão na rede da
empresa, procurando identificar e documentar as brechas existentes na
empresa alvo para posterior correção.
Procurando desmistificar as metodologias utilizadas por atacantes e
algumas das principais ferramentas utilizadas, este trabalho apresenta a
metodologia utilizada para o ataque, em que um profissional assume a
função de um hacker tentando acessar e comprometer os sistemas de uma
empresa. Vemos neste documento a Fase de Planejamento, obtenção da
10
informação, métodos de varreduras, ação de invasão e formas de manter o
acesso.
11
2 SEGURANÇA EM REDES CORPORATIVAS
Há diversas formas de se tratar a segurança de uma rede, sistema ou
aplicação, e o teste de invasão é apenas uma delas. Cada uma tem suas
características, vantagens e desvantagens, então é muito importante entender as
semelhanças e diferenças entre elas para saber se de fato o que a empresa
precisa é realmente um Pen Test (simulação de um acesso sem autorização,
burlando servidores e mecanismos de defesa em uma rede) ou outro tipo de
avaliação. Ao fazer um Pen Test é feito uma simulação de um ataque real aos
alvos selecionados, de acordo com as características pré-determinadas com o
responsável pela ação na empresa. É importante reforçar o quanto isso é
diferente, por exemplo, de uma simples avaliação de segurança, que identifica
pontos potencialmente vulneráveis sem testar de fato se aquilo representa um
risco real a empresa, bem como o impacto e risco associado àquela
vulnerabilidade.
Algumas vezes é difícil justiçar o ROI (Return of Investimet) de um teste
de invasão para os tomadores de decisão. É preciso mostrar os custos
resultantes de um ataque bem sucedido (ou mesmo, por exemplo, a falta de
lucro que um site comercial fora do ar causa) e compará-lo ao custo de um teste
de invasão, que pode indicar o quão protegida e infreaestrutura de TI está deste
risco (http://www.seginfo.com.br/auditoria-teste-de-invasaopentest-planejamento-
preparacao-e-execucao/. Acesso em: 24 jul. 2011).
Cada vez mais, normas internacionais estão pedindo teste de invasão
periódicos procurando regulamentar corporações que querem entrar em
conformidade com as mesmas.
12
2.1 PORQUE REALIZAR O TESTE DE INVASÃO
Muitas vezes existe um esforço grande dos administradores de rede para
tonar um sistema extremamente seguro de um lado e acaba sendo esquecido
um ou outro elemento. Para um atacante, não importa quanta segurança foi
colocada no componente X ou Y. Se há uma brecha em Z, é por lá que o sistema
será invadido. De nada adianta, por exemplo, firewalls duplos, redundância e
IDSs distribuídos se o usuário usa a senha “1234”. Embora pareça sórdico um
dos métodos mais eficientes de se entrar em sistemas é “adivinhando” a senha,
conforme será visto ao longo desta pesquisa.
2.2 DIFERENÇAS ENTRE UMA SIMULAÇÃO E UM ATAQUE REAL
Embora pareça haver semelhança entre um ataque real e uma
simulação, há uma série de diferenças entre os dois tipos de ataques, dentre
elas: Metodologia utilizada com a árvore de ataques, documentação das ações
realizados com registros dos comandos realizados e telas. Existe também uma
preocupação com a empresa em não expor os dados sensíveis encontrados
durante o ataque, bem como limitação de até onde o ataque pode ser avançar de
forma que não comprometa a integridade dos dados. Além destes itens no teste
de invasão planejado deve existir uma documentação com autorização para esta
ação.
13
3 OBTENÇÃO DE INFORMAÇÕES
Há muita informação que se pode obter de forma ativa ou passiva sobre
alvos potenciais, e é fácil se perder em meio a uma enxurrada de dados não
necessariamente úteis para o ataque, portanto para obtenção de informações foco é
essencial.
3.1 ENGENHARIA SOCIAL
O modo mais simples de ser obter uma informação é pedindo por ela,
podendo ser usado da tecnologia como Cavalos de Tróia ou Phishing ou até mesmo
contato pessoal direto ou telefônico.
Ao modelo o ataque de engenharia social é importante utilizar-se dos 7 tipos
de perssuação, conforme descrito no livro de MITINICK.
Conformidade: Mostrar a Vitima que todo mundo está fazendo o que foi
proposta a vitima a fazer.
Lógica: Apontar duas ou três afirmativas verdadeiras e sugerir
(erroneamente) que o que está sendo requerido a vitima faça é uma conseqüência
natural dessas afirmativas;
Necessidade: O ser humano, salvo exceções, gosta de ajudar o próximo.
Faz as pessoas se sentirem bem com elas mesmas e isso pode ser explorado em
seu ataque.
Autoridade: Não precisa (e normalmente não deve) ser agressiva, mas uma
leve indicação informal de autoridade (um cargo ou título na assinatura de um e-mail,
14
por exemplo) pode ajudar a ganhar a cooperação de pessoas interessados em
aumentar sua rede de relacionamentos.
Reciprocidade: Sugerir que, se a pessoa fizer o que está sendo proposta
que ela faça, será ajudada com o que quer ela queira ou precisa. Ou ao contrário.
Similaridade: Muitas pessoas tendem a responder positivamente ao se
identificarem com o interlocutor de forma consciente (experiências de vida) ou
inconsciente (mimetismo discreto).
Informacional: às vezes o simples ato de estar integrado ao ambiente,
dominando terminologia e linguajar do local, citando coisas que uma pessoa com
acesso legítimo à informação saberia, é o suficiente para ganhar a confiança do
alvo.
3.2 TRASHING
Para proteção de dados corporativos é importante a adoção da cultura de
classificação da informação. Essa classificação faz com que, através de rótulos, os
colaboradores saibam exatamente como lidar com tais informações. Os principais
controles utilizado são: Armazenamento, Compartilhamento e Descarte. Este último
é sumariamente negligenciado o que torna os ataques de trashing mais eficientes do
que se imagina. É preciso ter cuidado com o descarte de dados estando eles
impressos ou em mídias digitais, em função do lixo corporativo expor muita
informação.
15
3.3 WHOIS
O Whois é um protocolo utilizado para determinar o dono de um nome de
domínio, endereço, contato, servidores DNS ou rede IP. Os registros de Internet
Regionais (RIR) são regidos pelo ICANN e podem ser acessados para obter
diversas informações sobre um IP ou domínio. São Eles:
ARIN: whois.arin.net
RIPE NC: www.tipe.net/whois
APNIC: whois.apnic.net
LACNIC: whois.lacnic.net
AfriNIC: Whois.afrinic.net
O site DomainTools permite uma série de buscas avançadas em domínios
de Whois, entre outras.
Embora o Whois forneça as informações sobre derminado endereço deve-se
ter cuidado ao confiar nas informações, pois há pouco controle das informações
mantidas em suas bases. Além disso, algumas empresas de serviços Web fazem o
registro por seus Clientes de modo que, de modo que não é possível obter todas as
informações que se gostaria.
3.4 DNS
Uma solicitação Whois dará, entre outras informações importantes, o
endereço dos servidores DNS responsáveis pelo domínio do alvo. Consultar tais
servidores é uma boa estratégia para se obter ainda mais dados sobre a
infraestrutura a ser atacada. As principais entradas DNS são descritas abaixo.
16
Registros “A”: São usados para mapear hosts a endereços IPv4, enquanto
registros “AAAA” são IPv6;
CNAME: Mapeia o host a um nome canônico;
MX (Mail Exchange): Indica para quem trata e-mails enviados ao domínio.
SOA: Vem de Start Of Authority e indica o servidor DNS que da informações
autoritativas sobre o domínio.
NS: registros NS apontam para os servidores que tratam consultas DNS
para o domínio;
TXT: Entradas TXT são utilizadas para incluir qualquer texto (normalmente
informacional) a um registro DNS;
HINFO descreve o tipo de computador e Sistema Operacional usado no host
em questão;
SRV: indica quais serviços estão disponíveis no host (normalmente utilizado
para balanceamento de carga);
PRT: Associa um IP ao um nome de host (é o contrário de uma entrada A ou
AAAA);
3.4.1 COLHENDO ENTRADAS DNS
Uma das ferramentas para obter informações de servidores DNS é o DIG
(Domain Information Groper).
O DIG é uma ferramenta com a qual pode ser feita consultas sobre um
determinado servidor DNS de forma interativa ou modo 'batch'
(http://penta.ufrgs.br/uel/mksuguim/mksunk02.htm. Acesso em: 22 jul. 2011).
A sua estrutura de sintaxe é: $ dig @servidor_dns maquina (-x IP) tipo.
17
Para rastrear um caminho: $ dig +trace www.site.com.br
Transferir uma zona: $ dig @servidor_dns domínio axfr
Outras poderosas ferramentas para colher dados de servidores DNS são
nslookup e host. Há também sempre a possibilidade de realizar consultar diretas em
sites web como o www.dnstools.com
As ferramentas dig, nslookup e host foram desenvolvidas pelo Internet
Software Consortium (www.isc.org) e fazem parte da suíte que compõe o servidor
DNS BIND. O nslookup também possui versão nativa no sistema operacional
Windows. Abaixo é apresentado a transferência de Zona com NSLOOKUP.
C:\> nslookup
> server [servidor_DNS]
> set type=any
> ls –d [dominio]
18
3.5 GOOGLE HACKING
Outra maneira de se obter informação sobre uma empresa é através da
página de buscas do Google. Através deste em alguns casos é possível obter
identificação de servidores, servidores negligenciados, listagem de diretório, senhas,
banco de dados, relatórios de segurança, informações sensíveis entre outras.
Padrões de busca detalhados usados para retornar resultados não protegidos de
sites previamente indexados são conhecidos como “Dorks”. Usando-os
itenligentemente, pode se encontrar resultados que mostram questões relevantes de
segurança ou dados sensíveis e confidenciais a respeito dos alvos.
Goolag Scanner (Windows) Http://goolag.org
Para buscas no Google pode-se ser usados dos operadores abaixo:
Coringas;
Inclusão / exclusão (+ -)
Asterisco (*)
Sinônimo (~)
Restrições;
Site:
Filetype: (ou ext:)
Link:
O Google exclui palavras comuns ou com apenas um caractere, e ignora
acentos. Deve-se usar o +PALAVRA (devendo ser colocado sempre um espaço
antes do sinal) para garantir que PALAVRA será incluída na busca. É possível
também usar OR para escolher sites tenham uma ou outra palavra. No entanto, não
19
há como fazer o Google diferenciar maiúsculas até a data em que esta monografia
foi escrita.
Tirar uma página previamente indexada no ar nem sempre é o suficiente par
esconder uma informação. O Google possui registro de versões antigas de sites
disponível em cachê que pode ser analisado.
Uma ferramenta muito interessante para levantamento de informações é o
MetaGoofil, que faz buscas automáticas no Google a respeito de seu alvo e extraem
metadados de documentos acessíveis como arquivos do Office e PDFs. Os
resultados podem incluir nomes de usuários, caminhos no sistema de arquivos e até
endereços MAC.
Existe um projeto, com nome de Hackers for Charity desenvolvido por Jhonny
Long onde o mesmo demonstra uma série de buscas no Google que implicam em
exposição de informação sensíveis. Através de operadores do Google é possível
filtrar buscas de maneira a encontrar resultados bem específicos sobre determinados
tipo de informação que se deseja obter.
20
4 VARREDURAS
Após ter sido feito o levantamento de informações o profissional que
simulará os ataques passa a etapa de varreduras, utilizando das técnicas descritas a
seguir.
21
4.1 WARDRIVING
Ataques a rede sem fio visando quebrar a chave de criptografia baseiam-se em
vulnerabilidades e fraquezas nos métodos de codificação dos protocolos. Para quebrar
chaves WEP é utilizado um ataque a cifra RC4 (usada pelo WEP) que permite que a
chave seja recuperada com 500.000 a 2.000.000 de pacotes de rede capturados. A
suíte Aircrack tornou possível a recuperação da chave com apenas 40.000 pacotes
capturados com probabilidade de sucesso de 50%. Se o número de pacotes subir
apenas 60.000, a probabilidade sobe para 80%. Com 85.000 pacotes, chegamos a
impressionantes 95% de probabilidades de recuperação de chave Se o número de
pacotes parece grande, somente causa a impressão, não é. Usando técnicas ativas de
reinjeção, é possível capturar 40.000 pacotes em uma rede cm fluxo Wireless bom em
menos de um minuto.
4.2 MAPEAMENTO DE REDES
Para invadir uma rede é necessário antes entender sua topologia, mapear os
dispositivos, redes internas, Gateways, DMZ entre outros.
22
4.2.1 Busca por hosts vivos
Varrer todas as portas de todos os IPs de uma rede alvo é lento e muitas
vezes desnecessário. Durante a busca por hosts vivos enviamos sondas solicitando
respostas que indiquem se um dado endereço IP está ativo (se está associado
naquele momento a algum host ou dispositivo). Uma rede 10.0.0.0/8 possui 16
milhões de endereços possíveis, então antes de procurar pelas portas abertas em
cada um deles, é importante saber se o endereço está de fato “vivo”.
TABELA 1 – COMANDOS PARA BUSCA DE HOSTS VIVOS COMANDO
ICMP Echo
TCP SYS Pin
TCP ACK Ping
UDP Ping
ARP Ping
FONTE: O autor
4.2.2 Detecção de Serviços
Uma forma simples, mas nem sempre válida de se descobrir o tipo de serviço
escutando por conexões em determinada porta é a obtenção do banner (Banner
Grabbing). Para isso, basta se conectar ao alvo na porta em questão via telnet ou nc
(netcat) e verificar se algo de interessante aparece. Ex.: $ cat /etc/services | grep
PORTA
23
Ferramentas como o nmap possuem grandes bases de dados com técnicas
para identificação de mais de 2000 serviços automaticamente. Para mais detalhes
sobre as técnicas usadas, funcionamento e personalização da detecção de serviços
e versões podem ser consultados nos links de referencia desta monografia.
4.2.3 Detecção de Sistemas Operacionais
Sistemas Operacionais normalmente ao detectados por características únicas
na implementação de suas pilhas TCP/IP, detectadas através de sondas especificas.
A base de dados no nmap, por exemplo, contém mais de 800 assinaturas de
sistemas operacionais e exibe os detalhes do mesmo caso encontre uma
equivalência com o sistema sendo sondado. Mais informações podem ser obtidas
nos documentos citados nas referencias desta monografia.
4.2.4 Port Scan
Existem diversos tipos de varredura, para fazê-la uma ferramenta muito
utilizada é o Nmap.
Abaixo é exibido um exemplo de comando utilizando a porta 53, sendo esta
interessante para varrer sistemas atrás de Firewalls, visto que muitos
administradores de sistema acabam esquecendo ou ignorando o filtro de tráfego
DNS.
# nmap –sS –sV –f –PN -0 –v –v –g53 –T1 172.16.1.254
24
Nesta varredura TCP SYN (Half-Open) é enviando um pacote SYN, como se
estivesse tentando abrir uma conexão TCP. Se o alvo retornar SYN|ACK, mas a
porta como aberta e envia RST. Senão (alvo retornou RST), porta é marcada como
fechada.
Alternativas:
-sT: Utiliza chamado de sistema “connect()”. Fácil detecção
-sP: Envia pedidos de ICMP echo (ping) para as portas.
Varreduras sub-reptícias, conforme RFC 793:
-sF: Envia pacotes FIN simples, e espera RST de portas fechadas.
-sX: Mesma funcionalidade que –sF, mas marca FIN, URG e PUSH (Xmass
Tree).
-sN: Mesma funcionalidade que –sX, mas não ativa nenhuma flag (Null Scan).
Quanto mais utilizado o parâmetro –V no nmap, mais informações serão
exibidas.
25
Na figura 1 é exibido a utilização da Varredura TCP Connect ()
FIGURA 1 – VARREDURA TCP Connect()
FONTE: O autor
Uma conexão TCP tradicional através da chamada de sistema (System Call)
connect () tentar fazer o “tree-way-handshake” completo e estabelecer uma conexão
real com o alvo. Caso seja bem sucedido, a porta está aberta. Se, pelo contrário, o
alvo devolver um pacote RST, a porta está fechada. Finalmente, caso não haja
resposta, a porta está filtrada.
A varredura TCP SYN (ou half-open) é uma das mais simples e populares por
sua rapidez, eficiência e por não depender de particularidades de implementações
de protocolo de determinados sistemas operacionais. A varredura é ilustrada na
figura 2.
26
FIGURA 2 – VARREDURA TCP SYN (half-open)
FONTE: O autor
Nesta varredura, enviamos um pacote com a flag SYN ativa, como se fosse
requerido abrir uma conexão TCP legítima. No entanto, logo após a resposta ser
recebida, a comunicão com o servidor é interrompida e seguido para o próximo alvo
(IP ou Porta). Exatamente como no caso anterior, uma resposta positiva (SYN+ACK)
do alvo indica que a porta está aberta; um RST sugere que esteja fechada e
nenhuma resposta indica que a porta está filtrada.
Segundo a RFC 793, que especifica o protocolo TCP, pacotes que não
contenham as flags SYN, ACK ou RST ativadas, ao serem enviados para uma nova
porta aberta deverão ser simplesmente descartados pelo alvo. Se a porta estiver
fechada, no entanto, deve retornar um pacote RST. Isso pode ser visualizado na
figura 3.
27
FIGURA 3 – VARREDURA TCP Null
FONTE: O autor
A varredura Null tenta explorar essa característica enviando pacotes sem
nenhuma flag ativada (daí seu nome). É importante notar que não é possível
determinar com precisão se a porta está de fato aberta ou se foi filtrada por um
firewall.
Na varredura FIN é tentado explorar a mesma particularidade da
especificação que a varredura NULL, só que ela envia pacotes apenas com a flag
FIN ativada, conforme ilustrado na figura 4.
28
FIGURA 4 – VARREDURA TCP FIN
FONTE: O autor
Finalmente, a varredura Xmas (de “Chistmas Tree”) explora a mesma questão
de suas irmãs NULL e FINN, só que ativas no pacote todas as flags disponíveis para
a varredura (que não pode ativar as flags SYN, ACK ou RST), ou seja: FIN, PSH e
URG, “acendendo” o pacote como uma árvore de natal (daí seu nome). Essa
varredura pode ser vista na figura 5.
29
FIGURA 5 – VARREDURA TCP Xmas
FONTE: O autor
A principal vantagem desses três ataques é que eles são capazes de
contornar alguns firewalls não-statefull e roteadores com filtros de pacotes. Outra
vantagem está em serem um pouco mais sub-reptícios que uma varredura SYN –
embora ainda possam ser detectados por um NIDS com relativa facilidade.
É importante notar, no entanto, que alguns sistemas (notadamente Windows e
muitos dispositivos CISCO, entre outros) não seguem o RFC corretamente e sempre
devolvem pacotes RST nessas três varreduras, independente da porta estar aberta
ou fechada.
Na figura 6 é ilustrado varreduras ACK, que costumam ser utilizadas para
mapear regras de Firewall (Firewalking), determinado quais portas estão filtradas.
Segundo o protocolo, pacotes ACK recebidos que não façam parte de uma conexão
pré estabelecida devem receber um pacote RST de volta, independente da porta
estar aberta ou fechada. Assim, se a sondagem não retornar nada, a porta está
30
filtrada. Mas se você receber o RST de volta, o pacote provavelmente chegou a seu
destino com sucesso e a porta pode ser marcada como não filtrada. Mensagens de
erro recebidas via ICMP também costumam significar que a porta está filtrada.
31
FIGURA 6 – VARREDURA TCP ACK
FONTE: O autor
Outra ferramenta conhecida para esse fim é o Firewalk. Leance Spitzner
(projeto Honeynet) escreveu em 2000 um artigo a respeito de auditoria de firewall,
em que descreve como é possível bloquear certos tipos de varreduras.
Existe também a varredura de Janela TCP, exatamente igual à varredura
ACK, mas explora adicionalmente uma pequena particularidade na implementação
do protocolo feita por alguns sistemas, que colocam valores positivos no campo de
janela TCP (TCP Windows do pacote RST, retornando caso a porta esteja aberta e 0
(zero) caso a porta esteja fechada. Esta varredura é ilustrada na figura 7.
32
FIGURA 7 – VARREDURA DE JANELA TCP
FONTE: O autor
Infelizmente é cada vez mais raro encontrar sistemas com essa característica
na Internet, então não se deve confiar cegamente nos resultados. Em sistemas não
vulneráveis os resultadas dessa varredura indicarão todas as portas como fechadas
(o que não é necessariamente verdade), e nesses casos é importante confirmar com
outras varreduras, como a própria ACK. Às vezes, também, o resultado é
exatamente o contrário, portanto se a varredura de Janela TCP acusar todas as
portas abertas exceto uma ou outra (como a 80 e a 443) marcada como fechada ou
filtrada, o resultado por estar invertido.
A varredura TCP Maimon foi nomeado em homenagem a seu inventor, Uriel
Naimon, que descreveu a técnica pela primeira vez na revista eletrônica Phrack
número 49 (1996). A varredura Maimon é uma espécie de mistura entre a NUL, FIN,
XMAS e a varredura ACK. Uriel descobriu que, embora o RFC indique que um
33
pacote RST deve ser sempre enviado para um ACK sem conexão pré estabelecida,
alguns sistema simplesmente descartam o pacote ACK com a flag FIN ativa
(FIN/ACK) quando a porta está aberta. Assim, se o sistema for vulnerável a esse
ataque, não receber resposta indica porta aberta ou filtrada, e receber RST indica
que a porta está fechada. Essa varredura é ilustrada na figura 8.
FIGURA 8 – VARREDURA TCP Maimon
FONTE: O autor
O Idlescan foi demonstrado pela primeira vez por Antirez criador do hping, e é
uma varredura completamente sub-reptícia já que nenhum pacote é enviando ao
algo vindo do endereço real do atacante. Em vez disso, usamos algumas
características do protocolo TCP (já vistas anteriormente) para fazer com que uma
máquina qualquer na Internet faça a varredura por nós. Para que o Idlescan funcione
é necessário que essa máquina tenha duas características importantes: Esteja
34
ociosa, sem receber pacotes de rede que não os seus durante o tempo da varredura
e possua valor previsível no campo ID dos pacotes retornados.
O comando acima do hping3 permite a rápida identificação de máquinas
suscetíveis na Internet. Esse tipo de varredura é ilustrado na figura 9.
35
FIGURA 9 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 1
FONTE: O autor
Para fazer o ataque, precisa ser enviado pacotes SYN/ ACK para o zumbi, o
que trará de volta pacotes RST com um valor de ID incremental. Em paralelo, é feito
o alvo real achar (por IP Spoofing) que recebeu um pedido da abertura de conexão
desta maquina zumbi. Se a porta estiver aberta, o alvo retornará um SYN/ ACK para
o zumbi, que por sua vez enviará um RST ao alvo. Ao fazer isso, no entanto, ele
também incrementará seu campo ID e na varredura em paralelo ao zumbi será visto
o campo ID retornado logo após o fato, sendo +2 e não +1, indicando que o zumbi
precisou responder outra máquina (alvo) e que, conseqüentemente, a porta está
aberta. A ilustração dessa varredura pode ser vista na figura 10.
36
FIGURA 10 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 2
FONTE: O autor
Se, por outro lado, a porta estiver fechada, ao ser feito o alvo achar que
recebeu um pedido de SYN do zumbi, ele retornará um RST ao mesmo. Pela
especificação do protocolo, pacotes RST recebidos sem conexão relacionada devem
ser simplesmente descartados, não havendo portanto, resposta do zumbi ao alvo.
Conseqüentemente na varredura paralela a máquina zumbi não será
apresentando o pico anterior (+2), permanecendo na constate incremental do campo
ID e indicando, portanto, que a porta do alvo está fechada.
37
FIGURA 11 – VARREDURA TCP OCIOSA (IDLESCAN) – PASSO 3
FONTE: O autor
É possível também fazer varreduras utilizando o protocolo FTP.especificado
na RFC 959, este protocolo possui uma característica muito interessante que
permite que um usuário conectado a determinado servidor FTP possa enviar
arquivos não a si próprio, mas a outros servidores. Isso permite a varredura passiva
de portas, já que se pode usar o servidor FTP para enviar um arquivo qualquer para
o alvo em uma porta qualquer e observar a mensagem de erro, que indicará se a
porta está aberta ou fechada.
Embora muito servidores de FTP tenham simplesmente abandonado o
suporte a essa característica do protocolo devido aos diversos problemas de
segurança relacionados, ainda é possível encontrar sistemas vulneráveis.
Esta varredura é particularmente interessante para contornar regras de
firewall quando a rede do alvo possui um servidor FTP vulnerável.
38
FIGURA 12 – VARREDURA FTP Bounce
FONTE: O autor
Também é possível fazer varreduras UDP, enviando pacotes UDP vazios
para o alvo. Caso o sistema retorne mensagem ICMP “port unreachable”, a porta
está filtrada. Se, no entanto, não houver resposta em tempo hábil, a porta está
aberta ou filtrada. Há uma série de limitações em varreduras UDP relacionadas à
retransmissão de pacotes ou limites na quantidade de mensagens ICMP “port
unreachable” a serem enviadas.
As portas UDP mais interessantes para esse tipo de ação são: 53 – DNS, 67
e 68 – DHCP, 69 – TPFP, 88 Kerberos, 111 sunrpc, 123 NTP, 137, 138 e 139 –
Netbios, 161 e 162 – SNMP e 445 – Microsoft CIFS.
39
FIGURA 13 – VARREDURA UDP
FONTE: O autor
Para varreduras UDP e auditoria de sistemas VOIP baseados em SIP é
possível usar ferramentas como a Suíte Sipvicious, que permite o mapeamento de
portas utilizadas para esse fim.
4.3 VUNERABILIDADES
Após executar as varreduras e ter feio o levantamento da infraestrutura da
empresa deve ser avançando para o passo de identificar vulnerabilidades,
procurando o atacante por serviços vulneráveis e senhas padrões.
As vulnerabilidades encontradas devem ser enumeradas para posterior
ataque na fase de invasão.
40
5 INVASÃO
Após ter sido feito o levantamento de informações e varreduras o atacante
passar a etapa de invasão, utilizando das técnicas descritas a seguir.
5.1 SNIFFING
Para realizar a invasão o atacante pode sniffar o tráfego da rede fazendo um
Port mirroring do Switch ou usando de Arp spoofing. Nesta fase a ferramenta ideal para
captura é o TCPDump, sendo feito posteriormente a análise dos dados nas ferramentas
Wireshark que permite remontar sessões, estruturá-las em árvore e permite a criação
de filtros. Esta última ferramenta é um excelente e robusto snifffer gráfico, altamente
personalizável. No entanto, por ser uma ferramenta pesada e complexa, também não
está imune a vulnerabilidades. De fato, alguns exploits contra o Wireshark já foram
lançados no passado, e por isso costuma ser recomendado que o tráfego seja
monitorado pelo TcpDump.
Outro Sniffer muito poderoso é o Ettercap, e há outros voltados
especificamente para o roubo de senhas que trafegam em texto puro pela rede, como o
dniff da suíte dniff. O dniff captura automaticamente senha via FTP, Telnet, SMTP, Http,
POP, IMAP, SNMP, LDAP, RIP, OSPF, PPTP, NFS, X11, CVS, IRC, AIM, SMB, entre
outros.
Ainda na suíte Dsniff, existe o Filesnarf, capaz de capturar arquivos inteiros
trafegando via NFS.
41
5.2 SEQUESTRO DE DNS
Os ataques de seqüestro de DNS podem ser divididos em três modalidades:
Ataques a servidores DNS, ataques a roteadores e ataques a hosts. Ambos possuem
suas características como a falsificação de sites, ataques de negação de serviço e
ataques “Man in the midle”. Ambos os ataques serão descritos nos tópicos a seguir.
42
4.3 ATAQUES A SERVIDORES DNS
Servidores dns usados internamente não devem responder a solicitações de
fora da rede do cliente, ainda mais se estiverem configurados com nomes específicos
da rede interna. É possível segmentar completamente as respostas de acordo com a
rede solicitante, mas muitos administradores ignoram a questão, deixando seus
servidores como “open-resolvers”.
O acaso com a configuração descrita acima pode causar em ataques como
DNS Cache Poisoning, em que o atacante adiciona informações nas requisições para o
dns comprometido. Também existem casos em que é feito o Reverse Domain Hijacking
em que a prática consiste em atacar registros DNS acusando seus donos de violar
marcas ou leis.
43
4.3 ATAQUES A ROTEADORES
Roteadores são essenciais para toda a rede, dos mais simples aos mais
robustos, e grande maioria pode ser configurada remotamente. Mesmo com toda a
importância e poder associados, muitos roteadores rodam com firmware desatualizado
e vulnerável, ou mesmo com a senha padrão. Conseguir acesso ao roteador da
empresa, mais do que possibilitar uma mudança de DNS, libera o atacante para
diversos ataques fulminantes a rede interna aos mais explícitos, como derrubar a rota
de saída da rede para a internet. Para se saber o que é possível fazer com o roteador
atacado deve-se consultar seu manual.
Há ainda diversos ataques específicos a roteadores, não necessariamente
associados à DNS. Entre eles: cge-13 (Cisco Global Exploiter).
5.3 ATAQUES A AQUIVOS HOSTS
O objetivo é sobrepor as consultas a servidores DNS, dando um nome
qualquer a um IP qualquer. Sempre que fazemos uma solicitação de um endereço de
rede, antes de perguntar ao servidor DNS qual o IP associado àquele nome, o sistema
procura no arquivo de hosts local por uma equivalência.
5.4 SEQUESTRO DE DNS
O seqüestro de DNS é um ataque que faz uma espécie de corrida contra o
servidor verdadeiro, onde se torce para a resposta maliciosa do atacante chegar antes
da resposta legítima. Esse método traduz uma vulnerabilidade inerente do protocolo
44
DNS, sem correção evidente. O que se faz na indústria para mitigar o problema é
adicionar dificuldade em criar respostas válidas, usando valores aleatórios tanto para o
campo ID (de 16 bits, responsável por identificar a transação solicitada) do header DNS
quanto para a porta de origem da solicitação. Assim a menos que o administrador de
rede esteja monitorando ativamente as requisições alvo do atacante, fica difícil prever
tais valores a fim de mandar respostas constantes ao alvo de envenenamento,
esperando que ele vença a corrida UDP.
Na tabela 2 é mostrado exemplo usando a ferramenta dnsspoof e ettercap:
TABELA 2 – EXEMPLO USANDO A FERRAMENTA DNSSPOOF E ETTERCAP
EXEMPLOS
# echo “127.0.0.1 *.alvo.com.br” > hosts.txt
# dnsspoof –i eth0 –f hosts.txt
# ettercap –Tq –M arp // // -P dns_spoof (arquivos “/usr/share/ettercap/etter.dns”)
FONTE: O autor
5.5 METASPLOIT FRAMEWORK
O Metasploit Framework é uma plataforma para desenvolvimento de Exploits,
é uma ferramenta flexível e portátil de se usar e extremamente poderosa.
Sua utilização pode ser feita através de Console, GUI ou Web. Para o console
na tabela 3 está exemplo da sintaxe das expressões.
45
TABELA 3 – SINTAXE EXPRESSÕES METASPLOIT FRAMEWORK EXPRESSÕES
msf> search TIPO EXPRESSAO
msf> info MODULO
msf> use MODULO
msf exploit ()> show options
RHOST, RPORT, LHOST, LPORT, TARGET, ...
msf exploit ()> set VAR VALOR
msf exploit ()> exploit
FONTE: O autor
Na figura 14 é exibido a interface GUI do Metasploit.
46
FIGURA 14 – METASPLOIT FRAMEWORK: GUI
FONTE: O autor
Também na figura 15 podemos visualizar sua interface Web
47
FIGURA 15 – METASPLOIT FRAMEWORK: INTERFACE WEB
FONTE: O autor
Os exploits devem ser sempre testados primeiramente em ambiente controlado
antes de expor os ativos da empresa ao mesmo.
5.6 QUEBRA ONLINE DE SENHAS
Atacantes sempre vão escolher o caminho mais fácil para uma invasão e
esse é normalmente uma senha fraca – ainda um dos principais problemas de
segurança de redes. Uma das ferramentas para força bruta de senhas é o THC-
Hydra, que realiza ataques de força bruta em logins remotos e suporta telnet, FTP,
48
HTTP, HTTPS, smb, Ms-sql, Mysql, ssh, cvs, snmo, smtp, pop3, imap, vnc, ldap,
entre muitos outros. No THC-Hydra é possível inserir um dicionário, ou seja, arquivo
com palavras comuns que em muitos casos são utilizadas como senha. Por conta disso
como boa prática para senha recomenda-se não usar nenhuma palavra existente.
Também é possível fazer um ataque de senha combinatória, em que será feito a
combinação das senhas a serem testadas. Neste caso o ataque pode demorar muito e
até mesmo não poder ser concretizado, dependendo da complexidade da senha e
Também para a quebra online de senha pode se utilizar de varredura - sniffing
conforme discutido nos tópicos anteriores, em que é possível visualizar senhas em texto
puro trafegando pela internet ou rede.
Ataques Man In The Midle ou utilizando-se de engenharia social.
49
6 MANTENDO O ACESSO
Neste tópico veremos apenas um exemplo de como atacantes podem manter
o acesso após uma infraestrutura invadida, na ilustração é demonstrado que um
atacante pode configurar o servidor para ficar ouvindo na porta 53 usando a ferramenta
Netcat, conhecido como um canivete suíço das redes devido a sua grande flexibilidade.
Ela serve essencialmente para escrever e ler dados via TCP e UDP, e hoje
praticamente toda distribuição Linux vem com ele através do protocolo UDP.
FIGURA 16 – MANTENDO O ACESSO
FONTE: O autor
50
Após configurado no servidor o atacante poderá utilizar do servidor com o
acesso aberto, usando do Netcat em uma máquina cliente e acessando o servidor na
porta definida, neste caso a 53.
51
7 CONCLUSÃO
Com esta pesquisa pode-se perceber que existem diversos recursos
explorados em invasões a redes corporativas. Alguns deles são itens que muitas das
vezes são negligenciados por administradores de redes e usuários corporativos:
Softwares desatualizados e senhas fracas respectivamente.
Além de todo o cuidado e recomendações de boas práticas para a
configuração do ambiente, administradores de rede devem utilizar de programas de
gerenciamento de Patchs de atualizações, com execução automática de rotinas
periódicas para verificar e aplicar as devidas atualizações em computadores e
servidores da empresa, para evitar ataques explorando de vulnerabilidades nos
softwares. A fim de conter a fragilidade de senhas nas redes, os administradores
também devem implementar políticas de configuração mínima de senha, forçando os
usuários a adotarem senhas mais complexas. No entanto essa política deve vir
acompanhada de uma conscientização interna dos colaboradores, para que essas
senhas não sejam anotadas e mais tarde vista por atacantes ou obtidas através do
trashing.
Com essa pesquisa administradores de rede puderam ter uma noção
específica dos meios que atacantes utilizam para acesso a redes corporativas, podendo
utilizar este estudo como documento auxiliar ao tomar orientações de como melhor
proteger-se, a fim de manterem sua rede corporativa com possibilidades de invasão
externas reduzidas.
Ainda, como trabalho futuro recomenda-se um estudo sobre ferramentas
comerciais para testes de invasão, que esta pesquisa não contemplou.
52
REFERÊNCIAS
CASTRO, Carla Rodrigues Araújo de. Crimes de informática e seus aspectos processuais. Rio de Janeiro: Lumen Juris, 2003.
GONÇALVES, J.C. O Gerenciamento da informação e sua segurança contra ataques de vírus de computador. 2002.Trabalho de Tese de Mestrado.Universidade de Taubaté UNITAU. JAKOBSSON, Markus e RAMZAN, Zulfikar , Crimeware: Understanding New Attacks and Defenses, Califórnia: Symantec Press, 2008. JARGAS, Aurélio Marinho. Shell Script Profissional. São Paulo: Novatec, 2008. KUROSE, James F. Ross, Keith W; Redes de Computadores e a Internet. 1° edição. São Paulo: Campus, 2003. LYON, Gordon Fyodor Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning. Estados Unidos: Nmap Project, 2009. MANDIA, Kevin e PROSISE, Chris e PEPE, Matt. Incident Response & Computer Forensics, Estados Unidos: McGraw-Hill/Osborne, 2003. MITNICK, Kevin. A Arte de Enganar, São Paulo:Pearson Makron, 2003. MORAES, F. A; CIRONE.C.A Redes de Computadores, da Ethernet á Internet. São Paulo: Érica, 2003. PERLMAN, Radia e SPECINER, Mike Network Security: Private Communication in a Public World 2ª. Edição, Califórnia: Prentice Hall, 2002. RUFINO, Nelson M. de Oliveira.Segurança de Redes sem Fio. 2ª. Edição.São Paulo. Novatec, 2005. SOARES, Luiz Fernando Gomes. Redes de Computadores - das LANS, MANS e WANS às redes ATM. 2°. Edição. Rio de Janeiro: Campus, 1995. STALLINGS, William. Criptografia e segurança de redes: Princípios e práticas, 2ª.edição, São Paulo: Prentice Hall, 2008. STALLINGS, William. Network Security Essentials: Applications and Standards. 4ª. Edição, Estados Unidos: Prentice Hall, 2010. TANENBAUM, A. Operating Systems – Design and Implemetation, 2°.Edição, Estados Unidos: Prentice-Hall, 1999.
53
WILSON, Marcia J. Demonstrating ROI for Penetration Testing (Part One). Symantec Connect. Disponível em <http://www.symantec.com/connect/articles/demonstrating-roi-penetration-testing-part-one>. Acesso em: 09 de Julho de 2011. ZWICKY, E.; COOPER, S.; CHAPMAN, D.B. Building Internet Firewalls. Estados Unidos: O’ Reilly, 2000.
54
GLOSSÁRIO
Backdoor: Método oculto para contornar contrles de segurança e obter acesso a um
sistema ou recurso.
Botnet: Coleção de computadores comprometidos (zumbis) rodando programas
maliciosos instalados normalemnte via worms e controlados remotamente.
Cavalo de Tróia: Programa que parece realizar algum tipo de função desejável, mas
ocultamente realiza atividades maliciosas.
Criptografia: Condição/ Decodicação de informação, sejam senhas, arquivos,
pacotes de rede, sistema de arquivos inteiros ou quaisquer dados. A criptografia
simétrica utiliza a mesma chave para decodicação e decoficação, enquanto
assimétrica (ou criptografia de chave pública) utiliza pares de chaves, uma de
conhecimento de todos para codificação e outra apenas para o dono (decoficação).
DMZ: Zona desmilitatizada, ou rede de perímetro, é a subrede física ou lógica que
contém e expõe determinados servidoços para acesso a partir de redes não
confiáveis, normalmente a Internet, de forma isolada da rede interna da organização.
DoS/ DDoS/ DRDoS: Negação de Serviços são ataques que visam tornar
determinado recurso indisponível aos seus usuários legítimos.
55
Firewall: Dispositivo ou conjunto de dispositivos que controlam o tráfego de dados
entre diferentes domínios.
Hash: Resultado de um procedimento ou função matemática que traduz um dado
qualquer em um número relativamente pequeno de forma determinística e uniforme,
entre outras propiedades.
IDS/ IPS: Sistemas de Detecçào e Prevenção de Intrusões, são software ou
hardware que, através de sensores, detectam (e respondem, no caso de IPSs)
tentativas não autorizadas de acessar, manipular ou desativar ativos de informação.
MiTM: Ataques man-in-the-middle são métodos de escuta e manipulação de
informações em que o atacante faz conexões independentes e simultâneas entre as
partes legítimas, encaminhando mensagens de forma transparente.
Scanner: Ferramenta que varre rede ou sistema em busca de portas, serviços e
sistemas ativos.
Sniffer: Programa ou dispositivo capaz de interceptar e registrar tráfego passando
por uma rede ou parte dela.
Spoofing: Ataque em que pessoa ou programa consegue se fazer passar por outro,
ganhando vantagem de forma legítima.
56