# Enumeración

### fping

```bash
fping -asgq 10.10.10.0/24 2>/dev/null > hosts.txt
```

Parámetros utilizados:

* `a` para mostrar los objetivos que están activos
* `s` imprimir estadísticas al final de la exploración
* `g` para generar una lista de destinos a partir de la red CIDR
* `q` para no mostrar resultados por objetivo

Ejemplo:

```bash
fping -a -g 10.10.10.0/24 2>/dev/null > hosts.txt
```

Combinación de `fping` con `nmap`

```bash
fping -a -g 10.10.10.0/24 2>/dev/null
nmap -sn -iL hosts.txt
```

### Nmap

#### **Descubrimiento de host - Ping Scan**

```bash
sudo nmap -sn 10.10.10.0/24
```

* `-sn` Esta opción le dice a Nmap que no haga un escaneo de puertos después del descubrimiento de hosts y que sólo imprima los hosts disponibles que respondieron a la traza icmp.

#### **Escaneo de puertos**

```bash
sudo nmap -p- --open -Pn -n 10.10.10.5 -vvv -oG scanPorts
```

Parámetros utilizados:

* `-sS`: Realiza un TCP SYN Scan para escanear de manera sigilosa, es decir, que no completa las conexiones TCP con los puertos de la máquina víctima.
* `-p-`: Indica que debe escanear todos los puertos (es igual a `-p 1-65535`).
* `--min-rate 5000`: Establece el número mínimo de paquetes que nmap enviará por segundo.
* `-Pn`: Desactiva el descubrimiento de host por medio de ping.
* `-vvv`: Activa el modo *verbose* para que nos muestre resultados a medida que los encuentra.
* `-oG`: Determina el formato del archivo en el cual se guardan los resultados obtenidos. En este caso, es un formato *grepeable*, el cual almacena todo en una sola línea. De esta forma, es más sencillo procesar y obtener los puertos abiertos por medio de expresiones regulares, en conjunto con otras utilidades como pueden ser grep, awk, sed, entre otras.

#### **Versión y Servicio**

```bash
sudo nmap -sCV -p<PORTS> 10.10.10.5 -oN targeted -vvv 
```

* `-sCV` Es la combinación de los parámetros `-sC` y `-sV`. El primero determina que se utilizarán una serie de scripts básicos de enumeración propios de nmap, para conocer el servicio que esta corriendo en dichos puertos. Por su parte, segundo parámetro permite conocer más acerca de la versión de ese servicio.
* `-p-`: Indica que debe escanear todos los puertos (es igual a `-p 1-65535`).
* `-oN`: Determina el formato del archivo en el cual se guardan los resultados obtenidos. En este caso, es el formato por defecto de nmap.
* `-vvv`: Activa el modo *verbose* para que nos muestre resultados a medida que los encuentra.

#### **UDP (top 100)**

```bash
sudo nmap -n -v -sU -F -T4 --reason --open -T4 -oA nmap/udp-fast 10.10.10.5
```

#### **UDP (top 20)**

```bash
sudo nmap -n -v -sU -T4 --top-ports=20 --reason --open -oA nmap/udp-top20 10.10.10.5
```

#### **Obtener ayuda sobre scripts**

```bash
nmap --script-help="http-*"
```

### Enrutamiento

#### **Mostrar la tabla de enrutamiento**

En Windows y Linux podemos usar:

```bash
arp -a
```

En Linux, podemos usar:

```bash
ip route
```

#### **Configurar una ruta con `ip route`**

```bash
ip route add <Network To Access> via <Gateway Address>
```

Ejemplo:

```bash
ip route add 10.10.10.0/24 via 10.10.10.1
```

Esto añade una ruta a la red 10.10.10.0/24 a través del router 10.10.10.1.


---

# 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://d4redevil.gitbook.io/d4redevil/cheatsheet/enumeracion.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.
