CEH – Ethical Hacking – Parte 1

Fala pessoal, hoje nós iremos dar início a série CEH, na semana passada eu dei uma pequena introdução do que é a certificação, algumas características e etc; mas nada muito aprofundado. Hoje nós iremos começar a ver o conteúdo propriamente dito. Vale lembrar que a certificação é 100% teórica, por isso os posts serão bem mais voltados para o lado teórico também (e longos), mas vou tentar passar alguma coisa prática sempre que possível. Além disso vou passar um pequeno questionário de perguntas no final de cada post, as respostas sempre virão no post seguinte!

Vale lembrar também que algumas coisas que eu vou falar aqui não são seguidas ao pé da letra no dia a dia de um pentester, mas essa é a metodologia seguida pela EC-Council, por isso eu não posso ficar destorcendo muito as coisas. Até por que essas coisas tem um alta chance de cair como pergunta na prova, então você precisa saber 😉

Visão geral sobre SI

Segurança da informação significa proteger e defender qualquer tipo de informação sensível de acessos não autorizados, divulgação não autorizada, alteração ou manipulação indevida ou perca de dados.

A segurança da informação não está confinada a sistemas de computacionais, nem à informação em formato eletrônico. Ela se aplica a todos os aspectos de proteção de dados ou informação em qualquer forma. O nível de proteção, deve em qualquer situação corresponder ao valor dessa informação e aos prejuízos que poderiam decorrer do uso impróprio da mesma. É importante lembrar que a segurança da informação também cobre toda a infraestrutura que permite o seu uso, como processos, sistemas, serviços, tecnologias e outros.

Um gestor de segurança da informação (Security Officer) deve estar atento a itens como: ambiente, tecnologia, processos e pessoas. Em cada uma dessas vertentes surgem diversas iniciativas, por exemplo: políticas, normas e procedimentos, controle de acesso (físico e lógico), auditoria, questões legais, continuidade de negócios, criptografia, gerenciamento de incidentes, segurança da rede, conscientização dos usuários, dentre outros.

O importante é deixar claro que a segurança da informação não está ligada somente a ações de hackers, um vírus que infectou uma estação de trabalho ou um patch que não foi aplicado a um servidor da rede. Embora haja hoje um bom nível de consciência de empresas e consumidores a respeito dos perigos dos vírus e dos ataques de hackers, em alguns casos as ações para evitar os problemas não acontecem como deveriam. Ainda é comum ver empresas que compram equipamentos e softwares de última geração, mas cometem erros básicos de configuração ou não se preocupam como deveriam com as atualizações.

Os programas de computador são como carros: precisam de manutenções, revisões e cuidados constantes. Ter um software de ponta e não cuidar do seu uso, manutenção e configuração é como comprar um carro blindado e andar de janela aberta ou portas destravadas. A grande maioria dos problemas de segurança poderiam ser evitados se os programas estivessem devidamente configurados e atualizados.

Mecanismos de segurança

CONTROLES FÍSICOS: São barreiras que limitam o contato ou acesso direto a informação ou a infraestrutura (que garante a existência da informação) que a suporta. Existem mecanismos de segurança que apoiam os controles físicos como portas, trancas, paredes, blindagem, guardas e etc.

CONTROLES LÓGICOS: São barreiras que impedem ou limitam o acesso à informação que está em ambiente controlado, geralmente eletrônico e que, de outro modo, ficaria exposta a alteração não autorizada por um elemento mal-intencionado. Existem mecanismos de segurança que apoiam os controles lógicos:

Mecanismos de encriptação: Permitem a transformação reversível da informação de forma a torná-la ininteligível a terceiros. Utiliza-se para tal, algoritmos determinados e uma chave secreta para a partir de um conjunto de dados não criptografados, produzir uma sequência de dados criptografados.

Assinatura digital: É um método de autenticação de informação digital tipicamente tratada como substituta à assinatura física, sendo que é utilizada quando não existe a necessidade de ter uma versão em papel dos documentos. Embora existam analogias, existem diferenças importantes. O termo assinatura eletrônica, por vezes confundido, tem um significado diferente: refere-se a qualquer mecanismo, não necessariamente criptográfico, para identificar o remetente de uma mensagem eletrônica.

Mecanismos de garantia da integridade da informação: Usando funções de “hashing” a integridade é garantida através da comparação do resultado do teste local com o divulgado pelo autor.

Integridade: Medida que garante que um serviço/informação é genuíno, é o termo usado para indicar que os mesmos não podem sofrer modificações não autorizadas. Tais modificações, quando não planejadas, podem gerar informações incorretas e comprometer a integridade de todo o sistema.

Mecanismos de controle de acesso: Palavras-chave, sistemas biométricos, firewalls, cartões inteligentes.

Protocolos seguros: Uso de protocolos que garantem um grau de segurança e usam alguns dos mecanismos citados aqui.

Ameaças à segurança da informação

As ameaças se aproveitam das falhas de segurança da organização que são consideradas como ponto fraco, provocando possíveis danos, perdas e prejuízos aos negócios da empresa. Elas são constantes e podem acontecer a qualquer momento.

Ameaças naturais – Desastres naturais, enchentes, terremotos, tsunamis e vulcões.

Ameaças físicas – Perda ou dano de recursos computacionais, invasão física, sabotagem, espionagem e erros em geral.

Ameaças humanasHackers, intrusos, engenharia social e falta de conhecimento.

Classificação das ameaças humanas

Ameaças de rede – Coleta de informação, sniffing, spoofing, session hijacking, man-in-the-middle, sql injection, arp poisoning, negação de serviço.

Ameaças de host – Ataques de malware, footprinting do alvo, ataques de senha, DoS, execução de código arbitrário, acesso não autorizado, escalação de privilégio, back door.

Ameaças de aplicação – Validação de data/input, autenticação e autorização, gerenciamento de configuração, divulgação de informação, gerenciamento de sessão, buffer overflow, criptografia, manipulação de parâmetros, manipulação de erros.

A triade da segurança

A tríade CIA (Confidentiality, Integrity and Availability) representa os principais atributos que, atualmente, orientam a análise, o planejamento e a implementação da segurança para um determinado grupo de informações que se deseja proteger. Outros atributos importantes são não-repúdio (irretratabilidade), autenticidade e conformidade. Com a evolução do comércio eletrônico e da sociedade da informação, a privacidade é também uma grande preocupação.

A tecnologia está evoluindo de forma espetacular. Como resultado, os novos produtos que chegam ao mercado tendem a ser cada vez mais fáceis de usar, ou seja, focando na usabilidade ao invés da segurança. Tecnologias originalmente desenvolvidas com propósitos acadêmicos não evoluem da mesma maneira que o perfil dos novos usuários.

Além disso, durante essa evolução, os designers de sistemas se descuidam da segurança com frequência. Como os computadores são usados para atividades do dia-a-dia, está se tornando cada vez mais difícil para os administradores e outros profissionais de segurança alocar recursos exclusivamente para a segurança dos sistemas. Isso inclui o tempo necessário para verificar arquivos de log, detectar vulnerabilidades e aplicar patches de segurança.

Atividades rotineiras consomem o tempo dos administradores, deixando com isso menos tempo para a administração de vigilância. Existe pouco tempo para implantar medidas e recursos de segurança em uma base regular e inovadora. Isso tem aumentado a demanda por profissionais dedicados a segurança para monitorar e defender os recursos de tecnologia da informação e comunicação.

Tipos de Ataques

Os ataques à computadores são ações praticadas por softwares projetados com intenções maliciosas. As consequências são bastante variadas, algumas têm como instrução infectar ou invadir computadores alheios para danificar seus componentes de hardware ou software através da exclusão de arquivos, alterar o funcionamento da máquina ou até mesmo deixar o computador vulnerável a outros tipos de ataques.

Porém existem os que visam os dados do usuário, com a captura de informações sigilosas (senhas e números de cartões de créditos, entre outros), além da captura de informações de caráter íntimo. De acordo com a EC-Council os principais tipos de ataques existentes são:

Operating system attacks – Os atacantes procuram por vulnerabilidades no sistema operacional.

Applications-level attacks – Softwares de aplicação vêm com milhares de funcionalidades e essas funcionalidades podem conter vulnerabilidades que podem se tornar a origem de um ataque.

Misconfigurations attacks – Muitos administradores não tem o conhecimento necessário para controlar ou resolver os problemas de uma rede, o que pode levar a erros de configuração. Tais erros podem gerar vulnerabilidades que podem comprometer o sistema.

Shrink wrap code attacks – Os atacantes exploram configurações padrão de códigos e bibliotecas utilizadas indevidamente por programadores para reduzir o tempo de trabalho, muitas vezes os programadores reutilizam bibliotecas e códigos de terceiros sem checar esse código devidamente.

Fases de um ataque

O maior desafio dos responsáveis pela segurança é conseguir pensar como um hacker. Na realidade, as tecnologias usadas pelos hackers são aprimoradas a cada ano, mas as suas metodologias continuam as mesmas há décadas. De acordo com a metodologia utilizada pela EC-Council, existem cinco passos básicos que os atacantes utilizam quando querem comprometer um sistema ou uma rede, essas etapas são:

Reconnaissance – Essa é a fase preparatória onde um atacante ganha o máximo de informações que puder obter antes de iniciar o ataque. Essa fase envolve a busca de informações públicas, mas também pode envolver scanners de rede (passive and active reconnaissance), engenharia social e dumpster diving.

Scanning – Essa é a fase de pre-ataque, nessa fase o atacante utiliza os dados obtidos na fase de reconhecimento para identificar vulnerabilidades específicas. O escâner pode ser considerado uma extensão da fase de reconhecimento.

Gaining access – Essa é a fase mais importante de um ataque. O atacante pode ganhar acesso no nível do sistema operacional, nível de aplicação, ou nível de rede. Uma vez que o atacante ganha o acesso ele pode tentar escalar o privilégio para ter controle total do sistema alvo.

Maintaining access – Uma vez que o atacante ganha acesso ao sistema alvo, ele deve manter o acesso para ações futuras, para isso ele pode utilizar backdoors, rootkities e trojans.

Clearing tracks – Nessa fase o atacante apaga todos os rastros de suas ações dentro do sistema.

Terminologias

Exploit – O termo exploit é utilizado quando qualquer tipo de ataque foi feito em um sistema ou rede. Um exploit pode também ser definido como código malicioso ou comando malicioso.

Vulnerabilidade – Uma vulnerabilidade é uma fraqueza no design de um sistema ou um erro de implementação que pode levar a um evento inesperado e indesejável dentro do sistema, o que pode comprometer a segurança do sistema.

Zero-Day attack – No ataque 0day o atacante explora as vulnerabilidades dentro de um sistema antes que o fornecedor lance uma correção.

Daisy chaining – Ganhar acesso privilegiado a base de dados SQL e depois apagar os rastros do ataque.

Efeitos do hacking nos negócios

De acordo com a pesquisa de segurança realizada pela Symantec no ano de 2012, a informação custa para os negócios ao redor do mundo cerca de U$ 1,1 trilhão anualmente. Atacantes roubam e redistribuem propriedade intelectual dos negócios para ter algum tipo de benefício financeiro. O atacante pode ter algum tipo de benefício, mas por outro lado a empresa vai sofrer perdas financeiras muito maiores e pode além disso, perder ou sofrer algum tipo de impacto no sua reputação.

Uma vez que o atacante ganha controle sobre o sistema de um usuário, ele pode acessar todos os arquivos que estão armazenados no computador, incluindo informação financeira pessoal ou empresarial, números de cartões de créditos, entre diversas outras coisas. Se algumas dessas informações cairem em mãos erradas os prejuízos podem ser gigantescos. Uma organização deve fornecer uma forte segurança para essas informações críticas.

Existem diversas coisas que as organizações podem fazer para proteger a si mesmas e à seus ativos. Conhecimento é a chave para esse problema. Um levantamento do risco predominante em uma organização e como ataques podem potencialmente afetar os negócios é uma forma de determinar qual ponto merece uma maior atenção inicialmente.

Defense-in-Depth

Defense in depth é um conceito de segurança da informação em que várias camadas de controles de segurança são colocadas ao longo de um sistema ou rede. Sua intenção é fornecer redundância no caso de um controle de segurança falhar ou uma vulnerabilidade for explorada. Pode cobrir aspectos de pessoal, procedimentos e físicos para a duração do ciclo de vida do sistema.

A ideia por trás da defesa em profundidade é defender um sistema contra qualquer ataque em particular usando vários métodos independentes. É uma tática concebida pela Agência de Segurança Nacional (NSA), como uma abordagem abrangente à informação e segurança eletrônica.

Defense in depth é originalmente uma estratégia militar que procura atrasar em vez de impedir o avanço de um atacante, cedendo espaço para ganhar tempo. A implementação de mecanismos de proteção, procedimentos e políticas se destina à aumentar a confiabilidade de um sistema de TI, onde várias camadas de defesa impedem a espionagem e ataques diretos contra sistemas críticos.

Em termos de defesa de rede de computadores, as medidas da defesa em profundidade não devem só evitar violações de segurança, mas também detectar e responder a um ataque e assim reduzir e atenuar as consequências de uma violação. Alguns exemplos são:

  • Software antivírus
  • Autenticação
  • Zonas desmilitarizadas (DMZ)
  • Criptografia
  • Firewalls (hardware e/ou software)
  • Hashing passwords
  • Intrusion detection systems (IDS)
  • Logging e Auditing
  • Múltiplo fator de autenticação
  • Scanners de vulnerabilidade
  • Segurança Física
  • Treinamento de conscientização de uso da internet
  • Virtual private network (VPN)
  • Sandboxing
  • Intrusion Protection System (IPS)
Questionário
1. While conducting a pen test, a big-wig in the organization asks if you could do a side job. It turns out that she wants you to compromise the network of a rival company and they are willing to pay a large compensation for the job. Is it ethical or unethical to take this job?

a)Unethical
b)Ethical
2. The penetration testing contract must be drafted by a(n) ____.

a)Client
b)Pen tester
c)Lawyer
d)Notary public
3. White hats use their hacking skills for:

a)Financial gain
b)Defensive purposes
c)Malicious ends
d)To forward a political agenda
4. An ethical hacker has received verbal approval from the client organization's top manager to conduct social engineering as part of a pen test. Is this verbal endorsement enough?

a)No, the CEO should first be consulted
b)Yes, no further approval is needed
c)No, the organization's employees should also be asked for approval
d)No, written approval should be attained
5. It's okay for an ethical hacker be affiliated with a black hat community as long as they don't commit malicious activities while working.

a)FALSE
b)TRUE
6. What is the first step in the pen testing methodology?

a)IDS penetration testing
b)Firewall penetration testing
c)Information gathering
d)Vulnerability analysis

Bem pessoal é isso ai, espero que tenham curtido. Esses posts da série CEH vão ficar bem longos e teóricos, mas a idéia como eu disse é fornecer um material legal para vocês se prepararem para a prova, então não tem muito pra onde fugir. No próximo post da série eu vou passar as respostas desse questionário ai, abraços. Não esqueçam de curtir nossas páginas nas redes sociais, FacebookG+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação do nosso trabalho.

Referências
CEH v9: Certified Ethical Hacker Version 9 Study Guide
CEH v9: Certified Ethical Hacker Version 9 Practice Tests
https://pt.wikipedia.org/wiki/Seguran%C3%A7a_da_informa%C3%A7%C3%A3o
http://www.abntcatalogo.com.br/norma.aspx?ID=306582
https://en.wikipedia.org/wiki/Information_security
https://pt.wikipedia.org/wiki/Confidencialidade
https://pt.wikipedia.org/wiki/Integridade
http://www.abntcatalogo.com.br/norma.aspx?ID=1532
https://pt.wikipedia.org/wiki/ISO/IEC_17799
http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA
https://security.stackexchange.com/questions/24044/what-is-a-shrink-wrap-code-attack
https://www.techrepublic.com/blog/it-security/the-five-phases-of-a-successful-network-penetration/
http://www.wisegeek.org/what-is-information-security.htm
Ricardo Galossi
Siga me

Ricardo Galossi

É um apaixonado por segurança da informação, atua profissionalmente há mais de 7 anos na área de tecnologia da informação, onde é focado em análise de vulnerabilidades e testes de invasão.Criou o blog Guia do TI para compartilhar conhecimento, ajudar os mais novos, incentivar debates e manter a comunidade atualizada com as principais notícias da área de TI.
Ricardo Galossi
Siga me

Últimos posts por Ricardo Galossi (exibir todos)

Ricardo Galossi

É um apaixonado por segurança da informação, atua profissionalmente há mais de 7 anos na área de tecnologia da informação, onde é focado em análise de vulnerabilidades e testes de invasão. Criou o blog Guia do TI para compartilhar conhecimento, ajudar os mais novos, incentivar debates e manter a comunidade atualizada com as principais notícias da área de TI.

Deixe seu comentário