Ethical Hacking

Overt e Covert Channel

Quando você está trabalhando com trojans e outros malwares, você precisa estar ciente de overt (abertos) e covert channel (secretos). Como mencionado em outras postagens, a diferença entre os dois é que um canal aberto é posto em prática por design e representa a maneira legítima ou pretendida para o sistema ou processo ser usado, enquanto que um canal secreto usa um sistema ou processo de uma forma que não foi feito para ser utilizado.

Os maiores usuários de covert channel que discutimos são os trojans. Trojans são projetados para ficar escondidos enquanto eles enviam informações ou recebem instruções de outra fonte. Usar covert channel significa que a informação e comunicação podem ser capazes de escapar de mecanismos de detecção que não foram projetados ou posicionados para estar ciente ou olhar para esse comportamento.

Ferramentas para explorar covert channel incluem o seguinte: (mais…)

Fase da enumeração em um teste de invasão

Considere a enumeração como um último passo antes de começar a entrar nos sistemas e ganhar acesso. Enumeração é o processo de extrair informações de um sistema alvo para entender melhor sua configuração e o que está presente no ambiente. Em muitos casos, é possível extrair informações de nomes de usuários, nomes de máquinas, compartilhamentos e serviços de um sistema, bem como outras informações, dependendo do sistema operacional em si.

No entanto, ao contrário das fases anteriores (Footprinting e Scanning), você estará iniciando conexões ativas em um sistema com o objetivo de reunir uma ampla gama de informações. Com isso em mente, você precisa ver a enumeração como uma fase que você tem grande chances de ser pego. Tenha atenção para ser mais preciso e não se arrisque a uma detecção. Pense cuidadosamente em cada uma das ações que você toma e pense em vários passos à frente para antecipar os resultados e como responder.

Então, por que iniciar conexões ativas com um alvo? Simplificando, é a única maneira de aprender informações adicionais sobre o que reunimos até agora, através do footprinting e scanning. Através dessas conexões ativas, agora podemos executar consultas em um host, o que extrairá muitas informações adicionais. Ao pegar informações suficientes, podemos avaliar melhor os pontos fortes e fracos do sistema. (mais…)

Verificando o status das portas dos hosts

Depois de ter localizado sistemas ativos em uma rede, é hora de dar uma olhada nesses hosts para determinar se existem portas abertas que podem ser úteis. Essencialmente o que estamos fazendo em cada host vivo é “mexer as maçanetas” em cada porta para ver quais portas estão abertas e fechadas. E enquanto podemos estar vendo que estão abertos e fechados, ainda não estamos no ponto em que estamos “espiando o que tem dentro”.

Você deve saber como as varreduras de portas funcionam e os diferentes tipos de varredura disponíveis, bem como por que você usaria um tipo e não o outro. Preste muita atenção aos scans mencionados aqui, porque cada um tem pequenos detalhes que você pode esquecer. Lembre-se também de estudar, estudar, estudar essas varreduras.

Antes de começar a executar alguns scan de portas, vamos rever alguns fundamentos. Se você se lembrar, TCP é um protocolo orientado a conexão e UDP é sem conexão. Saber como esses protocolos funcionam e o significado de cada um vai fazer e escolher a varredura correta, vai ser muito mais fácil para você e definitivamente mais produtivo. (mais…)

Verificando se os hosts estão ativos

Em um processo de scanning, precisamos investigar se os sistemas alvos estão ativos. Lembre-se que enquanto você estava coletando informações, você deve ter pego o IP e o range de IPs que a organização é dona ou está conectada, o que não quer dizer que tenha algo conectado a eles. Com isto em mente, precisamos identificar quais IPs tem um sistema ativo por trás dele.

Existem algumas formas de se verificar isto, como:

  • Wardialing
  • Wardriving
  • Pinging
  • Port scanning

Cada uma das técnicas fornece informações que não não necessariamente são dadas por outros métodos, ou pelo menos não oferecem isto de forma facilmente. Uma vez que você entenda as diferenças, você precisa ter uma ideia melhor de como fazer o pentest.

Quando olhamos para estes métodos, deve-se prestar atenção em quais áreas eles são fortes ou fracos. Usar o método errado pode te fazer perder tempo facilmente, assim como alertar os donos dos sistemas com a sua presença, dando tempo a eles para reagir com a sua presença. (mais…)

Introdução ao Nessus: Encontrando e analisando vulnerabilidades

Antes de começar a usar exploits, precisamos fazer uma pesquisa e análise ativa. Quando estamos identificando vulnerabilidades, nós pesquisamos por problemas que podem nos levar a fase de exploração. Apesar de algumas empresas de segurança somente utilizam ferramentas automatizadas para exploração e esperam pelo melhor, um estudo meticuloso sobre as vulnerabilidades por um pentester experiente reunirá por resultados melhores que qualquer ferramenta por si só. Veremos alguns métodos de como examinar vulnerabilidades, incluindo um escaneamento automático, análise do alvo e uma pesquisa manual. (mais…)

Coleta de informações em um Pentest

A coleta de informações é o primeiro passo de uma invasão a um sistema, onde devemos aprender o máximo sobre  escopo de nossa análise. Pensar fora da caixa é importante, como:

  • Quais os sistemas que o nosso alvo utiliza?
  • Eles estão devidamente atualizados com as versões?
  • Existe algum firewall ou proxy na rede?
  • Como é estruturação da rede de servidores e dos usuários?
  • Quais sites costumam visitar?
  • Quais os parceiros de negócios deles?
  • Existe algum diretor da organização viajando?
  • Tem servidores de e-mail, web, ftp, etc. na empresa?
  • Qual é o IP dos servidores?

A intenção aqui é simplesmente obter informações de vários modos, sem ao menos atacá-los de fato (coleta passiva), pois elas servirão de base para as próximas etapas da análise. Com estas informações, partiremos para a fase de modelagem das ameaças, onde pensaremos como um invasor e elaborar as estratégias de ataque. Mais a frente, iremos coletar mais informações que não conseguimos obter utilizando alguns scanners de vulnerabilidades, onde passa a ser uma coleta ativa. (mais…)

As fases de um processo de teste de invasão (Pentest)

Teste de invasão/pentetração ou pentest é a simulação de ataques reais em ativos para avaliar os riscos associados a possíveis brechas de segurança. Em um pentest, diferente do teste de vulnerabilidade, o analista não só descobre as vulnerabilidades que podem ser usadas pelos atacantes mas também exploram as vulnerabilidades, onde possivelmente, para avaliar o que os atacantes ganhariam após uma exploração com sucesso.

De tempos em tempos, surgem notícias de grandes empresas tendo informações vazadas devido a ciberataques. Maioria das vezes, os atacantes não usam as vulnerabilidades mais recentes ou zero-day (vulnerabilidades sem patch de correção publicada pelo fabricante do software). Maioria das empresas com orçamento considerável para para Segurança da Informação são vítimas de SQL Injection (SQLi) em seus sites, ataques aos seus funcionários através de engenharia social, serviços expostos na internet com senhas fracas, etc. Em outras palavras, empresas estão perdendo dados proprietários e os de seus clientes, através de brechas de segurança que poderiam ser corrigidos. Em um pentest, achamos estes problemas antes dos atacantes e recomendamos como corrigir, evitando futuras vulnerabilidades.

O escopo de um penteste vai variar de cliente para cliente. Alguns deles terão uma postura excelente em segurança da informação, enquanto outros terão vulnerabilidades que permitirão os atacantes invadir o perímetro e ganhar acesso aos sistemas internos.

Você também poderá ter a tarefa de avaliar algumas aplicações web. Você poderá realizar alguns ataques de engenharia social ou ganhar acesso pelo lado do cliente a uma rede interna. Alguns pentestes irão requerer que atuem como um insider (funcionário fraudador ou um atacante que já tenha invadido o perímetro) enquanto você realiza testes internos de invasão. Alguns clientes solicitarão um teste de invasão externo, onde você simulará um ataque via Internet. Alguns solicitarão a avaliação da segurança das redes wireless da empresa. Em alguns casos, será necessário avaliar os controles de segurança físico. (mais…)