# Network Sweeping

Quando estamos dentro de uma rede muito grande e há a necessidade de mapear e identificar todos os hosts, é interessante utilizar a técnica de network sweeping. Primeiro, precisamos identificar quais hosts estão ativos.

```
# nmap -v -sn <ip>/24 -oG ativos.txt
```

Como saída, irá gerar um arquivo com todos os hosts ativos e que não estão ativos. Podemos filtrar com o grep o que estão ativos e depois utilizar o cut para trazer como resultado apenas os ips.

```
# cat ativos.txt | grep "Up"
Host: 192.168.2.1 ()    Status: Up
Host: 192.168.2.107 ()  Status: Up
Host: 192.168.2.136 ()  Status: Up
Host: 192.168.2.134 ()  Status: Up
```

```
# cat ativos.txt | grep "Up" | cut -d " " -f 2 > hosts.txt
                                                                                                                      
# cat hosts.txt 
192.168.2.1
192.168.2.107
192.168.2.136
192.168.2.134
```

Agora, vamos utilizar o nmap nesses hosts para descobrir serviços web que estão ativos.

```
# nmap -sSV -p 80 --open -Pn -iL hosts.txt -oG web.txt 
```

*Podemos utilizar um coringa também ao passar o número da porta. Por exemplo, se você está procurando por http, ao invés de passar -p você pode utilizar http\*.*

### Identificando serviços ativos

Para fazer reconhecimento dos serviços, precisamos utilizar o parâmetro -sV para isso.

```
# nmap -sV -Pn <ip>
```

O funcionamento que é feito, é basicamente ele interagir com o serviço, trazendo assim o banner com os detalhes.

### Enganando o atacante

Ao identificarmos o serviço, pode ser que há alguma alteração feita no banner para dificultar o atacante de enumerar o serviço. A técnica consiste em basicamente alterar o binário de determinado serviço, mudando manualmente a versão, nome, etc. Isso não costuma acontecer na maioria dos casos, mas é bom se atentar a esse detalhe, pois quando você faz o scan com o nmap, por exemplo, ele trás exatamente como foi alterado (em alguns casos pode ser que ocorra alguns erros e ele não consegue identificar com exatidão).

### Identificando o Sistema Operacional

Um modo de identificarmos o sistema operacional do alvo, é vendo o TTL, lembrando que por padrão, o TTL do Windows é 128, do Linux 64, FreeBSD 64, Solaris 255 e CISCO 254. Fazendo um ping conseguimos identificar isso. Vale lembrar que essa informação pode ser alterada por quem está tentando proteger o sistema. No Nmap, podemos utilizar o parâmetro -O para identificar o sistema operacional, exemplo: nmap -v -O -pn 192.168.1.0.


---

# 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://nicollaslopes.gitbook.io/estudos/master/scanning/network-sweeping.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.
