Introdução ao Pentest

Page 1

Daniel Moreno

Novatec


© Novatec Editora Ltda. 2015. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Assistente editorial: Priscila A.Yoshimatsu Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Mari Kumagai Capa: Carolina Kuwabata ISBN: 978-85-7522-431-1 Histórico de impressões: Maio/2015

Primeira edição

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec


capítulo 1

Introdução à segurança da informação e ao Kali Linux

Antes de iniciarmos os estudos sobre pentest e Kali Linux, é necessário entendermos conceitos fundamentais sobre segurança da informação, para que o leitor tenha um aprendizado mais abrangente sobre segurança digital, tendo em vista que o pentest é apenas uma pequena parte quando o assunto é segurança de dados.

1.1 Princípios de segurança da informação e proteção de dados A segurança da informação baseia-se nos seguintes princípios: • Autenticidade – Define que a informação está sendo enviada por uma fonte legítima e segura, e não foi interceptada e alterada por atacantes. Um exemplo de quebra de autenticidade são ataques MitM (Man-in-the-Middle) em que o atacante faz a interceptação e a alteração dos dados antes de retransmiti-los ao destinatário. • Confidencialidade – Define que somente pessoas que tenham as permissões corretas devem acessar uma determinada informação. Exemplos de quebra de confidencialidade: escalonamento de privilégios, ataques de quebra de senhas, ataques Man-in-the-Middle, uso de cavalos de Troia etc. • Disponibilidade – Define que a informação deverá estar sempre disponível. Um exemplo de quebra de disponibilidade seria um ataque de DoS (Negação de Serviço). • Integridade – Define que a informação mantenha-se íntegra e inalterada. Um exemplo de quebra de integridade seria quando um funcionário tenta alterar a planilha de pagamentos para receber valores superiores aos que recebe. • Legalidade – Define se a informação está de acordo com a legislação de um país. Os princípios da segurança da informação podem ser comprometidos com possíveis ameaças, que podem ser classificadas em físicas e lógicas.

17


18

Introdução ao Pentest

• Ameaças físicas incluem todo e qualquer processo de natureza física que possa comprometer os princípios da segurança da informação. Exemplos: alagamentos, tempestades, furacões, raios, desabamentos etc. • Ameaças lógicas incluem todo e qualquer processo de natureza lógica que possa comprometer os princípios da segurança da informação. Exemplos: vírus, ataques de quebra de senhas, escuta de dados (sniffers) etc. Visando diminuir as ameaças, há uma série de mecanismos de segurança que podem ser utilizados de acordo com o tipo de ameaça encontrada, por exemplo: a adoção de chaves, fechaduras e câmeras, e localização geográfica favorável (sem terremotos, tremores e/ou desastres naturais), para ameaças físicas; e sistema de criptografia, antivírus, firewall, conscientização dos funcionários sobre perigos e fraudes digitais, para ameaças lógicas. Além dos sistemas citados, há diversos serviços relacionados à segurança da informação com o intuito de mitigar as ameaças às quais as redes corporativas estão expostas diariamente. Alguns serviços que valem a pena ser citados são a análise de vulnerabilidade, a perícia forense, a adoção de políticas de segurança (Normas ISO) e o teste de intrusão (pentest). Antes de entrarmos no assunto de pentest, vale a pena citar os principais meios para mitigar as ameaças digitais. • Análise forense – Consiste em utilizar técnicas para rastrear o atacante. Lembre-se de que: uma invasão sempre vai gerar rastros. Então, por meio da análise forense, é possível rastrear o atacante. • Hardening – Consiste na implementação de máquinas seguras. Por exemplo, por meio do hardening, módulos conhecidamente vulneráveis são desabilitados, e uma análise é realizada para constatar se aquele servidor utiliza nomes de usuários e senhas (credenciais) padrões de fábrica etc. O intuito do hardening é tornar uma máquina mais segura e mais difícil de ser invadida. Lembre-se de que: não existe servidor 100% seguro, mas o trabalho do hardening é dificultar ao máximo a atuação de criminosos digitais. • Revisão do código-fonte – Muito parecida com o hardening, a ideia da revisão do código-fonte é garantir segurança ao código-fonte da aplicação. A revisão do código-fonte pode ser realizada em plataforma web (como revisar o código-fonte de uma página PHP) ou mesmo em aplicativos (como revisar o código-fonte de um aplicativo executável). Na maioria dos casos, quando um aplicativo necessita ter seu código-fonte revisado (como um aplicativo executável), o código-fonte não é fornecido ao auditor.


Capítulo 1 ■ Introdução à segurança da informação e ao Kali Linux

19

• Desenvolvimento de exploits comerciais – Exploits são programas que exploram falhas em outros softwares. Com o intuito de testar a segurança de uma aplicação, o exploit atua como uma prova de conceito de que a vulnerabilidade existe e pode ser explorada. Há exploits que causam paralisação do serviço ou, até mesmo, garantem o acesso ao sistema operacional do alvo. Exploits serão explicados no decorrer do livro. • Análise e detecção de intruso – Consiste apenas no monitoramento da rede em busca de possíveis intrusos. Diferentemente do hardening e do pentest, a análise apenas faz o monitoramento da rede. Caso exista algum atacante, todas as suas atividades e passos serão registrados. • Normas ISO – As normas ISO têm como objetivo garantir padrões e qualidade para uma melhor gestão e administração do negócio. Algumas das normas voltadas à segurança da informação são: • BS779-2 – Norma antiga relacionada a práticas de gerenciamento da segurança da informação. Substituída pela ISO 27001. • ISO 27001 – Norma mais atual que substituiu a norma BS7799-2 e está relacionada a padrões da segurança da informação. • ISO 27002 – Código de boas práticas que substituiu a norma ISO 17799:2005. • ISO 27003 – Diretrizes para implementar políticas para gestão de segurança da informação. • ISO 27004 – Práticas para relatórios. • ISO 27005 – Práticas para sistema de controle. • ISO 27006 – Práticas para requisitos. • Análise de vulnerabilidades – A análise de vulnerabilidades é similar ao pentest, pois também realiza uma auditoria para encontrar falhas; embora ela faça somente um levantamento das vulnerabilidades, e algumas etapas não são executadas, para não comprometer o sistema auditado. • Pentest –Auditoria que tem como objetivo detectar de maneira ativa falhas e vulnerabilidades no sistema. Vai além de apenas identificar erros. Durante um pentest, são testados e utilizados exploits que mostram a prova de conceito que a vulnerabilidade pode ser explorada. Os principais tipos de pentest que podem ser efetuados são:


20

Introdução ao Pentest

• Redes cabeadas – Foco do livro. São utilizadas ferramentas para descobrir e mapear falhas em redes cabeadas de computadores. • Redes sem fio – Testa se uma rede sem fio possui vulnerabilidades. Uma rede sem fio mal configurada pode permitir acessos não autorizados. • Aplicativos web – Testa a segurança em websites. • VoIP – Testar a conectividade e a segurança em servidores VoIP (Voz sobre IP). • Mobile – Testar a segurança em aplicativos móveis, seja realizando o pentest ou desenvolvendo aplicativos seguros ou maliciosos. • Testes de stress – Consiste em sobrecarregar o servidor com excesso de dados, para determinar se ele aguenta a sobrecarga.

1.2 Conhecendo o Kali Linux O Kali Linux é um sistema operacional, baseado no Debian, destinado a testes de penetração. Fornece diversas ferramentas para auditoria e realização de teste de segurança em redes de computadores, permitindo descobrir e explorar diversos tipos de vulnerabilidades. As ferramentas contidas no Kali Linux podem ser categorizadas em1: • Information Gathering – Ferramentas para coletar informações. Por exemplo: enumeração da rede com sua topologia por meio de DNS, mapeamento da rota de dados, coleta de emails, websites, computadores online, fingerprinting, análise do protocolo SMB, SNMP, VoIP etc. • Vulnerability Analysis – Ferramentas para analisar vulnerabilidades em software e/ou hardware. Por exemplo: análise em aparelhos Cisco, bancos de dados, scanners automatizados de vulnerabilidades etc. • Web Application – Ferramentas para analisar vulnerabilidades em ambiente web. Por exemplo: identificação e exploração de servidores CMS, ferramentas de fuzzing para web, proxies para análise de dados, crawlers e scanners automatizados. • Password Attack – Ferramentas para quebra de senhas. As ferramentas podem ser tanto offline (por exemplo, ataque contra hash de senhas) quanto online (ataque contra uma página de autenticação web). 1 Categorizada segundo o livro Backtrack 4: Assuring Security by Penetration Testing, p. 10.


Capítulo 1 ■ Introdução à segurança da informação e ao Kali Linux

21

• Wireless Attacks – Ferramentas para análise do tráfego em redes sem fio (wireless). • Exploitation Tools – Ferramentas para explorar as vulnerabilidades encontradas nas etapas anteriores. Por exemplo: frameworks para teste e desenvolvimento de exploits e XSS, teste de equipamentos Cisco e engenharia social. • Sniffing/Spoofing – Ferramentas para capturar tráfego de informações tanto locais quanto remotas. Nesta categoria encontram-se os poderosos sniffers. • Maintaining Access – Ferramentas usadas com o intuito de permitir um acesso futuro, mesmo que o sistema-teste já tenha sido explorado e que a antiga falha explorada tenha sido corrigida. Backdoors são encontradas aqui, tanto para sistema operacional quanto para web. Ferramentas de tunneling para “furar” regras de firewall também se encontram nesta categoria. • Stress Testing – Ferramentas para sobrecarregar o servidor com excesso de dados. Não têm como objetivo o acesso não autorizado, e sim apenas o envio de uma enxurrada de pacotes para causar lentidão no servidor. Embora pareçam inofensivas, as ferramentas desta categoria podem ser utilizadas contra servidores remotos com o intuito de causar prejuízos financeiros. Já imaginou um serviço de banco online congestionado? Há outras categorias de ferramentas, para análise forense, engenharia reversa, análise de hardware, Android, mas fogem do escopo do livro.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.