# Smurf Attack

## 🔍 Conceitos Fundamentais

O **Smurf Attack** é um tipo de ataque de negação de serviço (DoS) distribuído que utiliza o protocolo **ICMP** e endereços de **Broadcast** da rede para amplificar o tráfego enviado para uma vítima. O nome é uma referência aos "Smurfs", onde muitos pequenos personagens derrubam um oponente muito maior.

***

## 🏗️ O Mecanismo do Smurf Attack

O ataque baseia-se em dois princípios: **IP Spoofing** (Falsificação de IP) e **Broadcast Networking**.

1. **IP Spoofing:** O atacante envia pacotes `ICMP Echo Request` para o endereço de broadcast de uma rede.
2. **Forjamento:** O IP de origem desses pacotes é falsificado para ser o endereço IP da **Vítima**.
3. **Amplificação:** Todos os computadores ativos naquela rede de broadcast processam o Echo Request e respondem com um `Echo Reply` para a Vítima.
4. **Inundação:** Se a rede de broadcast tiver 200 computadores, cada pacote enviado pelo atacante gera 200 respostas simultâneas para a vítima (fator de amplificação de 1:200).

***

## 📦 Componentes do Ataque

* **Atacante:** O computador que inicia os pacotes forjados.
* **Amplificador (Intermediário):** Uma rede mal configurada que permite pings em seu endereço de broadcast.
* **Vítima:** O servidor alvo que recebe a avalanche de respostas ICMP que ele nunca solicitou.

***

## 🔧 Técnicas de Exploração

### Payload com Hping3

```bash
# Enviar ping para o broadcast de uma rede de terceiros, forjando a vítima
sudo hping3 -1 -a <IP_VITIMA> <IP_BROADCAST_REDE_TERCEIROS>
```

### O Ataque Fraggle (Variante UDP)

É a versão do Smurf Attack que usa **UDP** em vez de ICMP, geralmente mirando as portas 7 (Echo) ou 19 (Chargen).

```bash
sudo hping3 --udp -a <IP_VITIMA> <IP_BROADCAST_REDE_TERCEIROS> -p 7
```

***

## 🛡️ Mitigação e Prevenção

{% stepper %}
{% step %}

### 1. Desabilitar Broadcast ICMP (Essencial)

Configurar roteadores e servidores para nunca responder a pacotes ICMP enviados para endereços de broadcast ou multicast.

```bash
# No Linux
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
```

{% endstep %}

{% step %}

### 2. Bloquear IP Spoofing (BCP 38)

Implementar filtros de entrada nas bordas da rede que descartam pacotes cujo IP de origem não pertence ao segmento legítimo daquela interface.
{% endstep %}

{% step %}

### 3. Desabilitar IP Directed Broadcasts

Nos roteadores (especialmente Cisco), usar o comando `no ip directed-broadcast` nas interfaces. Isso impede que pings vindos de fora da rede interna sejam enviados para o endereço de broadcast da rede local.
{% endstep %}
{% endstepper %}

> O Smurf Attack clássico é muito menos comum hoje do que foi nos anos 90, pois a maioria dos roteadores e sistemas operacionais modernos vem com proteção contra respostas de broadcast habilitada por padrão.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xmorte.gitbook.io/bibliadopentestbr/tecnicas/rede-and-infraestrutura/icmp/smurf-attack.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
