# 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.
