> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/pt-br/reconnaissance/nmap.md).

# Nmap

O Nmap é usado durante o reconhecimento para identificar hosts ativos, portas abertas, versões de serviços, sistemas operacionais, resultados de scripts NSE e possíveis caminhos de ataque.

{% hint style="info" %}
**Nmap**, que significa "*Network Mapper*", é uma ferramenta de código aberto usada para explorar e auditar redes, além de descobrir hosts e serviços em uma rede. Ela foi criada originalmente por Gordon Lyon, também conhecido como Fyodor Vaskovich. O Nmap oferece recursos de varredura de rede que permitem aos usuários descobrir dispositivos conectados a uma rede, identificar serviços em execução nesses dispositivos e obter informações detalhadas sobre a configuração da rede.
{% endhint %}

#### Comandos comuns e referência de opções:

## Referência de opções do Nmap

### Rede de destino e descoberta de hosts

| Opção                | Descrição                                                              |
| -------------------- | ---------------------------------------------------------------------- |
| `10.10.10.0/24`      | Faixa de rede de destino.                                              |
| `-sL`                | Varredura de lista. Lista os alvos sem escaneá-los.                    |
| `-sn`                | Desativa a varredura de portas e realiza apenas a descoberta de hosts. |
| `-Pn`                | Trata os hosts como online e ignora as sondas de descoberta de hosts.  |
| `-n`                 | Desativa a resolução de DNS.                                           |
| `-PE`                | Realiza a descoberta de hosts usando solicitações ICMP Echo.           |
| `--disable-arp-ping` | Desativa solicitações de ping ARP em redes locais.                     |
| `--dns-server <ns>`  | Realiza a resolução de DNS usando o servidor de nomes especificado.    |

### Seleção de portas e tipos de varredura

| Opção               | Descrição                                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------------------- |
| `--open`            | Mostra apenas portas abertas.                                                                           |
| `--top-ports <num>` | Escaneia o número especificado das portas mais comuns.                                                  |
| `-p-`               | Escaneia todas as portas TCP.                                                                           |
| `-p22-110`          | Escaneia todas as portas entre 22 e 110.                                                                |
| `-p22,25`           | Escaneia apenas as portas especificadas 22 e 25.                                                        |
| `-F`                | Varredura rápida. Escaneia as 100 principais portas.                                                    |
| `-sS`               | Realiza uma varredura TCP SYN.                                                                          |
| `-sT`               | Realiza uma varredura TCP connect, útil quando os privilégios para varredura SYN não estão disponíveis. |
| `-sA`               | Realiza uma varredura TCP ACK, útil para mapeamento de regras de firewall.                              |
| `-sU`               | Realiza uma varredura UDP.                                                                              |
| `-sV`               | Detecta versões de serviços nos serviços descobertos.                                                   |
| `-sC`               | Executa scripts NSE categorizados como `default`.                                                       |
| `--script <script>` | Executa o script NSE especificado ou a categoria de script.                                             |

### Detecção e evasão

| Opção                                | Descrição                                                                                        |
| ------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `-O`                                 | Realiza a detecção de sistema operacional.                                                       |
| `-A`                                 | Ativa a detecção de sistema operacional, detecção de versão, scripts padrão do NSE e traceroute. |
| `--packet-trace`                     | Mostra os pacotes enviados e recebidos.                                                          |
| `--reason`                           | Exibe o motivo pelo qual o Nmap reportou o estado de uma porta ou host.                          |
| `-D RND:5`                           | Usa cinco iscas aleatórias para evasão de firewall/IDS.                                          |
| `-e <interface>`                     | Especifica a interface de rede usada para a varredura.                                           |
| `-S 10.10.10.200`                    | Especifica o endereço IP de origem para a varredura.                                             |
| `-g <port>` / `--source-port <port>` | Especifica a porta de origem para a varredura.                                                   |

### Opções de saída

| Opção          | Descrição                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------- |
| `-oA filename` | Armazena os resultados em todos os formatos de saída disponíveis usando `filename` como nome base. |
| `-oN filename` | Armazena os resultados no formato normal.                                                          |
| `-oG filename` | Armazena os resultados no formato grepável.                                                        |
| `-oX filename` | Armazena os resultados no formato XML.                                                             |

### Opções de desempenho

| Opção                        | Descrição                                                         |
| ---------------------------- | ----------------------------------------------------------------- |
| `--max-retries <num>`        | Define o número de tentativas para sondas de varredura de portas. |
| `--stats-every=5s`           | Exibe o status da varredura a cada 5 segundos.                    |
| `-v` / `-vv`                 | Exibe saída detalhada durante a varredura.                        |
| `--initial-rtt-timeout 50ms` | Define o timeout inicial de RTT.                                  |
| `--max-rtt-timeout 100ms`    | Define o timeout máximo de RTT.                                   |
| `--min-rate 300`             | Envia pacotes em uma taxa não menor que a especificada.           |
| `-T <0-5>`                   | Define o modelo de temporização, de `0` paranoico a `5` insano.   |

## **Varredura de portas**

```bash
nmap --open -p- -sS --min-rate 5000 -vvv -n -Pn 192.168.0.1 -oG allPorts
```

Varredura TCP SYN rápida de todas as portas que ignora DNS e descoberta de hosts, mostra o progresso em modo verboso e armazena a saída em formato grepável.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252Fe6BGuXp1hLil6uT3Jtic%252Fimage.png%3Falt%3Dmedia%26token%3D96d46423-ca25-4471-a563-42daeae3be1e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bcba8a61&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## **Varredura de versão de portas**

```bash
nmap -p22,80,443 -sCV 192.168.0.1 -oN targeted
```

Varredura direcionada de serviços e scripts padrão contra portas selecionadas, salva no formato de saída normal.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252F2MsfGLpxVpuiWEE7sRjJ%252Fimage.png%3Falt%3Dmedia%26token%3D767e772a-f3ea-4fee-b266-0c73398b7a4f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b468a586&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## **Identificação de dispositivos conectados à rede**

```bash
nmap -sn 192.168.0.1/24
```

Varredura de descoberta de hosts para identificar sistemas ativos em uma faixa de rede sem escanear portas.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252FEFDeAo8BSjtTrsirRHC8%252Fimage.png%3Falt%3Dmedia%26token%3D679e4610-aa84-4b59-80e0-1a08f0c9140b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=753ed2d0&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## Evitando firewalls com o Nmap

{% hint style="info" %}
Existem vários métodos para contornar um firewall usando a ferramenta Nmap. Abaixo estão algumas das técnicas mais usadas e eficazes para esse propósito
{% endhint %}

### Ajustar o tamanho dos pacotes enviados

> A técnica de evasão MTU ou "Maximum Transmission Unit" consiste em ajustar o tamanho dos pacotes enviados para evitar sua detecção pelo firewall. O Nmap permite configurar manualmente o tamanho máximo do pacote para garantir que os pacotes sejam pequenos o suficiente para passar pelo firewall sem serem detectados.

```bash
nmap 192.168.0.1 --mtu 8
```

### Adicionar dados de preenchimento

> Essa técnica envolve alterar o comprimento dos dados enviados para que sejam curtos o suficiente para não serem detectados pelo firewall. O Nmap permite que os usuários configurem manualmente o comprimento dos dados enviados para evitar a detecção.

```bash
nmap -p22 192.168.0.1 --data-length 21
```

### Definir manualmente o número da porta de origem

> Essa técnica envolve configurar manualmente o número da porta de origem dos pacotes enviados para evitar a detecção. Com o Nmap, os usuários podem especificar uma porta de origem aleatória ou uma porta específica para contornar o firewall.

```bash
nmap -p22 192.168.0.1 --source-port 53
```

### Envio de pacotes falsos para a rede

> Essa técnica de evasão permite que pacotes falsificados sejam enviados pela rede para confundir sistemas de detecção de intrusão e evitar a detecção pelo firewall. Com a `-D` opção, o Nmap envia pacotes falsificados junto com pacotes reais para ocultar a atividade do usuário.

```bash
nmap -p22 192.168.0.1 -D 192.168.0.100,192.168.0.152
```

### Fragmentação dos pacotes enviados

> Essa técnica envolve fragmentar os pacotes enviados para que o firewall não consiga identificar o tráfego como uma varredura. A opção `-f` do Nmap permite que os pacotes sejam fragmentados e enviados em partes para evitar a detecção.

```bash
nmap -p22 192.168.0.1 -f
```

### Alterar o endereço MAC do pacote

> Essa técnica de evasão consiste em modificar o endereço MAC do pacote para evitar sua detecção pelo firewall. O Nmap permite configurar manualmente o endereço MAC para disfarçar o tráfego.

```bash
nmap -p22 192.168.0.1 --spoof-mac f4:69:42:f4:a7:d0
```

## Varredura de vulnerabilidades com scripts do Nmap

```bash
nmap --script "vuln and safe" -p445 10.10.10.10 -oN vulnScan
```

> Este script do Nmap permite analisar as vulnerabilidades de um host específico. Ao executar scripts da categoria **vuln** (vulnerabilidades) e **safe** (varreduras seguras), ele identifica possíveis vulnerabilidades de segurança. Os resultados são salvos em um arquivo chamado **vulnScan** para análise posterior.

**Enumeração Linux (sem credenciais)**

```bash
enum4linux -a 10.10.10.10
```

<figure><img src="/files/88fa1a783437ce67731af47c6ad1740eb0fe23e4" alt=""><figcaption></figcaption></figure>

**Enumeração Linux com credenciais**

```bash
enum4linux -a 10.10.10.10 -u admin -p password1
```

<figure><img src="/files/480ba9cc34028ae94bf22125d4edc3936cd87217" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/pt-br/reconnaissance/nmap.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
