Desvendando Syn Floods, For Dummies - Parte 1

Iniciado por HadeS, 22 de Maio , 2007, 03:40:28 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

HadeS

E ae denovo galera do Darkers.

Vou postar aqui mais um artigo do Code.Ripper aqui no fórum. Espero que gostem.

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

Boas!

Você é aquele cara que sempre ouviu os outros falando em Syn Floods e DoS, mas nunca te explicaram direito o que era o negócio? Não temas! Você é parte de um grande conjunto de outras pessoas na mesma situação.

Mas como eu sou um cara legal.. quer dizer, algumas pessoas dizem isso. Se bem que as pessoas que não me acham legal não devem dizer isso pra mim. Resumindo! Vou acreditar naquelas pessoas que mentem dizendo que eu sou legal e vou te explicar, com detalhes o funcionamento dos Syn Floods.

Já que o meu organismo diz que precisa de sono (e eu só posso trabalhar no site à noite), eu não posso contrariá-lo, então vou dividir este artigo em duas partes. Aqui eu vou falar sobre a teoria por trás dos Syn Floods e no próximo artigo eu vou criar um programinha mostrando como o negócio funciona na prática.

[[ A conexão TCP - O mundo normal ]]

Pra falar em Syn Floods, primeiro é preciso saber como a conexão TCP funciona. Em um mundo "normal", onde apenas usuários coexistem felizes e harmônicos, o processo de conexão do TCP funciona com um processo conhecido como Three-way Handshake.



A figura acima mostra os passos da conexão.

   1. O cliente envia para o servidor uma requisição de conexão TCP, o que gera um pacote desse protocolo com o flag SYN ligado e o flag ACK desligado. Neste instante, o cliente fica aguardando pela resposta do servidor;
   2. O servidor, bondoso por natureza, envia de volta ao cliente uma espécie de "pois não, seja bem vindo", isto é, um pacote TCP contendo os flags SYN e ACK ligados. Nesse pacote, os números de sequência também precisam corretos. Neste ponto, o cliente precisa armazenar, em uma lista na memória, que este cliente solicitou uma conexão e que está pendente do último pacote pra finalizar a conexão. Muita atenção nessa hora!!
   3. O cliente, por sua vez, envia um pacote TCP ao servidor, com o flag ACK ligado e o SYN desligado. As duas máquinas consideram que a conexão está feita.

Mas como eu sei que você é um cara bastante curioso e não aceita tudo o que eu falo, eu vou provar por A+B o que estou falando. Pra isso, eu vou efetuar uma conexão com um famoso site chamado www.codebunker.org e vou monitorar isso através do meu sniffer-for-dummies preferido, o Ethereal.



Beleza! Você pode reproduzir isso na sua casa sem problemas. Confia em mim agora? Eu sei que não! :)
Por dentro agora, né? Veja bem, como agravante, as pessoas utilizam uma técnica chamada de IP Spoofing pra forjar o endereço de origem dos pacotes. Com isso, fica bastante difícil rastrear a pessoa que efetuou o ataque, afinal, os pacotes enviados de volta pelo servidor são inúteis.

[[ E agora?? O que eu faço???? ]]

A solução mais simples é, com certeza, aumentar a área de memória do Backlog Queue até não ter mais memória pros outros serviços.. certo?? Não!!

O que o CERT sugere é que as pessoas que configuram roteadores bloqueiem pacotes cujo endereço de origem não faz parte de sua rede interna.. o que é confiar em uma Internet formada apenas por pessoas boazinhas. O problema é que as pessoas sempre podem forjar endereços de origem da própria rede interna.

[[ Por hoje :( ]]

Eu falarei mais sobre algumas soluções possíveis no próximo post e também vou mostrar um pequeno programa de exemplo que faz Syn Floods, basicamente um PoC (Proof of Concept).

Quem sobreviver verá.

See ya.

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

Espero que gostem.

Fonte: www.CodeBunker.org

HadeS

Anonymous

"HadeS" obrigado por compartilhas os 2 Tutoriais Cracking ai, e volto a dizer citar Fonte não custa nada você e um grande exemplo de quem posta suas fontes obrigado.

 ;)

#phobia

Muito bom o artigo HadeS.
Achei bem interessante!

Killer, ele já disse lá no começo que a autoria é do Code.Ripper.

Por falar nisso HadeS, tem notícias dele?
Sumiu do mapa...


Vlw!   ;)

Anonymous

Desculpe e que escrevi de forra errada, quero dizer que ele sempre Divulga as suas fontes, e ele e um grande exemplo deste tipo de pessoa que "Guarda" e sempre leva a fonte.  ;)

HadeS

HEAD, ele tava elogiando por deixar a fonte, não taca criticando. ;D

HadeS

#phobia

Nossa, é mesmo... Entendi errado aqui! hehe
Malz ae killer!

Em breve boas noticias!?!?

Então tá neh...
No aguardo!  :P

nibbles

muito bom muito bom pqp
adoro textos de pessoas que sabem oque estão escrevendo e fazem a leitura ser prazerosa
sem mais.



"A diversão do inteligente é se fingir de burro para aquele que se finge de inteligente."
"ENGENHARIA SOCIAL. Porque não existe patch para a ignorância humana."

_Dr4k0_

Citação de: "nibbles"muito bom muito bom pqp
adoro textos de pessoas que sabem oque estão escrevendo e fazem a leitura ser prazerosa
sem mais.

nibbles cade vc??? agora que a brasnet acabou o #rtfm tb.. cria ele la na freenode, aparece la na freenode,manda pvt, da whois.. vc sumiu..


e sobre o paper é um excelente paper mesmo..
100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.

HadeS

Sim, definitivamente o Code.Ripper sabe escrever. ;)

HadeS

dnlld

Os tutos do code.ripper sao muito bons, acompanho o blog dele des do começo.. ele explica de uma forma muiito boa para entender, tanto leigos como usuários já avançados...

Recomendo vocês, assim como eu, assinar o codebunker.org nos seus feed's rss, uma leitura dessas sempre é bem vinda :)
4 , 8 , 15 , 16 , 23 , 42 Execute

Anonymous

Fala galera!!

Agora que li esses elogios aqui. Grato a todos por isso :) Muito feliz de saber que vocês gostaram.

Abraços a todos