sábado, 28 de fevereiro de 2009

CEH - Cap. 1 - O que é "Hacktivism"?

Hacktivism (não vou me arriscar a traduzir :) ) é a pratica do hacking por uma causa, independente de qual seja. Esses Hackers tem uma agenda social e política. Sua intenção é mandar a sua mensagem através da sua atividade hacker, ganhando assim visibilidade para a sua causa e para eles próprios.

Muitos desses hackers tem como peincipal atividade o defacement, criação de vírus, ataques de negação de serviço (DoS) ou outros ataques destrutivos para ganhar notoriedade para sua causa. O Hacktivism geralmente tem como alvo governo, policia ou qualquer grupo que os mesmos julguem como "bad" ou "wrong".

---------------------------------------------

Eu particularmente não consigo imaginar no Hacking sem uma causa bem definida. Alguém consegue pensar? :)

Até a próxima!

terça-feira, 24 de fevereiro de 2009

CEH - Cap. 1 - Entendendo as diferentes fases envolvidas no "Ethical Hacking" e Listando os seus 5 estágios

Um EH (Ético) deve agir como um MH (Malicioso), ou seja, entender e realizar os mesmos procedimentos. Os passos para se ganhar e manter o acesso a um sistema são 5 e falaremos sobre esses processos a seguir. São eles:
  1. Reconnaissance (Reconhecimento)
  2. Scanning (Sondagem)
  3. Gaining Acces (Obter o acesso)
  4. Maintaining Access (Manter o acesso)
  5. Covering Tracks (Ocultar suas pistas)
Fase 1: Reconhecimento passivo e ativo

Reconhecimento passivo envolve obter informações sobre um alvo em potencial sem que o responsável por ele tenho conhecimento disso. Reconhecimento passivo é tão simple quanto observar um edifício de uma compania para saber a que horas os empregados saem ou entram. Entretanto, na grande maioria das vezes pode ser veito através de mecanismos de busca da Internet, utilizar o Google para obert informaçõe sobre um indivíduo ou uma empresa para obter informações. Esse processo é chamado obviamente de "Obtenção de informação" (gathering information). Engenharia Social (Social Engeneering) e Vasculhar lixeiras (Dumspter Diving) também são considerados uma forma passiva de obtenção de informações (gathering information).

Realizar "sniffing" em uma rede também pode ser considerada uma forma passiva de reconhecimento e pode dar informações úteis como ranges de IP, convenções de nomes, redes ou servidores encondidos e serviços habilitados do host ou da rede. Fazer "sniffing" em uma rede é como monitorar um edifício: Um hacker fica analisando o tráfego e pode saber quando e quias transações ocorrem ou para onde o tráfego está indo.

Reconhecimento ativo implica em sondar a rede para descobrir hosts, endereços IP e serviços de rede. Este procedimento é muito mais fácil de ser detectado e em algumas situações é chamado de "rattling the doorknobs" (uma tradução seria testar as maçanetas). Um reconhecimento ativo dá ao hacker uma idéia de qual a política de segurança adotada na rede ou no host, mas como já dito anteriormente,esse processo aumenta significativamente o risco de ser detectado fazendo algo no mínimo suspeito.

É importante resaltar que ambos tipos de reconhecimento fornecem informações essenciais para qualquer tipo de ataque.

Fase 2: Scanning

O scanning é utilizar as infirmações obtidas na faze anterior para examinar a rede. As ferramentas utilizadas nessa fase são "dialers", "port scanners", "network mappers", "sweepers" e "vulnerability scanners". Os hackers buscam qualquer informação para utilizar em um ataque, como nomes de hosts, endereços IP e contas de usuários.

Fase 3: Gaining Access

Esta é a fase na qual o verdadeiro hacker aparece. Vulnerabilidade descobertas nas 2 fases anteriores são exploradas para obter acesso não autorizaado. As formas de conexão utilizadas para se obter aacesso podem ser: LAN (inclui wireless), acesso local ao PC, a Internete ou também pode ser offline. Exemplos de exploração dessas vulnerabilidades podem ser: "stack-based buffer overflows", DoS e "session hijacking" (caso nao conheca alguma o google está aí para isso mesmo :) ). O ganho de acesso é conhecido no mundo hacker como "owning the sistem".

Fase 4: Maintaining Access

Uma vez obtido o acesso não autorizado, é natural que eles queiram manter esse acesso para futuras explorações e ataques. Algumas vezes hackers herdam acesso a sistemas por outros hackers, e esse acesso pode ser mantido através de backdoors, rootkits ou trojans instalados no sistema.Uma vez que um hacker tomou o sistema (owned the system) esse pode ser utilizado como base para outros ataques, nesse caso esse sistema é conhecido como sistema zumbi (zombie system).

Fase 5: Covering Tracks

Um vez com o sistema tomado, se faz necessára cobrir as pistas para não serem detectados pelo pessoal de segurança, para poderem continuar utilizando o sistema, para poder remover qualquer evidência do hacking e para evitar qualquer ação legal. Aqui os hackers tentam remover qualquer traço deixado pelo ataque como logs do sistemas e alarmes de um IDS. Exemplos dessa atividade são: limpeza de logs, esteganografia e a utilização de tunelamento de protocolos (tunneling protocols).

----------------------------------------------------------

vários termos aqui citados devem ser estudados um a um para um melhor entendimento das fases.

domingo, 22 de fevereiro de 2009

CEH - Cap. 1 - Identificando os diferentes tipos de "Hacking"

Existem muitas ferramentas para encontrar vulnerabilidades, utilizar exploits e comprometer sistemas. Trojans, backdoors, sniffers, rootkits, exploits, buffer overflows e SQL injections, todos são tecnologias que podem ser utilizadas para "hackear" um sistema ou rede. Muitas delas são tão complexas que necessitam de um capitulo inteiro dedicado a explicar o ataque e as tecnologias aplicadas.

A maioria das ferramentas de "hacking" exploram a fragilidade em uma dessas áreas:
  • Sistemas operacionais: Muitos adminstradores de sistemas instalam sistemas operacionais com as configurações padrão, resultando em potenciais vulnerabilidades que continuam sem serem corrigidas.
  • Aplicações: as aplicações na grande maioria das vezes não passam por uma análise de vulnerabilidades enquanto estão sendo desenvolvidas, assim falhas de programação que podem ser exploradas passam despercebidas.
  • Shrink-wrap code: Muitos programas da prateleira vêm com recursos extras, o usuário comum não tem conhecimento de que pode ser usado para explorar o sistema. As macros do Word são um exemplo disso.
  • Misconfigurations (falhas de configuração): os sistemas podem também ter configurações incorretas ou as configurações de segurança podem ser mínimas para o usuário poder utilizar o sistema da forma que lhe é conveniente, que pode resultar em uma vulnerabilidade e em um ataque.
Além das tecnologias que podem ser utilizadas pelos hackers, existe diferentes tipos de ataques, eles são categorizados em ataques passivos e ataques ativos. Ataques passivos ou ativos podem ser realizados tanto na rede como nos hosts. Ataques ativos geralmente alteram a rede ou o hosts quando estão sendo atacados enquanto os ataques passivos servem para obter informações do sistema. Ataques ativos afetam a disponibilidade, integridade e confidencialidade e autenticidade dos sistemas; ataques passivos são "apenas" uma violação de sigilo.

Além dos ataques passivos ou ativos, os ataques também podem ser categorizados em internos e externos. Internos quando são originados de dentro do perímetro de sugurança da organização (aqui entra a figura do "Insider") geralmente ocorrem por membros da organização que conseguem ganhar acesso a mais recursos que se era esperado e os externos são originados de fora desse perímetro, da Internet ou de alguma conexao de acesso remoto.

sábado, 21 de fevereiro de 2009

CEH - Cap. 1 - Entendendo a terminologia "Ethical Hacking"

Entender e saber definir terminologias é uma importante responsabilidade de um CEH e essa seção serve para isso, serão discutidas uma série de termos dos quais um CEH precisa estar familiarizado.

Threat (ameaça): é um ambiente ou situação que pode resultar em um brecha de segurança.

Exploit: é um codigo que explora ou se aproveita de um bug ou vulnerabilidade de algum software ou sistema operacional com o objetivo de ganhar acesso não autorizado, escalação de privilégio ou negação de serviço de uma sistema computacional, ou seja, é uma forma eficiente de se explorar uma vulnerabilidade de um sistema. Existem 2 tipos de exploits, local e remoto. Geralmente os locais levam a escalação de privilégios e são executados dentro do sitema. Os remotos funcionam através da rede e exploram vulnerabilidades sem ter acesso ao sistema vulnerável.

Vulnerability (vulnerabilidade): é a existência de alguma falha de software ou de SO, pode ser proveniente de erros na lógica de programação ou de erros de implementação que levam a um evento não desejado e não esperado gerando instruções ruins ou prejudiciais para o sistema.

Target of evaluation: é um sistema, programa ou rede que está sujeita a uma análise de segurança ou um ataque.

Attack: Um ataque ocorre quando um sistema é comprometido apartir de uma vulnerabilidade. Muitos ataques se perpetuam através de um exploit.

EHs (lê-se Etichal Hackers) utilizam ferramentas para encontrar vulnerabilidades em sistemas, programas ou configurações de redes com o objetivo de previnir ou minimizar o impacto de um ataque.

Por fim, é muito importante saber a diferenca entre EHs e MHs (Maliciuos Hackers) e entender o que os EHs fazem.

---------------------------------------------------

Claro que as definições dos termos acima podem ser bem diferentes das citadas e bem mais completas e complexas, mas como disse, o que foi descrito acima é retirado do guia de revisão do conteúdo da CEH. Claro que qualquer opinião é benvinda.


CEH - Cap. 1 - Introdução

O Capítulo 1 do CEH compreende os seguintes assuntos:

  • Entendendo a terminologia "Ethical Hacking"
  • Identificando os diferentes tipos de "Hacking"
  • Entendendo as diferentes fases envolvidas no "Ethical Hacking" e Listando os seus 5 estágios.
  • O que é "Hacktivism"?
  • Listando os diferentes tipos de "Hacking"
  • Definindo os conhecimentos necessários para se tornar um "Ethical Hacker"
  • O que é análise (pesquisa) de vulnerabilidades?
  • Descrevendo as formas de se implementar o "Ethical Hacking"
  • Entendendo as implicações do "Hacking"
  • Entendendo as leis - 18 U.S.C. paragrafos 1029 e 1030 da lei federal norte americana
A maioria das pessoas pensam que hackers possuem habilidades extraordiárias e conhecimento profundo a ponto de realizar o hacking de qualquer sistema e com isso obter informações privilegiadas. The termo hacker atualmente está diretamente ligado a um jovem gênio de computador que digita alguns comandos numa tela e de repente o computador comeca a cuspir informações de bancárias ou qualquer dado confidencial. Na realidade um bom hacker apenas tem que saber muito bem como um computador e seu sistema operacional funcionam, conhecer ferramentas e empregá-las de maneira a encontrar alguma brecha de segurança.

O reino dos "hackers" e como eles agem é desconhecido para a maioria dos profissionais de informática e de segurança. E o objetivo deste capítulo é introduzi-lo ao mundo hacker e definir os termos que serão testados no exame CEH.

Até a próxima!

CEH - Certified Ethical Hacker

Um dia procurando por certificações na área de segurança, encontrei uma interessante, a CEH ou Certified Ethical Hacker da EC-Council, pesquisei sobre o conteúdo da prova de certificação e achei muito interessante mesmo pra quem não tem a menor intenção de virar um "Hacker Ético Certificado".

Então resolvi estudar o currículo e publicar aqui no Blog, espero que achem o conteúdo tão interessante como eu achei.

Antes de qualquer coisa, o conteúdo que postarei estão nos livros: CEH - Official Revised Certified Ethical Hacker e seu guia de revisão (Review Guide).

Até a proxima.