# Monitoreo Pasivo de recursos

El monitoreo pasivo es una de las funciones clave que se utilizan para detectar y responder a incidentes de seguridad. Implica la observación no intrusiva mediante fuentes de información de seguridad, sin interactuar directamente con los activos. Su objetivo principal es detectar amenazas e incidentes de seguridad al escuchar lo que sucede en el entorno.

# Uptime Kuma

### <span style="color: rgb(35, 111, 161);">Manual de despliegue  
herramienta Uptime Kuma</span>

Este manual sirve como una guía paso a paso para la instalación y configuración de Uptime Kuma, una herramienta de monitoreo de código abierto. A lo largo de este manual, exploraremos cómo implementar esta solución para supervisar la disponibilidad de servicios y sitios web, permitiéndote recibir alertas en tiempo real sobre cualquier interrupción.

Con Uptime Kuma, obtendrás una visión clara y proactiva del estado de tus sistemas, garantizando la estabilidad y el rendimiento que tus proyectos y clientes merecen.

#### <span style="color: rgb(35, 111, 161);">1. Instalación de Docker Compose y dependencias en el servidor.</span>

Ejecuta las siguientes órdenes para preparar el entorno:

```shell
sudo apt update
sudo apt upgrade -y
```

[Página oficial de instalación de Docker, caso Ubuntu.](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) En caso de instalación mediante los pasos de la página, en el manual se tiene un resumen con los comandos a utilizar para la instalación mediante el repositorio de Docker de fuentes APT.

Agregar la clave GPG oficial de Docker

```shell
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
```

Añadir el repositorio de Docker a las fuentes de APT

```shell
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
```

Instalar Docker y complementos en su versión actual.

```shell
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

Probar la instalación de Docker.

```shell
sudo docker run hello-world
```

Respuesta esperada del terminal:

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/dYz4bBVW9nJbS2mT-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/dYz4bBVW9nJbS2mT-image.png)

##### <span style="color: rgb(35, 111, 161);">1.1. Configuración de docker post instalación.</span>  


Agregar el usuario actual al grupo docker:

```shell
sudo usermod -aG docker $USER
```

Habilitar el inicio automático de Docker con systemd.

```shell
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
```

Respuesta esperada del terminal:

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/JlDcbrKsPZIrHYpV-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/JlDcbrKsPZIrHYpV-image.png)

#### <span style="color: rgb(35, 111, 161);">2. Instalación de uptime Kuma con servicio docker.</span>

- Clonar el repositorio de Uptime Kuma

```shell
git clone https://github.com/louislam/uptime-kuma.git
```

Respuesta esperada del terminal:

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/6gc8DdK6yoinK8Ep-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/6gc8DdK6yoinK8Ep-image.png)

- Desplegar Uptime Kuma en Docker

```shell
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name laboratorio-kuma louislam/uptime-kuma:1
```

Verifica que el contenedor esté en ejecución

```shell
docker ps
```

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/CvEaJTcUNfWss0cn-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/CvEaJTcUNfWss0cn-image.png)

- Acceso desde el navegador

Abre en tu navegador en el siguiente enlace y selecciona el idioma Español antes de continuar.

```xml
http://IP_servidor:3001/setup 
```

Observará la siguiente página de inicio una vez desplegado el docker:

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/JYxZG5f7X0R3tA20-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/JYxZG5f7X0R3tA20-image.png)

Es fundamental crear un usuario y una contraseña robustos para proteger tu información. Elige un nombre de usuario que no revele datos personales y combina caracteres alfanuméricos, símbolos y mayúsculas/minúsculas en tu contraseña.

#### <span style="color: rgb(53, 152, 219);"><span style="color: rgb(35, 111, 161);">3. Primeros pasos post instalación</span>  
</span>

Verificamos la pantalla de inicio.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/KpbtJTTfHgPBp2dA-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/KpbtJTTfHgPBp2dA-image.png)

##### <span style="color: rgb(35, 111, 161);">3.1. Doble factor de autenticación (2FA).</span>  


Para comenzar, usa la aplicación de autenticación de tu preferencia en tu dispositivo móvil y escanea el código QR que se presenta a continuación. Esta acción activará una capa de seguridad esencial que requiere un código único y temporal en cada inicio de sesión, lo cual es fundamental para proteger tu información.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/Badjb6TDtHVGOx72-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/Badjb6TDtHVGOx72-image.png)

Una vez escaneado el token, la aplicación proporcionará un código de 6 dígitos y se debe colocar para verificar el token y presionar el botón “Verificar token”.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/NVh1v5DFZf9dDFFZ-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/NVh1v5DFZf9dDFFZ-image.png)

##### <span style="color: rgb(35, 111, 161);">3.2. Añadir Nuevos Monitores en Uptime Kuma</span>

Uptime Kuma permite crear distintos tipos de monitores para supervisar servicios, aplicaciones y recursos de red.  
Al agregar un monitor, se despliega una lista con varias categorías y parámetros, cada una enfocada en un tipo específico de verificación.

Primeramente verificaremos que tipos de monitores existen para uptime Kuma.

- **Monitor Tipo General**

Entre los más utilizados podemos destacar:

- - Group: Agrupa varios monitores en una sola categoría para organizarlos y ver su estado de forma conjunta.
    - HTTP(s): Comprueba si un sitio web responde correctamente mediante HTTP o HTTPS.
    - DNS: Revisa la resolución de un dominio, confirmando que el servidor DNS responda correctamente.
    - Contenedor de Docker: Supervisa el estado de un contenedor Docker específico.

También tenemos la opción de utilizar para monitorear lo siguiente:

- - TCP Port: Verifica que un puerto TCP específico de un host esté abierto y aceptando conexiones.
    - Ping: Envía paquetes ICMP para medir la latencia y disponibilidad de un host.
    - HTTP(s) – Palabra clave: Valida que una palabra o frase aparezca en el contenido de una página web.
    - HTTP(s) – Consulta JSON: Analiza una respuesta en formato JSON y evalúa valores clave.
    - gRPC(s) – Palabra clave: Comprueba servicios gRPC y busca una cadena de texto en la respuesta.
    - HTTP(s) – Browser Engine (Chrome/Chromium) (Beta): Realiza una prueba con un motor de navegador real para verificar la carga de una página (útil para sitios dinámicos con JavaScript).
- **Monitor Tipo Pasivo** 
    - Push: El servidor monitoreado envía (“push”) una señal a Uptime Kuma en intervalos establecidos. Ideal para sistemas que no permiten consultas externas.
- **Monitor Tipo Específico**

Entre los más utilizados podemos destacar:

- - PostgreSQL: Verifica la conexión a una base de datos PostgreSQL.
    - MySQL/MariaDB: Controla la disponibilidad de servidores MySQL o MariaDB.
    - MongoDB: Monitorea el acceso a una base de datos MongoDB.
    - Radius: Comprueba la autenticación a través del protocolo RADIUS.
    - Redis: Controla el estado de un servidor de base de datos en memoria Redis.

También tenemos la opción de utilizar para monitorear lo siguiente:

- - Servidor de Juegos de Steam: Monitorea la disponibilidad de servidores de juegos que utilizan el protocolo Steam.
    - GameDig: Compatible con múltiples motores de juego; verifica que un servidor de juegos esté en línea.
    - MQTT: Supervisa brokers del protocolo MQTT, común en IoT.
    - Kafka Producer: Comprueba la conectividad y funcionamiento de productores Kafka.
    - Microsoft SQL Server: Evalúa la disponibilidad de una base de datos MS SQL.

##### <span style="color: rgb(35, 111, 161);">3.3. Procedimiento Básico</span>

<span style="color: rgb(0, 0, 0);">En resumen para poder añadir un nuevo monitor deben seguirse los pasos generales:</span>

- Inicia sesión en Uptime Kuma.
- Haz clic en “Nuevo Monitor”.
- Selecciona el Tipo de Monitor de la lista.
- Completa los campos solicitados (URL, host, puerto, credenciales, etc.).
- Guarda la configuración para comenzar la supervisión.

##### <span style="color: rgb(35, 111, 161);">Ejemplo 1. Monitor HTTPs.</span>

<span style="color: rgb(53, 152, 219);">[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/ZuBsvA5ffbS0Z2XJ-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/ZuBsvA5ffbS0Z2XJ-image.png)</span>

<span style="color: rgb(53, 152, 219);">[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/Il4JJHijzDaVQNFL-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/ZuBsvA5ffbS0Z2XJ-image.png)</span>

##### <span style="color: rgb(35, 111, 161);">Identificación de parámetros importantes:</span>  


- **Intervalo de Latido** (Heartbeat Interval): Es el tiempo que Uptime Kuma espera para realizar una verificación regular del servicio (En este ejemplo, cada 300 segundos).
- **Fallo inicial**: Si la verificación falla (el servicio no responde), Uptime Kuma no lo marca inmediatamente como "caído".
- **Intervalo de reintento de latido**: Entre cada uno de estos reintentos, Uptime Kuma espera el tiempo especificado en el Heartbeat Retry Interval (en tu caso, 300 segundos). Esto es crucial para evitar falsos positivos por fallos temporales en la red o el servidor.
- **Tiempo de espera máximo de petición** (Request Timeout). Es el tiempo que Uptime Kuma esperará por una respuesta del servidor antes de considerar que el intento de conexión ha fallado.
- **Notificación de Caducidad del Certificado.** Esta opción te permite establecer un umbral, en días, para recibir una Notificación de Caducidad del Certificado antes de que el certificado SSL/TLS de un sitio web expire. Esto es útil para prevenir interrupciones en el servicio.
- **Ignorar errores TLS/SSL para sitios web HTTPS.** Es una configuración que te permite forzar a Uptime Kuma a ignorar los problemas con los certificados, como los que son autofirmados, caducados o que no coinciden con el nombre de dominio. Esto es útil para monitorear servicios en desarrollo o entornos de prueba, pero no es recomendable para sitios en producción debido a riesgos de seguridad.
- **Add the "uptime\_kuma\_cachebuster" parameter.** Uptime Kuma añade un parámetro aleatorio (?uptime\_kuma\_cachebuster=&lt;valor&gt;) al final de la URL que está monitoreando. Esto obliga al servidor web a servir la página directamente desde el servidor y no desde una caché, lo que te asegura que estás monitoreando el estado en tiempo real del sitio web.
- **Modo invertido** (Inverted Mode). Cambia la lógica del monitor. En lugar de notificar cuando un servicio está "caído," el monitor notificará cuando el servicio está "en línea" (UP). Esto es útil para monitorear servicios que deben estar fuera de línea, como un servidor de respaldo que solo se enciende para una tarea específica.
- **Redirecciones máximas** (Max. Redirects). Definen el número máximo de redirecciones HTTP que Uptime Kuma seguirá al monitorear una URL. Si el número de redirecciones supera este valor, el monitor marcará el estado del servicio como "caído" o con un error.
- **Códigos de estado aceptados** (Accepted Status Codes). Permiten especificar qué códigos de respuesta HTTP se consideran una respuesta exitosa. Por ejemplo, en un monitor HTTP, el código 200 OK indica éxito, pero un código 301 (redirección) o 404 (no encontrado) se consideraría un error. Puedes personalizar esta lista para que Uptime Kuma no envíe una alerta si recibe un código de estado específico.
- **Grupo de Monitoreo** (Monitor Group). Es una forma de organizar tus monitores por categorías. Puedes agrupar servicios relacionados, como todos los monitores de un proyecto específico o todos los servicios de una misma ubicación, para una mejor gestión visual y para activar o desactivar notificaciones para todo un grupo a la vez.

##### <span style="color: rgb(53, 152, 219);"><span style="color: rgb(35, 111, 161);">Ejemplo 2. Monitor DNS.</span>  
</span>

<span style="color: rgb(53, 152, 219);">[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/o9hnqOEtpkxqy5DU-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/o9hnqOEtpkxqy5DU-image.png)</span>

<span style="color: rgb(53, 152, 219);">[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/c5wGXsZat9GbqtBX-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/o9hnqOEtpkxqy5DU-image.png)</span>

##### <span style="color: rgb(35, 111, 161);">Identificación de parámetros importantes:</span>

- **Nombre del host** (Hostname). Es el nombre de dominio que deseas monitorear. Uptime Kuma intentará resolver este nombre a través del servidor DNS que le especifiques para asegurarse de que el registro exista y sea accesible.
- **Servidor de resolución** (Resolver Server). Dirección IP del servidor DNS que Uptime Kuma utilizará para realizar la consulta. Puedes usar el servidor DNS de tu proveedor de Internet, un servidor público como el de Google (8.8.8.8) o Cloudflare (1.1.1.1), o un servidor DNS privado que estés monitoreando.
- **Puerto** (Port). Es el puerto de red que Uptime Kuma usará para conectarse al servidor de resolución. El puerto estándar para las consultas DNS es el "53". A menos que tu servidor DNS use un puerto no estándar, este valor debe ser "53".
- **Tipo de registro** (Record Type). Especifica el tipo de registro DNS que Uptime Kuma debe buscar. Los más comunes son: 
    - A: Para la dirección IPv4 de un host.
    - AAAA: Para la dirección IPv6 de un host.
    - CNAME: Para un alias de un nombre de host.
    - MX: Para servidores de correo.
    - TXT: Registros de texto, a menudo usados para verificar la propiedad del dominio o para configuraciones de seguridad.
- **Condiciones** (Conditions). Reglas que definen lo que se considera una respuesta exitosa. Uptime Kuma te permite establecer condiciones para asegurar que la resolución del nombre de host no solo funcione, sino que también devuelva el valor esperado. Puedes agregar condiciones para: 
    - Comparación de valor: Contiene o No contiene un valor específico.
    - Comparación de IP: Es igual a o No es igual a una dirección IP esperada.
- **Intervalo de latido** (Heartbeat Interval). Es el tiempo, en segundos, entre cada verificación de estado. Por ejemplo, si lo estableces en 600 segundos, Uptime Kuma intentará resolver el nombre de host cada 10 minutos para asegurarse de que el registro DNS esté disponible y sea correcto.

##### <span style="color: rgb(35, 111, 161);">Ejemplo 3. Grupo de monitores.</span>

Una vez que tengas tus primeros monitores configurados, puedes organizarlos en grupos para estructurar la Uptime Kuma según la organización interna de la institución. Los parámetros de configuración para los grupos son similares a los de los monitores individuales:

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/8mHRnXesNUTyuq37-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/8mHRnXesNUTyuq37-image.png)

Una vez creado un grupo, puedes asignar un monitor a él. Simplemente, edita el monitor que deseas y selecciona el grupo correspondiente en el campo "Grupo de monitoreo"

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/czP4zKYmR7GYCNMX-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/czP4zKYmR7GYCNMX-image.png)

#### <span style="color: rgb(35, 111, 161);">4. Configurar notificaciones por Telegram.</span>

##### <span style="color: rgb(35, 111, 161);">4.1. Crear el bot de Telegram</span>

Abrir Telegram en la versión web, y buscar el usuario @BotFather. Inicia una conversación con el comando /start.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/1TUhuFgXDGNtZsxx-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/1TUhuFgXDGNtZsxx-image.png)

Usa el siguiente comando para crear un nuevo bot para este caso específico.

```
/newbot
```

BotFather solicitara los siguientes datos:

- **Nombre del bot**: Ej. KumaBot
- **Username del bot.** Debe terminar en "bot", por ejemplo: kuma\_taller\_bot.

BotFather te enviará un token de la API, similar a: 1234567890:ABC-DEF1234ghIkl...

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/GAWSgdQe6jWyNpa0-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/GAWSgdQe6jWyNpa0-image.png)

Para fines prácticos de monitoreo, se utilizará la opción de notificación a un grupo de Telegram. De esta manera, más de un usuario podrá recibir las alertas en caso de caída de servicios. Sigue estos pasos:

Crear un grupo en Telegram y agregar al nuevo bot. Busca el bot por el nombre asignado, en este caso: *@kuma\_taller\_bot*.

- Enviar un mensaje de prueba al grupo.
- Verificar el ID de grupo en el navegador.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/nNYNHKvhe47JwALp-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/nNYNHKvhe47JwALp-image.png)

##### <span style="color: rgb(35, 111, 161);">4.2. Integración con Uptime Kuma</span>

Accede al panel de Uptime Kuma en el servidor desplegado: https://localhost:3001 o el dominio configurado

- En el menú izquierdo, ve a Configuración → Notificaciones.
- Haz clic en “Agregar una nueva notificación”.
- Selecciona Telegram en el tipo de servicio.

Completa los campos solicitados:

- Bot Token: Token obtenido de BotFather.
- Chat ID: el número obtenido del enlace de grupo en telegram web.
- Presiona “Probar” para enviar un mensaje de prueba.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/qhBcBCRCBqMkyBnr-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/qhBcBCRCBqMkyBnr-image.png)[ ![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/zUe5F92qfzSd5HqK-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/zUe5F92qfzSd5HqK-image.png)

Verifica que el mensaje haya sido enviado correctamente al grupo, y presiona Guardar.

[![image.png](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/scaled-1680-/djCJfyu5SQy4kmye-image.png)](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-09/djCJfyu5SQy4kmye-image.png)

Con la integración de notificaciones vía Telegram, se garantiza que múltiples miembros del equipo estén informados en tiempo real ante cualquier caída o interrupción del servicio. Esta capacidad mejora la velocidad de respuesta al contar con un canal de comunicación ágil y automatizado.

<div class="notranslate" id="bkmrk--17" style="all: initial;"></div><div class="notranslate" id="bkmrk--18" style="all: initial;"></div><div class="notranslate" id="bkmrk--19" style="all: initial;"></div>

# Reconocimiento activo y pasivo de recursos

**Reconocimiento pasivo.**

Es la obtención de información pública sin interactuar directamente con los servidores objetivo (sin enviar paquetes ni autenticarse). Útil para mapear superficie de ataque sin dejar rastro.

**Herramientas utilizadas:**

- **Google Dorks.** Consultas avanzadas a motores de búsqueda para localizar páginas, archivos y configuraciones expuestas.
- **Shodan / Censys / FOFA.** Motores de búsqueda de Internet que indexan dispositivos y servicios expuestos (banners, puertos, certificados).
- **Amass / Sublist3r**. Descubrimiento de subdominios mediante fuentes públicas, certificados y técnicas OSINT.
- **DNSdumpster:** Mapeo DNS público, registros y hosts visibles desde fuentes públicas.
- **crt.sh:** base pública de certificados TLS/SSL; útil para encontrar subdominios públicos vía registros de certificados.

**Google Dorks.**

Filtra resultados de Google para encontrar páginas, ficheros o directorios específicos, por ejemplo:

- site:dominio.gob.bo intitle:"login" =&gt; Busca páginas dentro del dominio que contienen "login" en el título.
- site:dominio.gob.bo filetype:env OR filetype:sql OR filetype:bak =&gt; Busca archivos con extensiones típicas de backups o configuración.
- site:dominio.gob.bo "index of" "backup" =&gt; Detecta índices de directorios que contengan la palabra backup.
- site:dominio.gob.bo inurl:admin OR inurl:dashboard =&gt; Encuentra URLs con “admin” o “dashboard” en la ruta.

Ejemplo de salida:

- Resultado 1: \[https://intranet.dominio.gob.bo/admin/login\](https://intranet.dominio.gob.bo/admin/login) — "Página de acceso administración"
- Resultado 2: \[https://www.dominio.gob.bo/.env.bak\](https://www.dominio.gob.bo/.env.bak) — "Archivo .env (posible fuga de credenciales)"
- Resultado 3: \[https://archivos.dominio.gob.bo/index\](https://archivos.dominio.gob.bo/index) of/backup/ — "Índice público con backups"

**Shodan / Censys / FOFA**

Permiten consultar por IP, dominio o servicio para ver los banners, puertos y software expuesto, por ejemplo:

Consulta: dispositivo con ip 200.12.34.56, resumen de salida:

- Host: 200.12.34.56
- Puertos abiertos: 22 (OpenSSH 7.6p1), 80 (nginx 1.14.0), 443 (nginx + certificado)
- Banner: "Apache/2.4.29 (Ubuntu)"
- Geolocalización: Bolivia (país de origen según IP)

**Sublist3r.**

Permite la enumeración de subdominios mediante consultas a múltiples fuentes públicas.

```shell
python3 sublist3r.py -d dominio.gob.bo -o subdoms.txt
```

Salida en archivo subdoms.txt:

```shell
cat subdoms.txt:
portal.dominio.gob.bo
mail.dominio.gob.bo
sri.dominio.gob.bo
dev.dominio.gob.bo
```

**Amass (modo pasivo)**  
Agrega resultados de múltiples fuentes (crt.sh, ASN, servicios públicos) para hallar subdominios.

```shell
amass enum -passive -d dominio.gob.bo -o amass.txt
```

Salida en archivo amass.txt.

```shell
cat amass.txt, ejemplo
portal.dominio.gob.bo
api.dominio.gob.bo
backup.dominio.gob.bo
```

**Uso de crt.sh**

Busca certificados emitidos que incluyan subdominios del dominio objetivo.

URL de ejemplo: https://crt.sh/?q=%25.dominio.gob.bo

Resumen de la salida:

```
Certificado emitido: *.dominio.gob.bo — emitido 2025-03-12 — CN: api.dominio.gob.bo
```

**DNSdumpster**

Devuelve un mapa DNS público (registros A, MX, NS, subdominios detectados).  
Resumen de la salida:

```
Registros A:
portal.dominio.gob.bo -> 200.12.34.10
mail.dominio.gob.bo -> 200.12.34.20

Registros MX:
mx1.dominio.gob.bo -> 200.12.34.30
```

Una vez realizado el reconocimiento pasivo es recomendable:

- Consolidar resultados en ficheros (subdoms.txt, amass.txt, crt\_domains.txt).
- Correlacionar IPs con ASN y whois para identificar infraestructura.
- Registrar fechas de captura y fuentes (para trazabilidad).

**Reconocimiento activo.**

Es la interacción directa con el objetivo (escanear puertos, enumerar directorios, consultas DNS directas). Dejará registros en el objetivo; se debe realizar solo con autorización.

Herramientas utilizadas:

- **Nmap:** escaneo de puertos y fingerprinting de servicios/sistema operativo.
- **dig / host:** consultas DNS directas para obtener registros A, MX, TXT, etc.
- **gobuster / ffuf:** fuerza bruta de directorios/archivos web (enumeración de rutas).
- **curl:** realizar peticiones HTTP(S) y extraer cabeceras, cuerpos y respuestas.

**Nmap para puertos comunes.**

Escanea los puertos más comunes y detecta versiones de servicios.

```shell
nmap -sT -sV --top-ports 100 -T2 dominio_o_ip
```

Explicación breve de flags:

- -sT : TCP connect scan (no requiere privilegios root).
- -sV : detección de versión del servicio.
- --top-ports 100 : escanear los 100 puertos más comunes.
- -T2 : velocidad de escaneo conservadora.

Ejemplo resumen de salida:

```
Nmap scan report for dominio_o_ip (200.12.34.10)
Host is up (0.023s latency).
PORT STATE SERVICE  VERSION
22/tcp  open  sshOpenSSH 7.6p1 Ubuntu
80/tcp  open  http  nginx 1.14.0
443/tcp open  https nginx 1.14.0
Service Info: OS: Linux
```

**Nmap para escaneo completo y OS detection.**

Realiza un escaneo más agresivo y detección de SO (requiere privilegios).

```shell
sudo nmap -sS -p- -sV -O -T3 dominio_o_ip
```

Explicación breve de flags:

- -sS : SYN scan (stealthy, requiere root).
- -p- : escanea todos los puertos (1-65535).
- -O : detección de sistema operativo.
- -T3 : velocidad moderada.

Ejemplo resumen de salida:

```
PORTSTATE SERVICE VERSION
21/tcp open  ftp  vsftpd 3.0.3
22/tcp open  ssh  OpenSSH 7.6p1
80/tcp open  http nginx 1.14.0
443/tcpopen  httpsnginx 1.14.0
OS details: Linux 4.x
```

**DNS (dig / host)**.

Realiza consultas directas al servidor DNS para obtener registros.

```shell
dig dominio.gob.bo  => Consulta A/AAAA/other por defecto; muestra servidores autoritativos y TTL.
```

```
Salida ejemplo (dig):
  ; <<>> DiG 9.16.1 <<>> dominio.gob.bo
  ;; ANSWER SECTION:
  dominio.gob.bo.  3600  IN  A  200.12.34.10
  ;; AUTHORITY SECTION:
  dominio.gob.bo.  172800 IN NS ns1.dominio.gob.bo.
  ;; ADDITIONAL SECTION:
  ns1.dominio.gob.bo. 172800 IN A 200.12.34.2
```

```shell
host subdominio.dominio.gob.bo   => Respuesta simple: subdominio.dominio.gob.bo has address 200.12.34.20
```

**Gobuster.**

Realiza la enumeración de directorios y archivos web mediante fuerza bruta con wordlists.

```shell
gobuster dir -u [https://dominio.gob.bo](https://dominio.gob.bo) -w wordlist.txt
```

Explicación:

- dir : modo directorios
- -u : URL objetivo
- -w : palabra lista para probar rutas

Ejemplo de salida:

```
/admin (Status: 200)
/backup (Status: 403)
/config.php (Status: 200)
/robots.txt (Status: 200)
```

**Uso de ffuf**.

Es un fuzzer web rápido, útil para encontrar endpoints ocultos o parametrizados.

```shell
ffuf -u [https://dominio.gob.bo/FUZZ](https://dominio.gob.bo/FUZZ) -w wordlist.txt
```

Salida ejemplo:

```
Found: /secret (Status: 200, Size: 1534)
Found: /old-admin (Status: 200, Size: 4210)
```

**Uso de curl.**

Tiene el objetivo de solicitar recursos HTTP(S), ver cabeceras y contenido; útil para comprobar respuestas, cookies y cabeceras de seguridad.

```
curl -I [https://dominio.gob.bo](https://dominio.gob.bo)  => Obtiene solo cabeceras (HEAD).
```

Ejemplo de salida (cabeceras):

```
  HTTP/1.1 200 OK
  Server: nginx/1.14.0
  Content-Type: text/html; charset=UTF-8
  Strict-Transport-Security: max-age=31536000; includeSubDomains
```

```shell
curl -L -s -D - [https://dominio.gob.bo/login](https://dominio.gob.bo/login) -o /dev/null => Sigue redirecciones (-L), imprime cabeceras (-D -), suprime el cuerpo (-o /dev/null).
```

Se recomienda:

- Respetar límites de velocidad y ventanas de tiempo para evitar DoS involuntario (-T2/-T3 en nmap).
- Realizar escaneos iniciales con perfiles conservadores y aumentar detalle solo con autorización.
- Usar IPs y ranges detectados para correlacionar servicios y subdominios.

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Divulgación de Credenciales</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Identificación de credenciales expuestas públicamente.</span>

### <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Herramientas</span>

- <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Have I Been Pwned</span>
- <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">DeHashed</span>
- <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Leak-Lookup</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Enlaces </span>

- [<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://haveibeenpwned.com/</span>](https://haveibeenpwned.com/)<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 602px; height: 321px;">![](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-11/d18ybx17CMVE1ghS-embedded-image-t3udvfxh.png)</span></span>

- [<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://app.dehashed.com/login</span>](https://app.dehashed.com/login)

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 602px; height: 288px;">![](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-11/u165tA2xeU1yrGwu-embedded-image-ltgmmr8x.png)</span></span>

- [<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://leak-lookup.com/</span>](https://leak-lookup.com/)

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 602px; height: 313px;">![](https://www.cgii.gob.bo/bookstack/uploads/images/gallery/2025-11/8mLqjKohAAVzNT3S-embedded-image-2uofr4fd.png)</span></span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">  
</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Procedimiento</span>

- <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Buscar correos filtrados.</span>
- <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Registrar hallazgos.</span>