DoS e DDoS

Ataque de negação de serviço

Ataques de negação de serviço, conhecidos como DoS (Denial of Service) e DDoS (Distributed Denial of Service), são técnicas que visam tornar um sistema, serviço ou rede indisponível para os usuários legítimos. Esses ataques estão entre os mais frequentes na internet e causam grandes prejuízos financeiros, além de danos à reputação de empresas e organizações.

O Kali Linux, uma distribuição voltada para segurança ofensiva, traz ferramentas capazes de simular esse tipo de ataque em ambientes de teste. Nesta matéria, explicaremos os conceitos por trás de DoS e DDoS, mostraremos os tipos mais comuns, e apresentaremos exemplos práticos usando ferramentas do Kali Linux.

 

1. O que é um ataque DoS?

Um ataque DoS tem como objetivo sobrecarregar um sistema ou serviço até que ele pare de responder ou apresente lentidão. Isso pode ser feito de diversas formas:

Enviando um número excessivo de requisições

Explorando vulnerabilidades de software para travar o sistema

Consumindo todos os recursos de hardware (memória, CPU, largura de banda)

Exemplo prático: um servidor web que aguenta 100 conexões simultâneas começa a receber 1000 conexões por segundo de um único atacante. O servidor não consegue atender a demanda e fica lento ou fora do ar.

 

2. O que é um ataque DDoS?

Enquanto o DoS parte de uma única origem, o DDoS é distribuído: múltiplos dispositivos (frequentemente zumbis de uma botnet) atacam simultaneamente o mesmo alvo. Isso torna o ataque mais difícil de mitigar, pois o tráfego parece vir de diversos IPs diferentes, espalhados pelo mundo.

Exemplo prático: milhares de computadores infectados começam a acessar o mesmo site ao mesmo tempo, como se fossem visitantes normais. O servidor colapsa com o excesso de requisições.

 

3. Tipos comuns de ataques DoS/DDoS

SYN Flood: o atacante envia um número elevado de pacotes SYN (abertura de conexão TCP), sem completar o handshake, fazendo o servidor esgotar seus recursos.

UDP Flood: o atacante envia pacotes UDP aleatórios para portas abertas ou fechadas, causando sobrecarga.

HTTP Flood: o atacante simula requisições HTTP legítimas, mas em grande volume, sobrecarregando o servidor web.

Ping of Death: pacotes ICMP malformados ou excessivamente grandes são enviados, podendo travar o alvo.

Slowloris: envia cabeçalhos HTTP incompletos lentamente para manter conexões abertas indefinidamente.

 

4. Ferramentas de DoS no Kali Linux

O Kali Linux traz algumas ferramentas que podem ser utilizadas para simular ou testar ataques de negação de serviço em ambientes controlados. Algumas delas:

Hping3

Slowloris

GoldenEye

LOIC (Low Orbit Ion Cannon) – precisa ser instalado

Xerxes – pode ser compilado a partir do código-fonte

Vamos agora a exemplos práticos com algumas dessas ferramentas.

 

5. Exemplo prático com Hping3: simulação de SYN Flood

Hping3 é uma ferramenta para gerar pacotes TCP/IP customizados. Pode ser usada para testar firewall, traceroute e simular ataques.

Com o alvo em 192.168.0.100, você pode simular um ataque SYN flood com o seguinte comando:

hping3 -S --flood -V -p 80 192.168.0.100

Explicando:

-S envia pacotes com o flag SYN

--flood envia pacotes o mais rápido possível

-V ativa o modo verboso

-p 80 define a porta de destino (neste caso, HTTP)

Este comando tenta abrir milhares de conexões TCP na porta 80, sem completá-las, o que pode esgotar os recursos do servidor.

 

6. Exemplo prático com Slowloris

O Slowloris é um script em Python que tenta derrubar servidores web mantendo conexões abertas com cabeçalhos HTTP incompletos.

Depois de instalar o script slowloris.py, você pode rodá-lo assim:

python3 slowloris.py 192.168.0.100 -p 80 -s 200

Explicando:

192.168.0.100 é o IP do alvo

-p 80 define a porta do serviço HTTP

-s 200 define o número de conexões simultâneas

O ataque envia cabeçalhos HTTP em partes, lentamente, fazendo o servidor manter as conexões abertas até esgotar seus recursos.

 

7. Exemplo prático com GoldenEye

GoldenEye é outra ferramenta em Python que simula requisições HTTP massivas para servidores web.

Você pode executar:

python3 goldeneye.py http://192.168.0.100 -w 100 -s 50

Explicando:

-w 100 define o número de workers (threads)

-s 50 define o número de conexões simultâneas por thread

Esse ataque é útil para testes em servidores web, simulando uma avalanche de tráfego legítimo.

 

8. Consequências e riscos legais

Ataques DoS e DDoS são crimes previstos por lei. No Brasil, o artigo 266 do Código Penal trata da interrupção ou perturbação de serviços telemáticos, com penas que podem ultrapassar 3 anos de prisão. Mesmo que você esteja “apenas testando”, se o alvo não tiver autorizado explicitamente, você poderá responder por danos civis e criminais.

 

9. Como se defender de DoS e DDoS

Firewalls e filtros de pacotes: rejeitam tráfego suspeito antes de alcançar o servidor.

Rate limiting: limita o número de requisições por IP ou sessão.

Serviços de mitigação: como Cloudflare, Akamai ou AWS Shield, que distribuem o tráfego e bloqueiam padrões maliciosos.

Redundância de servidores: espalha a carga entre múltiplos sistemas.

Análise e monitoramento: detecção precoce de tráfego anormal é essencial para resposta rápida.