PenTest

Ataques Comuns

Ataques Comuns

Exploits

Este é um termo genérico para descrever pequenos utilitários ou exemplos de código que podem ser usados para explorar vulnerabilidades específicas. Eles podem ser tanto usados de forma “stand alone”, ou seja, serem usados diretamente, quanto serem incorporados em vírus, cavalos de tróia, ferramentas de detecção de vulnerabilidades e outros tipos de programas.

Utilitários de detecção de vulnerabilidades como o Nessus, por exemplo, incorporam um grande número de exploits para brechas conhecidas. Durante o teste, ele verifica se o serviço ou programa vulnerável está ativo e, caso esteja, simula um ataque contra ele, usando o exploit correspondente. Com isso, é possível verificar se a versão utilizada é vulnerável a ele.

Trojans

Os trojans (cavalos de tróia) são uma forma de invadir “de dentro pra fora”, fazendo com que o próprio usuário execute um programa, ou acesse uma página web que se aproveite de vulnerabilidades do navegador. Eles são a forma mais usada para obter o controle de micros domésticos, já que não dependem da existência de portas abertas ou do uso de serviços vulneráveis. O trojan pode instalar uma backdoor (que permite que o micro seja acessado remotamente), instalar um keytrap (para capturar senhas e outras informações digitadas no teclado) ou mesmo instalar um vírus que passe a se replicar dentro da rede local.

Muitos backdoors são capazes de abrir conexões reversas, onde o PC dentro da rede local é que estabelece a conexão com um servidor remoto. Como a maioria dos firewalls são configurados para bloquear apenas tráfego de entrada, e não tráfego de saída, a conexão reversa permite que o PC dentro da rede local seja acessado remotamente. Uma vez dentro do perímetro da rede, o atacante terá muito mais facilidade para atacar outras máquinas, já que dentro da rede local a segurança será muito mais fraca. O próprio VNC suporta o uso de conexões reversas, como veremos em detalhes no capítulo 6.

Embora os trojans sejam mais comuns no Windows, existem também trojans para Linux e outros sistemas. No caso do Linux, o tipo mais perigoso são os rootkits, softwares que exploram um conjunto de vulnerabilidades conhecidas para tentar obter privilégios de root na máquina afetada. Caso alguma delas esteja presente, o software pode assumir o controle da máquina mesmo se executado usando uma conta normal de usuário.

Uma vez instalado, o rootkit vai alterar binários do sistema, instalar novos módulos no Kernel e alterar o comportamento do sistema de várias formas para que não seja facilmente detectável. O processo do rootkit não aparecerá ao rodar o “ps -aux”, o módulo que ele inseriu no Kernel para alterar o comportamento do sistema não vai aparecer ao rodar o “lsmod”, e assim por diante.

Em conexões não encriptadas, ou encriptadas usando algoritmos fracos, é possível que um atacante consiga capturar os dados transmitidos através da rede caso tenha acesso à mídia de transmissão (possa plugar um cabo no hub da rede, ou esteja dentro da área de alcance da rede wireless, por exemplo). Com isso, é possível obter senhas, conteúdo de mensagens enviadas e outras informações confidenciais, que podem ser usadas mais tarde para propósitos diversos.

Redes locais baseadas em hubs burros ou redes wireless sem encriptação ou que ainda utilizam o WEP são alvos fáceis, já que bastaria plugar um notebook no hub, ou colocá-lo dentro da área de alcance do ponto de acesso para capturar todas as transmissões. Ao usar um switch o risco é menor, já que eles transmitem os frames apenas para os destinatários corretos (e não em todas as portas como os hubs). Entretanto, os switches mais baratos são vulneráveis a ataques de MAC Flooding e de ARP Spoofing, que consistem em, respectivamente, “inundar” o switch com um grande volume de frames com endereços MAC falseados, de forma a esgotar a memória disponível e fazer com que ele passe a enviar o tráfego para todas as portas e a induzir o switch a enviar o tráfego para a máquina do atacante, em vez de enviá-los à máquina correta.

Redes wireless que utilizam o WAP e o WPA2 também são muito mais seguras que redes abertas, já que embora seja possível capturar o tráfego da rede, quebrar o algoritmo de encriptação é bastante demorado. Existe também a possibilidade de capturar os dados em qualquer outro ponto da rede, como, por exemplo, quando eles passam pelo roteador do provedor de acesso, mas isso é muito mais raro, pois exigiria que o atacante tivesse acesso à rede interna do provedor.

De qualquer forma, a melhor solução para evitar a captura dos dados é utilizar protocolos encriptados de transmissão, como o SSH e o HTTPS. O SSH utiliza por default o algoritmo 3DES, que consiste no uso de três chaves independentes com 64 bits cada uma (que é combinado com um sistema mais forte de encriptação, com até 4096 bits, usado durante o login), enquanto o SSL (usado no HTTPS) utiliza um algoritmo de encriptação de 128 bits.
Phishing

Diferente dos ataques baseados na exploração de brechas de segurança, os ataques de phishing utilizam engenharia social para tentar levar o usuário a revelar informações confidenciais, tais como senhas de banco, números de cartão de crédito, ou mesmo transferir fundos diretamente. Para isso, são usados e-mails e páginas web forjadas, que se fazem passar por páginas de bancos e lojas, entre outras artimanhas. Por serem fáceis de aplicar e resultarem em um ganho financeiro direto, os ataques de phishing tem se tornado assustadoramente comuns.

Um dos truques mais antigos é enviar e-mails simulando um contato do banco ou de alguma loja da qual o usuário seja cliente, simulando algum tipo de recadastramento. O e-mail pode pedir que seja enviada senha atual, juntamente com a nova, por exemplo. Muitas vezes, informações coletadas em redes sociais ou em pesquisas podem ser usadas para tornar os e-mails mais realísticos, aumentando o índice de sucesso.

Outros tipos de ataques consistem em alterar links em sites e redes sociais, de forma a encaminhar os visitantes a sites forjados. Uma cópia da página de um banco pode solicitar o login e senha e depois exibir uma mensagem dizendo que o sistema está em manutenção e pedindo para o usuário tentar novamente depois de alguns minutos, por exemplo (tempo que o falsário pode usar para acessar a conta real e transferir fundos, utilizando as senhas fornecidas pelo usuário).

Normalmente, as transferências são feitas usando uma mula, ou seja, um laranja que recebe o dinheiro ilegalmente transferido, ou recebe produtos comprados usando números de cartão de crédito roubados e os repassa ao fraudador, ficando com uma comissão. Isso permite que uma única pessoa aplique golpes em diversos países diferentes, ficando impune na maioria das vezes.

Denial of Service (DoS)

Os ataques DoS, ou ataques de negação de serviço são feitos não com o objetivo de invadir o sistema, mas sim com o propósito de torná-lo indisponível. O que os torna preocupantes é que eles podem ser lançados contra qualquer host conectado à Internet. Não é necessário que serviços com vulnerabilidades de segurança estejam ativos.

Por exemplo, é possível tornar um servidor web indisponível enviando um grande volume de requisições, aparentemente válidas, para acesso às páginas hospedadas. Se o servidor não possuir nenhum tipo de filtro ou regra de firewall que limite o volume de páginas servidas a um único endereço, ele passará a simplesmente tentar responder a todas as requisições, o que saturará o link ou consumirá todos os recursos do servidor, fazendo com que ele deixe de responder a requisições de usuários válidos.

Se o servidor possuir uma quota de tráfego (na maioria dos planos de dedicated hosting existe uma quota de tráfego de 1 ou 2 TB mensais), o atacante pode simplesmente simular um volume constante de requisições (sobretudo download de arquivos hospedados no servidor) de forma a esgotar a quota de trafego e assim fazer com que o servidor fique indisponível.

Mesmo mecanismos destinados a aumentar a segurança do servidor podem ser usados. Por exemplo, se o servidor é configurado para bloquear logins no SSH depois de um certo volume de tentativas de acesso usando senhas incorretas, o atacante pode bloquear o acesso de usuários válidos tentando repetidamente acessar o servidor usando logins variados. Por não saber as senhas, ela não conseguirá acesso ao servidor, mas em compensação pode conseguir disparar o sistema de bloqueio, tornando o servidor temporariamente indisponível para os usuários legítimos.

O tipo mais famoso de ataque DoS é o DDoS, ou “Distributed denial of service” (ataque distribuído de negação de serviço), onde o ataque é lançado usando centenas ou milhares de hosts (situados em locais diferentes) simultaneamente. Nesse caso, o ataque é especialmente difícil de conter, pois é necessário bloquear as requisições provenientes de cada um dos endereços usados antes que cheguem ao servidor. Ou seja, o bloqueio precisa ser feito pela empresa que administra os links de acesso e não no servidor propriamente dito.

Para lançar um ataque DDoS, é necessário ter à disposição um número muito grande de máquinas, que precisam ser invadidas previamente usando vulnerabilidades diversas, formando uma botnet. Os hosts controlados são chamados de zumbis (zombie computers) e continuam desempenhando suas tarefas de forma aparente normal, até que sejam usadas em ataques.

Servidores hospedados em grandes datacenters, universidades ou em órgãos governamentais são especialmente efetivos, já que são normalmente ligados a links muito rápidos, mas o arroz de festa são máquinas domésticas, rodando versões vulneráveis do Windows, que podem ser infectadas em massa usando trojans e vírus.

Um pequeno aplicativo de controle é instalado em cada uma das máquinas, de forma que elas possam ser controladas através de algum ponto central, como um canal de IRC ou uma página web secreta. Tipicamente, os servidores (que utilizam links dedicados, com IP fixo e melhor conectividade) são usados como controladores da botnet, coordenando a operação dos PCs domésticos.

Depois de obter o controle de um número suficiente de máquinas, o atacante precisa de apenas alguns comandos para fazer com que o ataque seja lançado. Com um número suficiente de máquinas à disposição, é possível derrubar qualquer servidor conectado à grande rede.

Além de ser usada em ataques DDoS, a botnet pode ser usada para diversos propósitos, incluindo o envio de spam (estima-se que mais de 50% dos spams sejam enviados a partir de zumbis), distribuição de arquivos, hospedagem de páginas ilegais, fraudes contra sistemas de venda de anúncios (as máquinas são usadas para simular cliques nos anúncios) e qualquer outra atividade lucrativa. A época romântica, das pixações de páginas e ataques massivos contra sites conhecidos deu lugar a quadrilhas organizadas, que usam as máquinas invadidas para ganhar dinheiro.

 

 

 

Popularity: unranked [?]

Buffer OverFlows para Iniciantes

Buffer OverFlows para Iniciantes

Buffer Overflows para Iniciantes

Download do PDF: http://bugsec.googlecode.com/files/buffer_overflow_iniciantes.pdf

Fonte: http://www.bugsec.com.br/cactoo/index.html

Abraços

Popularity: unranked [?]

Derrubando Servidor FTP com Exploit

Derrubando Servidor FTP com Exploit

Video demonstrando como derrubar um servidor Ftp com Exploit

Download do Exploit: http://www.mediafire.com/?qo97wylm6hbkhnf

Download do Prog. Vulneravel: http://www.warftp.org/files/1.7_Series/i386/warftpd-1.82-00-RC11-i386.exe

 

Video no YOUTUBE: http://youtu.be/uyx0Q210JKE

Abraços

 

 

 

 

 

Popularity: unranked [?]

Tutorial PenTest (inicio)

Tutorial PenTest (inicio)

O que pretendo discutir com os nossos colegas é quais são as ferramentas e métodos que utilizam para enumeração ,scanning e testes de vulnerabilidades em redes, sejam essas ferramentas para uso online ou em nossa maquina.

1. Penetration testing

 

Penetration-test é o método usado para testar e descobrir vulnerabilidades numa rede e a possibilidade de ver como estas podem ser exploradas ou corrigidas.

 

Para ser feito um teste de penetração são contratados profissionais (ou pessoas internas à rede) para explorar a rede, da mesma forma que um cracker faria e em seguida são entregues os resultados indicando todas as falhas encontradas e como corrigi-las.

 

Para se fazer um teste de penetração é necessário passar diversas fases, para as quais são utilizadas diversas ferramentas. As fases serão indicadas nos pontos seguintes.

1.1- Reconhecimento da rede

 

A enumeração consiste no reconhecimento da rede e dos sistemas atingíveis. Os resultados esperados são: nomes de domínios, nomes de servidores, informação do ISP, endereços IP envolvidos e também um mapa da rede. Inclui ainda informação de registros de domínios para os servidores.

 

Para fazer o reconhecimento da rede, podem ser utilizadas diversas ferramentas e técnicas, conforme o objectivo do ataque. Indico abaixo algumas ferramentas, que poderão ser usadas no reconhecimento.

 

• Nslookup – funciona em Windows e Linux. Serve para mapear endereços IP para um determinado domínio.

 

• Whois –Nos dá toda a informação sobre um domínio registado (entidade que registou, endereço físico, contactos, domain servers, etc)

 

• ARIN

 

• Dig – serve para perguntar a um servidor DNS informação acerca de outras coisas, por exemplo, a versão do name server que a empresa está a utilizar…

 

• Engenharia social

 

• Web site alvo

1.2-Scanning

 

Nesta fase de um teste de penetração é a identificação de portas abertas e serviços a correr, na máquina(s) ou rede alvo, chegando assim a enumeração de vulnerabilidades no alvo.

 

Também nesta fase do teste podemos incluir diversas ferramentas e tecnicas, conforme o objectivo do teste e a configuração da máquina/rede alvo. Ferramentas deste tipo foram analisadas no ponto 3 deste mesmo relatório.

 

As ferramentas mais utilizadas para fazer scanning, são:

 

• telnet –Serve para mostrar informação sobre uma aplicação ou serviço (versão, plataforma.

 

• nmap – port scanner

 

• hping2 – port scanner

 

• netcat – port scanner

 

• ping – testa conectividade IP

 

• traceroute – Ele conta os “hops” da rede, desde a máquina em que é executado até à máquina/sistema alvo.

 

• queso – OS fingerprinting.

1.3- Teste de vulnerabilidade

 

Os testes de vulnerabilidades consistem na determinação de que buracos de segurança e vulnerabilidades podem ser aplicadas à rede/máquina alvo. Quem efectuar o teste vai tentar identificar nas máquinas na rede alvo todas as portas abertas, sistemas operativos e aplicações a serem executadas; incluindo o sistema operativo, patches aplicados e service packs aplicados.

 

Nas etapas anteriores, são identificadas as máquinas que estão ligadas e que portas e serviços têm disponíveis.

 

Existe, na geral quatro categorias de vulnerabilidades que podem ser encontradas:

 

• Os bugs específicos do sistema operativo, exploits, vulnerabilidades e buracos de segurança

 

• As fraquezas no firewall e routers, entre diversas marcas

 

• A exploração de scripts de web server

 

• As partilhas e confianças exploráveis entre sistemas e pastas.

 

O scan de vulnerabilidades pode ser feito de várias formas, que indicarei nos pontos seguintes.

1.3.1- Ferramentas e Manuais

 

As análises das vulnerabilidades de um computador pode ser feita manualmente, com base na informação recolhida nos pontos anteriores. Ou seja, são percorridas as listas de vulnerabilidades existentes, em busca de alguma que possa existir para cada uma das aplicações instaladas na máquina.

1.3.2- Nessus

 

O Nessus é a melhor ferramenta para inventariar vulnerabilidades com código fonte disponível.

 

Instalação

 

Esta ferramenta é constituida por duas partes: o cliente e o servidor, que podem ou não, ser instaladas em máquinas diferentes.

A instalação é bastante simples:

 

• executa-se a script de instalação

• adiciona-se um utilizador

 

Utilização

 

O Nessus tem de ter o servidor instalado numa máquina *IX, mas o cliente pode ser executado em Windows ou em *IX.

 

O cliente desta ferramenta, pode correr em modo gráfico ou em modo de comando. O modo de comando tem a vantagem de poder ser incluído em scripts, o modo gráfico tem a vantagem de ser facilmente seleccionável quais os testes de vulnerabilidade que são executados.

1.3.3- SARA-Security Auditor’s research assistant

 

O SARA é um scanner de rede, que procura serviços e os analisa.

Esta ferramenta produz relatórios em diversos formatos: html, XML, interactivos e CSV, importável para folhas de cálculo.

 

Instalação

 

A instalação do SARA é muito simples: basta descomprimir o tgz, e executar ./configure, make, make install.

 

Relativamente à configuração, podem fazer-se algumas configurações específicas, mas deixando tudo o que vem por default, obtêm-se resultados interessantes.

 

Utilização

 

O SARA pode ser executado em três modos: interactivo (interface web), linha de comando, ou modo remoto.. No caso presente, optei pelo modo interactivo.

 

O modo remoto pode ser útil, no caso de se desejar ter o servidor de SARA numa determinada máquina e um cliente gráfico, na própria máquina.

 

Este modo tem algumas limitações: só é permitido um utilizador de cada vez, um teste não pode ser interrompido, o servidor não foi feito para ficar permanentemente à espera de pedidos, é preciso ter preocupações com a segurança.

 

Pode ser definido o tipo de “ataque” que é feito à máquina/rede em causa. Pode variar entre cinco níveis de severidade.

1.3.4- Comparação entre detectores de vulnerabilidades

 

A detecção manual de vulnerabilidades é, com certeza a que permite mais pormenor, mas é muito difícil de ser implementada com perfeição.

 

Relativamente às duas ferramentas utilizadas, o SARA é, sem dúvida, mais rápida, mas é também a menos eficiente. Além de apresentar resultados muito menos detalhados e não apresentar formas de resolução das vulnerabilidades (como o Nessus), apresenta falsos positivos.

 

Relativamente à forma de apresentação de resultados, o SARA é muito inferior. O servidor tem ainda problemas de funcionamento, no sentido que entre dois testes, se não for removido, não funciona corretamente.

 

Tem no entanto, uma funcionalidade interessante, que é ir guardando e apresentando em paralelo os resultados de testes anteriores.

 

Esta característica pode ser interessante, do ponto de vista de armazenamento de informação sobre todo o parque de servidores de uma empresa, por exemplo.

 

Fonte: Baseado no Curso EC-Council | Certified Ethical Hacker e alguns trechos encontrados na internet.

Créditos:SecurityHacker

Reeditado por L.henvy

 

Popularity: 9% [?]

Free Web Hosting