Redes de Computadores

Técnicas de evasão do firewall

Vimos o que um firewall é capaz de fazer e os diferentes tipos que existem. Então, como um invasor pode evadir desses dispositivos? Existem algumas técnicas disponíveis para isto.

Spoofing de endereço IP

Uma maneira eficaz como um invasor pode evadir um firewall deve parecer como algo mais, como um host confiável. Usando o spoofing para modificar informações de endereço, o atacante pode fazer com que a fonte de um ataque pareça vir de algum lugar que não seja uma parte mal-intencionada.

Embora este ataque pode ser eficaz, existem algumas limitações que podem frustrar este processo. O mais óbvio é o fato de que firewalls mais do que provavelmente irão dar drop no tráfego. Especificamente, um host confiável pode ser algo dentro da própria rede. Qualquer tipo de pacote especialmente criado a partir de um intervalo de endereços IP na rede local, mas vindo de fora da rede, será descartado como inválido. (mais…)

Técnicas de evasão de IDS

Uma vez que você, como um pentester, está tentando testar a segurança de um sistema, você deve ser capaz de contornar esses dispositivos de proteção, se possível ou pelo menos saber como tentar fazê-lo. Veremos os vários mecanismos disponíveis, como eles funcionam e com quais dispositivos eles são projetados para lidar. (mais…)

Identificando o firewall

Para determinar um tipo de firewall e até mesmo o fabricante, você pode usar sua experiência com scanner de portas e ferramentas para criar informações sobre o firewall que seu alvo está executando. Ao identificar determinadas portas, você pode vincular os resultados a um firewall específico e, a partir desse ponto, determinar o tipo de ataque ou processo a ser executado para comprometer ou ignorar o dispositivo.

Alguns firewalls como o Check Point FireWall-1 e o Microsoft Proxy Server usam as portas TCP 256-259 e TCP 1080 e 1745.

Felizmente, você pode realizar o banner grabbing com Telnet para identificar o serviço em execução em uma porta. Se você encontrar um firewall com portas específicas em execução, isso pode ajudar na identificação. É possível pegar o banner e ver o que é respondido de volta. (mais…)

Firewalls

Os firewalls são outro dispositivo protetores para redes que estarão no caminho de um pentester ou atacante. Os firewalls representam uma barreira ou delineamento lógico entre duas zonas ou áreas de confiança. Em sua forma mais simples, a implementação de um firewall representa a barreira entre uma rede privada e uma rede pública, mas as coisas podem ficar muito mais complicadas a partir daí.

Para a maior parte, nós nos referimos a firewalls como um conceito abstrato, mas na vida real um firewall pode ser um software ou um dispositivo de hardware.

Ao discutir firewalls, é importante entender como eles funcionam e sua colocação em uma rede. Um firewall é um conjunto de programas e serviços localizados no ponto de bloqueio, conhecido por choke point (o local onde o tráfego entra e sai da rede). Ele foi projetado para filtrar todo o tráfego fluindo para dentro e para fora e determinar se esse tráfego deve ser autorizado a continuar. Em muitos casos, o firewall é colocado a uma distância de recursos importantes para que, no caso de comprometer recursos-chave não são afetados negativamente. Se você tomar cuidado o suficiente e fazer o planejamento adequado, juntamente com uma dose saudável de testes, apenas o tráfego que é explicitamente permitido passar será capaz de fazê-lo, com todos os outros tráfego será negado no firewall. (mais…)

O papel dos Intrusion Detection Systems (IDS)

Um sistema de detecção de intrusão (IDS) é um aplicativo ou dispositivo usado para coletar e analisar informações que passam por uma rede ou host. Um IDS é projetado para analisar, identificar e relatar qualquer violação ou uso indevido de uma rede ou host.

Vamos dar uma olhada como funciona um IDS. Um IDS é usado para monitorar e proteger redes detectando atividades mal-intencionadas e relatando-as a um grupo ou contato, como um administrador de rede. Uma vez que as atividades desse tipo são detectadas, um administrador é alertado.

Aqui estão algumas coisas para se manter em mente à medida que avançamos. Um IDS:

  • Foi concebido para detectar comportamentos maliciosos ou não-padrão;
  • Reúne informações de uma rede para detectar violações da política de segurança;
  • Relata violações e desvios a um administrador ou proprietário de sistema;

Um IDS de rede (NIDS) é um sniffer de pacotes. A diferença entre um sniffer de pacotes e um NIDS é que um NIDS inclui um mecanismo de regras, que compara o tráfego contra um conjunto de regras que determinam a diferença entre tráfego e atividades legítimas e maliciosas. (mais…)

Vulnerabilidades em servidores e aplicações web

Aplicações e servidores Web têm muitas vulnerabilidades, mas algumas são exclusivas deste tipo de ambiente. Como sites, servidores e aplicativos são o lado da empresa que o público geralmente encontra, eles representam um alvo óbvio. Ampliando a questão, o é fato de que, ao contrário de alguns anos atrás, muitas empresas existem apenas na internet. Derrubar ou comprometer esses sistemas pode ser um golpe para o atacante e devastador para a empresa-alvo.

Web design com falhas

Uma maneira comum de explorar uma aplicação web ou site está no próprio código. Comentários e tags ocultos que são incorporados em uma página da Web pelo designer podem render informações para um invasor. Embora esses tipos de tags e informações não tenham a intenção de serem exibidos em um navegador Web, eles podem ser visualizados e analisados ??usando o recurso “Visualizar o código-fonte” presente na maioria dos navegadores.

O código fonte de uma página poderia revelar algo como: (mais…)

Entendendo as aplicações Web

Em essência, uma aplicação web é um software que é instalado em um servidor web e é projetado para responder a solicitações, processar informações, armazenar informações e dimensionar as respostas de acordo com a demanda e, em muitos casos, é distribuído em vários sistemas ou servidores.

Ao contrário de alguns anos atrás, as aplicações web vêm em três variações:

  1. Baseado em Navegador – Incluem código que pode ter sido parcialmente processado no servidor, mas é executado no próprio navegador Web. Tal aplicação tem a capacidade de acessar dados armazenados em um servidor, bem como no sistema local ou ambos, dependendo do design;
  2. Baseados no cliente – São essencialmente semelhantes às aplicações baseadas em navegador, mas em vez de serem executados dentro do navegador, são executados como aplicação própria. Aplicações que exigem que sejam instaladas do lado do cliente se encaixam nesta categoria;
  3. Aplicativos móveis – São, de longe, o tipo mais comum encontrado hoje em dia. Para ser incluído nesta categoria o aplicativo normalmente é executado em um sistema operacional móvel, como aqueles executados em smartphones e tablets, principalmente Android do Google ou iOS da Apple;

Então, o que todos esses tipos têm em comum? Cada um deles, tem alguma capacidade de processar informações em um servidor antes de fornecer as informações para o lado do cliente. (mais…)

Características dos servidores web

Antes que possamos entrar no processo de análise e invasão de servidores web, bem como suas aplicações, temos de olhar para os servidores web. Nos termos mais simples, um servidor web é um pacote de software que é projetado para fornecer arquivos e conteúdo através do protocolo HTTP. Esses arquivos são entregues em resposta a solicitações que vêm de clientes em forma de software.

Os servidores da Web fazem parte de uma família maior de programas baseados na Internet e na intranet que fornecem conteúdo como email, arquivos, páginas da Web e outros tipos. Embora todos os servidores da Web forneçam os mesmos tipos básicos de conteúdo, como HTML, eles podem variar em seu suporte para extensões de aplicativo e outras tecnologias. Os servidores Web são diferenciados pelo suporte ao sistema operacional, tecnologias do lado do servidor, modelos de segurança, suporte ao cliente, ferramentas de desenvolvimento e muitos outros fatores.

Atualmente, existe um número impressionante de tecnologias de servidor web, mas para manter as coisas realistas e prática, nos concentraremos apenas nos líderes de mercado: o Internet Information Server (IIS) da Microsoft e o Apache no Linux e Unix. (mais…)

Sequestro de sessão em redes

Antes de prosseguir com o tema, é importante saber alguns conceitos:

Blind Hijacking descreve um tipo de sequestro de sessão em que o invasor não pode capturar o tráfego de retorno a partir da conexão do host. Isso significa que o invasor está injetando cegamente pacotes maliciosos ou manipuladores sem ver a confirmação do efeito desejado através da captura de pacotes. O invasor deve tentar prever os números de sequência dos pacotes TCP atravessando a conexão. A razão para essa previsão volta ao conceito básico do TCP three-way-handshake.

Spoofing de IP refere-se à tentativa de um invasor de se disfarçar como o usuário legítimo, falsificando o endereço IP da vítima. O conceito de spoofing pode se aplicar a uma variedade de ataques em que um invasor falsifica as informações de identificação de um usuário. Entenda que spoofing é uma abordagem diferente do ataque de sequestro de sessão; Entretanto, elas estão relacionadas, pois ambas abordam usando uma sessão autenticada existente para ter acesso a um sistema de outra forma inacessível. (mais…)

Entendendo o Sequestro de Sessão (Session Hijacking)

O seqüestro de sessão é sinônimo de uma sessão roubada, na qual um invasor intercepta e assume uma sessão legitimamente estabelecida entre um usuário e um host. A relação usuário-host pode se aplicar ao acesso de qualquer recurso autenticado, como um servidor da Web, uma sessão Telnet ou outra conexão baseada em TCP. Os atacantes se colocam entre o usuário e o host, permitindo que eles monitorem o tráfego do usuário e lancem ataques específicos. Uma vez que aconteça um sequestro de sessão bem-sucedido, o invasor pode assumir o papel do usuário legítimo ou simplesmente monitorar o tráfego para injetar ou coletar pacotes específicos a fim de criar o efeito desejado.

Ilustração de um sequestro de sessão

Session hijacking

Em seu sentido mais básico, uma sessão é um período de tempo acordado em que o estado conectado do cliente e do servidor é vetado e autenticado. Isso simplesmente significa que tanto o servidor quanto o cliente sabem (ou pensam que sabem) quem são, e com base nesse conhecimento, eles podem confiar que os dados enviados de qualquer forma acabarão nas mãos da parte apropriada. (mais…)

Quer ficar atualizado?

Inscreva-se em minha newsletter e seja notificado quando eu publicar novos artigos de graça!