centro estadual de educaÇÃo tecnolÓgica paula …

68
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES ENEDINO PINTO DA SILVA FERNANDO HENRIQUE ALVES TESTE DE PENETRAÇÃO UTILIZANDO LINUX BACKTRACK LINS/SP 1° SEMESTRE/2014

Upload: others

Post on 16-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES

ENEDINO PINTO DA SILVA

FERNANDO HENRIQUE ALVES

TESTE DE PENETRAÇÃO UTILIZANDO LINUX BACKTRACK

LINS/SP 1° SEMESTRE/2014

Page 2: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES

ENEDINO PINTO DA SILVA

FERNANDO HENRIQUE ALVES

TESTE DE PENETRAÇÃO UTILIZANDO LINUX BACKTRACK

Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo em Redes de Computadores.

Orientador: Prof. Me. Julio Fernando Lieira

LINS/SP 1° SEMESTRE/2014

Page 3: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

Gostaria de dedicar este trabalho aos meus

pais. Pois mesmo com todas as dificuldades, me deram total apoio e incentivo pra que eu tivesse uma educação de qualidade.

Enedino Pinto da Silva

Page 4: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

AGRADECIMENTOS

Gostaria de agradecer a Deus pela saúde e força concedida nos momentos

difíceis que se passaram.

Agradeço também ao Professor Me. Julio Fernando Lieira, pela dedicação,

tanto em aulas quanto em sua orientação, dividindo seus conhecimentos e ajudando

na elaboração do trabalho.

Agradeço aos amigos e professores que diretamente ou indiretamente

contribuíram quando necessário.

Agradeço meu amigo Fernando, que demonstrou muita destreza na

elaboração do trabalho, agradeço também por dividir comigo sua experiência já

vivenciada nessa etapa, me dando todo suporte quando requisitado.

Enedino Pinto da Silva

Page 5: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

Inicialmente, gostaria de dedicar este trabalho

aos meus pais, pois sem o apoio deles, essa trajetória teria sido muito mais custosa. Também dedico este trabalho a minha irmã, a minha vó e aos meus amigos, por terem me apoiado e torcido por mim, e à minha prima in memorian

Fernando Henrique Alves

Page 6: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

AGRADECIMENTOS

Primeiramente gostaria de agrader a Deus, por ter me dado saúde e força

para superar as dificultades.

Agradeço também ao Professor Me. Julio Fernando Lieira, por ter prestado

orientação durante todo o desenvolvimento do trabalho, e por ter compartilhado

parte de sua experiência nas aulas e nas orientações.

Agradeço aos meus familiares, amigos e professores que me apoiaram e me

orientaram quando precisei.

Agradeço também, em especial, ao meu amigo Enedino, que se mostrou

muito competente nas etapas mais críticas do trabalho, e também se identificou

muito com a área de segurança da informação no decorrer do trabalho.

Fernando Henrique Alves

Page 7: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

RESUMO

Este trabalho tem como tema principal a realização de testes de penetração em um ambiente real. Estudos foram realizados para a fundamentação e definição do funcionamento do teste de penetração e, após isso, o teste foi aplicado nos servidores. Neste caso, os servidores da Faculdade de tecnologia de Lins foram testados. Atualmente, até mesmo as instituições que não chamam atenção dos Hackers devem realizar procedimentos de segurança com o objetivo de tornar a rede mais segura e, como consequência, manter a integridade das informações. Manter a segurança da rede de uma empresa é uma tarefa para o administrador de redes, profissional que normalmente é o principal responsável pelo funcionamento da rede. Para manter uma rede segura, é necessário que o administrador tenha conhecimento sobre segurança de rede, e realize procedimentos para identificar falhas, ataques, serviços que já não são mais necessários para o servidor e que podem servir de porta de entrada para atacantes, e outras informações e irregularidades. O teste de penetração é um desses procedimentos que podem ser realizados. Para a realização do teste, um estudo foi realizado e documentado no trabalho, para fins de entendimento de como o teste realmente funciona. Feito isso, os testes foram realizados nos servidores DNS e WEB da Fatec, e em dois servidores vulneráveis, com o objetivo de se dar andamento ao teste de penetração, já que não foi possível se chegar à etapa de ganho de acesso ao sistema nos reais servidores da faculdade. Palavras-Chave: Teste de Penetração e Segurança de Redes.

Page 8: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

ABSTRACT

This study has as main motif the accomplishment of penetration tests in a real environment. A research was done for obtain content and definition of how the penetration test works and after it the test was applied in the servers. In this case, the servers of the Fatec were tested. Nowadays, even the companies that does not attract attention of the Hackers must accomplish security procedures to make the network safer and as consequence, keep the integrity of the information. Keep the network saved in a company is a task for the network administrator, professional that usually is the main responsible professional for the operation of the network. Keep the network saved is necessary that the network administrator has knowledge about network security and execute procedures to identify faults, attacks, services that are not necessary for the server and can be used as front door for attackers, and other information and irregularity. The penetration test is one of these procedures that can be done. To the accomplishment of the test, a study was done and documented for purposes of how the test really works. After it, the tests was done in the DNS and WEB servers of the Fatec and in two vulnerable servers, with the goal of proceed the penetration test, because it was not possible to reach the stage of gain access in the system in the real servers of the college. Key-words: Penetration Test and Network Security.

Page 9: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

LISTA DE ILUSTRAÇÕES

Figura 1.1 – Ferramenta dnsenum ............................................................................ 20

Figura 1.2 – Ferramenta dnsmap .............................................................................. 21

Figura 1.3 – Comando nmap –sP .............................................................................. 23

Figura 1.4 – Comando nmap –sT ............................................................................. 23

Figura 1.5 – Comando nmap -sV ............................................................................. 23

Figura 1.6 – Técnica de Despiste da Ferramenta nmap ........................................... 24

Figura 1.7 – Ferramenta Netcat ................................................................................ 24

Figura 1.8 – Comando nmap –T4 –sS –sV ............................................................... 25

Figura 1.9 – Comando nbtscan –v ............................................................................ 25

Figura 1.10 – Comando nmap –T4 –sU –sV ............................................................. 26

Figura 1.11 – Comando snmpcheck informações básicas ........................................ 26

Figura 1.12 – Comando snmpcheck informações sobre armazenamento ................ 27

Figura 1.13 – Comando snmpcheck informações sobre processos .......................... 27

Figura 1.14 – Comando snmpcheck informações sobre interface de rede .............. 28

Figura 1.15 – Comando telnet .................................................................................. 28

Figura 1.16 – Comando amap –b ............................................................................. 29

Figura 2.1 – Inicialização da ferramenta nslookup .................................................... 31

Figura 2.2 – Comando set type=any ......................................................................... 32

Figura 2.3 – Comando set type=mx .......................................................................... 33

Figura 2.4 – Comando set type=soa em fateclins.edu.br .......................................... 33

Figura 2.5 – Comando dig em www.fateclins.edu.br ................................................. 34

Figura 2.6 – Comando dig em google.com ............................................................... 35

Figura 2.7 – Comando dig em tucunare.fateclins.edu.br ........................................... 36

Figura 2.8 – Informações e vulnerabilidades e suas classificações .......................... 37

Figura 2.9 – Informações da vulnerabilidade média detectada ................................. 38

Figura 2.10 – Comando e dados recuperados através do exploit ntp-monlist.nse .... 39

Figura 2.11 – Informações da vulnerabilidade crítica detectada ............................... 40

Figura 2.12 – Detecção de varredura Nessus ........................................................... 39

Figura 3.1 - Tela Inicial do software de varredura Vega ............................................ 42

Figura 3.2 - Tela com url do alvo inserido ................................................................ 43

Figura 3.3 - Tela das vulnerabilidades detectadas no Servidor Web ....................... 43

Page 10: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

Figura 3.4 -Esquema de árvores até que chegue no caminho desejado ................. 44

Figura 3.5 -Caminho completo para o ataque, url + parâmetro ................................ 44

Figura 3.6 -Comando executado para retornar todos os bancos disponíveis .......... 45

Figura 3.7 - Bancos de dados do servidor web ........................................................ 45

Figura 3.8 - Comando para recuperar as tabelas contidas no banco de dados ........ 46

Figura 3.9 - Tabelas contidas no banco f70675_newBDfatec .................................. 46

Figura 3.10 - Comando para recuperar colunas contidas na tabela .......................... 46

Figura 3.11 - Colunas contidas na tabela tbalunos ................................................... 47

Figura 3.12 - Recuperando os valores das colunas nomeAluno e raAluno ............... 47

Figura 3.13- Valores das colunas nomeAluno e raAluno ........................................ 48

Figura 4.1 – Varredura utilizando Nessus ................................................................ 49

Figura 4.2 – Vulnerabilidades SSH .......................................................................... 50

Figura 4.3 – Descrição Vulnerabilidade SSH ........................................................... 51

Figura 4.4 – Comando Nmap 192.168.50.10 .......................................................... 52

Figura 4.5 – Tela inicial do Hydra com alvo, porta e protocolo definidos ................ 53

Figura 4.6 – Aba passwords do Hydra com usuário e wordlist definidos ................ 54

Figura 4.7 – Aba Start com os resultados obtidos e senha capturada ..................... 55

Figura 4.8 – Demonstração do acesso realizado com sucesso .............................. 55

Figura 4.9 – Comando nc 192.168.50.10 22 com a versão do serviço ................... 56

Figura 4.10 – Resultados obtidos com sucesso através da ferramenta medusa ..... 57

Figura 4.11 – Conexão do usuário teste .................................................................. 57

Figura 4.12 – Conexão do usuário admin ................................................................ 57

Figura 4.13 – Vulnerabilidades do servidor rodando o Windows Server 2003 ......... 58

Figura 4.14 – Informações sobre a vulnerabilidade ................................................. 59

Figura 4.15 – Tela inicial do Metasploit .................................................................... 60

Figura 4.16 – Resultado da busca de exploits com o comando search .................... 60

Figura 4.17 – Ajuste de parâmetros para o exploit ................................................... 61

Figura 4.18 – Sucesso no ataque, sistema já invadido ............................................. 62

Figura 4.19 – Ajuste de parâmetros para o exploit ................................................... 62

Figura 4.20 – Serviço SSH mais atual no servidor DNS da Fatec Lins .................... 63

Figura 4.21 – Resultado com usuário Root no servidor DNS da Fatec Lins ............ 63

Figura 4.22 – Resultado com usuário Admin no servidor DNS da Fatec Lins .......... 64

Figura 4.23 – Resultado com usuário Teste no servidor DNS da Fatec Lins ........... 64

Page 11: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

LISTAS DE ABREVIATURAS E SIGLAS

BIND - Berkeley Internet Name Domain

DNS - Domain Name System

HTTP - Hypertext Transfer Protocol

ICMP - Internet Control Message Protocol

IDS - Intrusion Detection System

IIS - Internet Information Services

IP - Internet Protocol

MAC - Media Access Control

NTP - Network Time Protocol

OWASP - Open Web Application Security Project

PENTEST - Teste de Penetração

TCP/IP - Transmission Control Protocol / Internet Protocol

TTL - Time To Live

UDP - User Datagram Protocol

Page 12: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

SUMÁRIO

INTRODUÇÃO .................................................................................................. 13

1 TESTES DE PENETRAÇÃO .......................................................................... 16

1.1 METODOLOGIA PARA TESTE DE PENETRAÇÃO ..................................... 16

1.1.1 Coleta de informações ............................................................................. 16

1.1.2 Varreduras de sistema ............................................................................. 17

1.1.3 Ganho de acesso ao sistema ................................................................... 17

1.1.4 Manutenção do acesso ao sistema .......................................................... 17

1.1.5 Retirar evidências .................................................................................... 18

1.2 TIPOS DE TESTE DE PENETRAÇÃO PARA VARREDURAS ..................... 18

1.3 FERRAMENTAS PARA VARREDURAS ...................................................... 19

1.3.1 Informações sobre o dns .......................................................................... 19

1.3.2 Técnicas de ataque por rastreamento de portas ....................................... 22

2 TESTE DE PENETRAÇÃO EM SERVIDOR DNS ........................................... 30

2.1 SERVIDOR DNS ......................................................................................... 30

2.1.1 Extração de informações do servidor DNS ............................................... 31

2.1.2 Verificação de vulnerabilidades ................................................................ 35

3 TESTE DE PENETRAÇÃO EM SERVIDOR WEB ........................................... 41

3.1 SERVIDOR E APLICAÇÃO WEB ................................................................ 41

3.1.1 Ataque sql injection .................................................................................. 42

4 TESTE DE PENETRAÇÃO EM SERVIDOR VULNERÁVEL ............................ 49

4.1 TESTES DE PENETRAÇÃO NO LINUX REDHAT ....................................... 49

4.2 TESTES DE PENETRAÇÃO NO WINDOWS SERVER 2003 ....................... 58

4.3 IMPORTÂNCIA DA ATUALIZAÇÃO DOS SERVIÇOS ................................. 62

CONCLUSÃO ............................................................................................................ 66

REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................... 67

Page 13: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

13

INTRODUÇÃO

Segundo Tanenbaum (2003), em cada um dos séculos anteriores, existiu uma

tecnologia dominante. O século XVIII teve como principal tecnologia os sistemas

mecânicos, o século XIX teve as máquinas a vapor e o século XX teve o

processamento e distribuição das informações. Além disso, pode-se notar o

desenvolvimento de outras tecnologias como as redes de telefonia em todo o

mundo, a indústria de informática e a utilização de satélites de comunicação. Em

meio às tecnologias desenvolvidas, a informática teve um progresso muito grande e,

para provar isso, podemos citar as mudanças na estrutura dos sistemas

computacionais que atendem as necessidades das empresas. Durante as duas

primeiras décadas, esses sistemas eram altamente centralizados, mas foram

substituídos pelas denominadas redes de computadores, nas quais as tarefas são

feitas por um grande número de computadores individuais interconectados.

De acordo com Maia (2009), uma rede de computadores é o conjunto de

dispositivos interligados com a finalidade de trocar dados e compartilhar recursos.

As primeiras redes de computadores eram formadas por computadores de grande

porte e computadores pessoais, mas, atualmente, dispositivos como impressoras,

telefones celulares, televisões ou qualquer outro dispositivo que possa processar

dados, também pode fazer parte da rede.

Para Torres (2009), hoje em dia, quando o assunto é informática, é muito

difícil não pensar em redes de computadores. É possível justificar esta afirmação,

pelo simples fato de que muitas pessoas compram computadores para acessar a

internet. Atualmente, mesmo não estando presente em um ambiente explícito de

informática, quase sempre estamos em contato com algum tipo de rede, pois

computadores interconectados fazem parte dos ambientes dos bancos,

supermercados, farmácias e vários outros lugares.

Nessa era globalizada, na qual tudo é movido pelas tendências tecnológicas,

é possível que uma pessoa possa utilizar serviços de sistemas financeiros online,

enviar emails e comprar produtos por meio de sites de comércio eletrônico. Ao lado

dessas facilidades proporcionadas pelo mundo digital, as empresas buscam por

soluções como o uso de antivirus, sistemas de criptografia junto à complexas regras

de firewall e Intrusion Detection System (IDS), para se protegerem de invasores

Page 14: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

14

denominados blackhats, que pela mídia são conhecidos como hackers. Os blackhats

possuem muito conhecimento sobre sistemas e redes de computadores e, devido a

isso, conseguem acesso a informações restritas e podem provocar danos

incalculáveis. (GIAVAROTO; SANTOS, 2013)

Com o objetivo de auxiliar as redes conectadas à internet brasileira no quesito

segurança, o site Cert.br reúne informações sobre incidentes de segurança

ocorridos na Internet brasilieira e divulga estatísticas sobre estes. Este órgão conduz

atividades como o estabelecimento de diretrizes estratégicas relacionadas ao uso e

desenvolvimento da internet no Brasil, promove estudos e recomenda

procedimentos para a segurança das redes e serviços de Internet. De modo geral, o

Cert.br objetiva aumentar os níveis de segurança das redes brasileiras.

Para Giavaroto e Santos (2013), é muito importante que os administradores

de redes tenham em mente que os blackhats estão em evolução, pois além dos

muitos métodos de invasão já utilizados, novas táticas estão surgindo. Dessa forma,

é essencial que os profissionais de redes estejam preparados para lidar com

situações que envolvam segurança da informação, para que possam manter o

ambiente seguro.

Como consequência de uma análise dos fatos abordados, o objetivo deste

trabalho foi utilizar a distribuição Linux Backtrack, importante Sistema Operacional

para testes de penetração em servidores, para aplicar uma metodologia de teste de

penetração real nos servidores de uma Instituição. Porém, os testes não foram

aplicados nos servidores em produção, pois os mesmos poderiam prejudicar o

funcionamento dos servidores. Desse modo, cópias dos servidores foram instaladas

e configuradas em máquinas virtuais, para que este trabalho pudesse simular um

real teste de penetração sem prejudicar o funcionamento dos verdadeiros

servidores. Os testes foram realizados nos servidores da Fatec Lins e, como produto

final deste trabalho, foram elaborados nos capítulos dois, três e quatro, manuais

para teste de penetração no servidor DNS e WEB da Fatec, e em um servidor

vulnerável, respectivamente.

Para facilitar o entendimento do trabalho, o mesmo foi dividido em quatro

capítulos. No Primeiro são abordados os tópicos sobre a metodologia e tipos de

teste de penetração, e são feitas demonstrações de diversos comandos presentes

no Linux Backtrack.

Page 15: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

15

No segundo capítulo, é descrita a forma na qual o teste de penetração foi

realizado no servidor DNS da Fatec. Para a realização do teste no servidor DNS,

uma cópia do servidor foi feita para uma máquina virtual, pois os testes não

poderiam ter sido realizados no servidor em produção.

No terceiro capítulo, o teste de penetração realizado no servidor WEB da

Fatec Lins é abordado. Um cópia do servidor WEB também foi feita para uma

maquina virtual, pois a realização de testes diretamente no servidor em produção,

pode afetar o funcionamento do mesmo.

No quarto capítulo, devido ao escasso número de vulnerabilidades presentes

no servidor DNS e WEB da Fatec e o insucesso no teste de penetração, foi realizado

o teste de penetração em dois servidores vulneráveis. Os servidores vulneráveis

possuem os sistemas operacionais Linux Red Hat e Windows Server 2003, e nesses

sistemas operacionais haviam diversos serviços vulneráveis.

A realização de testes de penetração é uma boa prática para os

administradores de redes, pois desse modo, o mesmo poderá tornar a rede de sua

empresa cada vez mais segura.

Page 16: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

16

1 TESTES DE PENETRAÇÃO

Neste capítulo são descritas a metodologia e tipos de Testes de Penetração

(Pentest), e será feita uma demonstração do funcionamento das ferramentas do

Linux BackTrack utilizadas para coleta de informações nos Testes de Penetração.

1.1 METODOLOGIA PARA TESTE DE PENETRAÇÃO

O Pentest é um método utilizado para testes de penetração e descoberta de

falhas em uma rede de computadores ou sistemas operacionais. Neste método, são

consideradas todas as possibilidades de vulnerabilidades, e são utilizadas

ferramentas que permitem que se conheça toda a estrutura de um sistema, uma vez

que o Pentest faz uso de métodos que simulam ataques de um intruso que objetiva

obter acesso ao sistema. Todos os dados obtidos por meio do Pentest resultarão em

relatórios, pois a efetiva busca por informações contribuirá com o resultado positivo

ao realizar o ataque sobre o alvo. Os procedimentos do Pentest, assim como os

ataques realizados por Hackers, são divididos em cinco etapas, são elas: coleta de

informações, varreduras de sistema, ganho de acesso ao sistema, manter acesso ao

sistema, retirar evidências. (GIAVAROTO; SANTOS, 2013)

1.1.1 COLETA DE INFORMAÇÕES

Esta etapa abrange 90% do trabalho, pois quanto mais informações obtidas

sobre o sistema no qual se pretende ter acesso, maiores as chances de sucesso na

invasão. Todas as informações sobre servidores, roteadores, firewalls (Software ou

equipamento que filtra os dados de uma rede com o objetivo de mantê-la segura),

costumes dos funcionários e sua capacitação, e-mails, telefones, entre outras,

devem ser consideradas. Também é possível conseguir informações importantes por

meio de sites de relacionamentos como o Facebook, Orkut, entre outros, pois

Diretores, Gerentes e Administradores de Redes, muitas vezes, por prazer pessoal,

publicam informações sem levar em conta que uma pessoa mal intencionada pode

fazer uso dessas informações para quebrar o sigilo de sua empresa. Atualmente,

poucas empresas realizam o treinamento de diretores, gerentes e administradores

Page 17: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

17

que atuam em setores nos quais as informações que eles têm acesso são muito

importantes. A informatização evoluiu muito rápido e envolveu muitas pessoas de

forma inesperada, desse modo, problemas com segurança da informação podem ser

causados não só por falhas de equipamentos, mas também por falhas de pessoas.

(GIAVAROTO; SANTOS, 2013)

1.1.2 VARREDURAS DE SISTEMA

Segundo Giavaroto e Santos (2013), após ter obtido todas as informações

necessárias na etapa de coleta de informações, nessa etapa, deve-se utilizar a

ferramenta adequada para a exploração da deficiência. Componentes de Hardware

como servidores e componentes de software como firewalls e serviços utilizados em

portas específicas são abordados nesta etapa. O IDS é o software que atua em uma

rede com o objetivo de detectar ataques, deve ser estudado com maior critério, para

que se possa aplicar o mecanismo correto de intrusão e, como consequência, ter

maiores chances de se burlar as dificuldades impostas pelo mesmo. O sistema de

firewall pode ser visto como uma boa opção de entrada, se possuir regras mal

configuradas, mas também pode ser visto como uma das grandes dificuldades, se

possuir regras bem aplicadas.

1.1.3 GANHO DE ACESSO AO SISTEMA

Nesta etapa, devido à descoberta de vulnerabilidade, a invasão é

concretizada e, assim, é possível que se explore o sistema com o objetivo de

encontrar outras formas de fortalecer o ataque. Uma vez que o acesso ao sistema

foi possível, o nível e foco de detalhamento que o invasor irá realizar podem variar

de acordo com a experiência e personalidade do mesmo. (GIAVAROTO; SANTOS,

2013)

1.1.4 MANUTENÇÃO DO ACESSO AO SISTEMA

Após a invasão ter sido consolidada, nesta etapa, o invasor realiza a

instalação de softwares como rootkits e backdoors para a abertura de portas e

organização de diretórios de uma forma que facilite suas próprias ações. É

Page 18: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

18

importante considerar que nem sempre uma invasão é realizada com o objetivo de

danificar o sistema operacional, pois muitas vezes a invasão é realizada com o

objetivo de obtenção de lucro e realização de crimes. Nessa situação, o invasor

estaria disposto até a corrigir falhas encontradas ao explorar o sistema, mas sempre

deixará uma alternativa de acesso para não correr o risco de perder acesso ao

sistema caso tenha problemas com a primeira invasão realizada. (GIAVAROTO;

SANTOS, 2013)

1.1.5 RETIRAR EVIDÊNCIAS

De acordo com Giavaroto e Santos (2013), grande parte dos invasores mais

experientes leva muito a sério a etapa de retirada de evidências, pois estão cientes

da gravidade das ações as quais eles realizam. Dessa forma, eles fazem

planejamentos para apagar seus rastros com o objetivo de evitar que sua

identificação ou localização sejam descobertas. O Pentest faz uso dos mesmos

conceitos de limpeza de rastros, pois com isso, será possível criar metodologias de

rastreamento de invasores, realizar estudos e novas configurações com o intuito de

aumentar a segurança do sistema verificado.

1.2 TIPOS DE TESTE DE PENETRAÇÃO PARA VARREDURAS

Segundo Giavaroto e Santos (2013), os tipos de teste de penetração têm

como objetivo classificar os testes e, desse modo, fazer com que seja possível medir

o impacto que um tipo de teste tem em um sistema alvo, caso a invasão seja bem

sucedida. A aplicação de testes de modo que seja possível medir o impacto do

ataque, é considerada uma excelente auditoria de segurança na área de Tecnologia

da Informação, utilizando como base o protocolo Transmission Control Protocol /

Internet Protocol (TCP/IP). Os tipos de teste de penetração são:

Blind: procedimento no qual o auditor não conhece o sistema no qual ele irá

atacar e deverá criar meios para obter resultado positivo sobre o alvo. Já o

sistema alvo está ciente que será atacado e conhece as ações nas quais o

Pentest irá realizar.

Double Blind: teste no qual o auditor não tem informações sobre o sistema alvo, e

o sistema alvo não sabe que será atacado.

Page 19: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

19

Gray Box: teste no qual o auditor tem pouco conhecimento sobre o sistema alvo,

e o sistema alvo sabe que será atacado e quais testes serão aplicados.

Double Gray Box: procedimento no qual o auditor tem pouco conhecimento sobre

o sistema alvo, e o sistema alvo sabe que será atacado, mas não contém

nenhuma informação de quais testes serão aplicados.

Tandem: procedimento no qual o auditor tem conhecimento total sobre o sistema

alvo, e o sistema alvo sabe que será atacado e quais testes serão aplicados.

Reversal: teste no qual o auditor tem conhecimento total sobre o sistema alvo, e o

sistema alvo não sabe que será atacado e não tem conhecimento sobre quais

testes serão aplicados.

Ao aplicar os métodos do Pentest, pode-se definir duas situações

habitualmente utilizadas na área de varredura pelo analista de segurança, são elas:

Black Box, situação que é caracterizada pela falta de conhecimento sobre o

sistema alvo, necessita de detalhamento dos dados analisados para que seja

possível definir a localização e grandeza dos sistemas e aplicativos abrangidos

antes de executar as técnicas de análise almejadas.

White Box, nesta situação a pessoa responsável por realizar os testes possui total

conhecimento sobre o sistema alvo. Além disso, são executadas simulações do

ambiente real da empresa ou situações nas quais pode ocorrer vazamento de

informações.

1.3 FERRAMENTAS PARA VARREDURAS

Nesta seção, será feita uma demonstração do funcionamento de algumas

ferramentas importantes no processo de busca de informações sobre o alvo.

1.3.1 INFORMAÇÕES SOBRE O DNS

O serviço Domain Name System (DNS) é responsável pela resolução de

nomes em uma rede de computadores, ou seja, este serviço traduz o IP em nome

de domínios. Este serviço deve sempre estar bem configurado, pois caso contrário,

poderá fornecer informações comprometedoras sobre a empresa que o mantém em

funcionamento. Ao atacar um servidor DNS mal configurado, o atacante poderá

Page 20: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

20

recuperar informações sobre versão, atualização, expiração, valor Time To Live

(TTL), endereço dos servidores, serviços de e-mail, entre outras. (GIAVAROTO;

SANTOS, 2013)

As ferramentas a serem mostradas nesta seção são: dnsenum e dnsmap.

Para isso, o domínio livroBacktrack.br servirá de cobaia. A ferramenta dnsenum, que

será a primeira a ser mostrada, permite a pesquisa por dados como nomes de

servidores, serviços de e-mail, IPs, entre outros. Na figura 1.1 é mostrada a

execução básica da ferramenta dnsenum contra o domínio livroBacktrack.br.

Figura 1.1 – Ferramenta dnsenum Fonte: Giavaroto; Santos, 2013, p.54

Page 21: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

21

A ferramenta dnsmap permite buscar informações sobre subdomínios do

domínio alvo, e já vem com uma lista de itens que são inclusos na pesquisa. Porém,

para a demonstração, uma lista foi criada, e os seguintes nomes foram adicionados:

ftp, mysql, painel, admin e uploads.

Na figura 1.2, é apresentado o funcionamento da ferramenta dnsmap contra o

domínio livroBacktrack.br.

Figura 1.2 – Ferramenta dnsmap Fonte: Giavaroto; Santos, 2013, p.55

Page 22: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

22

1.3.2 Técnicas de ataque por rastreamento de portas

Conforme Giavaroto e Santos (2013), as técnicas por rastreamento de portas

são muito usadas por atacantes para identificar serviços vulneráveis. Todas as

estações ligadas a uma rede possuem serviços que fazem uso de portas TCP e

User Datagram Protocol (UDP). Desse modo, ao realizar um rastreamento, uma

mensagem de cada vez é enviada para cada uma das portas, desde a mais comum,

até a menos usada. Com a mensagem enviada, haverá uma resposta e, a partir

dela, será possível identificar se uma porta está sendo usada ou não e, caso esteja,

o atacante poderá realizar testes com o objetivo de encontrar falhas de segurança

no sistema.

O rastreamento se divide em três tipos: de porta, de vulnerabilidade e de

rede. No rastreamento de portas, são verificadas as portas e os serviços ativos, no

rastreamento de vulnerabilidades, são identificadas as fraquezas do sistema e, por

fim, no rastreamento de rede, são identificados os hosts ativos. Existem várias

ferramentas para rastreamento de portas, mas nesta seção serão mostradas as

ferramentas nmap e netcat que estão contidas no Linux BackTrack. A primeira

ferramenta a ser abordada é o nmap, que tem como principais funções identificar

portas, serviços e versões. Esta ferramenta pode ser encontrada com o nome de

zenmap, quando em algumas versões Unix e Windows, ela está disponível com

interface gráfica. Para a demonstração do uso da ferramenta, uma estação com o

Windows XP Professional Service Pack 2 instalado e com o IP 192.168.0.3

configurado, será utilizada como alvo.

Segundo Giavaroto e Santos (2013), o nmap pode ser executado de

diferentes formas para diferentes objetivos. Algumas formas de execução do nmap

são: TCP SYN (-sS), examina as portas do alvo de forma rápida e invisível e, dessa

forma, é mais difícil de ser detectado por firewalls ou IDS. TCP Connect (-sT),

executa varredura utilizando Three-Way Handshake e é facilmente detectado. UDP

(-sU), possibilita varredura do protocolo UDP. TCP FIN (-sF, -sX, -sN), utilizados na

tentativa de travessia de firewalls. TCP ACK (-sA), utilizado para detecção de regras

de firewall. TCP Windows (-sW), possibilita varredura por janelas e pode detectar

portas abertas, filtradas e não filtradas.

Primeiramente, será feita uma varredura básica para se saber se o host está

ativo e se respostas Internet Control Message Protocol (ICMP), estão podendo

Page 23: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

23

passar pelo firewall do alvo. Na figura 1.3, é apresentado o funcionamento do

comando nmap –sP contra o alvo.

Figura 1.3 – Comando nmap –sP Fonte: Elaborado pelos autores, 2013

Após executar este comando, é possível perceber que a estação está ativa,

pois em uma das linhas do resultado, é exibido “Host is up”. O modo de varredura

TCP Connect permite uma recuperação de dados mais completa, mas não é

aconselhável, pois qualquer IDS ou firewall pode detectar a ação. Na figura 1.4, é

mostrado o funcionamento do comando nmap –sT, contra o alvo.

Figura 1.4 – Comando nmap –sT Fonte: Elaborada pelos autores, 2013

A execução do comando nmap –sT retornou algumas portas abertas no

sistema operacional alvo, porém com poucos detalhes. Para obter mais informações,

como por exemplo, a versão do serviço que executa em determinada porta, pode-se

utilizar o comando nmap –sV. Na figura 1.5, é exibido o funcionamento do comando

nmap –sV contra o alvo.

Figura 1.5 – Comando nmap -sV Fonte: Elaborada pelos autores, 2013

Page 24: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

24

Como citado anteriormente, a execução de comandos de varreduras pode ser

detectada por algum serviço de segurança do sistema alvo. Para isso, a ferramenta

nmap oferece um recurso de despiste, que consiste em especificar um IP no

momento da execução do comando, para que se alguma detecção ocorrer, o IP que

irá constar na detecção, será o IP especificado pelo atacante, e não o IP da máquina

do atacante. Porém, para que esta técnica de despiste funcione corretamente, o IP

especificado pelo atacante deverá estar ativo. Na figura 1.6 é exibida a sintaxe do

comando nmap para que o recurso do despiste seja utilizado.

Figura 1.6 – Técnica de Despiste da Ferramenta nmap Fonte: Elaborada pelos autores, 2013

O netcat é uma ferramenta conhecida como canivete suíço, está presente nas

versões Unix e Windows e permite varreduras TCP e UDP. Na figura 1.7 é

apresentado o funcionamento do netcat contra um alvo que contém o Linux Ubuntu

instalado e o IP 192.168.0.4 configurado.

Figura 1.7 – Ferramenta Netcat Fonte: Elaborada pelos autores, 2013

1.3.3 Técnicas de Varreduras Avançadas

Ao se fazer uso de técnicas de varreduras avançadas, é possível obter dados

como os nomes das máquinas alvo, usuários, serviços e versões,

compartilhamentos, entre outros. Entretanto, o cuidado ao executar essas técnicas

deve ser muito maior, pois serviços de segurança que residem nas estações alvo

poderão fazer registros desses ataques. (GIAVAROTO; SANTOS, 2013)

Page 25: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

25

Na figura 1.8, é mostrado o funcionamento do comando nmap –T4 –sS –sV

contra a estação que contém o Windows XP Professional instalado e o IP

192.168.0.3 configurado, com o objetivo de recuperar versões de serviços.

Figura 1.8 – Comando nmap –T4 –sS –sV Fonte: Elaborada pelos autores, 2013

Vários serviços e suas respectivas versões foram retornados. Entre os

serviços retornados, encontra se o serviço netbios e, devido a isso, pode-se fazer

uso da ferramenta nbtscan para se obter o nome da máquina e seu endereço de

Media Access Control (MAC), endereço que identifica a placa de rede. Na figura 1.9,

é mostrado o funcionamento da do comando nbtscan –v contra o alvo.

Figura 1.9 – Comando nbtscan –v Fonte: Elaborada pelos autores, 2013

Como pode-se observar na figura 1.9, foi possível recuperar o nome da

máquina que neste caso é “escritor”, o grupo de trabalho “workgroup” e o endereço

MAC. Até o momento, as vulnerabilidades foram buscadas em serviços que utilizam

o protocolo TCP e não em serviços que utilizam o protocolo UDP. Desse modo, o

próximo passo é executar uma varredura em serviços que utilizam o protocolo UDP.

Na figura 1.10, é apresentado o funcionamento do comando nmap –T4 –sU –sV

contra o alvo que possui o Windows XP.

Page 26: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

26

Figura 1.10 – Comando nmap –T4 –sU –sV Fonte: Elaborada pelos autores, 2013

Na figura 1.10, pode-se observar que o serviço snmp se encontra ativo e,

devido a isso, será possível obter diversas informações sobre o alvo por meio do uso

da ferramenta snmpcheck. Com essa ferramenta é possível recuperar dados como:

contatos, hardware, interfaces de redes, serviços, processos, memória total, contas

do usuário, entre outros. Para a execução da ferramenta, o seguinte diretório deverá

ser acessado: pentest/enumeration/snmp/snmpcheck/. Na figura 1.11, é apresentado

o funcionamento da ferramenta snmpcheck, que no início do resultado, traz

informações básicas sobre o alvo que contém o Windows XP instalado. Devido à

grande quantidade de informações recuperadas ao executar este comando, o

resultado será mostrado por etapas.

Figura 1.11 – Comando snmpcheck informações básicas Fonte: Elaborada pelos autores, 2013

Page 27: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

27

Na segunda etapa de exibição de resultados da execução da ferramenta

snmpcheck, são mostradas as informações sobre armazenamento da estação alvo.

Na figura 1.12, são mostradas as informações sobre armazenamento recuperadas

pelo comando snmpcheck.

Figura 1.12 – Comando snmpcheck informações sobre armazenamento Fonte: Elaborada pelos autores, 2013

Na terceira etapa, são mostradas as informações sobre os processos que são

executados pela estação alvo. Na figura 1.13, são mostradas as informações sobre

os processos, que foram recuperadas pelo comando snmpcheck.

Figura 1.13 – Comando snmpcheck informações sobre processos Fonte: Elaborada pelos autores, 2013

Page 28: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

28

Na quarta e última etapa, são mostradas as informações sobre a interface de

rede da estação alvo. Na figura 1.14, são mostradas as informações sobre a

interface de rede, recuperadas pelo comando snmpcheck.

Figura 1.14 – Comando snmpcheck informações sobre interface de rede Fonte: Elaborada pelos autores, 2013

O resultado da execução da ferramenta snmpcheck mostrou o quanto pode

ser arriscado manter um serviço snmp ativo em uma estação. Portanto, este

protocolo deve ser utilizado com muita atenção pelo administrador de redes.

Outra ferramenta que pode ser utilizada para recuperar versões de serviços é

o telnet. Na figura 1.15, é apresentado o funcionamento do comando telnet contra o

alvo que possui o Linux Ubuntu instalado, com o IP 192.168.0.6, e é especificado a

porta 80 para indicar que se deseja buscar a versão do servidor web. Após digitar o

comando telnet 192.168.0.6, deve-se digitar o comando GET /HTTP1.0, para que as

informações sobre o servidor web sejam buscadas.

Figura 1.15 – Comando telnet Fonte: Elaborada pelos autores, 2013

Por meio da figura 1.15, é possível notar que a versão do apache foi

recuperada.

Page 29: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

29

As ferramentas utilizadas para a detecção de versões de roteadores em uma

rede também pode ser considerada uma técnica avançada de varredura. Para a

captura de informações deste tipo de equipamento, a ferramenta amap pode ser

utilizada. Na figura 1.16, é apresentado o funcionamento do comando amap –b

contra um roteador que utiliza o IP 192.168.0.1.

Figura 1.16 – Comando amap –b Fonte: Elaborada pelos autores, 2013

O comando amap exibe um roteador TP-LINK modelo WR741ND com uma

interface web executando na porta 80.

Neste capítulo foram abordados os tópicos: Metodologia para teste de

penetração, tipos de teste de penetração para varreduras e Ferramentas para

varreduras. O tópico sobre a metodologia para teste de penetração aborda os

procedimentos realizados por Hackers e pelo Pentest, para a realização de ataques.

O tópico sobre os tipos de teste de penetração abordam as diferentes formas de se

realizar um ataque, e deixa claro que quando um ataque é realizado utilizando um

dos tipos definidos, é possível medir o impacto do ataque. Por fim, o tópico sobre as

ferramentas para varreduras aborda ferramentas de varreduras em servidores DNS,

ferramentas de varreduras para rastreamento de portas e ferramentas de varreduras

avançadas.

Page 30: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

30

2 TESTE DE PENETRAÇÃO EM SERVIDOR DNS

Como citado anteriormente, o objetivo deste trabalho é a realização de testes

de penetração em um ambiente real. Desse modo, neste capítulo, foram realizados

testes de penetração em um servidor DNS com configurações idênticas ao servidor

DNS que atualmente é usado pela Faculdade de Tecnologia de Lins. O sistema

operacional no qual o servidor DNS está instalado é o Freebsd e, para a realização

dos testes, ambos foram instalados e configurados em uma máquina virtual, para

que não se corra o risco de se prejudicar o servidor em produção. Devido ao fato de

que o foco deste trabalho é a realização do teste de penetração por meio de

ferramentas disponíveis no Linux backtrack, a etapa de coleta de informações não

foi abordada. Desse modo, o teste de penetração foi iniciado na etapa de varreduras

de sistema.

2.1 Servidor DNS

Segundo Engebretson (2011), servidores DNS são alvos bastante cobiçados,

pois este tipo de servidor geralmente contém informações muito valorizadas pelos

atacantes. Os servidores DNS tem a função de traduzir nomes de domínios em

endereços IP, pois para os usuários, é muito mais fácil lembrar o nome

“Google.com”, do que http://74.125.95.105.

Para que alguns serviços funcionem na rede, os mesmos devem ter seus

nomes de domínios registrados em arquivos de configuração do servidor DNS, como

é o caso do serviço de email. (ENGEBRETSON, 2011)

O fato de existir registros de endereços IP e nomes de servidores da rede em

arquivos de configuração do servidor DNS, é um dos motivos no qual é muito

importante que testes de penetração sejam realizados neste tipo de servidor, a fim

de torná-lo mais seguro, pois caso um indivíduo mal intencionado consiga obter

controle total do servidor DNS de uma empresa, ele terá acesso a endereços IP de

servidores que residem na rede do servidor DNS alvo, e o elemento chave que um

hacker precisa para atacar um alvo, é o próprio endereço IP. (ENGEBRETSON,

2011).

Page 31: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

31

2.1.1 Extração de informações do servidor DNS

Nesta seção são mostradas as ferramentas nslookup e dig, ambos podem ser

utilizados para a realização de consultas em servidores DNS. A primeira ferramenta

a ser apresentada neste capítulo é a ferramenta nslookup. Segundo Engebretson

(2011), para que esta ferramenta possa ser utilizada, ela deve ser iniciada por meio

do comando nslookup, que deverá ser digitado no terminal.

Ao realizar uso da ferramenta nslookup, é possível especificar o tipo de

registro no qual se procura, o que é muito útil uma vez que existem muitos tipos de

registros e o atacante pode estar interessado em apenas parte deles. Portanto,

quando se procura por informações gerais sobre o servidor DNS, deve-se utilizar o

comando set type=any e logo em seguida informar o alvo no qual se pretende

consultar. (ENGEBRETSON, 2011)

Na figura 2.1, é mostrado o uso do comando set type=any e é indicado o

domínio da Fatec de Lins, pois é a única informação que se tem neste início da

etapa de varredura de sistema.

Figura 2.1 – Comando set type=any Fonte: Elaborada pelos autores, 2013

Por meio da consulta foi possível identificar o nome do servidor DNS,

tucunare.fateclins.edu.br, e informações de configuração do servidor DNS como:

Serial, valor que indica a versão de um dos arquivos de configuração do servidor

Page 32: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

32

DNS. Este valor deve ser incrementado toda vez que houver modificação no arquivo,

para que os servidores secundários saibam que houve modificação e também

atualizem sua tabela. Refresh, tempo que determina a freqüência com que os

servidores secundários consultarão o servidor primário (este servidor) para verificar

se as tabelas mudaram. Retry, tempo no qual um servidor secundário deve

aguardar antes que uma atualização falha sofra nova tentativa. Expire, tempo que

pode decorrer até que o servidor secundário considere seus dados desatualizados,

sem fazer uma atualização. Minimum, tempo que um Servidor DNS qualquer, que

fez uma consulta a esse servidor, pode manter um registro em seu cache.

Também é possível perceber que na rede da Fatec não existe nenhum

servidor de email em funcionamento, e a instituição atualmente utiliza o serviço de

email da Google. Sendo assim, o próximo passo realizado foi uma consulta menos

abrangente e, para isso, o comando set type=mx, que segundo Engebretson

(2009), permite que apenas informações sobre o serviço de email sejam

recuperadas, foi utilizado. Na figura 2.2, é mostrado o funcionamento do comando

set type=mx, e é indicado o domínio da Fatec de Lins novamente.

Figura 2.2 – Comando set type=mx Fonte: Elaborada pelos autores, 2013

No resultado apresentado pela figura 2.2, pode-se perceber que apenas

informações relacionadas ao serviço de email utilizado pela Fatec foram retornadas.

Segundo Wilhelm (2010), a ferramenta nslookup permite que o comando set

type=soa seja utilizado para buscar informações detalhadas sobre um servidor DNS.

Na figura 2.3, é mostrado o funcionamento do comando set type=soa em

fateclins.edu.br.

Page 33: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

33

Figura 2.3 – Comando set type=soa em fateclins.edu.br Fonte: Elaborada pelos autores, 2013

No resultado da consulta, pode-se observar que informações detalhadas

apenas sobre o servidor DNS foram reveladas.

Após ter realizado testes com recursos de consulta da ferramenta nslookup,

novas consultas serão realizadas com a ferramenta dig. Segundo Wilhelm (2010), a

ferramenta dig pode ser utilizada não só para recuperar o nome do servidor

dominante em uma rede, mas também para recuperar nome de outros servidores da

rede alvo.

Na figura 2.4, é apresentado o resultado da execução da ferramenta dig

contra o domínio fateclins.edu.br.

Figura 2.4 – Comando dig em www.fateclins.edu.br Fonte: Elaborada pelos autores, 2013

Page 34: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

34

Ao executar a consulta, a informação considerada importante para o teste de

penetração que foi recuperada é o nome do servidor web que atua na rede e seu

respectivo IP. Por meio desta consulta realizada na rede da Fatec de Lins, foi

possível identificar apenas um servidor web na rede e, para mostrar a diferença do

resultado da execução da ferramenta dig, quando executada em uma rede que

possui mais servidores web atuando na rede, na figura 2.5 é mostrada a execução

da ferramenta dig contra o domínio google.com.

Figura 2.5 – Comando dig em google.com Fonte: Elaborada pelos autores, 2013

Na figura 2.5, é possível notar que a estrutura para o domínio Google.com

possui mais servidores atuando em sua rede do que a estrutura para o domínio

fateclins.edu.br. Com os nomes dos servidores retornados, com seus respectivos

IPs, seria possível realizar varreduras e ataques em cada um destes servidores.

Na consulta realizada a seguir, o objetivo é recuperar a versão do Berkeley

Internet Name Domain (BIND), software responsável pelo funcionamento do serviço

DNS em um servidor. Segundo Wilhelm (2010), obter a versão do BIND pode ser

muito importante para a realização da intrusão, pois dessa forma, será possível

realizar pesquisas sobre exploits desenvolvidos para ganhar acesso por meio deste

tipo de serviço. Segundo o autor, quanto mais antiga for a versão do BIND, maiores

são as chances de encontrar vulnerabilidades e exploits.

Segundo Valle e Ulbrich (2004), exploits são scripts desenvolvidos para

explorar vulnerabilidades em sistemas. Existem vários tipos de exploits e, para cada

Page 35: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

35

tipo, existe uma forma diferente de execução. Alguns deles, para funcionar, é

necessário que o atacante tenha acesso ao interpretador de comandos da estação

alvo, e outros servem justamente para conseguir acesso ao interpretador de

comandos. Segundo os autores, programas de computador são projetados para

utilizar determinada área limitada de memória e, quando esta área de memória fica

cheia, programas mal projetados passam a ter instabilidades e podem até ser

abortados pelo sistema operacional. Desse modo, este tipo de problema é

exatamente o que alguns exploits objetivam causar nos programas, pois quando um

programa é abortado, o sistema operacional pode disponibilizar o interpretador de

comandos.

Na figura 2.6, é apresentado o funcionamento da ferramenta dig contra o

servidor DNS da rede da Fatec.

Figura 2.6 – Comando dig em tucunare.fateclins.edu.br Fonte: Elaborada pelos autores, 2013

No resultado apresentado pela figura 2.6, é possível notar que a versão do

BIND foi recuperada. Assim, o próximo passo foi a utilização de uma ferramenta

chamada Nessus, para se verificar vulnerabilidades no servidor DNS.

2.1.2 Verificação de vulnerabilidades

Segundo Ulbrich e Valle (2004), o Nessus é um software para verificação de

vulnerabilidades em servidores. Sendo assim, neste capítulo, este software foi

utilizado para varreduras no servidor DNS da Fatec Lins.

Page 36: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

36

Ao se fazer uso da ferramenta, foram apresentadas informações sobre portas

abertas, serviços em funcionamento e suas vulnerabilidades, classificando-as em

Low (Baixa), Medium (Média), High (Alta) e Critical (Crítica). A ferramenta também

foi capaz de mostrar se existem exploits disponíveis para possíveis vulnerabilidades

detectadas. Para que não houvesse risco, os testes não foram feitos no servidor em

produção, desse modo, as funcionalidades do Nessus foram colocados a prova em

um servidor DNS espelho da Fatec Lins instalado em uma máquina virtual.

Na figura 2.7, é mostrada a lista de vulnerabilidades, informações e serviços

detectados sobre o alvo.

Figura 2.7 – Informações e vulnerabilidades e suas classificações Fonte: Elaborada pelos autores, 2014

De acordo com os resultados obtidos, é possível notar que foram capturadas

22 vulnerabilidades, porém, apenas as duas vulnerabilidades que oferecem mais

Page 37: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

37

riscos são consideradas. As vulnerabilidades de nível médio e crítico foram as

únicas exploradas, pois são as mais suscetíveis a intrusão.

Na figura 2.8, é apresentada a descrição da vulnerabilidade média, se há

exploits disponíveis e é sugerida a solução.

Figura 2.8 – Informações da vulnerabilidade média detectada Fonte: Elaborada pelos autores, 2014

Ao verificar as informações apresentadas, nota-se que a vulnerabilidade se

trata do comando monlist ativado na versão do Network Time Protocol (NTP) do host

remoto. Com este comando ativo, uma lista dos usuários conectados recentemente

poderá ser recuperada, e um ataque de negação de serviço poderá ser realizado.

Page 38: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

38

Também são mostradas as soluções indicadas para a correção da

vulnerabilidade, que seriam a atualização da versão do NTP ou a desabilitação do

comando no arquivo ntp.conf.

Nota-se também que existe exploit disponível e, por meio de pesquisas, foi

possível se chegar ao exploit denominado ntp-monlist.ns e, através de seu uso, foi

possível recuperar os ips dos hosts conectados recentemente ao servidor. Na figura

2.9, é apresentado o funcionamento do exploit e os dados recuperados.

Figura 2.9 – Comando e dados recuperados através do exploit ntp-monlist.nse Fonte: Elaborada pelos autores, 2014

Com o resultado obtido por meio da execução do exploit, foi possível se

chegar ao entendimento de que o exploit disponível para a vulnerabilidade tem como

objetivo recuperar dados sobre as últimos hosts que acessaram o servidor, para

uma possível elaboração de um ataque de negação de serviço. Segundo Ulbrich e

Valle (2004), o ataque de negação de serviço consiste na infecção de uma grande

quantidade de hosts, que são comandados por um mestre e este tipo de ataque

objetiva fazer com que determinado serviço pare de funcionar, por meio de

solicitações falsas dos hosts infectados. Portanto, concluiu-se que o exploit

disponível não é útil para o ganho de acesso ao sistema e, desse modo, não foi

possível avançar para a etapa de ganho de acesso para esta vulnerabilidade.

A vulnerabilidade crítica é o maior nível de alerta que o Nessus gera, ela

ganha destaque por sua cor vermelha e por estar no topo da lista. Na figura 2.10 é

apresentada sua descrição e solução.

Page 39: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

39

Figura 2.10 – Informações da vulnerabilidade crítica detectada Fonte: Elaborada pelos autores, 2014

Observada as informações apresentadas, nota-se que a vulnerabilidade é

constada devido a versão desatualizada do sistema operacional, pois desse modo o

sistema deixa de receber novos pacotes de segurança. Portanto, a solução também

apresentada pelo software, é a atualização do sistema para a última versão.

Embora uma vulnerabilidade de nível alto tenha sido detectada, o software

não indicou a existência de um exploit para que se realize um acesso remoto

indevido ou que leve a um comprometimento do sistema. Devido a este fato, a etapa

de ganho de acesso ao sistema não foi colocada em prática, pois um ataque a um

servidor com essas características deve envolver um estudo mais aprofundado de

ferramentas de ataque e da própria rede alvo.

2.1.3 Ferramenta de Defesa para Testes de Penetração

Segundo Ulbrich e Valle (2004), os softwares IDS detectam varreduras e

geram arquivos de logs com o objetivo de identificar ataques. Dessa maneira,

podem ser muito úteis na detecção de varreduras mal intencionadas.

Page 40: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

40

Neste capítulo, para demonstrar a maneira na qual um IDS pode ser útil na

detecção de intrusão, o IDS Suricata foi instalado e configurado no servidor alvo.

Este tipo de IDS foi desenvolvido para detectar intrusões em redes.

Na figura 2.11, são apresentados os dados gerados pelo Suricata, no

momento em que uma varredura é realizada com a ferramenta Nessus, por meio do

Linux Backtrack com IP 10.0.0.2, no servidor alvo com IP 10.0.0.1.

Figura 2.11 – Detecção de varredura Nessus Fonte: Elaborada pelos autores, 2014

Por meio do log gerado, foi possível identificar o ip do host que realizou a

varredura e o software utilizado. Sendo assim, em uma situação real, o arquivo de

log permitiria que o administrador de redes identificasse e tomasse uma atitude com

relação aos dados gerados pelo log. Uma atitude válida seria a realização do

bloqueio de solicitações que tem como origem este IP.

Neste capítulo foi abordado o teste de penetração no servidor DNS da

Faculdade de Tecnologia de Lins que ficou subdividido nas etapas: extração de

informações do servidor DNS e verificação de vulnerabilidades. E também foi citado

um software de defesa para testes de penetração. Na etapa de extração de

informações, diversas informações foram recuperadas por meio de ferramentas do

Linux Backtrack, fazendo-se uso apenas do domínio utilizado pela faculdade. Na

etapa de verificação de vulnerabilidades, o Nessus foi usado para a detecção, e foi

possível notar que as vulnerabilidades presentes no servidor não são de extrema

importância. Por fim, foi apresentado um software para detecção de varreduras, e

como utilizá-lo.

Page 41: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

41

3 TESTE DE PENETRAÇÃO EM SERVIDOR WEB

Este capítulo aborda o teste de penetração no servidor e aplicação web

atualmente utilizado pela Faculdade de Tecnologia de Lins. O sistema operacional

utilizado atualmente é o Freebsd e, para que não houvesse danos no servidor em

produção, um servidor com configurações idênticas ao servidor utilizado pela Fatec

foi instalado e configurado em uma máquina virtual.

3.1 SERVIDOR E APLICAÇÃO WEB

Segundo Pauli (2014), uma aplicação web é um software baseado em web

que permite que usuários façam uso de suas funcionalidades para realizar ações

como compras, acesso a bancos, emails e arquivos. Para o autor, um servidor web é

um software desenvolvido para executar em sistemas operacionais que são usados

em servidores, para permitir conexões em aplicações web. Exemplos de servidores

web são: o Internet Information Services (IIS) para Windows, e o servidor Hypertext

Transfer Protocol (HTTP) Apache, desenvolvido para executar em sistemas Unix-

like, tais como o Linux e o FreeBSD.

De acordo com Pauli (2014), o servidor web foi projetado para servir usuários

e suas solicitações de maneira que não estejam na mesma rede, se tornando um

alvo em potencial para ataques. Com falhas de atualizações ou configurações

indevidas, um sistema inteiro pode ser comprometido. Existem muitas maneiras de

se atacar um servidor web, porém o ataque escolhido para o trabalho é um dos mais

antigos e prejudiciais, o Sql Injection.

Para Pauli (2014), o Sql injection, apesar de seus mais de 15 anos de

surgimento, ainda é o que mais oferece risco para servidores e aplicações web. O

ataque através desse método consiste em utilizar entradas maliciosas que são

processadas pelo servidor, expondo dados confidenciais como senhas e

documentos, também, podendo conseguir executar comandos para que o servidor

se comporte da maneira que o atacante quiser.

Nos próximos itens desde capítulo serão apresentados métodos para o

possível acesso e também os resultados obtidos no ataque efetuado no servidor

web da Fatec de Lins.

Page 42: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

42

3.1.1 ATAQUE SQL INJECTION

O ataque começa com uma varredura de vulnerabilidades com o software

Vega, também incluso no pacote de ferramentas do BackTrack. O Vega é um

escaner de vulnerabilidades próprio para servidores web e web sites, por isso seu

uso e não ao Nessus, como anteriormente. Pode ser acessado através da estrutura

de menu Acessories - BackTrack - Vulnerability Assessment - Web Application

Assessment - Web Vulnerability Scanners - Vega. Pode-se ver a tela inicial do

Vega na figura 3.1.

Figura 3.1 - Tela Inicial do software de varredura Vega. Fonte: Elaborada pelos autores - 2014

Clicando na aba file ou no ícone vermelho logo abaixo, abrirá a janela para a

inserção da url do alvo, como mostrado na figura 3.2. Lembrando que url é um

endereço virtual que, sendo convertido em um endereço IP, indica o caminho para o

que o usuário solicita.

Após inserir a url do alvo, o gatilho para iniciar a varredura é o botão finish

localizado na parte inferior esquerda também na figura 3.2. A varredura retorna

vulnerabilidades e as qualifica de acordo com suas severidades, assim como o

Nessus.

Page 43: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

43

Na figura 3.3, é mostrado o final da varredura com todas as vulnerabilidades

capturadas, dentre elas, as possibilidades de sql injection, a vulnerabilidade

explorada no trabalho.

Figura 3.2 - Tela com url do alvo inserido. Fonte: Elaborada pelos autores - 2014

Figura 3.3 - Tela das vulnerabilidades detectadas no Servidor Web. Fonte: Elaborada pelos autores - 2014

Page 44: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

44

Como o ataque escolhido é o Sql Injection, é necessário se obter o caminho

completo de onde está a vulnerabilidade, ou seja, url exata e um valor válido para o

identificador, pois somente com a url www.fateclins.edu.br/site não seria possível

realizar o ataque. Para conseguir essas informações, na parte esquerda da janela

existe o campo scan alerts, clique nos ícones com o símbolo de "+" e os caminhos

são exibidos até que se chegue à vulnerabilidade desejada, como é mostrado na

figura 3.4.

Figura 3.4 -Esquema de árvores até que chegue no caminho desejado. Fonte: Elaborada pelos autores – 2014

No campo Resource da figura 3.5 é mostrado que é possível recuperar a url

completa a ser utilizado no ataque.

Figura 3.5 -Caminho completo para o ataque, url + parâmetro. Fonte: Elaborada pelos autores - 2014

Com a varredura feita corretamente e em posse da url completa, o ataque

pode ser iniciado. O exploit utilizado foi o Sqlmap, também incluso no pacote de

ferramentas do BackTrack. Para executar os comandos com o sqlmap se faz

necessário estar no diretório do mesmo. O acesso pode ser feito através do terminal

com o comando cd /pentest/database/sqlmap. Com o intuito de retornar

Page 45: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

45

todos os bancos de dados disponíveis o comando executado foi o mostrado na

figura 3.6. Os resultados obtidos com o comando são apresentados na figura 3.7.

Figura 3.6 -Comando executado para retornar todos os bancos disponíveis. Elaborada pelos autores – 2014

Figura 3.7 - Bancos de dados do servidor web. Elaborada pelos autores - 2014

Existem nove bancos de dados disponíveis ao ataque, ou seja, uma grande

fonte de informações para ações maliciosas caso um atacante mal intencionado

tenha acesso, pois foi possível visualizar senhas, usuários, dados de documentos,

dentre muitas outras informações pessoais. Por hora, a escolha foi o banco

f70675_newfatec. Sendo necessário descobrir quais tabelas existem no banco

escolhido, o comando que retorna tais informações é o mostrado na figura 3.8.

Page 46: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

46

Figura 3.8 - Comando para recuperar as tabelas contidas no banco de dados. Fonte: Elaborada pelos autores - 2014

Nota-se que os resultados são 20 tabelas contidas nesse banco, e a tabela a

ser explorada é a tbalunos, como destacado na figura 3.9.

Figura 3.9 - Tabelas contidas no banco f70675_newBDfatec. Fonte: Elaborada pelos autores - 2014

Com a definição da tabela a ser explorada, se faz necessário recuperar as

colunas contidas nela. O comando que efetua e resulta nas colunas da tabela

tbalunos é mostrado na figura 3.10.

Figura 3.10 - Comando para recuperar colunas contidas na tabela. Fonte: Elaborada pelos autores - 2014

As colunas existentes contidas na tabela aparecem na imagem 3.11. Vale

ressaltar que nesse ponto, o atacante pode obter diversas informações pessoais,

Page 47: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

47

inclusive senhas, pois o sqlmap possibilita com suas funcionalidades a quebra de

senhas possívelmente fracas.

Figura 3.11 - Colunas contidas na tabela tbalunos. Fonte: Elaborada pelos autores – 2014

O próximo passo é enfim conseguir os dados disponíveis nas colunas

escolhidas. Como visto na figura 3.11, é possível obter emails, endereços, celulares

e senhas, porém essas colunas não serão exploradas, devido ao sigilo de tais

informações. Portanto as colunas a serem recuperadas com seus valores serão

nomeAluno e raAluno, o comando que retorna as informações desejadas é mostrado

na figura 3.12.

Figura 3.12 - Recuperando os valores das colunas nomeAluno e raAluno. Fonte: Elaborada pelos autores - 2014

Os nomes e RAs existentes no banco f70675_newBDfatec na tabela tbalunos

e nas colunas nomeAluno e raAluno resultantes do comando, foram listados um a

um. O tempo até que o processo acabe dependerá de quantas entidades existem no

banco. Na figura 3.13, um aviso é indicado no topo da lista, [Warning] console output

will be trimmed to last 256 rows due large table size. Isso significa que se a

quantidade ultrapassar 256 linhas, somente os 256 ultimas linhas serão listados,

pois é o tamanho padrão que cabe na saída do comando. Outras maneiras de

Page 48: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

48

recuperar todas as entidades podem ser executadas, porém não serão abordados

no trabalho. O resultado obtido no ataque é exibido na imagem 3.13. Por motivos de

privacidade o conteúdo da imagem foi borrado.

Figura 3.13- Valores das colunas nomeAluno e raAluno. Fonte: Elaborada pelos autores – 2014

O sql injection é um ataque muito eficaz, como foi evidenciado com o

processo realizado. Segundo Pauli (2014), cerca de 30% dos servidores web contam

com essa vulnerabilidade. O que é preocupante, pois em posse de informações

restritas, um hacker pode inutilizar um sistema ou usufruir dos dados recuperados

como rg, cpf para outros fins.

Segundo a OWASP, entidade que reconhecida mundialmente por contribuir

com a melhoria de segurança em softwares e aplicativos, as melhores práticas de se

prevenir de um ataque através do SQL injection são a parametrização das consultas,

usar stored procedures , tratar toda entrada fornecida pelo usuário e limitar

privilégios aos acessos. Esses métodos demandam estudos complexos sobre a

programação de banco de dados, que não serão abordados nesse trabalho por não

ser o foco do mesmo.

Page 49: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

49

4 TESTE DE PENETRAÇÃO EM SERVIDOR VULNERÁVEL

Este capítulo foi desenvolvido com o intuito de se aprofundar a aplicação da

metodologia de teste de penetração, já que os servidores web e DNS da Fatec Lins

não apresentaram vulnerabilidades suficientes para que o teste de penetração

chegasse à etapa de ganho de acesso ao sistema. Nesta etapa, o objetivo foi a

utilização da ferramenta Nessus para a varredura em dois servidores com diversos

serviços vulneráveis e a realização de pesquisas, a partir de dados fornecidos pelo

Nessus, para que o ganho de acesso fosse realizado por meio desses serviços. As

ferramentas de ataque utilizadas estão todas presentes no Linux Backtrack.

O sistema operacional Linux RedHat versão 6.0 e o sistema operacional

Windows Server 2003 foram instalados e configurados em máquinas virtuais. Estes

sistemas se encontram vulneráveis, pois possuem serviços desatualizados em

funcionamento.

4.1 TESTES DE PENETRAÇÃO NO LINUX REDHAT

A ferramenta Nessus foi utilizada para a identificação de vulnerabilidades no

sistema Linux RedHat. Na figura 4.1, é apresentado o resultado da varredura

realizada pelo Nessus no sistema operacional vulnerável.

Figura 4.1 – Varredura utilizando Nessus Fonte: Elaborada pelos autores, 2013

Page 50: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

50

Na figura 4.1, são apresentadas 86 vulnerabilidades identificadas pelo Nessus

e essas vulnerabilidades são classificadas nos níveis crítico, alto, médio e baixo.

Várias dessas vulnerabilidades foram identificadas em serviços como SSH e

Apache. Desse modo, o próximo passo foi a escolha de uma dessas

vulnerabilidades para a realização de uma pesquisa com foco no ganho de acesso

ao sistema.

Segundo Assunção (2002), o SSH é um software que pode ser usado para

conexão remota com criptografia dos dados e atualmente é muito usado em

sistemas Linux.

Ataques a vulnerabilidades de nível crítico possuem mais chances de serem

bem sucedidos. Desse modo, nesta seção, foram realizados ataques utilizando as

ferramentas Hydra-gtk e Medusa contra o serviço SSH. Na figura 4.3, são

apresentadas as vulnerabilidades de nível crítico presentes no serviço SSH.

Figura 4.2 – Vulnerabilidades SSH Fonte: Elaborada pelos autores, 2013

Como citado anteriormente, o serviço SSH é uma importante ferramenta para

a administração de Redes. Porém, caso este serviço esteja mal configurado ou

desatualizado, pode permitir o comprometimento do sistema por atacantes.

Page 51: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

51

A vulnerabilidade OpenSSH <3.1 Channel Code Off by One Remote Privilege

Escalation, topo da lista, foi a primeira a ser testada. Na figura 4.4, é mostrada a

descrição da vulnerabilidade, exploit disponível para ataque e solução para a

mesma.

Figura 4.3 – Descrição Vulnerabilidade SSH Fonte: Elaborada pelos autores, 2013

A partir das informações apresentadas pelo Nessus, iniciaram-se diversas

pesquisas para o ganho de acesso ao servidor. As primeiras pesquisas foram

realizadas tendo como referência a descrição do exploit apontado pelo Nessus, e a

informação de que o exploit não se encontra em uma versão grátis foi obtida. Desse

Page 52: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

52

modo, mais pesquisas tendo como base apenas o nome da vulnerabilidade foram

realizadas, considerando que o serviço SSH está vulnerável, encontrou-se a

possibilidade de um ataque muito utilizado por invasores, a força bruta, e a

ferramenta Hydra-gtk pôde ser testada.

A ferramenta Hydra-gtk faz parte do pacote de ferramentas do Backtrack e

sua função é recuperar senhas de usuários por meio do serviço ssh e diversos

outros protocolos, por meio de força bruta. Segundo Assunção (2002), o ataque

força bruta consiste em utilizar um programa específico que tenta realizar a conexão

com um sistema alvo, por meio de muitas combinações de senhas. Um arquivo com

milhões de senhas, denominado wordlist, pode ser utilizado, e o software irá tentar

se conectar por meio de cada senha presente no arquivo, ou o software fará uso de

recursos para gerar combinações de senhas, até que a senha correta seja

encontrada. Este ataque é um dos mais eficientes e também pode ser um dos mais

demorados, o tempo que será gasto para o ganho de acesso depende do poder de

processamento que está sendo usado no ataque.

Antes da realização do ataque, a ferramenta nmap foi utilizada para confirmar

se a porta 22, que corresponde ao serviço ssh, estava realmente aberta para

conexão. Na figura 4.5, é mostrado o resultado obtido após a execução da

ferramenta nmap contra o ip do servidor alvo 192.168.50.10.

Figura 4.4 – Comando Nmap 192.168.50.10 Fonte: Elaborada pelos autores, 2014

Page 53: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

53

Com a porta 22 aberta e o serviço ssh em execução no alvo, o hydra foi

colocado a prova. Para acessar a ferramenta o caminho a ser seguido a partir do

desktop é, Applications - Backtrack - Privilege Escalation - Password Attacks - Online

Attacks - Hydra gtk. Na figura 4.6, é apresentada a tela inicial com o alvo

192.168.50.10 e com a porta 22 e o protocolo ssh já selecionados.

Figura 4.5 – Tela inicial do Hydra com alvo, porta e protocolo definidos Fonte: Elaborado pelos autores, 2014

A próxima etapa foi realizada na aba passwords ao definir o nome do usuário

a ser testado e o caminho do arquivo texto da wordlist. O usuário utilizado foi o root,

por ser um usuário previamente conhecido e estar presente em todas as

distribuições Linux. A wordlist utilizada está no caminho /root/wordlist13.txt. Na figura

4.7 é apresentada a inserção dos dados nos campos username e Password List.

Page 54: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

54

Figura 4.6 – Aba passwords do Hydra com usuário e wordlist definidos Fonte: Elaborado pelos autores, 2014

Após definidas as configurações para o ataque na aba Password, deve-se

iniciar o ataque no botão start localizado na aba também identificada como Start.

Nas abas Tuning e Specific não é necessário fazer alterações.

Com todo o processo executado corretamente o resultado obtido é o

mostrado na figura 4.8. Além da senha recuperada, também é mostrada as demais

senhas contidas na wordlist que foram testadas com o usuário root até que a correta

fosse encontrada.

Page 55: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

55

Figura 4.7 – Aba Start com os resultados obtidos e senha capturada Fonte: Elaborado pelos autores, 2014

Com a senha recuperada, o ataque está quase finalizado, faltando apenas

testar a conexão com o usuário e senha indicados pelo hydra. Na figura 4.9 é

mostrada a conexão e o acesso efetuado com sucesso utilizando o usuário "root" e a

senha "seglin".

Figura 4.8 – Demonstração do acesso realizado com sucesso Fonte: Elaborado pelos autores, 2014

Page 56: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

56

O sucesso na conexão demonstra uma fragilidade no serviço SSH que pode

ser corrigida com uma versão atualizada do serviço, que será mostrado no item 4.3

deste capítulo, ou com a configuração que ofereça mais segurança ao sistema.

O ataque com o exploit Hydra é muito eficaz quando se sabe quais usuários

existem no servidor, ou quando o root está liberado para acesso remoto via ssh. Mas

quando não se sabe quais usuários existem no sistema, uma opção para o ataque

via ssh é a ferramenta Medusa, também disponível nas distribuições do Backtrack. O

funcionamento do Medusa é também através de força bruta, fazendo a comparação

do usuário e senha, porém com vantagem e diferencial, a opção de não saber quais

usuários o alvo possui. Utiliza também wordlists e faz a comparação de palavras

existentes testando-as como usuários e senhas, podendo usar duas listas distintas

ou apenas uma.

A ferramenta nmap já foi executada anteriormente, e mostrou a porta 22

disponível para conexão, mas para o ataque por meio da ferramenta Medusa, é

necessário se saber qual a versão do serviço SSH. Na figura 2.10, é mostrada a

execução da ferramenta NetCat para a recuperação da versão do serviço SSH.

Figura 4.9 – Comando nc 192.168.50.10 22 com a versão do serviço Fonte: Elaborado pelos autores, 2014

Ao se obter a versão do ssh atualmente utilizado pelo servidor, já se tem

todas informações necessárias para o uso da ferramenta Medusa. Existem várias

opções de sintaxes de comando para o seu uso, porém a abordada no trabalho foi o

comando medusa -M ssh m BANNER:SSH-2.0-OpenSSH_2.9.p2 -h 192.168.50.10 -

U wordlist13.txt -P wordlist13.txt | grep SUCCESS. É importante ressalvar que o

comando deve ser executado exatamente como descrito, caracteres maiúsculos e

minúsculos, caso contrário sua eficácia não será satisfatória. O tempo de espera até

que a ferramenta encontre o usuário e senha válidos depende do tamanho da

wordlist e também dos passos terem sidos efetuados com sucesso. Com todos os

passos seguidos corretamente o comando retorna algo como o apresentado na

figura 4.11, com todos os usuários e senhas encontradas na word list utilizada no

ataque.

Page 57: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

57

Figura 4.10 – Resultados obtidos com sucesso através da ferramenta medusa Fonte: Elaborado pelos autores, 2014

Como resposta ao ataque, a ferramenta retornou os usuários "teste" e "admin"

e suas respectivas senhas "fatec" e "seglin". Em posse dos usuários e senhas, a

conexão ao servidor pode ser feita.

Nas figuras 4.12 e 4.13, são apresentadas as conexões efetuadas com

sucesso através dos usuários obtidos com a ferramenta.

Figura 4.11 – Conexão do usuário teste Fonte: Elaborado pelos autores, 2014

Figura 4.12 – Conexão do usuário admin Fonte: Elaborado pelos autores, 2014

O comando para as conexões com os usuários encontrados,

respectivamente, são ssh [email protected] e ssh [email protected]. O

usuário root não foi encontrado no ataque com a wordlist utilizada, porém a

quantidade de wordlists disponíveis para download é grande, podendo-se fazer o

ataque com outras. Mesmo com apenas o acesso como usuário comum, entrar no

servidor já se torna um passo importante para atacantes mal intencionados, pois

com acesso local ao sistema as possibilidades de ataques se multiplicam.

Page 58: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

58

4.2 TESTES DE PENETRAÇÃO NO WINDOWS SERVER 2003

Com intuito de mostrar que as vulnerabilidades estão presentes em todas as

plataformas, também foram feitos testes de penetração no servidor com o Windows

Server em execução, com o endereço IP 192.168.50.6. Como padrão, o primeiro

passo é fazer a varredura de vulnerabilidades com o Nessus.

Na figura 4.13, são apresentadas as vulnerabilidades detectadas pelo

Nessus.

Figura 4.13 – Vulnerabilidades do servidor em execução no Windows Server 2003 Fonte: Elaborado pelos autores, 2014

Observando a figura 4.13, nota-se que a maioria das vulnerabilidades está

com o nível máximo de alerta do Nessus, ou seja, nível crítico. No entanto a

vulnerabilidade escolhida para o ataque é a MS08-067: Microsoft Windows Server

Service Crafted RPC Request Handling Remote, em destaque na figura.

Page 59: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

59

As informações como descrição, solução e exploits em relação a

vulnerabilidade são apresentadas na figura 4.14 e são destacadas.

Figura 4.14 – Informações sobre a vulnerabilidade Fonte: Elaborado pelos autores, 2014

A vulnerabilidade mostra que se trata de uma falha que pode ser atacada por

um exploit capaz de conseguir comandar o host remotamente. Nas informações

também são mostradas algumas sugestões de quais exploits utilizar, sendo que o

Metasploit está incluso entre eles e como é um pacote contido por padrão no

Backtrack, será o utilizado. Para acessar o Metasploit, abra um terminal e dê o

comando msfconsole.

Page 60: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

60

Após o comando executado, demorará alguns segundos até que abra o

console do Metasploit. A figura 4.15 ilustra a tela inicial do Metasploit. O Metasploit

utiliza conjuntos de caracteres colocados em pontos da tela com intuito de formar

ilustrações, na figura utilizada no trabalho é um coelho, porém são várias ilustrações

que aparecem de forma randômica, então não é de se preocupar caso apareça

imagem diferente no próximo acesso ao Metasploit.

Figura 4.15 – Tela inicial do Metasploit Fonte: Elaborado pelos autores, 2014

Com o Metasplot em execução, uma boa dica para se achar qual exploit se

adequa a vulnerabilidade, é fazer uma busca com as suas iniciais com o comando

search, como mostra a figura 4.16.

Figura 4.16 – Resultado da busca de exploits com o comando search Fonte: Elaborado pelos autores, 2014

Page 61: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

61

Como resultado tem-se apenas um exploit, que ao observar sua descrição é

exatamente do que se trata a vulnerabilidade. O exploit ms08_067_netapi abrirá

uma sessão por onde é possível executar comandos como se estivesse utilizando a

própria máquina alvo.

A preparação do exploit para o ataque é uma parte muito importante, pois

definem os parâmetros de ataque, e caso seja feita de maneira errada, o ataque

provavelmente não terá êxito.

A figura 4.17 ilustra a sequência de comandos para definição dos parâmetros

de ataque do exploit.

Figura 4.17 – Ajuste de parâmetros para o exploit Fonte: Elaborado pelos autores, 2014

Para definir o exploit a ser utilizado o comando é o use, que na situação do

trabalho é use exploit/windows/smb/ms08_067_netapi. Em conjunto com o exploit é

necessário a utilização de um payload. O payload abrirá uma conexão reversa,

deixando o servidor com uma porta de saída conectada ao host atacante e caso a

porta de entrada no servidor seja fechada, não se perde o comando sobre o alvo,

pois haverá a conexão na porta de saída. Para definir o payload a ser utilizado o

comando é set payload windows/shell/reverse_tcp. O próximo passo é definir o IP

do alvo com o comando set RHOST 192.168.50.6. Também se faz necessário

indicar na configuração o IP do atacante com o comando set LHOST 192.168.50.90.

Com todas as configurações corretamente ajustadas, pode-se disparar o ataque

com o comando exploit.

A figura 4.18 ilustra um ataque bem sucedido já com o acesso ao alvo, pode-

se executar comandos, excluir ou modificar pastas e arquivos, etc. Caso a intenção

seja outra, pode-se usar outra vulnerabilidade ou outro payload, porém basicamente

todos são para o mesmo fim, acesso privilegiado ao sistema alvo.

Page 62: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

62

Figura 4.18 – Sucesso no ataque, sistema já invadido Fonte: Elaborado pelos autores, 2014

Com o comando ipconfig pode-se observar as configurações de IP do alvo, o

que também evidencia que o ataque obteve sucesso, como ilustra a figura 4.19.

Figura 4.19 – Ajuste de parâmetros para o exploit Fonte: Elaborado pelos autores, 2014

4.3 IMPORTÂNCIA DA ATUALIZAÇÃO DOS SERVIÇOS

Para evidenciar a importância de se manter os serviços executados pelo

servidor com uma boa configuração de segurança, foram feitas as mesmas

tentativas de intrusão no servidor DNS da Fatec Lins que possui o serviço SSH

atualizado.

Page 63: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

63

Figura 4.20 – Serviço SSH mais atual no servidor DNS da Fatec Lins Fonte: Elaborado pelos autores, 2014

A figura 4.20 mostra uma versão mais recente em comparação com a versão

sendo executada pelo Red Hat. O serviço OpenSSH 5.4p1, executando no servidor

DNS da Fatec, tem, por padrão, uma correção na sua configuração muito

importante. O ataque com o Hydra foi utilizado seguindo os passos descritos

anteriormente nesse capítulo. O usuário root foi testado primeiramente e a figura

4.21 mostra seus resultados. Respectivamente, os usuários Admin e Teste foram

atacados também e com os mesmos resultados como aparece nas figuras 4.22 e

4.23.

Figura 4.21 – Resultado com usuário Root no servidor DNS da Fatec Lins Fonte: Elaborado pelos autores, 2014

Page 64: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

64

Figura 4.22 – Resultado com usuário Admin no servidor DNS da Fatec Lins Fonte: Elaborado pelos autores, 2014

Figura 4.23 – Resultado com usuário Teste no servidor DNS da Fatec Lins Fonte: Elaborado pelos autores, 2014

Page 65: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

65

Como pode-se notar, as senhas dos usuários Root, Admin e Teste não foram

encontrados; a mensagem [ERROR] could not connect to target port 22 é mostrada

após a tentativa de número 16 no ataque. Isso quer dizer que não se pôde conectar

ao alvo pela porta 22. Após constatar a mesma mensagem nas mesmas condições

com os testes feitos com os 3 usuários (Root, Admin e Teste), a conclusão da

correção de segurança é clara se comparado com o resultado obtido no ataque ao

Red Hat. Como o Hydra usa o método de força bruta, o serviço SSH presente no

servidor DNS da Fatec Lins fecha a porta 22 a partir da tentativa 17, devido muitas

tentativas erradas vindas do mesmo IP. Outros métodos ou tipos de ataque podem

ser utilizados para se conseguir acesso, pois não existe sistema 100% seguro,

porém demandará de mais tempo para se obter a invasão.

Page 66: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

66

CONCLUSÃO

Atualmente as empresas buscam soluções para melhorias de segurança em

suas redes e em seus servidores, com o objetivo de evitar ataques e, como

consequência, manter a integridade dos dados, pois quando hackers conseguem

tornar um ataque bem sucedido, o prejuízo pode ser fatal para uma empresa. Com

base nesse fato, o objetivo deste trabalho foi aplicar a metodologia do teste de

penetração, para identificação de falhas em ambientes reais de servidores de uma

instituição, e para o aprendizado deste procedimento.

No processo de desenvolvimento do trabalho foram encontradas várias

dificuldades, como a falta de referências e ferramentas para que se pudesse

avançar nas etapas do teste de penetração. Porém, por meio das ferramentas

encontradas, dados importantes foram obtidos e, dessa forma, pesquisas foram

realizadas com base nesses dados e foi possível se chegar a etapa de ganho de

acesso.

O teste de penetração foi realizado com sucesso e concluiu-se que os

servidores da faculdade de tecnologia de Lins possuem vulnerabilidades críticas. Por

meio dessas vulnerabilidades críticas não foi possível se chegar à etapa de ganho

de acesso, contudo, informações confidenciais foram recuperadas do banco de

dados quando o ataque SQL Injection foi realizado. Devido ao fato de não ter sido

possível se chegar à etapa de ganho de acesso quando o teste foi realizado nos

servidores da Fatec, servidores vulneráveis foram colocados à prova. Assim sendo,

o ganho de acesso foi consolidado após pesquisas terem sido feitas com base nas

falhas existentes nos servidores vulneráveis.

A área de segurança de informação é muito ampla, com base neste trabalho

seria possível estender um estudo com objetivo de extinguir as vulnerabilidades

existentes nos servidores ou também estender um estudo para a realização de

ataques mais eficientes e até mesmo em serviços que não se encontram

vulneráveis. Informações essenciais para pesquisas podem ser obtidas por meio de

livros, Internet e Deep Web.

Page 67: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

67

REFERÊNCIAS BIBLIOGRÁFICAS ASSUNÇÃO, M. F. A. Guia do Hacker Brasileiro. 2002. Disponível em: http://zip.net/bjm8gP. Acesso em: 08 abr 2014. DEBIAN. Securiting Debian Manual. Disponível em: <https://www.debian.org/doc/manuals/> Acesso em: 10 abr. 2014. ENGEBRETSON, P. The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy. Waltham. Elsevier, 2011. GIAVAROTO, S. C. R.; SANTOS, G. R. Backtrack Linux: Auditoria e Teste de Invasão em Redes de Computadores. Rio de Janeiro: Ciência Moderna, 2013. IRONGEEK. Manual Reference Pages – Amap. Disponível em: <http://www.irongeek.com/i.php?page=backtrack-3-man/amap> Acesso em: 10 abr. 2014. MAIA, L. P. Arquitetura de Redes de Computadores. Rio de Janeiro: LTC, 2009. NMAP. Guia de Referência do Nmap. Disponível em: <http://nmap.org/man/pt_BR/> Acesso em: 10 abr. 2014. PAULI, J. Introdução ao Web Hacking. São Paulo: Novatec, 2014. SECTOOLS. Top 125 Network Security Tools. Disponível em: <http://sectools.org/tag/web-scanners/> Acesso em: 10 abr. 2014. TENABLE. Nessus Documentation. Disponível em: <http://www.tenable.com/products/nessus/documentation> Acesso em: 10 abr. 2014. TENENBAUM, A. S. Redes de Computadores. 4. Ed. Rio de Janeiro: Elsevier Editora Ltda, 2003. TORRES, G. Redes de Computadores. Rio de Janeiro: Novaterra, 2009. ULBRICH, H. C.; VALLE, J. D. Universidade Hacker. 4. Ed. São Paulo. Digerati Books, 2004. WILHELM, T. Professional Penetration Testing: Creating and Operating a Formal Hacking Lab. Burlington: Elsevier, 2010.

Page 68: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA …

68