0% encontró este documento útil (0 votos)
7 vistas149 páginas

CEH Module3 Esp

El módulo 3 se centra en la recopilación de información y el escaneo de vulnerabilidades, enseñando técnicas de reconocimiento pasivo y activo para la realización de pruebas de penetración. Se exploran herramientas y métodos comunes, así como la importancia de OSINT en la identificación de vulnerabilidades. El módulo incluye laboratorios prácticos con herramientas como SpiderFoot y Recon-ng para aplicar los conocimientos adquiridos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas149 páginas

CEH Module3 Esp

El módulo 3 se centra en la recopilación de información y el escaneo de vulnerabilidades, enseñando técnicas de reconocimiento pasivo y activo para la realización de pruebas de penetración. Se exploran herramientas y métodos comunes, así como la importancia de OSINT en la identificación de vulnerabilidades. El módulo incluye laboratorios prácticos con herramientas como SpiderFoot y Recon-ng para aplicar los conocimientos adquiridos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Módulo 3: Recopilación de información y escáner de vulnerabilidades

3.0 Introducción
3.0.1 ¿Por qué debería tomar este módulo?
Soluciones de seguridad Protego
Protego inicia las pruebas de penetración para el cliente Pixel Paradise. En esta fase de
recopilación de información, aprenderás y practicarás tus habilidades realizando
reconocimiento pasivo y activo como base para la explotación de las vulnerabilidades
descubiertas.
El primer paso que da un atacante al planificar un ataque es recopilar información
sobre el objetivo. Esta recopilación de información se conoce como reconocimiento.
Los atacantes utilizan herramientas de escaneo y enumeración, junto con información
pública disponible en Internet, para crear un expediente sobre el objetivo. Como es
lógico, como pentester, también debe replicar estos métodos para determinar la
exposición de las redes y los sistemas que intenta proteger. Este módulo comienza con
una explicación de qué es el reconocimiento en general y la diferencia entre los
métodos pasivos y activos. Aprenderá brevemente sobre algunas de las herramientas y
técnicas más comunes. A partir de ahí, el módulo profundiza en el proceso de escaneo
de vulnerabilidades y cómo funcionan las herramientas de escaneo, incluyendo cómo
analizar los resultados del escaneo para obtener información útil y cómo aprovechar la
información recopilada en la fase de explotación. El módulo concluye con una
descripción de algunos de los desafíos comunes que se deben considerar al realizar
escaneos de vulnerabilidades.
3.0.2 ¿Qué aprenderé en este módulo?
Título del módulo: Recopilación de información y escaneo de vulnerabilidades
Objetivo del módulo: Realizar actividades de recopilación de información y escaneo de
vulnerabilidades.

3.1 Realización de reconocimiento pasivo


3.1.1 Descripción general
Soluciones de seguridad Protego
Antes de adentrarte en la investigación de Pixel Paradise, necesitas mejorar tus
habilidades de reconocimiento pasivo. En este módulo, participarás en una serie de
actividades de aprendizaje que podrás aplicar a tus tareas en la prueba de penetración
de Pixel Paradise.
Reconocimiento
El reconocimiento es siempre el primer paso en un ciberataque. Para tener éxito, un
atacante debe recopilar información sobre el objetivo. De hecho, el término

1
reconocimiento se usa ampliamente en el ámbito militar para describir la obtención de
información sobre el enemigo, como su ubicación, capacidades y movimientos. Este
tipo de información es necesaria para llevar a cabo un ataque con éxito. En una prueba
de penetración, el reconocimiento suele consistir en escaneo y enumeración. Pero
¿cómo se ve el reconocimiento desde la perspectiva de un atacante?
“Si conoces al enemigo y te conoces a ti mismo, no temerás el resultado de cien
batallas. Si te conoces a ti mismo pero no al enemigo, por cada victoria obtenida
sufrirás también una derrota. Si no conoces ni al enemigo ni a ti mismo, sucumbirás en
cada batalla.”
— Sun Tzu, El arte de la guerra

3.1.2 Reconocimiento activo frente a reconocimiento pasivo


El reconocimiento activo es un método de recopilación de información en el que las
herramientas utilizadas envían sondeos a la red o sistemas objetivo para obtener
respuestas que permiten determinar su estado. Estos sondeos pueden emplear
diversos protocolos y distintos niveles de agresividad, generalmente en función de lo
que se esté analizando y el momento en que se realice. Por ejemplo, al analizar un
dispositivo como una impresora que no cuente con una pila TCP/IP o hardware de red
muy robustos, el envío de sondeos activos podría provocar un fallo en dicho
dispositivo. Si bien la mayoría de los dispositivos modernos no presentan este
problema, es posible, por lo que al realizar un escaneo activo, conviene tenerlo en
cuenta y ajustar la configuración del escáner en consecuencia.
El reconocimiento pasivo es un método de recopilación de información en el que las
herramientas no interactúan directamente con el dispositivo o la red objetivo. Existen
diversos métodos de reconocimiento pasivo. Algunos utilizan bases de datos de
terceros para recopilar información. Otros emplean herramientas diseñadas para pasar
desapercibidas para el objetivo. Estas herramientas, en particular, funcionan
simplemente escuchando el tráfico de la red y utilizando inteligencia para deducir
información sobre la comunicación del dispositivo en la red. Este enfoque es mucho
menos invasivo para una red, y es altamente improbable que este tipo de
reconocimiento provoque fallos en un sistema como una impresora. Dado que no
genera tráfico, también es improbable que sea detectado y no levanta ninguna alerta

2
en la red que está monitorizando. Otro escenario en el que un escáner pasivo
resultaría útil sería para un analista de seguridad que necesita realizar análisis en una
red de producción que no puede ser interrumpida. La técnica de reconocimiento
pasivo que se utilice dependerá del tipo de información que se desee obtener. Uno de
los aspectos más importantes del aprendizaje sobre pruebas de penetración es el
desarrollo de una buena metodología que le ayude a seleccionar las herramientas y
tecnologías adecuadas para utilizar durante el proceso.
Las herramientas y métodos comunes de reconocimiento activo incluyen los
siguientes:
 Enumeración de hosts
 enumeración de red
 enumeración de usuarios
 enumeración de grupos
 enumeración de recursos compartidos de red
 Enumeración de páginas web
 Enumeración de aplicaciones
 enumeración de servicios
 Elaboración de paquetes
Las herramientas y métodos comunes de reconocimiento pasivo incluyen los
siguientes:
 enumeración de dominios
 inspección de paquetes
 Inteligencia de fuentes abiertas (OSINT)
 Recon-ng
 Escuchar a escondidas
3.1.3 Práctica - Reconocimiento activo vs. Reconocimiento pasivo
Pregunta 1
¿Cuáles tres herramientas o métodos de reconocimiento se consideran
reconocimiento activo? (Elija tres).
inspección de paquetes
enumeración de hosts
enumeración de recursos compartidos de red
enumeración de dominios
escuchando a escondidas
elaboración de paquetes
Pregunta 2
¿Cuáles tres herramientas o métodos de reconocimiento se consideran
reconocimiento pasivo? (Elija tres).
enumeración de servicios
Recon-ng
inteligencia de código abierto
enumeración de usuarios

3
elaboración de paquetes
enumeración de dominios

3.1.4 Laboratorio - Uso de herramientas OSINT


Tareas de soluciones de seguridad de Protego
La información de código abierto es un recurso valioso para conocer las
organizaciones, sus redes y sus empleados. En Protego, nos gustan mucho SpiderFoot y
Recon-ng. Usa este laboratorio de aprendizaje para familiarizarte con OSINT en general
y con estas herramientas en particular.
Creo que disfrutarás explorando estos recursos. Es divertido jugar a ser detective al
realizar un reconocimiento de la organización de un cliente.
En este laboratorio, explorarás varias herramientas OSINT que son utilizadas
comúnmente por los pentesters.
 Examine los recursos OSINT.
 Usar SpiderFoot
 Investigar Recon-ng
 Encuentra archivos interesantes con Recon-ng

Laboratorio - Uso de herramientas OSINT


Objetivos
En este laboratorio, explorarás varias herramientas OSINT que son utilizadas
comúnmente por los pentesters.
 Examinar los recursos OSINT
 Usar SpiderFoot
 Investigar Recon-ng
 Encuentra archivos interesantes con Recon-ng
Antecedentes / Escenario
Al realizar actividades de recopilación de información, el reconocimiento pasivo utiliza
datos abiertos y de acceso público para guiar las labores de reconocimiento activo y
obtener información sobre la empresa y sus empleados. En OSINT, son los datos los
que son de código abierto. Las herramientas de OSINT pueden ser de código abierto o
no. Algunas son gratuitas y de código abierto, otras requieren registro para usar las
versiones gratuitas y otras son de pago. OSINT suele utilizar fuentes de datos
accesibles a cualquier hacker, por lo que parte del trabajo de PenTesting consiste en
informar sobre información sensible de dominio público para evaluar las
vulnerabilidades que pueda causar. Los objetivos de OSINT son:
 Determinar la huella digital de la organización.
 Determina qué datos sobre la organización están disponibles para los
ciberdelincuentes.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet

4
Instrucciones
Parte 1: Examinar los recursos OSINT
Paso 1: Acceder al marco OSINT
El Marco OSINT es una herramienta útil para visualizar las herramientas y recursos
OSINT disponibles. Desafortunadamente, se ha quedado algo obsoleto, ya que algunos
recursos ya no están disponibles. Aun así, sigue siendo valioso para comprender los
tipos de herramientas disponibles y sus usos. En muchos casos, los enlaces siguen
funcionando.
a. Visite el sitio web de OSINT Framework en [Link] .
b. Verás una estructura vertical en forma de árbol que consta de categorías de
herramientas y recursos OSINT accesibles desde la plataforma. Haz clic en
«Nombre de usuario» en la parte superior del árbol. Aparecerán dos
subcategorías. Haz clic en cada una para abrir los árboles de recursos
correspondientes. En la esquina superior derecha de la página encontrarás una
leyenda que identifica el tipo de recurso.
c. En Motores de búsqueda de nombres de usuario , haga clic en
"WhatsMyName(T)" .
d. El enlace te lleva al repositorio Git del proyecto WhatsMyName. En el archivo
[Link] de la herramienta, encontrarás una lista de los distintos sitios web
que implementan WhatsMyName. Puedes explorarlos libremente, pero haremos
clic en el primer enlace, [Link] para visitar un sitio web
gratuito que implementa WhatsMyName.
La organización matriz del sitio, [Link] , dispone de varias
herramientas gratuitas interesantes.
e. En el cuadro de búsqueda, escribe algunos nombres de usuario, uno por línea. Usa
los tuyos o los de otros usuarios. Busca en internet listas de palabras clave
comunes para nombres de usuario y encuentra otros términos de búsqueda.
Puedes filtrar los resultados por categoría, pero por ahora, haz clic en el botón
verde de la lupa para iniciar la búsqueda.
En una prueba de penetración, se utilizaría otra herramienta, como SpiderFoot
(abajo), para encontrar nombres de usuario en direcciones de correo electrónico
asociadas a una empresa o dominio.
f. Analice los resultados. Puede abrir los enlaces a las cuentas desde los rectángulos
verdes o desde la tabla de resultados.
g. WhatsMyName ofrece un informe de resultados muy flexible. La tabla de
resultados se puede ordenar por columna y se puede exportar como CSV o PDF
para generar informes. Además, permite filtrar fácilmente por nombre de usuario y
realizar búsquedas dentro de los resultados. Finalmente, proporciona enlaces a los
perfiles de los usuarios en diversos sitios web.
¿Qué utilidad tiene realizar búsquedas de nombres de usuario y enumeración de
cuentas?
Las respuestas variarán. La búsqueda por nombre de usuario puede identificar cuentas
que personal clave de la empresa tenga en diversos sitios web. Dado que otros sitios
pueden ser vulnerables, es posible que los hackers accedan a información personal de
esas cuentas, como contraseñas, direcciones y números de teléfono. Los tipos de sitios
en los que el personal se ha registrado también pueden revelar detalles sobre su vida e
intereses. Estos datos podrían utilizarse en ataques de ingeniería social.

5
Paso 2: Investigue SMART - Start Me Aggregated Resource Tool.
El servicio web [Link] es un popular gestor de marcadores y herramienta de
productividad. El equipo de My OSINT Training (MOT) ha implementado un sistema de
búsqueda que encuentra todos los enlaces relacionados con OSINT que los usuarios
han guardado y compartido en [Link]. Hay muchísimos. Puedes introducir términos
de búsqueda relevantes para OSINT para encontrar enlaces a recursos relacionados.
a. Visita [Link] .
b. En el cuadro de búsqueda, introduzca el término "nombres de usuario ". Verá una
lista de herramientas OSINT relacionadas con nombres de usuario que otras
personas han encontrado.
c. Abre algunos de los enlaces para consultar los recursos. Sin embargo, ten cuidado,
estos sitios web provienen de fuentes públicas. Algunos podrían ser maliciosos.
d. Elige algunas de las categorías que viste en el Marco OSINT y observa qué enlaces
aparecen.
e. Utilice este sitio para buscar herramientas y recursos OSINT que le ayuden en su
trabajo de pentesting.

Parte 2: Usar SpiderFoot


SpiderFoot es un escáner OSINT automatizado. Viene incluido con Kali. SpiderFoot
consulta más de 1000 fuentes de información pública y presenta los resultados en una
interfaz gráfica de usuario (GUI) fácil de usar. También se puede ejecutar desde la
consola. SpiderFoot inicia su escaneo con una de las siguientes opciones:
 nombres de dominio
 direcciones IP
 Direcciones de subred
 Números de Sistemas Autónomos (ASN)
 direcciones de correo electrónico
 Números de teléfono
 nombres personales
SpiderFoot ofrece la opción de elegir escaneos según el caso de uso, los datos
requeridos y el módulo de SpiderFoot. Los casos de uso son:
 Todo – Obtener toda la información posible sobre el objetivo. Este caso de uso
puede tardar mucho tiempo en completarse.
 Huella digital: comprender el perímetro de la red del objetivo, las identidades
asociadas y otra información que se obtiene mediante el rastreo web exhaustivo y
el uso de motores de búsqueda.
 Investigar: Este sitio web o sus objetivos son sospechosos de actividad maliciosa. Se
mostrarán resultados de búsquedas en sitios web maliciosos, listas negras y otras
fuentes que informan sobre ellos.
 Escaneo pasivo: Este tipo de escaneo se utiliza cuando no se desea que el objetivo
sospeche que está siendo escaneado. Se trata de una forma de OSINT pasivo.
Paso 1: Inicie y ejecute SpiderFoot.
En una terminal, introduzca el siguiente comando:
┌──(kali ㉿ Kali) -[ ~]
└─$ spiderfoot -l [Link]:5001

6
El comando debería ejecutarse sin errores. Abra un navegador e introduzca la
dirección IP y el puerto de la interfaz gráfica de SpiderFoot. Verá aparecer la interfaz
de SpiderFoot. Si es la primera vez que se abre SpiderFoot en esta máquina virtual,
verá la pantalla de Escaneos. Esta pantalla muestra una lista de todos los escaneos
realizados recientemente. En este ejemplo, está vacía.
Paso 2: Explora SpiderFoot.
a. Antes de empezar, veamos los escáneres que usa SpiderFoot para generar sus
informes. Vaya a la pestaña Configuración .
b. Las dos primeras opciones del menú de la izquierda se refieren al funcionamiento
de SpiderFoot. Las opciones que aparecen debajo corresponden a los escáneres
que utiliza SpiderFoot. Hay más de 200. Haga clic en los escáneres para ver su
nombre de módulo de SpiderFoot, detalles sobre el escáner y la configuración
disponible, si la hay. Complete la tabla siguiente con algunos ejemplos. El nombre
del escáner se encuentra en el menú de configuración. El nombre del módulo
aparece en los detalles del escáner. Todos los módulos de SpiderFoot se
denominan sfp_ [ nombre del módulo].
Nota : Los escáneres con un candado indican que se necesita una clave API. Encontrará
más información sobre los requisitos de la clave en los detalles del escáner. Haga clic
en el icono «?» junto a la opción «Configuración de la API».
Sugerencia : También puedes interactuar con SpiderFoot desde la terminal. Puedes
mostrar todos los módulos disponibles en SpiderFoot y redirigir la salida a un archivo
de texto. Escribe `spiderfoot -h` para ver las opciones de la línea de comandos.
c. El comando grep se puede usar para buscar palabras clave en el archivo. Esto no
proporcionará información sobre los requisitos de la API, pero ayudará a
comprender la lista de módulos disponibles.
┌──(kali ㉿ Kali) -[ ~]
└─$ spiderfoot -M | grep [término de búsqueda]
d. Utilizando el comando grep y la interfaz gráfica de usuario, complete la tabla a
continuación.
Nota : Las respuestas pueden variar. Algunos módulos hacen lo mismo o hacen varias
cosas.

Paso 3: Ejecutar un escaneo de SpiderFoot para un dominio.


7
a. Haz clic en la pestaña Nuevo escaneo en la interfaz gráfica de usuario.
b. Introduzca un nombre para el escaneo y seleccione un objetivo. En este caso,
utilizaremos [Link] .
c. Realizará el escaneo según el caso de uso. Tenga en cuenta que también puede
escanear según el tipo de información requerida o seleccionando los módulos de
escaneo individuales que desea utilizar. Al realizar escaneos más específicos, podrá
obtener más información sobre los módulos y los datos que se pueden recopilar.
d. Seleccione el caso de uso de escaneo como Huella .
Nota : El escaneo en modo " Todos " puede utilizar el escaneo activo. A menos que
tenga permiso para escanear el objetivo, debe evitar esta configuración. Para una
seguridad total, el modo "Pasivo" debe evitar cualquier problema con escaneos no
autorizados.
e. Haz clic en el botón "Ejecutar escaneo ahora" .
f. Debería aparecer un gráfico de barras. Las estadísticas del escaneo comenzarán a
incrementarse y aparecerán nuevas barras en el gráfico a medida que se obtengan
nuevos resultados. Pase el cursor sobre las barras para ver un resumen de los
resultados para ese tipo de datos.
g. Los escaneos de SpiderFoot son muy detallados y pueden tardar bastante. Dedica
al menos 30 minutos al escaneo para obtener una buena cantidad de información.
Para obtener el máximo detalle, un escaneo podría tardar horas. Mientras se
realiza el escaneo, puedes consultar los resultados.
Paso 4: Investigar los resultados del escaneo.
a. Para volver a los resultados del análisis, haga clic en la pestaña Análisis . Verá
una tabla con el análisis en curso y los análisis anteriores.
b. Haz clic en el cuadrado negro de la columna más a la derecha de la tabla de
escaneos para detener el escaneo. Cierta información no estará disponible
hasta que se cancele o finalice el escaneo.
c. Haz clic en el nombre del escaneo en la tabla para volver a la vista de escaneo.
Se te redirigirá a la pestaña Explorar . Cada fila de la tabla representa los datos
encontrados por los distintos módulos. Algunos módulos contribuyen a varios
tipos de datos.
d. Investigue los resultados.
Paso 5: Registrar claves API (opcional).
Las claves API mejorarán la funcionalidad de SpiderFoot. Algunas de estas claves
requieren registro gratuito. Las herramientas de pentesting disponibles están en
constante evolución. Algunas herramientas o servicios que antes eran gratuitos y de
código abierto pueden pasar a ser de pago con el tiempo.
Nota : Algunas API pueden limitar sus resultados después de que haya alcanzado un
número determinado de usos.
a. Ve a la pestaña de Configuración .
b. Encuentra los cuatro módulos en la tabla a continuación. Abre la página de cada
módulo y completa la tabla indicando el tipo de información que busca. Para cada
módulo, haz clic en el signo de interrogación (?) junto a la opción API. Sigue las
instrucciones para obtener las claves API de los cuatro módulos.

8
c. Introduce las claves API en la configuración de cada módulo. Asegúrate de guardar
los cambios.
d. Haz clic en Nuevo escaneo . Ve a la pestaña Por módulo. Selecciona solo los
módulos para los que hayas añadido claves API. Desmarca el resto de los módulos.
e. Introduce [Link] como objetivo y haz clic en Iniciar escaneo . Puedes escanear
otros dominios, pero asegúrate de respetar los términos y condiciones de este
curso.
Paso 6: Analizar los resultados de los escaneos de módulos API.
a. Este escaneo no debería tardar mucho.
b. Revise el análisis para ver los resultados. Preste atención a la columna "Módulo de
origen" . Debería ver algunos de los escáneres que configuró con claves API.
c. Vaya al tipo de URL del sitio de filtraciones que aparece en la tabla de resultados.
¿Qué módulo contribuyó a esta tabla?
sfp_intellx
d. Haga doble clic en varias de las entradas de la columna Elemento de datos de la
tabla, haga clic con el botón derecho y seleccione Abrir en una pestaña nueva.
¿Qué ves?
La información filtrada original.
Apenas estamos empezando a descubrir todo el potencial de esta herramienta. Prueba
con otras búsquedas y verás qué encuentras.
Parte 3: Investigación Recon-ng
Recon-ng es un framework OSINT similar al framework de explotación Metasploit o a
la herramienta SET (Social-Engineering Toollit). Consta de una serie de módulos que se
ejecutan en sus propios espacios de trabajo. Estos módulos se pueden configurar con
opciones específicas, lo que simplifica su uso desde la línea de comandos, ya que las
opciones de los módulos se configuran de forma independiente dentro del espacio de
trabajo. Al ejecutar un módulo, este utiliza dicha configuración para realizar sus
búsquedas.
Como su nombre indica, Recon-ng se utiliza para realizar una amplia gama de
actividades de reconocimiento en diferentes entornos que usted especifique. Algunos
módulos vienen incluidos en la instalación de Kali y otros se pueden descargar e
instalar desde el mercado de módulos de Recon-ng.
Paso 1: Crear un espacio de trabajo.
Recon-ng tiene autocompletado. Pulsa la tecla Tab para completar comandos y
opciones. Pulsa Tab dos veces para ver la lista de comandos y opciones disponibles en
distintos puntos de la línea de comandos. Es muy práctico.
a. Para ejecutar Recon-ng, abre una nueva ventana de terminal e introduce recon-ng .
También puedes iniciar el programa desde el menú de herramientas de Kali,
buscando la aplicación y haciendo clic en el icono.

9
b. Ten en cuenta que el indicador de la terminal cambia para indicar que estás
trabajando dentro del framework Recon-ng. Escribe ` help` para familiarizarte con
los comandos disponibles.
c. Recon-ng utiliza espacios de trabajo para aislar las investigaciones entre sí. Se
pueden crear espacios de trabajo para diferentes partes de una prueba o para
diferentes clientes, por ejemplo. Escriba `workspaces help` para ver las opciones
del comando `workspaces`.
¿Cómo se pueden visualizar los espacios de trabajo disponibles?
Introduzca el comando de lista de espacios de trabajo.
¿Cómo se puede eliminar un espacio de trabajo?
Introduzca el comando workspaces remove [nombre_del_espacio_de_trabajo].
d. Crea un espacio de trabajo llamado «test» escribiendo «workspaces create»
seguido del nombre del espacio de trabajo. Ten en cuenta que el mensaje ha
cambiado para indicar que te encuentras en este espacio de trabajo.
e. Escriba "help" para ver los comandos disponibles en los espacios de trabajo.
¿Qué comando saldrá del espacio de trabajo y volverá al prompt principal de Recon-
ng?
El comando de retroceso
Paso 2: Investigar los módulos.
Recon-ng es un framework modular. Los módulos son programas Python con
diferentes funciones. Se almacenan en un mercado externo que permite a los
desarrolladores crear sus propios módulos y compartirlos para que otros los utilicen.
Regresa al prompt de Recon-ng. Introduce el comando de búsqueda de módulos . Esto
mostrará los módulos instalados actualmente.
¿Cuántos módulos tiene actualmente disponibles?
No hay módulos instalados.
Paso 3: Investigar el mercado de módulos.
Recon-ng no funcionará sin módulos. En este paso, instalaremos módulos desde el
mercado de módulos de Recon-ng. El mercado de módulos es un repositorio público
de GitHub. Busca «recon-ng-marketplace» en la web para ver el repositorio. Explora
las carpetas para obtener más información sobre los módulos.
a. En la terminal, consulta la ayuda del comando `marketplace` . Usa la opción de
búsqueda para listar todos los módulos disponibles.
[recon-ng][predeterminado] > búsqueda en el mercado
b. Ten en cuenta que los módulos están organizados por categoría y tipo. Esto se
muestra como una ruta antepuesta al nombre del módulo. Puedes filtrar los
resultados añadiendo un término de búsqueda al comando de búsqueda del
Marketplace. Prueba con diferentes términos de búsqueda relacionados con
información OSINT para familiarizarte con los módulos disponibles.
Las tablas de módulos tienen columnas para D y K. Busca módulos Shodan. ¿Cuáles son
los requisitos para estos módulos?
Tienen dependencias (D) y requieren claves API (K). Las dependencias se refieren a
módulos de Python que deben estar instalados en su ordenador para ejecutar el
módulo.
c. Para obtener más información sobre cada módulo, utilice el comando
`marketplace info` seguido del nombre completo del módulo, incluyendo su

10
categoría y tipo. También puede seleccionar el nombre del módulo, copiarlo y
pegarlo en la línea de comandos.
Paso 4: Instalar un nuevo módulo.
Recon-ng accede a los módulos del repositorio de Github y los descarga a Kali cuando
están instalados.
a. Busca módulos en el marketplace usando Bing como término de búsqueda.
Localiza un módulo que no requiera dependencias ni claves API.
¿Qué módulo encontraste?
recon/dominios-hosts/bing_dominio_web
b. Ver información para este módulo.
c. Para instalar el módulo, copie el nombre completo, incluyendo la ruta, al
portapapeles.
d. Introduce el comando de instalación del marketplace seguido del nombre
completo del módulo.
[recon-ng][predeterminado] > marketplace install
recon/domains-hosts/bing_domain_web
e. Tras la instalación, introduzca el comando de búsqueda de módulos para verificar
que el nuevo módulo ya está disponible.
f. Repita el proceso para instalar el módulo hackertarget .
Paso 5: Ejecutar los nuevos módulos
a. Crea un nuevo espacio de trabajo. Ponle el nombre que quieras.
b. Para empezar a trabajar con un módulo, debe inicializarlo. Introduzca `modules
load hackertarget` para comenzar a trabajar con el módulo. Tenga en cuenta que
el indicador cambia para reflejar el módulo cargado.
c. Cada módulo constituye un entorno independiente. Los desarrolladores de recon-
ng se han asegurado de mantener la coherencia del marco de trabajo, por lo que
los mismos comandos están disponibles para cada módulo. Sin embargo, las
opciones pueden variar. Escriba ` info` en la línea de comandos del módulo para
ver detalles importantes sobre el mismo.
¿Qué información está disponible para este módulo?
El nombre del módulo, la versión del módulo, el nombre del desarrollador, una breve
descripción e información sobre las opciones.
¿Cuál es la única opción para este módulo?
FUENTE
d. En lugar de especificar opciones en la línea de comandos, en Recon-ng se
configuran las opciones y luego se introduce un comando sencillo para ejecutar el
módulo. Utilice el comando `options set source` para configurar la única opción de
este módulo. Complete el comando especificando el destino como `[Link]` .
e. Verifique la configuración de la opción con el comando info .
f. Escriba run para ejecutar el módulo.
g. Examine el resultado del comando. Este resultado se guarda en una base de datos
para que pueda consultarlo posteriormente. Los datos almacenados son
específicos del entorno laboral en el que se recopilaron.
h. Introduzca el comando del panel de control . Este comando consulta la base de
datos de Recon-ng y proporciona un resumen de la información recopilada. Es
específico de este espacio de trabajo.

11
¿Cuál es la etiqueta de datos Recon-ng para los subdominios que se han listado?
¿Cuántos se descubrieron?
Recon-ng clasifica los subdominios como “hosts”. Se descubrieron nueve.
i. El comando `show` muestra los datos de categorías específicas. Introduzca el
comando `show hosts` para mostrar la lista de hosts detectados.
j. Ahora repita el proceso con el módulo de Bing . Compare los resultados con el
módulo de HackerTarget .
¿Cuántos subdominios encontró el módulo? ¿Cómo se compara esto con el módulo
hackertarget ?
Las respuestas pueden variar. Al momento de redactar este informe, ambos
encontraron 6 subdominios.
Paso 6: Investigar la interfaz web.
Recon-ng cuenta con una interfaz web que simplifica y mejora la visualización de los
resultados almacenados en sus bases de datos. Además, permite exportar fácilmente
las tablas de resultados para generar informes.
a. Abre una nueva terminal.
b. Introduzca el comando recon-web para iniciar el proceso del servidor Recon-ng.
Observe el resultado del comando.
c. En una nueva pestaña del navegador, acceda a la página web utilizando la
información de la URL proporcionada en la salida.
d. La interfaz web muestra datos del espacio de trabajo predeterminado al abrirse
por primera vez. Haga clic en el nombre del espacio de trabajo (en naranja) en la
parte superior de la página para ver datos de otros espacios de trabajo.
Parte 4: Encuentra archivos interesantes con Recon-ng
En esta parte del laboratorio, instalaremos y utilizaremos otro complemento.
Paso 1: Instalar otro módulo.
a. Busca en el mercado un módulo que descubra archivos interesantes en un
dominio. El plugin que uses no debe tener dependencias ni requisitos de clave.
¿Qué módulo encontraste?
descubrimiento/divulgación de información/archivos interesantes
b. Instala y carga el plugin.
Paso 2: Ejecutar el nuevo módulo.
a. Configura la opción de origen en [Link] o en otra ubicación de tu elección.
(Recuerda cumplir con los términos del curso al elegir un dominio). El sitio web
[Link] también es interesante.
b. Ejecuta el comando. Este módulo crea un archivo .csv en la carpeta recon-ng/data.
c. Localice el archivo y vea su contenido. Algunos de estos archivos se pueden
descargar o visualizar mediante las URL que aparecen en la salida del comando.
Paso 3: Experimente con diferentes módulos y objetivos.
Investiga otros módulos. Usa los comandos que hemos aprendido hasta ahora para
descargar, configurar opciones, ejecutar y ver los resultados del módulo y de
diferentes objetivos. También proporciona una forma sencilla de exportar los
resultados a varios formatos de texto para su uso en informes.
Preguntas de reflexión
En este laboratorio has experimentado con diversas herramientas y recursos OSINT.
Existen muchos más. La mejor manera de aprender a usar OSINT en tus prácticas de

12
pentesting es experimentar hasta encontrar las herramientas y los enfoques que mejor
te funcionen.
1. ¿Qué opinas de la función de espacios de trabajo de recon-ng? ¿Cómo la usarías?
La función de espacios de trabajo conserva el módulo instalado y sus opciones
configuradas. Los espacios de trabajo también tienen sus propios datos de
resultados. Se pueden configurar para pruebas individuales o para un proyecto
completo de PenTesting.
2. Recon-ng utiliza una arquitectura de framework modular. ¿Los módulos simplifican
el uso de la herramienta Recon-ng? Si es así, ¿cómo?
Los módulos simplifican el uso de Recon-ng porque sus opciones se pueden configurar
directamente en el módulo. En lugar de tener que especificar una larga lista de
opciones en la línea de comandos, la ejecución del módulo requiere un único
comando.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
Planeas usar SpiderFoot para descubrir detalles sobre el dominio Pixel Paradise como
parte de una operación de reconocimiento. ¿Qué caso de uso de SpiderFoot deberías
utilizar para que el personal de seguridad de Pixel Paradise no se percate de tus
actividades?
Todo
Huella
Investigar
Pasivo
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.1.5 Búsquedas DNS
Supongamos, por ejemplo, que un atacante tiene como objetivo a [Link]. Como la
mayoría de las empresas, [Link] tiene presencia en internet a través de su sitio
web [Link]. Del mismo modo que un ladrón necesita determinar los puntos
de entrada y salida de una casa antes de cometer un robo, un ciberatacante necesita
determinar qué puertos y protocolos del objetivo están expuestos a internet. Un
ladrón podría inspeccionar el exterior de la casa, buscando puertas y ventanas, y
posiblemente revisar las cerraduras para identificar sus vulnerabilidades. De forma
similar, un ciberatacante realizaría tareas como escaneo y enumeración.
Normalmente, un atacante comienza con poca información y la va recopilando durante el
escaneo, para luego realizar diferentes tipos de escaneos y obtener información adicional. Por
ejemplo, un atacante que tenga como objetivo [Link] podría empezar usando consultas
DNS para determinar la dirección o direcciones IP que utiliza [Link] y cualquier otro
subdominio en uso. Supongamos que estas consultas revelan que [Link] utiliza las
direcciones IP [Link] para [Link], [Link] para [Link] y

13
[Link] para [Link]. El ejemplo 3-1 muestra un ejemplo del uso de la
herramienta DNSRecon en Kali Linux para consultar los registros DNS de [Link].
Ejemplo 3-1 - Ejemplo de DNSRecon
|--[omar@websploit]--[~]
|--- $ dnsrecon -d [Link]
[*] Realizando enumeración general del dominio: [Link]
/usr/share/dnsrecon/./[Link]: Advertencia de obsolescencia: utilice
[Link] () en su lugar
respuesta = res._ [Link](dominio, 'DNSKEY')
[*] DNSSEC está configurado para [Link]
[*] Claves DNS:
[*] NSEC3 ZSK RSASHA256 030100019ed0af43a7dc09d07e1646d2
b4036075e9187c4c563519155f888b60 8fdffe9c6d8a0a01522f78d25d257772
0a8e97d1350e694b272ec63af9708609 b3721e6b53a2d7aa8839585714800319
dd98f97b39d8768f7e975a449c001ce9 55189ea83f30a4fe6b4dff7b3dd15f89
1cef3a8d84968a980bde65c0b1309d5b 825a0f23
[*] NSEC3 Ksk RSASHA256 030100018403e0971df0dc1770f3b96a
ca57eb68d03a84b4a712cadda60567fe a264f0e5d7ec4c8e0187300f0933f419
d22a17548c3a046636666300c06711f0 761200245149a220b79918b3f38a9a6e
8228425cb39b6466adba9f6f7fe28d76 c1bcf44e19f035f658eef65cb630638f
7aa15d7706cc572c863d65619bd48f77 425ea0844716709b9923117ade41d414
c94f8e581db9274cf1c8bb41fbbd7838 24978c0f9b7125b9ce3e8abe442a6bc7
4bf519790a18a27916c946f503c02b08 0a8550bc5b9b147d581a3f5f763df377
9e1d655c51c2e06aa2062d1f08f34abc 37947ac48403dc0da9af846c7a4caeae
7567bb8fdf625b1a179e6fd6faf35be9 09488cb9
[*] SOA [Link] [Link]
[*] NS [Link] [Link]
[*] NS [Link] 2001:4860:4802:32::6c
[*] NS [Link] [Link]
[*] NS [Link] 2001:4860:4802:34::6c
[*] NS [Link] [Link]
[*] NS [Link] 2001:4860:4802:36::6c
[*] NS [Link] [Link]
[*] NS [Link] 2001:4860:4802:38::6c
[*] MX [Link] [Link]
[*] MX [Link] [Link]
[*] MX [Link] [Link]
[*] MX [Link] [Link]
[*] MX [Link] [Link]
[*] MX [Link] 2607:f 8b0:400d:c0f::1a
[*] MX [Link] 2800:3f0:4003:c00::1b
[*] MX [Link] 2a00:1450:400b:c00::1b
[*] MX [Link] 2a00:1450:400c:c0 b:: 1b
[*] MX [Link] 2a00:1450:4013:c02::1b

14
[*] Un [Link] [Link]
[*] SPF v=spf1 incluir:_spf.[Link] ~todo
[*] TXT [Link] v=spf1 include:_spf.[Link] ~all
[*] Enumerando registros SRV
[+] 0 registros encontrados
|--[omar@websploit]--[~]
|--- $
A partir de ahí, un atacante puede profundizar en el análisis escaneando los hosts
identificados. Una vez que el atacante sabe qué hosts están activos en el sitio objetivo,
necesita determinar qué tipo de servicios ejecutan. Para ello, podría usar la
herramienta Nmap, de probada eficacia. Antes de analizar esta herramienta y otras en
detalle, es necesario examinar los tipos de escaneos y enumeraciones que se deben
realizar y por qué. Nmap se consideraba en su momento un simple escáner de puertos;
sin embargo, ha evolucionado hasta convertirse en una herramienta mucho más
robusta que ofrece funcionalidades adicionales gracias al Motor de Scripts de Nmap
(NSE).
de TIP , «Herramientas y análisis de código», ofrece detalles sobre diversas
herramientas que se pueden usar para realizar reconocimiento y otros aspectos de la
metodología de pruebas de penetración. Muchas de estas herramientas ya están
instaladas en la máquina virtual que descargó para este curso. Sin embargo, también
puede descargar su propia distribución de Linux para pruebas de penetración, como
Kali Linux ( [Link] ) o Parrot OS ( [Link] ), y configurar el entorno de
aprendizaje de WebSploit Labs ( [Link] ).
Puedes usar otras herramientas básicas de DNS, como los comandos de Linux
`nslookup` , `host` y `dig` , para realizar la resolución de nombres y obtener
información adicional sobre un dominio. El ejemplo 3-2 muestra cómo se usa la
herramienta `dig` para mostrar los detalles de resolución DNS de `[Link]`.
Ejemplo 3-2 - Utilizar Dig para obtener información sobre un dominio determinado
|--[omar@websploit]--[~]
|--- $dig [Link]
; <<>> DiG 9.16.6-Debian <<>> [Link]
;; opciones globales: +cmd
;; Respuesta obtenida:
;; ->>ENCABEZADO<<- opcode: CONSULTA, estado: SIN ERROR, id: 6517
;; banderas: qr rd ra ad; CONSULTA: 1, RESPUESTA: 4, AUTORIDAD: 0, ADICIONAL: 1
;; SECCIÓN PSEUDO-OPCIONAL:
EDNS: versión: 0, flags:; udp: 4096
;; SECCIÓN DE PREGUNTAS:
;[Link] . EN A
;; SECCIÓN DE RESPUESTAS:
[Link]. 172 EN A [Link]
[Link]. 172 EN A [Link]
[Link]. 172 EN A [Link]
[Link]. 172 EN A [Link]
: 72 ms
;; SERVIDOR: [Link]#53([Link])
15
;; CUÁNDO: Vie 30 Abr 20:45:42 EDT 2021
;; TAMAÑO DEL MENSAJE recibido: 103
|--[omar@websploit]--[~]
|--- $
manera similar, puede usar el comando dig <dominio> mx para obtener los servidores
de correo electrónico utilizados por [Link] (registro MX), como se muestra en el
Ejemplo 3-3 .
Ejemplo 3-3 - Obtención del registro MX de [Link]
|--[omar@websploit]--[~]
|--- $dig [Link] mx
; <<>> DiG 9.16.6-Debian <<>> [Link] mx
;; opciones globales: +cmd
;; Respuesta obtenida:
;; ->>ENCABEZADO<<- opcode: CONSULTA, estado: SIN ERROR, id: 62903
;; banderas: qr rd ra ad; CONSULTA: 1, RESPUESTA: 5, AUTORIDAD: 0, ADICIONAL: 1
;; SECCIÓN PSEUDO-OPCIONAL:
EDNS: versión: 0, flags:; udp: 4096
;; SECCIÓN DE PREGUNTAS:
[Link] . EN MX
;; SECCIÓN DE RESPUESTAS:
[Link]. 77 EN MX 1 [Link] .
[Link]. 77 EN MX 5 [Link] .
[Link]. 77 EN MX 5 [Link] .
[Link]. 77 EN MX 10 [Link].
[Link]. 77 EN MX 10 [Link].
: 48 ms
;; SERVIDOR: [Link]#53([Link])
;; CUÁNDO: Vie 30 Abr 20:47:01 EDT 2021
Tamaño del mensaje recibido: 157
3.1.6 Práctica - Búsquedas DNS
Un usuario introduce el comando `dig [Link] mx` en un host Linux. ¿Cuál es el
propósito de usar este comando?
para enviar un correo electrónico de prueba al servidor [Link]
para obtener los servidores de correo electrónico utilizados por [Link]
para probar la conectividad con el servidor [Link]
para encontrar la dirección IP asociada al nombre de dominio [Link]
3.1.7 Identificación de contactos técnicos y administrativos
Puedes identificar fácilmente los contactos técnicos y administrativos de un dominio
mediante la herramienta Whois. Muchas organizaciones mantienen sus datos de
registro privados y, en su lugar, utilizan los contactos de la organización registradora
del dominio. Por ejemplo, veamos los contactos técnicos y administrativos de
[Link] (que se muestran en el Ejemplo 3-4). Omar Santos es el propietario del
dominio [Link]; sin embargo, los datos técnicos y administrativos son privados.

16
Solo se muestran el correo electrónico y el número de teléfono de contacto para
denuncias de abuso proporcionados por Google (el registrador del dominio).
Ejemplo 3-4 - Información Whois del dominio [Link]
|--[omar@websploit]--[~]
|--- $ whois [Link]
Nombre de dominio: [Link]
ID de dominio del registro: D402200000006011258-LROR
Servidor WHOIS del registrador: [Link]
URL del registrador: [Link]
Fecha de actualización: 2018-07-03T03:48:35Z
Fecha de creación: 2018-05-04T03:43:52Z
Fecha de vencimiento del registro: 2028-05-04T03:43:52Z
Fecha de vencimiento del registro del registrador:
Registrador: Google LLC
ID de registro IANA: 895
Correo electrónico de contacto para denunciar abusos en el registro: registrar-
abuse@[Link]
Teléfono de contacto para denunciar abusos en el registro: +1.8772376466
Revendedor:
Estado del dominio: correcto [Link]
Organización registrante: Contact Privacy Inc. Cliente 1242605855
Estado/Provincia del registrante: ON
País de registro: CA
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
DNSSEC: delegación firmada
URL del formulario de quejas por inexactitudes en Whois de la ICANN
[Link]
Ahora veamos los detalles de Whois para [Link], que se muestran en el Ejemplo 3-
5.
Ejemplo 3-5 - Información Whois del dominio [Link]
|--[omar@websploit]--[~]
|--- $whois [Link]
Nombre de dominio: [Link]
ID de dominio del registro: 187902_DOMAIN_COM-VRSN
Servidor WHOIS del registrador: [Link]
URL del registrador: [Link]
Registrador: MarkMonitor Inc.
ID de registro IANA: 292
Correo electrónico de contacto para denunciar abusos en el registro:
abusecomplaints@[Link]
Teléfono de contacto para denunciar abusos en el registro: +1.2083895740

17
Estado del dominio: actualización del servidor prohibida
[Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
DNSSEC: sin firmar
URL del formulario de quejas por inexactitudes en Whois de la ICANN:
[Link]
<salida omitida por brevedad>
La base de datos del Registro contiene ÚNICAMENTE dominios .COM, .NET, .EDU y
registradores.
Nombre de dominio: [Link]
ID de dominio del registro: 187902_DOMAIN_COM-VRSN
Servidor WHOIS del registrador: [Link]
URL del registrador: [Link]
Fecha de actualización: 2020-10-02T02:07:57-0700
Fecha de creación: 1992-11-03T21:00:00-0800
Fecha de vencimiento del registro del registrador: 2022-11-02T00:00:00-0700
Registrador: MarkMonitor, Inc.
ID de registro IANA: 292
Correo electrónico de contacto para denunciar abusos en el registro:
abusecomplaints@[Link]
Teléfono de contacto para denunciar abusos en el registro: +1.2083895770
Estado del dominio: clientUpdateProhibited
([Link]
Estado del dominio: clientTransferProhibited
([Link]
Estado del dominio: clientDeleteProhibited
([Link]
Estado del dominio: serverUpdateProhibited
([Link]
Estado del dominio: serverTransferProhibited
([Link]
Estado del dominio: serverDeleteProhibited
([Link]
ID del registrante en el registro:
Nombre del registrante: Administrador de dominio

18
Organización registrante: DNStination Inc.
Dirección del registrante: 3450 Sacramento Street, Suite 405
Ciudad del solicitante: San Francisco
Estado/Provincia del registrante: CA
Código postal del registrante: 94118
País de registro: EE. UU.
Teléfono del registrante: +1.4155319335
Extensión telefónica del registrante:
Fax del registrante: +1.4155319336
Extensión de fax del registrante:
Correo electrónico del solicitante: admin@[Link]
ID de administrador del registro:
Nombre del administrador: Administrador de dominio
Organización administradora: DNStination Inc.
Dirección administrativa: 3450 Sacramento Street, Suite 405
Ciudad administrativa: San Francisco
Estado/Provincia administrativa: CA
Código postal administrativo: 94118
País de administración: EE. UU.
Teléfono de administración: +1.4155319335
Extensión telefónica de administración:
Fax administrativo: +1.4155319336
Extensión de fax de administración:
Correo electrónico del administrador: admin@[Link]
ID técnico del registro:
Nombre técnico: Administrador de dominio
Organización tecnológica: DNStination Inc.
Tech Street: 3450 Sacramento Street, Suite 405
Ciudad Tecnológica: San Francisco
Estado/Provincia Tecnológica: CA
Código postal de Tech: 94118
País tecnológico: EE. UU.
Teléfono de soporte técnico: +1.4155319335
Extensión telefónica técnica:
Fax técnico: +1.4155319336
Extensión de fax técnico:
Correo electrónico técnico: admin@[Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]

19
Servidor de nombres: [Link]
Servidor de nombres: [Link]
Servidor de nombres: [Link]
<salida omitida por brevedad>
MarkMonitor se reserva el derecho de modificar estos términos en cualquier
momento.
Al enviar esta consulta, usted acepta cumplir con esta política.
Gestión de dominios MarkMonitor ( TM)
Proteger a las empresas y a los consumidores en un mundo digital.
Visite MarkMonitor en [Link]
Contáctanos al +1.8007459229
En Europa, al +44.02032062220
Las líneas resaltadas en el Ejemplo 3-5 muestran los contactos técnicos y
administrativos del dominio (que también corresponden al registrador del dominio
[MarkMonitor]). El Ejemplo 3-6 muestra otro ejemplo; este ejemplo muestra los
contactos de correo electrónico técnicos y administrativos del dominio [Link].
Ejemplo 3-6 - Mostrando contactos de correo electrónico técnicos y administrativos
|--[omar@websploit]--[~]
|--- $whois [Link] | grep '@[Link]'
Correo electrónico del solicitante: infosec@[Link]
Correo electrónico del administrador: infosec@[Link]
Correo electrónico técnico: infosec@[Link]
En el Ejemplo 3-6, los contactos técnicos y administrativos se dirigen al equipo de
InfoSec de Cisco (infosec@[Link]) en lugar de al registrante.
CONSEJO: Varias herramientas, como Recon-ng, Harvester y Maltego, ayudan a
automatizar el proceso de reconocimiento pasivo y admiten numerosas consultas
basadas en DNS y Whois. Varias de estas herramientas se tratan en el Módulo 10 y se
encuentran en el repositorio de GitHub de Omar Santos en [Link]
Art-of-Hacking/h4cker/tree/master/osint .
3.1.8 Práctica - Identificación de contratos técnicos y administrativos
¿Qué comando puede identificar los contactos técnicos y administrativos del dominio
[Link]?
ping [Link]
whois [Link]
dig [Link]
nslookup [Link]
3.1.9 Laboratorio - Búsquedas DNS
Tareas de soluciones de seguridad de Protego
Necesitamos conocer la superficie de ataque de Pixel Paradise. Una forma de hacerlo
es encontrar todos los dominios y subdominios de Pixel Paradise registrados en el DNS.
Cada subdominio se puede investigar posteriormente para detectar vulnerabilidades y
posibles ataques.
Practica tus habilidades con herramientas de investigación de DNS antes de que
comencemos nuestro reconocimiento de Pixel Paradise.

20
En este laboratorio, explorará herramientas comunes utilizadas para recopilar
información sobre un objetivo a través del Sistema de Nombres de Dominio (DNS).
 Utilice nslookup para obtener información sobre el dominio y la dirección IP.
 Utilice el comando whois para encontrar información de registro adicional.
 Compara los resultados de las herramientas Nslookup y Dig.
 Realizar búsquedas DNS inversas.

Laboratorio - Búsqueda DNS


Objetivos
reconocimiento pasivo Es un método de recopilación de información en el que las
herramientas no interactúan directamente con el dispositivo o la red objetivo. En este
laboratorio, explorará herramientas comunes utilizadas para recopilar información
sobre un objetivo a través del Sistema de Nombres de Dominio (DNS).
 Utilice nslookup para obtener información sobre el dominio y la dirección IP.
 Utilice el comando whois para encontrar información de registro adicional.
 Compara los resultados de las herramientas Nslookup y Dig.
 Realizar búsquedas DNS inversas.
Antecedentes / Escenario
Antes de comenzar cualquier prueba de penetración u otra actividad de hacking ético,
es necesario obtener de forma encubierta la mayor cantidad de información posible
sobre la organización objetivo. Existe una gran cantidad de información que se puede
obtener de los datos de registro de dominios disponibles públicamente. En este
laboratorio, analizará la salida de los comandos nslookup , whois y dig .
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet
Instrucciones
Parte 1: Utilice nslookup para obtener información sobre el dominio y la dirección IP.
Paso 1: Inicie sesión en Kali Linux y acceda al entorno de terminal.
a. Inicia sesión en el sistema Kali con el nombre de usuario kali y la contraseña kali .
Se te mostrará el escritorio de Kali.
b. Abra una ventana de terminal haciendo clic en el icono de Terminal situado en la
parte superior de la pantalla.
Paso 2: Investigar las capacidades de nslookup

21
Nslookup es una herramienta de línea de comandos disponible en Linux y Windows. Su
función principal es convertir un nombre de dominio en una dirección IP. Nslookup
también ofrece otras funcionalidades que pueden proporcionar información adicional.
a. Acceda a las páginas del manual de nslookup utilizando el comando man :
┌──(kali ㉿ Kali) -[ ~]
└─$ hombre nslookup
b. Para consultar las páginas del manual, pulse la barra espaciadora para avanzar.
Cuando haya terminado de consultar las páginas del manual, pulse q para salir y
volver a la línea de comandos.
¿Qué palabra clave de conjunto utilizaría para consultar el registro MX del servidor
de correo dentro de un dominio?
Establecer querytype=mx o establecer type=mx
Paso 3: Utilizar el comando nslookup
a. Utilice el comando nslookup sin opciones para entrar en modo interactivo. Para
salir del modo interactivo en cualquier momento, escriba exit para volver al
símbolo del sistema de la línea de comandos.
b. El indicador de la CLI cambia a > para indicar que ahora está en modo interactivo y
puede introducir los distintos comandos de nslookup. Introduzca el nombre de
dominio [Link] para resolverlo a una dirección IP. De forma predeterminada, el
comando nslookup consulta los registros A y AAAA del destino.
> [Link]
El resultado del comando será similar al que se muestra. El registro A contiene la
dirección IPv4 asignada al dominio raíz y el registro AAAA contiene la dirección IPv6.
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup
> [Link]
Servidor: [Link]
Dirección: [Link]#53
Respuesta no autorizada:
Nombre: [Link]
Dirección: [Link]
Nombre: [Link]
Dirección: 2001:420:1101:1::185
>
c. Para encontrar los servidores de nombres de dominio configurados para [Link],
utilice el comando set type para cambiar el tipo de consulta a “ns” para que devuelva
la información del servidor de nombres.
> establecer tipo=ns
> [Link]
El resultado del comando debería ser similar al que se muestra a continuación. Los
servidores se listan por nombre de dominio completo y, además, se indican como
servidores autorizados para direcciones IPv4 e IPv6.
> establecer tipo=ns
> [Link]
Error de comunicación con [Link]#53: tiempo de espera agotado
Servidor: [Link]
Dirección: [Link]#53

22
Respuesta no autorizada:
Servidor de nombres de [Link] = [Link].
Servidor de nombres de [Link] = [Link].
Servidor de nombres de [Link] = [Link].
Las respuestas autorizadas se pueden encontrar en:
Dirección IP de [Link] = [Link]
<salida omitida>
¿Cuáles son las direcciones IPv4 e IPv6 del servidor DNS primario (ns1)?
La dirección IPv4 es [Link] y la dirección IPv6 es 2001:420: 1101:6:: a
d. Introduzca exit para salir del modo interactivo y volver al símbolo del sistema de la
CLI.
Paso 4: Cambiar el servidor utilizado para realizar las búsquedas.
En ocasiones, conviene usar un servidor DNS diferente para realizar búsquedas. Esto
puede ser necesario si el servidor DNS local no puede resolver una dirección o resuelve
el nombre de host a una dirección privada interna y se necesita obtener la dirección
accesible desde internet del host.
a. En esta consulta, utilice la sintaxis del comando nslookup de una sola línea para
cambiar el servidor que busca [Link]. La sintaxis del comando es nslookup
[nombre de host] [IP del servidor].
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup [Link] [Link]
En el modo interactivo, se cambia el servidor utilizando la palabra clave "server" .
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup
> servidor [Link]
> [Link]
b. Cualquier tipo de consulta puede recuperar gran parte, o incluso toda, la información
contenida en el registro DNS de un nombre de host. A menudo, los registros DNS
contienen información textual que proporciona detalles adicionales sobre el dominio.
Utilizando el servidor DNS de Google [Link], encuentre los registros DNS de
[Link].
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup
> servidor [Link]
> establecer tipo=cualquier
> [Link]
El resultado debería ser similar a este ejemplo:
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup
> servidor [Link]
Servidor predeterminado: [Link]
Dirección: [Link]#53
> establecer tipo=cualquier
> [Link]
;; Falló la conexión a [Link]#53([Link]) para [Link]: tiempo de espera agotado.
Servidor: [Link]
Dirección: [Link]#53

23
Respuesta no autorizada:
Nombre: [Link]
Dirección: [Link]
Nombre: [Link]
Dirección: [Link]
Nombre: [Link]
Dirección: [Link]
Nombre: [Link]
Dirección: [Link]
Servidor de nombres de [Link] = [Link].
[Link] servidor de nombres = [Link].
Servidor de nombres de [Link] = [Link].
Servidor de nombres de [Link] = [Link].
[Link]
origen = [Link]
Dirección de correo electrónico = [Link]
serial = 1
actualización = 7200
reintento = 900
caducidad = 1209600
mínimo = 86400
Intercambiador de correo [Link] = 10 [Link]-east-
[Link].
texto de [Link] = "[Link]"
[Link] texto = "facebook-domain-
verification=8cg08gu4eikp0d2d1quqhjwh5ti1vv"
[Link] texto = "google-site-
verificación=Q5NIWRygJYTSLxuHReNKw1kvgC8IXKTOyPf5zITDv40"
texto de [Link] =
"identrust_validate=tadDBgWwQAKpw6QCCQDCagqsZgxHELybnPOCQHNU+rsV"
¿Qué tipos de registros se muestran en la salida del comando nslookup con el tipo
establecido en "any"?
Todos los tipos de registros permitidos, incluidos A, AAAA, ns, mx y texto.
Parte 2: Utilice la función Whois para obtener información del dominio
La herramienta WHOIS consulta la información de registro del dominio, en lugar de los
registros del servidor DNS. Es otra forma de reconocimiento pasivo que puede
identificar dónde está registrado el dominio, la información de contacto técnica y
administrativa, y las ubicaciones físicas. Tenga en cuenta que la información contenida
en los registros de dominio puede configurarse como privada y, a menudo, la
información de contacto corresponde al servicio de alojamiento, no a la propia
organización.
Paso 1: Comparar la salida de whois para varias organizaciones.
a. La herramienta whois está disponible desde la línea de comandos en Kali Linux.
Utilice el comando whois para obtener información sobre [Link].
┌──(kali ㉿ Kali) -[ ~]
└─$ whois [Link]

24
b. Ahora utilice el comando whois para obtener información sobre el dominio
[Link].
¿Qué conclusión puedes extraer sobre los dos dominios ([Link] y [Link])
basándote en los resultados de los comandos whois ?
Ambos dominios son propiedad de Cisco y están alojados en la nube.
Paso 2: Utilice whois para determinar la información de registro de la dirección IP.
La herramienta whois también permite recopilar información sobre los rangos de
direcciones IP asignados a una organización. En la parte anterior de este laboratorio,
descubrimos las direcciones IP asignadas a varios nombres de host de servidores DNS
de dominio. Ahora puede usar esa información de direcciones para obtener detalles
adicionales sobre los rangos de direcciones IP externas asignados a dichas
organizaciones.
a. Revise los resultados obtenidos al usar nslookup para obtener las direcciones IP del
servidor DNS para [Link]. Registre las direcciones IP de los servidores DNS de
Cisco.
b. Utilice la herramienta Whois para averiguar qué rangos de direcciones IP están
asignados a Cisco y se utilizan en las redes que alojan sus servidores DNS. En el
momento de realizar esta práctica, [Link] se resolvía a la dirección IP
[Link]; sin embargo, esto puede variar. Cuando se le solicite, escriba whois
[Link] .
┌──(kali ㉿ Kali) -[ ~]
└─$ whois [Link]
#
Los datos y servicios de ARIN WHOIS están sujetos a los Términos de uso.
# Disponible en: [Link]
#
# Si detecta alguna inexactitud en los resultados, infórmelo en
# [Link]
#
# Copyright 1997-2023, American Registry for Internet Numbers, Ltd.
#
Rango neto: [Link] - [Link]
CIDR: [Link]/16
Nombre de red: CISCO-GEN-7
Identificador de red: NET-72-163-0-0-1
Padre: NET72 (NET-72-0-0-0-0)
Tipo de red: Asignación directa
OrigenAS: AS109
Organización: Cisco Systems, Inc. (CISCOS-2)
Fecha de registro: 24/10/2006
Actualizado: 09/06/2022
Ref: [Link]
Nombre de la organización: Cisco Systems, Inc.
ID de la organización: CISCOS-2
Dirección: 170 West Tasman Drive
Ciudad: San José
Estado/Provincia: CA

25
Código postal: 95134
País: Estados Unidos
Fecha de registro: 5 de febrero de 1986
Actualizado: 27/10/2021
Ref.: [Link]
Identificador técnico de la organización: CAMT-ARIN
Nombre de la organización técnica: Equipo de gestión de direcciones de Cisco
<salida omitida>
¿Cuál es el rango de direcciones IP para las direcciones IPv4 asignadas a Cisco? El
servidor [Link] se encuentra dentro de este bloque.
[Link] – [Link] o [Link]/16
c. Dado que las organizaciones pueden usar las mismas redes IP para otros servidores
externos, conocer los rangos de direcciones es fundamental para determinar qué
redes atacar durante una prueba de penetración. Utilice la herramienta whois para
obtener las asignaciones de direcciones IP de las redes IP donde se ubican los
demás servidores DNS de Cisco.
Parte 3: Comparación de la salida de las funciones Nslookup y Dig
Paso 1: Utilice Dig de Linux para consultar los servidores DNS.
a. Dig es una función de Linux que realiza consultas DNS. El formato de una consulta
Dig es similar al de Nslookup. Para resolver el nombre de host [Link] a una
dirección IP, utilice la sintaxis dig [nombre de host].
┌──(kali ㉿ Kali) -[ ~]
└─$ dig [Link]
¿Cuál es la diferencia entre los tipos de registro predeterminados consultados por
Dig y los consultados por Nslookup?
Dig consulta solo los registros de tipo A y Nslookup consulta tanto los registros A como
los AAAA.
b. Para obtener la dirección IPv6 de [Link] es necesario añadir un tipo a la
estructura del comando. La sintaxis para indicar a Dig que consulte un tipo de
registro específico es dig [ nombre de host ]. [ tipo de registro ] .
┌──(kali ㉿ Kali) -[ ~]
└─$ dig [Link] AAAA
Paso 2: Utilice Dig para obtener información adicional.
a. En la primera parte de este laboratorio, se utilizó nslookup para obtener los
servidores DNS de [Link]. Utilice el servidor DNS de Google [Link] para
consultar los registros del servidor DNS. La sintaxis para usar el comando dig y
realizar una consulta con un servidor DNS diferente es dig [ nombre de host ] @[ IP
del servidor DNS ][ tipo ] . En el símbolo del sistema, ingrese dig [Link] [Link]
ns .
┌──(kali ㉿ Kali) -[ ~]
└─$ excavar [Link] [Link] ns
; <<>> DiG 9.18.8-1-Debian <<>> [Link] @[Link] ns
;; opciones globales: +cmd
;; Respuesta obtenida:
;; ->>ENCABEZADO<<- opcode: CONSULTA, estado: SIN ERROR, id: 62945
;; banderas: qr rd ra; CONSULTA: 1, RESPUESTA: 3, AUTORIDAD: 0, ADICIONAL: 1
;; SECCIÓN PSEUDO-OPCIONAL:

26
EDNS: versión: 0, flags:; udp: 512
;; SECCIÓN DE PREGUNTAS:
[Link] . EN NS
;; SECCIÓN DE RESPUESTAS:
[Link]. 1493 IN NS [Link].
[Link]. 1493 IN NS [Link].
[Link]. 1493 IN NS [Link].
: 83 ms
;; SERVIDOR: [Link]#53([Link]) (UDP)
;; CUÁNDO: Vie 03 Mar 2023 21:15:13 UTC
;; TAMAÑO DEL MENSAJE recibido: 92
<salida omitida>
b. Anteriormente, se utilizaba nslookup con la opción set type=any para encontrar
información adicional sobre el nombre de host [Link]. El tipo de registro
any también se puede consultar mediante Dig.
┌──(kali ㉿ Kali) -[ ~]
└─$ dig [Link] cualquier
Compara el resultado de la función Dig con el de Nslookup para cualquier tipo de
registro. ¿Cuál de los dos resultados es más fácil de leer para obtener los valores que
contienen los distintos tipos de registros?
La salida de dig muestra los registros en formato tabular agrupados por tipo.
Parte 4: Realizar búsquedas DNS inversas
Paso 1: Utilice Dig para realizar búsquedas rDNS
Ahora que puedes realizar búsquedas DNS y usar Whois para determinar rangos de
direcciones IP, usa Dig para encontrar nombres de host adicionales. Las búsquedas
DNS inversas (rDNS) usan la dirección IP para consultar los nombres de host de los
servicios que se resuelven en esa dirección.
a. Ingrese el comando dig usando la opción -x para recuperar el nombre de host y el
tipo de registro del servidor DNS [Link] ( [Link]) .
┌──(kali ㉿ Kali) -[ ~]
└─$ dig -x [Link]
¿Qué tipo de registro se devuelve con el nombre del host?
Se devuelve un registro de puntero (PTR) con el nombre de host.
b. Utilice el comando dig -x para consultar otra dirección IP en la misma subred.
┌──(kali ㉿ Kali) -[ ~]
└─$ dig -x [Link]
Examine la salida devuelta por el comando dig. ¿Qué tipo de dispositivo cree que
tiene asignada la dirección [Link]?
Dado que el host se llama hsrp-72-163-1-1, probablemente sea la dirección de puerta
de enlace predeterminada asignada a una configuración de enrutador HSRP.
Paso 2: Utilice la utilidad del host para realizar búsquedas rDNS
La utilidad Host es una función de Linux que realiza búsquedas para convertir
direcciones IP en nombres de host. Utilice esta utilidad para encontrar otro host en la
red [Link]/16.
a. La sintaxis del comando host es host [ dirección IP o nombre de host ].
┌──(kali ㉿ Kali) -[ ~]
└─$ host [Link]

27
b. Host también se puede utilizar para realizar una búsqueda rápida de la dirección IP
de un nombre de host conocido.
┌──(kali ㉿ Kali) -[ ~]
└─$ host [Link]
¿En qué se diferencia la salida del comando host de la de Dig o Nslookup al consultar una
dirección IP asignada a un host conocido?
La salida del host solo contiene la dirección IP, no el servidor DNS ni otra información.
c. Las URL suelen contener alias para el nombre de host del servidor que aloja el sitio
web. El resultado del comando `host` puede mostrar los servidores que responden
a esa URL.
┌──(kali ㉿ Kali) -[ ~]
└─$ host [Link]
La información sobre los alias resulta útil para determinar dónde se encuentra
realmente el sitio web o el servicio.
Paso 3: Utilice nslookup para realizar búsquedas rDNS
Nslookup se utiliza principalmente para realizar búsquedas de direcciones IP para
nombres de host conocidos. También se puede utilizar para realizar búsquedas rDNS y
obtener el nombre de host asignado a una dirección IP conocida.
Utilice Nslookup para encontrar los nombres de host asociados a una dirección IP.
En modo no interactivo, la sintaxis para realizar una consulta rDNS es nslookup
[dirección IP].
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup [Link]
Para usar el modo interactivo, escriba nslookup sin opciones. En el símbolo > ,
introduzca la dirección IP de destino.
┌──(kali ㉿ Kali) -[ ~]
└─$ nslookup
> [Link]
Reflexión
En este laboratorio, usaste nslookup, dig y host para obtener información de los
archivos de zona DNS. ¿Qué herramienta usarías para iniciar un reconocimiento
pasivo contra un dominio objetivo? ¿Por qué?
Las respuestas variarán.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
Necesitas realizar una búsqueda inversa de DNS en una dirección IP que descubriste durante
una investigación. ¿Qué opción le indicará a dig que devuelva el nombre de dominio y
el tipo de registro para la dirección IP?
AAAA
-ns
-b
-incógnita
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
28
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.1.10 Aplicaciones en la nube frente a aplicaciones autohospedadas y subdominios
relacionados
Una empresa puede ser propietaria de un dominio y sus subdominios, pero sus
aplicaciones podrían estar alojadas en la nube. Por ejemplo, Netflix (al momento de
escribir este texto) es propietaria del dominio [Link], que se resuelve en las
direcciones IPv4 [Link], [Link] y [Link] (como se muestra en el
Ejemplo 3-7 con el comando host de Linux).
Ejemplo 3-7 - Resolución de nombres DNS para [Link]
|--[omar@websploit]--[~]
|--- $host [Link]
[Link] tiene la dirección [Link]
[Link] tiene la dirección [Link]
[Link] tiene la dirección [Link]
[Link] tiene la dirección IPv6 2600:1f18:631e:2f80:77e5:13a7:6533:7584
[Link] tiene la dirección IPv6 2600:1f18:631e:2f82:c8cd:27b2:ac:8dbf
[Link] tiene la dirección IPv6 2600:1f18:631e:2f 84:ceae :e049:1e:6a96
El correo de [Link] es manejado por 1 [Link].
El correo de [Link] es manejado por 5 [Link].
El correo de [Link] es manejado por 5 [Link].
El correo de [Link] es manejado por 10 [Link].
El correo de [Link] es manejado por 10 [Link].
Sin embargo, las direcciones IPv4 [Link], [Link] y [Link] son
propiedad de Amazon Web Services (AWS), que aloja [Link], como se demuestra
en el Ejemplo 3-8.
Ejemplo 3-8 - Ejemplo de propiedad de direcciones IP y aplicaciones alojadas en la nube
|--[omar@websploit]--[~]
|--- $whois [Link] | grep OrgName
Nombre de la organización: Amazon Technologies Inc.
Nombre de la organización: Amazon Data Services NoVa
|--[omar@websploit]--[~]
|--- $whois [Link] | grep OrgName
Nombre de la organización: Amazon Technologies Inc.
|--[omar@websploit]--[~]
|--- $whois [Link] | grep OrgName
Nombre de la organización: Amazon Technologies Inc.
Nombre de la organización: [Link], Inc.
En el Ejemplo 3-8, se utiliza el comando whois para recuperar el nombre de la
organización (OrgName) del propietario para cada una de las direcciones IP
[Link], [Link] y [Link].
3.1.11 Extracción de datos de redes sociales

29
Los atacantes pueden recopilar fácilmente información valiosa sobre las víctimas
mediante el rastreo de datos en redes sociales como Twitter, LinkedIn, Facebook e
Instagram. La gente publica demasiadas cosas en línea. Hablan públicamente de sus
aficiones, los restaurantes que frecuentan, su trabajo, sus ascensos laborales, sus
viajes de negocios y de placer, y mucho más.
A menudo, los atacantes utilizan otra información, como contactos clave (partes
interesadas de la empresa) y sus responsabilidades laborales. Pueden usar toda esa
información para realizar diferentes tipos de ataques de ingeniería social (incluidos el
spear phishing y el whaling). Aprenderá más sobre los ataques de ingeniería social en
el Módulo 4, «Ataques de ingeniería social».
Los atacantes suelen aprovechar las ofertas de empleo en sitios web como Indeed,
LinkedIn, CareerBuilder y las páginas web de las empresas para obtener información
sobre las tecnologías que utilizan (por ejemplo, su pila tecnológica). Supongamos que
una empresa busca un administrador de firewalls de Cisco, un experto en Ansible y un
arquitecto de bases de datos MongoDB en Raleigh, Carolina del Norte. El atacante no
necesitó utilizar ninguna herramienta para averiguar que la empresa usa firewalls de
Cisco, MongoDB y Ansible para la automatización en su oficina de Raleigh.
De igual forma, los atacantes también crean ofertas de empleo para atraer candidatos.
Luego, entrevistan a sus víctimas para intentar sonsacarles información sobre sus
funciones laborales y las tecnologías que utiliza su empresa. Piénsalo: cuando la gente
busca trabajo, quiere destacar y a menudo revela demasiada información sobre las
tecnologías, arquitecturas y aplicaciones que utiliza en sus puestos actuales.
3.1.12 Laboratorio - Recopilación de información de los empleados
Tareas de soluciones de seguridad de Protego
El personal se considera el eslabón más débil en la seguridad de la red. Por ejemplo, las
personas están dispuestas a exponer una sorprendente cantidad de información
personal en las redes sociales. Esta información puede ser utilizada por los atacantes
de diversas maneras. Puede ayudarles a encontrar información sobre un usuario,
incluyendo posibles nombres de usuario, contraseñas probables e información que
puede utilizarse para lanzar ataques de ingeniería social exitosos. La información
recopilada de las redes sociales puede utilizarse como pretextos que pueden inducir a
las personas a realizar acciones peligrosas.
Por este motivo, es importante que conozcamos a fondo al personal clave de Pixel
Paradise. Identificar los posibles riesgos de seguridad derivados de la información en
perfiles y publicaciones de redes sociales forma parte de nuestro acuerdo de pruebas
de penetración con nuestro cliente. Familiarícese con algunas de las formas en que los
ciberdelincuentes pueden utilizar las publicaciones en redes sociales realizando este
laboratorio.
En este laboratorio, utilizará las redes sociales para recopilar información de
identificación personal (PII).
Laboratorio - Recopilación de información de los empleados
Objetivos
Utilizar las redes sociales para recopilar información de identificación personal (PII).
 Recopilar información a través de las redes sociales.
Antecedentes / Escenario

30
Desafortunadamente, las personas suelen publicar demasiada información personal en
línea, lo que las hace muy vulnerables a los ataques. Los ciberdelincuentes pueden
recopilar fácilmente gran cantidad de información personal identificable (PII) de una
víctima simplemente investigando en redes sociales como Facebook, LinkedIn, Twitter,
WhatsApp e Instagram. Luego, pueden usar esta información para identificar a las
víctimas y robar datos personales para fines maliciosos.
Por ello, es importante que las personas controlen su huella en las redes sociales y
sean conscientes de los datos que son de acceso público.
Nota : El acceso no autorizado a datos, ordenadores y redes constituye un delito en
muchas jurisdicciones y suele acarrear graves consecuencias, independientemente de
las motivaciones del autor. Es responsabilidad del estudiante, como usuario de este
material, conocer y cumplir las leyes sobre el uso de ordenadores y la privacidad.
Recursos necesarios
 Ordenador o dispositivo móvil con acceso a internet
Instrucciones
Parte 1: Recopilar información a través de las redes sociales.
En este laboratorio, asumirás el rol de un ciberdelincuente e investigarás tus propias
redes sociales para ver cuánta información personal identificable (PII) puedes obtener.
Como alternativa, puedes obtener el permiso de alguien de confianza, como un amigo
o familiar, e investigar sus redes sociales. Al finalizar el ejercicio, podrás compartir con
ellos tus hallazgos.
Paso 1: Realizar la investigación.
Realiza una búsqueda con tu nombre y nombres de usuario en diferentes
buscadores. Abre una ventana de incógnito o privada para este ejercicio. Esto
evitará que se muestre tu información de inicio de sesión guardada y que veas
contenido almacenado en caché durante la búsqueda. Utiliza variaciones de tu
nombre, con y sin segundo nombre o inicial, apellido de casada, apellido de
soltera, etc.
Esto te permitirá ver qué está indexado.
Paso 2: Realizar una auditoría como un extraño.
a. Crea una cuenta falsa en redes sociales para ver tus propios perfiles como
lo haría un extraño.
b. Realiza una auditoría de todos los sitios y cuentas de redes sociales que
hayas utilizado.
Busque información que permita identificar a alguien y patrones de
comportamiento que puedan ser útiles para un atacante. Esto incluye aspectos
como su lugar de trabajo, dónde vive, sus preferencias de compra en línea, su
horario diario, sus planes de vacaciones, sus creencias políticas, sus intereses,
sus aficiones, su nivel educativo, sus creencias culturales, sus familiares, sus
mascotas, etc.
1. Entre los elementos a investigar se incluyen:
2. Todos tus perfiles en redes sociales: nombre, fecha de nacimiento, información de
contacto, etc.
3. Actualizaciones de tu estado: acontecimientos vitales, relaciones laborales y
situación personal, creencias políticas y religiosas.
4. Datos de ubicación: información sobre la ciudad de origen y registros geográficos.
5. Contenido compartido: imágenes y comentarios que hayas publicado y aquellos en
los que se te mencione o etiquete.

31
6. Publicaciones de amigos y familiares.
7. Cualquier debate en línea al que te hayas unido o en el que hayas participado.
¿Qué tipo de información sobre usted se reveló en su investigación?
Las respuestas variarán.
Parte 2: Reflexiona sobre tus hallazgos.
1. Reflexiona sobre las formas en que un ciberdelincuente podría utilizar la siguiente
información:
a. Información sobre su lugar de trabajo.
Las respuestas variarán, pero pueden incluir: lanzar ataques de phishing o whaling.
b. Su interés en pasatiempos o intereses particulares.
Las respuestas variarán, pero pueden incluir: atraerle a una página de destino web
falsa que instala malware en su ordenador, roba sus credenciales de inicio de sesión
o roba su información de pago.
c. Tus conversaciones públicas con amigos o familiares.
Las respuestas variarán, pero pueden incluir: Monitorear tus feeds en busca de pistas
sobre contraseñas.
2. Basándote en los resultados de tu análisis de huella en redes sociales, ¿qué
recomendarías como buenas prácticas en redes sociales para mantener tu identidad
segura en ellas?
Las respuestas variarán, pero podrían incluir: No publiques información en tiempo
real. Configura tus cuentas de redes sociales como privadas. Piensa antes de
compartir datos personales en línea. Desconfía de las solicitudes de información
confidencial o datos de pago.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Tu perfil en redes sociales revela información que podría ser utilizada por
ciberdelincuentes? Valora el nivel de riesgo al que tu perfil en redes sociales podría
exponerte a ti o a tu organización.

Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Aceptar
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Aceptar
3.1.13 Fallos criptográficos

32
Durante la fase de reconocimiento, los atacantes suelen inspeccionar los certificados
SSL (Secure Sockets Layer) para obtener información sobre la organización, posibles
fallos criptográficos e implementaciones débiles. Los certificados digitales contienen
mucha información: el número de serie, el nombre común del sujeto, el URI (Uniform
Resource Identity) del servidor al que se asignó, el nombre de la organización,
información del OCSP (Online Certificate Status Protocol), el URI de la CRL (Certificate
Revocation List), etc.
La revocación de un certificado consiste en invalidar un certificado digital. Por ejemplo,
si una aplicación se ha dado de baja o el certificado asignado a dicha aplicación se ha
visto comprometido, debe revocar el certificado y añadir su número de serie a una lista
de revocación de certificados (CRL). OCSP y las CRL se utilizan para verificar si un
certificado ha sido revocado (es decir, invalidado) por la autoridad emisora.
La figura 3-1 muestra el certificado digital asignado a [Link]. El certificado indica la
organización emisora —en este caso, Let's Encrypt ([Link])—, el número de
serie, el periodo de validez y la información de la clave pública, incluyendo el
algoritmo, el tamaño de la clave, etc. Los atacantes pueden usar esta información para
descubrir cualquier configuración o implementación criptográfica débil.
Figura 3-1 - El certificado digital asignado a [Link]

33
Los atacantes también pueden aprovechar la transparencia de certificados para revelar
información adicional y enumerar subdominios. ¿Qué es la transparencia de
certificados? Hace más de una década, DigiNotar (una organización que crea, mantiene
y autoriza certificados digitales para numerosas empresas e instituciones
gubernamentales) sufrió un importante ataque. Este ataque (junto con otros similares)
generó preocupación en torno a las organizaciones que generan y gestionan
certificados digitales. Posteriormente, se creó la transparencia de certificados para
detectar mejor la emisión de certificados maliciosos. El objetivo de la transparencia de
certificados es que cualquier organización o persona pueda verificar de forma
transparente la emisión de un certificado digital. La transparencia de certificados
permite a las autoridades de certificación (AC) proporcionar detalles sobre todos los
certificados emitidos para un dominio y una organización determinados. Los atacantes
también pueden usar esta información para revelar qué otros subdominios y sistemas
puede poseer una organización.
NOTA: Puede obtener información detallada sobre la transparencia de los certificados
en [Link] .
Herramientas como [Link] permiten obtener información detallada sobre la
transparencia de los certificados de cualquier dominio. La figura 3-2 muestra el
resultado de la consulta [Link] en [Link] para el dominio
[Link]. En los resultados de la búsqueda se observan varios subdominios que el
atacante desconocía previamente.
Figura 3-2 - Revelando subdominios adicionales usando información de certificado
digital en [Link]

3.1.14 Laboratorio - Obtención de información de certificados SSL

34
Tareas de soluciones de seguridad de Protego
Los certificados SSL son esenciales para la seguridad en línea. Se utilizan para cifrar los
datos durante su transmisión y para garantizar que un sitio web sea confiable como
fuente o destino de datos. Es importante comprender la información de identificación
y cifrado que contienen los certificados SSL.
Realiza este laboratorio para familiarizarte con los certificados SSL y la información que
contienen. Esta es una parte importante de nuestra colaboración con Pixel Paradise.
En este laboratorio, completarás los siguientes objetivos:
 Ver información del certificado en los hosts
 Acceda a la información detallada del certificado
 Utiliza herramientas de análisis SSL en Kali
 Utilice Kali Tools para recopilar información del certificado

Laboratorio - Obtención de información de certificados SSL


Objetivos
 Ver información del certificado en los hosts
 Acceda a la información detallada del certificado
 Utiliza herramientas de análisis SSL en Kali
 Utilice Kali Tools para recopilar información del certificado
Antecedentes / Escenario
Los certificados SSL/TLS cumplen dos funciones principales. En primer lugar, permiten
que los usuarios que acceden a un sitio web validen su propiedad. En segundo lugar,
cifran la comunicación entre el cliente y el servidor para que terceros no autorizados
no puedan leerla ni alterarla. También proporcionan la información necesaria para que
un navegador establezca una conexión segura y cifrada con un sitio web mediante el
protocolo HTTPS. Los certificados se utilizan de forma transparente mientras los
usuarios navegan por internet. En la mayoría de los casos, los usuarios desconocen su
uso. Solo se dan cuenta si falta un certificado, está caducado o mal configurado.
La información del certificado se puede consultar localmente para un sitio web que se
esté visualizando en un navegador haciendo clic en el icono del candado junto a la
URL. Los certificados también se almacenan localmente para las propias autoridades
de certificación. Existen varias formas de consultarlos. El formato de la información del
certificado de clave pública se especifica en el estándar X.509.
Los hackers éticos pueden usar la información de certificados públicos durante la fase
de reconocimiento de las pruebas de penetración. Esta información puede revelar
detalles sobre una organización, como nombres de dominio y subdominios, fechas de
emisión y vencimiento, y claves públicas. Además, ciertas versiones de software, como
OpenSSL, presentan vulnerabilidades conocidas que pueden explotarse, como la
vulnerabilidad Heartbleed. Asimismo, es posible que algunos certificados utilicen
algoritmos de cifrado débiles.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet
Instrucciones
Parte 1: Ver información del certificado en los hosts

35
Algunos certificados SSL se almacenan localmente en los hosts de la red. Estos
certificados permiten la comunicación segura entre un host y un servidor mediante
una cadena de certificados. Un host almacena certificados intermedios y raíz como
parte del proceso de autenticación SSL.
Paso 1: Visualice los certificados del sitio desde un navegador.
a. Navegue a [Link] .
b. En la mayoría de los navegadores, aparece un icono de candado junto a la URL del
sitio que se está visualizando. Haga clic en el icono del candado y explore las
opciones de configuración disponibles.
c. La mayoría de los navegadores incluyen un administrador de certificados que
permite ver los detalles de los certificados de los sitios web o los certificados raíz
de las autoridades de certificación. Puede consultar la información del certificado
mientras navega, mediante el icono del candado, o bien accediendo a la
información del certificado desde la configuración de seguridad del navegador.
d. Consulta los detalles del certificado Cisco Skills for All y responde a las siguientes
preguntas.
¿Para qué dominio se emitió el certificado? ¿Qué organización lo emitió?
[Link]. Fue emitido por IdenTrust.
Consulte el certificado. ¿Cuándo caduca?
Las respuestas pueden variar. Al momento de redactar este documento, el certificado
vence el 6 de enero de 2024.
¿Cuál es el algoritmo de cifrado de la firma del certificado?
Las respuestas pueden variar. En el momento de redactar este documento, el
algoritmo de cifrado es SHA-256 con cifrado RSA.
Paso 2: Visualizar los certificados almacenados en el sistema
operativo.
a. Microsoft Windows incluye una aplicación de administración de seguridad que
forma parte de la Consola de administración de Microsoft. Introduzca [Link]
en el cuadro de búsqueda y pulse Intro para abrirla.
En Kali, los certificados almacenados se encuentran en la carpeta /usr/share/ca-
certificates/mozilla. Haz clic derecho en un certificado y selecciona «Ver archivo»
en «Abrir con» para acceder a su información.
b. Acceda a la información sobre los certificados raíz e intermedios de confianza en
Windows seleccionando las carpetas de certificados correspondientes en la
aplicación de administración.
En Kali, acceda a la carpeta de certificados y utilice ls -l | grep root para listar los
archivos de certificado raíz, o busque la palabra raíz en la ventana del
administrador de archivos.
Los nombres de los archivos del certificado raíz hacen referencia a la autoridad
certificadora que los emitió. ¿Cuáles son tres de las autoridades certificadoras más
comunes en tu ordenador? Investígalas en internet. ¿Cuánto cuesta un certificado SSL
básico para un solo dominio durante un año?
Las respuestas pueden variar. Al momento de redactar este documento, GlobalSign
ofrece un precio de $249 USD al año. Digicert ofrece $274.55 USD. GoDaddy ofrece
un certificado autogestionado por $99 USD y un certificado gestionado por $249.98
USD.
Parte 2: Acceso en línea a la información detallada del certificado

36
La Transparencia de Certificados (CT) es un marco abierto para supervisar y auditar la
emisión de certificados SSL/TLS. CT exige que todas las autoridades de certificación
(CA) de confianza pública registren todos los certificados emitidos en registros
públicos, inviolables y auditables. Estos registros pueden supervisarse para detectar
cualquier emisión fraudulenta o maliciosa de certificados SSL/TLS, incluidos los
certificados emitidos para dominios que el atacante no controla.
En OSINT, los registros CT permiten recopilar información sobre los certificados
SSL/TLS utilizados por una organización o un dominio específico. Al analizar estos
registros, los analistas pueden identificar las emisiones de certificados y sus dominios
asociados, así como cualquier anomalía o irregularidad en la emisión de certificados.
Los registros CT también permiten detectar la emisión no autorizada de certificados
SSL/TLS, lo que podría indicar una posible brecha de seguridad.
Se puede acceder a los registros de CT a través de diversos servidores y API de registro
de CT. También existen varias herramientas de monitorización de CT, como
CertSpotter y Censys, que pueden ayudar a automatizar el proceso de monitorización
de los registros de CT para dominios específicos o certificados SSL/TLS.
a. Abra un navegador y vaya a [Link] .
b. Introduce la URL de Skills for All en el cuadro de búsqueda y haz clic en Buscar .
c. La tabla resultante muestra información completa sobre los certificados emitidos a
[Link] y sus subdominios relacionados. La lista abarca desde 2019. [Link]
proporciona identificadores para los certificados, pero estos identificadores solo
son relevantes para [Link]. Al hacer clic en un identificador, se accede a los detalles
del certificado.
Ten en cuenta que [Link] revela varios subdominios desconocidos para los usuarios
habituales de Skills for All. Observa los nombres de los subdominios. ¿Para quién crees
que están destinados estos subdominios? Explica tu respuesta.
Con nombres que comienzan con dev y stage, parece que estos subdominios están
destinados a desarrolladores que trabajan en el sitio web Skills for All.
¿Qué otro dominio está asociado con el dominio Skills for All según la información de
[Link]?
[Link]
Busca [Link] en el dominio afiliado a [Link]. ¿Qué observaciones generales
puedes hacer sobre los dominios que aparecen en esta búsqueda? ¿Qué implica esto
para la red?
Existen muchos subdominios para [Link]. Más que Skills for All.
Presenta una superficie de ataque muy amplia.
Parte 3: Usar herramientas de análisis SSL en Kali
Paso 1: Investigar las herramientas de Kali
a. Inicie la máquina virtual Kali e inicie sesión.
b. Inicie una sesión de terminal.
c. Kali incluye varias herramientas relacionadas con SSL. Haz clic en el icono de
programas de Kali y busca el término ssl .
d. Utilice la referencia de herramientas de Kali para completar la tabla siguiente para
las cinco herramientas SSL incluidas en su distribución de Kali.
Parte 4: Utilizar las herramientas de Kali para recopilar información del certificado
Como ya sabéis, sslscan es una herramienta de reconocimiento de Kali que recopila
información sobre los certificados SSL asociados a dominios. Es una utilidad de línea de

37
comandos. Usaremos sslscan para recopilar información sobre los certificados y otra
utilidad, llamada aha , para guardar los resultados en un archivo HTML.
Paso 1: Instalar aha.
La aplicación aha crea un archivo HTML estándar que captura la salida de los
comandos de terminal. Aha conserva el código de color y el formato básico de la salida
de los comandos. Además, incluye opciones de línea de comandos que permiten
personalizar el formato, como el color de fondo, las hojas de estilo a aplicar y el ajuste
de línea, entre otras opciones.
a. Actualiza la información de tus paquetes apt con el comando apt update . Esto
requiere privilegios de administrador.
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo apt update
b. Instala aha con el comando `sudo apt install -y aha` . La opción `-y` asume que se
responde "sí" a todas las preguntas y puede ejecutarse de forma no interactiva. En
este caso, estás dando permiso para instalar aha.
Paso 2: Ejecute sslscan y guarde el resultado en un archivo HTML.
a. Desde una línea de comandos de terminal, ejecute el comando para ejecutar
sslscan con el objetivo [Link].
┌──(kali ㉿ Kali) -[ ~]
└─$ sslscan [Link]
Tras una breve demora, los resultados del escaneo comenzarán a aparecer en la
ventana de la terminal. La salida se muestra con colores para facilitar la interpretación
de la gravedad de los problemas detectados. El significado de los colores es el
siguiente:
 Texto de fondo rojo: cifrado nulo. No se utilizó ningún cifrado.
 Rojo – cifrado roto (de 40 bits o menos), protocolo vulnerable o roto como SSLv2
o SSLv3 o algoritmo de firma de certificados roto como MD5.
 Amarillo – cifrado débil (menor o igual a 56 bits) o algoritmo de firma débil como
SHA-1.
 Púrpura – cifrado anónimo como ADH o AECDH.
b. Si bien sslscan ofrece opciones para generar resultados en formato de texto o XML,
aha proporciona la legibilidad del HTML y conserva el código de colores. Para usar
aha, canalice la salida del comando sslscan a aha y luego redirija la salida de aha a
un archivo HTML.
┌──(kali ㉿ Kali) -[ ~]
└─$ sslscan [Link] | aha > sfa_cert.html
sslscan guardará el archivo en el directorio Kali Home, tal como se indica en la
ventana emergente. Puedes añadir una ruta al nombre del archivo o ejecutar la
terminal desde un directorio de destino para guardarlo en otra ubicación.
c. Localiza el archivo HTML y ábrelo con Firefox. La salida debería ser similar a la de la
terminal, pero con fondo blanco. La codificación de colores original debe
mantenerse.
Pregunta de reflexión
Compara los resultados de las herramientas utilizadas en este laboratorio. ¿Qué
herramienta parece proporcionar la información más útil?
El script [Link] es, con diferencia, el más detallado. Encuentra subdominios que otras
herramientas no detectaron.

38
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Qué herramienta de reconocimiento SSL de Kali consulta los servicios SSL para
determinar qué cifrados son compatibles?
volcado SSL
sslh
sslscan
sslsplit
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo

3.1.15 Reputación de la empresa y postura de seguridad


Las brechas de seguridad pueden tener un impacto directo en la reputación de una
empresa. Los atacantes pueden aprovechar la información de brechas de seguridad
anteriores que haya sufrido la organización. Por ejemplo, podrían utilizar los siguientes
datos al intentar recopilar información sobre sus víctimas:
 Filtraciones de contraseñas
 Metadatos de archivo
 Análisis/enumeración estratégica de motores de búsqueda
 Archivado/almacenamiento en caché de sitios web
 Repositorios públicos de código fuente
Fichas de contraseñas
Los atacantes pueden aprovechar las filtraciones de contraseñas de brechas de
seguridad anteriores. Existen varias maneras en que un atacante puede acceder a
dichas filtraciones, como a través de Pastebin, sitios web de la dark web e incluso
GitHub en algunos casos. Diversas herramientas y sitios web facilitan esta tarea. Un
ejemplo de herramienta que permite encontrar direcciones de correo electrónico y
contraseñas expuestas en brechas de seguridad anteriores es h8mail . Puede instalar
h8mail mediante el comando `pip3 install h8mail` , como se muestra en el Ejemplo 3-
9. El Ejemplo 3-9 también muestra el uso de h8mail desde la línea de comandos.
Ejemplo 3-9 - Instalación y uso de h8mail
root@websploit# pip3 install h8mail
Recopilación de h8mail
Descargando [Link] (33 kB)
Requisito ya satisfecho: solicitudes en /usr/lib/python3/
paquetes de distribución (de h8mail) (2.23.0)
Instalando los paquetes recopilados: h8mail

39
h8mail-2.5.5 se instaló correctamente.
root@websploit# h8mail -h
Uso: h8mail [-h] [-t USER_TARGETS [USER_TARGETS ...]] [-u USER_URLS
[USER_URLS ...]] [-q USER_QUERY] [--loose] [-c CONFIG_FILE [CONFIG_FILE ...]] [-o
ARCHIVO_OUTPUT] [-j OUTPUT_JSON] [-bc BC_PATH] [-sk] [-k CLI_APIKEYS
[CLI_APIKEYS ...]]
[-lb LOCAL_BREACH_SRC [LOCAL_BREACH_SRC ...]] [-gz LOCAL_GZIP_SRC
[LOCAL_GZIP_SRC ...]] [-sf] [-ch [CHASE_LIMIT]] [--power-chase] [--hide] [--debug] [--
gen-config]
Herramienta de búsqueda de información de correo electrónico y contraseña
opciones:
-h, --help muestra este mensaje de ayuda y sale
-t OBJETIVOS_USUARIO [OBJETIVOS_USUARIO ...], --objetivos OBJETIVOS_USUARIO
[OBJETIVOS_USUARIO ...]
Admite entradas de texto o archivos. Permite la coincidencia de patrones de correo
electrónico a partir de la entrada o el archivo, la expansión de rutas de archivo y
múltiples argumentos.
-u USER_URLS [USER_URLS ...], --url USER_URLS [USER_URLS ...]
Admite cadenas de texto o archivos. Permite la coincidencia de patrones en URLs a
partir de entradas o archivos, la expansión de comodines en rutas de archivo y el uso
de múltiples argumentos. Analiza las URLs de las páginas en busca de correos
electrónicos. Requiere el uso de http:// o https:// en la URL.
-q CONSULTA_USUARIO, --consulta-personalizada CONSULTA_USUARIO
Realiza una consulta personalizada. Admite nombre de usuario, contraseña, IP, hash
y dominio. Realiza una búsqueda implícita "flexible" al buscar localmente.
--loose Permite la búsqueda flexible desactivando el reconocimiento de patrones de
correo electrónico. Utiliza espacios como separadores de patrones.
-c ARCHIVO_CONFIG [ARCHIVO_CONFIG ...], --config ARCHIVO_CONFIG
[ARCHIVO_CONFIG ...]
Archivo de configuración para claves API. Acepta claves de Snusbase, WeLeakInfo,
Leak-Lookup, HaveIBeenPwned, Emailrep, Dehashed y hunterio.
-o ARCHIVO_SALIDA, --salida ARCHIVO_SALIDA
Archivo para escribir la salida CSV
-j SALIDA_JSON, --json SALIDA_JSON
Archivo para escribir la salida JSON
-bc BC_PATH, --breachcomp BC_PATH
Ruta a la carpeta del torrent de la compilación de brechas. Utiliza el script [Link]
incluido en el torrent.
-sk, --skip- valores predeterminados Omite la comprobación de Scylla y HunterIO.
Ideal para escaneos locales.
-k CLI_APIKEYS [CLI_APIKEYS ...], --apikey CLI_APIKEYS [CLI_APIKEYS ...]
Opciones de configuración de paso. Formato admitido: "K= V,K =V"
-lb LOCAL_BREACH_SRC [LOCAL_BREACH_SRC ...], --local-breach LOCAL_BREACH_SRC
[LOCAL_BREACH_SRC ...]

40
Se analizan brechas de seguridad locales en texto plano para identificar objetivos. Se
utilizan multiprocesos, un proceso independiente por archivo, en un grupo de
trabajadores separado según los argumentos. Admite archivos o carpetas como
entrada y la expansión de rutas de archivo.
-gz LOCAL_GZIP_SRC [LOCAL_GZIP_SRC ...], --gzip LOCAL_GZIP_SRC [LOCAL_GZIP_SRC
...]
Escanea archivos comprimidos locales con [Link] (gzip) en busca de objetivos. Utiliza
multiprocesos, un proceso independiente por archivo. Admite archivos o carpetas
como entrada y la expansión de rutas de archivo. Busca la palabra clave 'gz' en el
nombre del archivo.
-sf, --single-file Si la brecha contiene archivos grandes de texto plano o archivos
[Link], active esta opción para ver la barra de progreso. Deshabilita la búsqueda
simultánea de archivos para mayor estabilidad.
-ch [LÍMITE_PERSECUCIÓN], --persecución [LÍMITE_PERSECUCIÓN]
Agrega correos electrónicos relacionados de [Link] a la lista de objetivos. Define
la cantidad de correos electrónicos por objetivo a seguir. Requiere una clave API
privada de [Link] si se usa sin power-chase.
--power-chase Agrega correos electrónicos relacionados de TODOS los servicios de
API a la lista de destinatarios. Úsalo con --chase
--hide Muestra solo los primeros 4 caracteres de las contraseñas encontradas. Ideal
para demostraciones.
--debug Imprimir información de depuración de la solicitud
--gen-config, -g Genera una plantilla de archivo de configuración en el directorio de
trabajo actual y finaliza. Sobrescribirá el archivo h8mail_config.ini existente.
Las siguientes son herramientas adicionales que le permiten buscar volcados de datos
de filtraciones:
 WhatBreach: [Link]
 Buscador de fugas: [Link]
 Buster: [Link]
 Basurero: [Link]
 PwnDB: [Link]
Herramientas como h8mail y WhatBreach se aprovechan de los repositorios de datos
vulnerados de sitios web como [Link] y [Link]. Históricamente,
sitios web como [Link] (incautado por el FBI) han sido utilizados por
delincuentes para filtrar información de brechas de seguridad anteriores.
Metadatos de archivo
Se puede obtener mucha información de los metadatos en archivos como imágenes,
documentos de Microsoft Word, archivos de Excel, presentaciones de PowerPoint y
otros. Por ejemplo, el formato de archivo de imagen intercambiable (Exif) es una
especificación que define los formatos para imágenes, sonido y etiquetas
complementarias que utilizan las cámaras digitales, los teléfonos móviles, los
escáneres y otros sistemas que procesan archivos de imagen y sonido. La figura 3-3
muestra los datos Exif de una imagen digital (fotografía) capturada con un iPhone.
Existen varias herramientas que permiten visualizar los detalles Exif. Una de las más
populares, ExifTool, se muestra en el Ejemplo 3-10. Este ejemplo muestra los
metadatos Exif de la misma imagen cuyos detalles se muestran en la Figura 3-3.

41
Figura 3-3 - Metadatos Exif de una imagen capturada con un iPhone

Ejemplo 3-10 - Utilizando ExifTool


|--[omar@websploit]--[~]
|--- $exiftool IMG_4730.jpg
Número de versión de ExifTool : 12.06
Nombre del archivo : IMG_4730.jpg
Directorio : .
Tamaño del archivo : 2,4 MB
Fecha/hora de modificación del archivo : 2021:06:20 21:33:36-04:00
Fecha/hora de acceso al archivo : 2021:06:20 21:33:36-04:00
Fecha/hora de modificación del inodo del archivo : 2021:06:20 21:33:36-04:00
Permisos de archivo : rw-r--r--
Tipo de archivo : JPEG
Extensión del tipo de archivo : jpg
Tipo MIME : image/jpeg
Versión de JFIF : 1.01
Orden de bytes Exif : Big-endian (Motorola, MM)
Marca : Apple
Nombre del modelo de la cámara : iPhone 12 Pro Max
Orientación : Horizontal (normal)
Resolución X : 72
Resolución Y : 72
Unidad de resolución : pulgadas
Software : 14.6
Fecha de modificación : 2021:06:20 17:45:44
Ordenador anfitrión : iPhone 12 Pro Max

42
Ancho de la baldosa : 512
Longitud de la baldosa : 512
Tiempo de exposición : 1/887
Número F : 1.6
Programa de exposición : Programa AE
ISO : 32
Versión Exif : 0232
Fecha/Hora original : 2021:06:20 17:45:44
Fecha de creación : 2021:06:20 17:45:44
Desfase horario : -04:00
Desfase horario original : -04:00
Hora digitalizada con desfase : -04:00
Configuración de componentes : Y, Cb, Cr, -
Valor de velocidad de obturación : 1/887
Valor de apertura : 1.6
Valor de brillo : 7,700648484
Compensación por exposición : 0
Modo de medición : Multisegmento
Flash : Automático, No se disparó
Distancia focal : 5,1 mm
Área temática : 2002 1503 2213 1327
Indicadores de tiempo de ejecución : Válidos
Valor de tiempo de ejecución : 892872412170041
Escala de tiempo de ejecución : 1000000000
Época de ejecución : 0
Vector de aceleración : -0,9863093504 0,003411300248
0.1393117606
Tiempo original en subsegundos : 458
Tiempo digitalizado en subsegundos : 458
Versión de Flashpix : 0100
Espacio de color : Sin calibrar
Ancho de la imagen Exif : 4032
Altura de la imagen Exif : 3024
Método de detección : Área de color de un solo chip
Tipo de escena : Fotografía directa
Modo de exposición : Automático
Balance de blancos : Automático
Distancia focal en formato de 35 mm : 26 mm
Tipo de captura de escena : Estándar
ID único de la imagen : ebf42e8d3764ccc90000000000000000
Información del objetivo : 1,539999962-7,5 mm f/1,6-2,4
Fabricante de lentes : Apple
Modelo de lente : Triple trasera del iPhone 12 Pro Max
cámara 5.1mm f/1.6
Imagen compuesta : Imagen compuesta general
ID de versión de GPS : [Link]
Referencia de latitud GPS : Norte

43
Longitud GPS de referencia : Oeste
Altitud GPS de referencia : sobre el nivel del mar
Velocidad GPS de referencia : km/h
Velocidad GPS : 0.2300000042
Referencia de dirección de imagen GPS : Norte verdadero
Dirección de la imagen GPS : 74.98474114
Referencia de rumbo GPS : Norte verdadero
Rumbo de destino GPS : 74.98474114
Error de posicionamiento horizontal GPS : 15,67681275 m
Compresión : JPEG (estilo antiguo)
Desplazamiento de la miniatura : 2650
Longitud de la miniatura : 6523
Kit de herramientas XMP : XMP Core 5.5.0
Herramienta de creación : 14.6
Fecha de creación : 2021:06:20 17:45:44
Perfil CMM Tipo : Apple Computer Inc.
Versión del perfil : 4.0.0
Clase de perfil : Perfil de dispositivo de visualización
Datos del espacio de color : RGB
Espacio de conexión de perfil : XYZ
Fecha y hora del perfil : 2017:07:07 13:22:32
Firma del archivo de perfil : acsp
Plataforma principal : Apple Computer Inc.
Indicadores CMM : No integrado, independiente
Fabricante del dispositivo : Apple Computer Inc.
Modelo del dispositivo :
Atributos del dispositivo : Reflectante, Brillante, Positivo, Color
Intención de representación : Perceptual
Iluminante del espacio de conexión : 0,9642 1 0,82491
Creador del perfil : Apple Computer Inc.
ID de perfil : ca1a9582257f104d389913d5d1ea1582
Descripción del perfil : Pantalla P3
Perfil con derechos de autor : © Apple Inc., 2017
Punto blanco de los medios : 0,95045 1 1,08905
Columna de la matriz roja : 0,51512 0,2412 -0,00105
Columna de la matriz verde : 0,29198 0,69225 0,04189
Columna de la matriz azul : 0,1571 0,06657 0,78407
Curva de reproducción del tono rojo : (Datos binarios de 32 bytes, usar -b)
opción para extraer)
Adaptación cromática : 1,04788 0,02292 -0,0502 0,02959
0,99048 -0,01706 -0,00923 0,01508
0.75168
Curva de reproducción del tono azul : (Datos binarios de 32 bytes, usar -b)
opción para extraer)
Curva de reproducción del tono verde : (Datos binarios de 32 bytes, usar -b)
opción para extraer)
Ancho de la imagen : 4032

44
Altura de la imagen : 3024
Proceso de codificación : DCT de referencia, codificación Huffman
Bits por muestra : 8
Componentes de color : 3
Submuestreo de Y Cb Cr : YCbCr4:2:0 (2 2)
Tiempo de funcionamiento desde el encendido : 10 días 8:01:12
Apertura : 1.6
Tamaño de la imagen : 4032x3024
ID de lente : Triple trasera del iPhone 12 Pro Max
cámara 5.1mm f/1.6
Megapíxeles : 12,2
Factor de escala equivalente a 35 mm : 5,1
Velocidad de obturación : 1/887
Fecha de creación : 2022:06:20 17:45:44.458-04:00
Fecha/Hora original : 2022:06:20 17:45:44.458-04:00
Fecha de modificación : 2022:06:20 17:45:44-04:00
Imagen en miniatura : (Datos binarios 6523 bytes, usar -b)
opción para extraer)
Altitud GPS : 112,7 m sobre el nivel del mar
Latitud GPS : 35° 46' 78.6382" N
Longitud GPS : 78° 38' 30.4793" O
Círculo de confusión : 0,006 mm
Campo de visión : 69,4 grados
Distancia focal : 5,1 mm (equivalente a 26,0 mm en formato de 35 mm)
Posición GPS : 35 grados 46' 49,69" N, 78 grados 38'
30,4793" W
Distancia hiperfocal : 2,76 m
Valor de luz : 12,8
|--[omar@websploit]--[~]
|--- $
Análisis/enumeración estratégica de motores de búsqueda
La mayoría usamos buscadores como DuckDuckGo, Bing y Google para encontrar
información. Lo que quizás no sepas es que buscadores como Google pueden realizar
búsquedas mucho más potentes de lo que la mayoría imagina. Google puede traducir
documentos, buscar noticias y realizar búsquedas de imágenes. Además, los hackers y
atacantes pueden usarlo para lo que se conoce como «google hacking» .
Al combinar técnicas de búsqueda básicas con operadores avanzados, tanto usted
como los atacantes pueden usar Google como una potente herramienta de búsqueda
de vulnerabilidades. A continuación, se muestran algunos operadores avanzados:
 Tipo de archivo: Indica a Google que busque únicamente dentro del texto de un
tipo de archivo específico (por ejemplo, filetype:xls).
 Inurl: Indica a Google que busque únicamente dentro de la URL especificada de un
documento (por ejemplo, inurl:search -text).
 Enlace: Indica a Google que busque un término específico dentro de los
hipervínculos (por ejemplo, enlace:[Link] ).
 Intitle: Indica a Google que busque un término dentro del título de un documento
(por ejemplo, intitle: “Índice de /etc”).

45
Al usar estos operadores avanzados en combinación con términos clave, tanto usted
como los atacantes pueden lograr que Google revele mucha información confidencial
que no debería divulgarse. Estas cadenas de búsqueda se conocen comúnmente como
Google dorks .
Para ver cómo funciona el dorking de Google, introduce la siguiente frase en Google:
intext:JSESSIONID O intext:PHPSESSID inurl:[Link] ext:log
Esta consulta busca en una URL los ID de sesión que podrían usarse para suplantar la
identidad de los usuarios. No es raro que esta búsqueda encuentre más de 100 sitios
que almacenan ID de sesión confidenciales en registros de acceso público. Si estos ID
no han caducado, podrían usarse para obtener acceso a recursos restringidos.
Puedes usar operadores avanzados para buscar muchos tipos de datos. El siguiente es
otro ejemplo de una cadena de búsqueda de Google (o Google dork) que puede revelar
contraseñas de aplicaciones web:
"public $user =" | "public $password = " | "public $secret =" | "public $db =" ext:txt
| ext:log -git
Ahora que hemos analizado algunas técnicas básicas de búsqueda en Google, veamos
técnicas avanzadas de hacking en Google. Recomendamos visitar los repositorios de la
Base de Datos de Hacking de Google (GHDB) en [Link]
hacking-database/ . GHDB cuenta con las siguientes categorías de búsqueda:
 Puntos de apoyo
 Archivos que contienen nombres de usuario
 Directorios confidenciales
 detección de servidor web
 archivos vulnerables
 Servidores vulnerables
 Mensajes de error
 Archivos que contienen información jugosa
 Archivos que contienen contraseñas
 Información confidencial sobre compras en línea
 Datos de red o vulnerabilidad
 Páginas que contienen portales de inicio de sesión
 Diversos dispositivos en línea
 Avisos y vulnerabilidades
GHDB es un proyecto comunitario. Cualquiera puede subir una nueva consulta
avanzada de Google (Google dork) para realizar este tipo de búsquedas. Una vez que
empieces a usar las consultas avanzadas de GHDB, te sorprenderán las cosas increíbles
que se pueden encontrar mediante el análisis de datos de Google. GHDB facilita
enormemente el uso de consultas avanzadas de Google, y también existen otras
opciones. Más adelante en este módulo, aprenderás sobre herramientas adicionales
que se pueden usar para realizar búsquedas similares (como Recon-ng).
Archivado/Almacenamiento en caché de sitios web
Varias organizaciones archivan y almacenan en caché datos de sitios web en Internet.
Uno de los repositorios más populares es la "Wayback Machine" de Internet Archive (
[Link] ).
La Wayback Machine permite viajar al pasado en Internet. Por ejemplo, la figura 3-4
muestra el aspecto que tenía el sitio web de Cisco el 3 de noviembre de 1999. Puede
acceder al archivo del sitio que se muestra en la figura 3-4 copiando el siguiente enlace

46
en la barra de direcciones de su navegador:
[Link]
Figura 3-4 - La Wayback Machine del Archivo de Internet

Repositorios públicos de código fuente


Un atacante puede obtener información extremadamente valiosa de repositorios de
código fuente públicos como GitHub y GitLab. La mayoría de las aplicaciones y
productos que usamos hoy en día emplean software de código abierto disponible
gratuitamente en estos repositorios. Los atacantes pueden encontrar vulnerabilidades
en estos paquetes de software y aprovecharlas. De igual manera, como pentester,
puedes obtener información valiosa de estos repositorios públicos. Incluso si no
encuentras vulnerabilidades de seguridad en el código de inmediato, estos repositorios
pueden brindarte información sobre la arquitectura y el código subyacente utilizados
en las aplicaciones e infraestructura de la organización.
3.1.16 Práctica - Metadatos de archivo
Un atacante descargó el archivo [Link] del sitio web de una oficina
gubernamental. Posteriormente, ejecutó el comando exiftool [Link] en la
estación de trabajo. ¿Cuál es el propósito de esta operación?
para cifrar el archivo para su transmisión a la dark web
para obtener la información contenida en los metadatos del archivo
para insertar códigos maliciosos en el archivo
para convertir el archivo de imagen a formato PDF

47
3.1.17 Práctica - Archivado web, almacenamiento en caché y repositorios de código
público
Un profesional de ciberseguridad está ayudando a la empresa XYZ a realizar
evaluaciones de vulnerabilidad de sus servicios web. El profesional realizó una
búsqueda en Google con la siguiente cadena de búsqueda:
[Link] intext:JSESSIONID O intext:PHPSESSID inurl:[Link] ext:log
¿Qué término describe la parte “ intext:JSESSIONID OR intext:PHPSESSID
inurl:[Link] ext:log”?
phishing de Google
Google dork
Archivo de Google
Almacenamiento en caché de Google
3.1.18 Laboratorio - Conociendo la organización
Tareas de soluciones de seguridad de Protego
Parte de nuestra colaboración con Pixel Paradise consiste en investigar si se ha filtrado
información confidencial que podría estar disponible a través de intermediarios de
información robada en la dark web. Las enormes filtraciones de datos han provocado
que millones de registros con información personal identificable queden al alcance de
los ciberdelincuentes. Los empleados podrían usar sus direcciones de correo
electrónico corporativas para registrarse en empresas que posteriormente hayan
sufrido brechas de seguridad. Algunos empleados incluso podrían usar su nombre de
usuario y contraseña de la cuenta de trabajo para registrarse.
Necesitamos comprobar si las filtraciones de datos han generado vulnerabilidades de
ciberseguridad en Pixel Paradise. Podremos utilizar estas vulnerabilidades más
adelante en nuestra prueba de penetración, y sin duda informaremos a nuestro cliente
sobre ellas y le proporcionaremos estrategias para mitigarlas.
Utilice este laboratorio para familiarizarse con las diferentes formas en que obtenemos
información sobre las empresas y los riesgos potenciales que corren a causa de las
filtraciones de datos.
En este laboratorio, completarás los siguientes objetivos:
 Encuentre información sobre filtraciones de correo electrónico.
 Ver metadatos del archivo.

Laboratorio - Conociendo la organización


Objetivos
En este laboratorio, completarás los siguientes objetivos:
 Encuentre información sobre filtraciones de correo electrónico.
 Ver metadatos del archivo.
Antecedentes / Escenario
El objetivo del reconocimiento en una prueba de penetración es recopilar información
sobre un cliente que pueda utilizarse posteriormente para su explotación. Existen

48
numerosos recursos que facilitan este proceso. En este laboratorio, aprenderá sobre
recursos en línea que pueden proporcionar información sobre una empresa.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet
Instrucciones
Parte 1: Encuentre información sobre las filtraciones de correo electrónico.
Es posible obtener más información sobre una persona u organización buscando su
dirección de correo electrónico. Esto resulta útil para determinar si las direcciones de
correo electrónico de los empleados de una empresa se han visto comprometidas.
Varios servicios en línea permiten buscar direcciones de correo electrónico
individuales y dominios completos para detectar brechas de seguridad. Algunos de
estos sitios son:
 [Link]
 [Link]
 [Link]
 directorio de [Link]
 [Link]
Paso 1: Investiga el estado de tu correo electrónico.
Explora los distintos sitios y busca tu propia dirección de correo electrónico o el
dominio de una empresa que conozcas. Es especialmente preocupante si se ha
producido una filtración de datos reciente en un dominio. También es posible que un
cliente de pruebas de penetración desconozca la filtración.
Existen recursos que permiten acceder a estos archivos filtrados. Allí, es posible
encontrar nombres de usuario, direcciones de correo electrónico, contraseñas y otra
información sobre los empleados. Esta información será muy útil en la fase de
explotación del proceso de PenTesting.
¿Han formado parte tus direcciones de correo electrónico alguna filtración de datos?
Si es así, ¿en qué filtración o filtraciones se divulgaron?
Las respuestas variarán. Algunos de los sitios web mencionados anteriormente
enumeran las filtraciones de datos en las que se encontró una dirección de correo
electrónico proporcionada. Las direcciones suelen verse comprometidas en más de
una filtración.
Paso 2: Utilice una herramienta para encontrar direcciones de correo electrónico
para un dominio.
Utilizarás una herramienta llamada EmailHarvester para encontrar información sobre
un dominio, incluyendo las direcciones de correo electrónico del personal.
a. Abre una terminal e introduce el comando `emailharvester` . Esta herramienta aún
no está instalada en Kali, pero forma parte del conjunto de herramientas de Kali.
Escribe ` y` para aceptar la instalación y proporciona la contraseña del usuario
`kali` si se te solicita.
b. Una vez finalizada la instalación, utilice la opción -h para ver las opciones
disponibles en la herramienta.
¿Qué hace la opción -d?
La opción -d sirve para escanear dominios.
Paso 3: Utilice Spiderfoot para investigar las direcciones de correo electrónico.
a. Abre la interfaz gráfica de usuario de Spiderfoot:

49
┌──(kali ㉿ Kali) -[ ~]
└─$ spiderfoot -l [Link]:5001
b. Minimiza (no cierres) la terminal.
c. Abra la interfaz gráfica de usuario (GUI) de Spiderfoot en su navegador utilizando la
dirección IP y el puerto asignados anteriormente.
d. Haz clic en la opción de menú Configuración y explora los módulos disponibles. Lee
las descripciones de los módulos y consulta los requisitos de la API, si los hubiera. Si
lo deseas, regístrate para obtener algunas de las claves API gratuitas. Configura los
módulos con las claves.
Busque módulos que le resulten útiles para analizar correos electrónicos. Por
ejemplo, le interesará saber si la dirección está involucrada en alguna filtración de
datos, qué cuentas están registradas con esa dirección en redes sociales,
repositorios de código, sitios de intercambio de enlaces y foros técnicos. Tome nota
de sus hallazgos.
Algunos modelos interesantes son:

Hay otros.
e. Pruebe a ejecutar un nuevo escaneo en una dirección de correo electrónico
interesante seleccionando los módulos de interés en la pestaña Nuevo escaneo >
Por módulo .
f. Después de realizar sus selecciones e ingresar el nombre y el objetivo del
escaneo, desplácese hasta la parte inferior de la página y haga clic en Ejecutar
escaneo ahora .
Parte 2: Ver metadatos del archivo.
Los metadatos de los archivos pueden proporcionar a los hackers información valiosa
sobre organizaciones y personal. Por ejemplo, los metadatos de un archivo de imagen
pueden revelar el dispositivo utilizado para crearla. Esto permite determinar si el
dispositivo es potencialmente vulnerable. Algunos archivos contienen metadatos como
comentarios, el nombre del autor, nombres de usuario, el sistema operativo o la
ubicación de creación. Los metadatos varían según el tipo de archivo y el dispositivo
utilizado. Los hackers pueden usar esta información para planificar un ataque.
En general, los archivos publicados en internet deberían tener sus metadatos eliminados
o, al menos, revisados. Puedes usar ExifTool, entre otras herramientas, para eliminar o
editar las etiquetas de archivos individuales o de un directorio.
ExifTool cuenta con una versión con interfaz gráfica de usuario (GUI) disponible para
Windows, MacOS y Linux.
Paso 1: Instalar ExifTool.
a. En Firefox, haga clic en el acceso directo de Kali Tools o vaya a
[Link] .
b. Seleccione " Listar todas las herramientas" según sea necesario. Localice la
entrada para libimage-exiftool-perl .
c. Siga las instrucciones para instalar ExifTool.

50
d. ExifTool denomina etiquetas a los atributos de los metarchivos. Use la opción -list
para ver todas las etiquetas que ExifTool puede procesar.
e. Ejecute el comando exiftool -listf para revisar los tipos de archivos que ExifTool
puede analizar.
ExifTool puede leer metadatos de una amplia variedad de archivos. Revise el
resultado y complete la tabla con algunos de los formatos de archivo comunes
que ExifTool puede leer, clasificados por tipo.
Paso 2: Utilice ExifTool.
Necesitarás algunos archivos para explorar los metadatos con la herramienta. Puedes
usar archivos que tengas en tu ordenador o, mejor aún, archivos que encuentres
disponibles públicamente en línea.
a. Acceda a la base de datos de Google Hackers (GHDB). Busque dorks que le ayuden
a encontrar diversos tipos de archivos o modifique los dorks que encuentre para
que lo hagan.
b. Descarga los archivos a tu máquina virtual. Anota la ruta de la carpeta.
c. Experimenta con ExifTools. Empieza ejecutando el comando exiftool seguido de la
ruta y el nombre del archivo de destino. Revisa los metadatos que se devuelven.
Repite este proceso para varios archivos.
¿Encontraste alguna información que pudiera ser útil para los hackers éticos?
Las respuestas variarán, pero podrían incluir información sobre el autor, la
organización, la ubicación o el dispositivo, entre otros.
d. Ahora intenta ejecutar ExifTool para toda la carpeta. Para ello, solo tienes que
proporcionar la ruta.
e. Puedes guardar los metadatos de cada imagen en la carpeta, o de imágenes
individuales añadiendo la opción -csv . Por ejemplo:
┌──(kali ㉿ Kali) -[ ~]
└─$ exiftool -csv > /ruta/a/[Link] <Archivo o directorio>
f. Investiga en internet algunos de los valores que encuentres en el archivo. Por
ejemplo, la etiqueta CREATOR: gd-jpeg v1.0 indica que la imagen fue generada con
la biblioteca PHP GD versión 1.0. Busca en internet información sobre
vulnerabilidades de PHP GD para obtener más detalles.
Reflexión
Has utilizado diversas herramientas para localizar direcciones de correo electrónico y
seguir pistas para obtener más información sobre filtraciones de datos, información de
empresas e información personal del personal objetivo. También has examinado los
metadatos de los archivos para obtener más información sobre el archivo, sus
propietarios e información específica del dispositivo.
¿Cómo describiría este proceso? ¿Descubrió gran cantidad de información? ¿Qué
revela esto sobre el proceso de reconocimiento corporativo y de personal?
Las respuestas variarán. No, no descubrí grandes cantidades de información. Al usar
herramientas y fuentes abiertas o con API gratuitas, el proceso es impredecible. Se
pueden encontrar pistas interesantes; sin embargo, requiere una investigación de
seguimiento minuciosa. Estas investigaciones consumen mucho tiempo y exigen
determinación para obtener buenos resultados.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades

51
¿De qué tipos de archivos leerá ExifTool los metadatos? (Elija tres).
Audio MP3
Gráficos PNG
Vídeo MP4
Tablas de datos SQL
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.1.19 Laboratorio - Búsquedas avanzadas
Tareas de soluciones de seguridad de Protego
Como ya sabes, la inteligencia de fuentes abiertas puede proporcionar mucha
información sobre las personas. También puede revelar mucha información sobre
sistemas web, servicios y aplicaciones. Herramientas sencillas pueden ofrecer
resultados valiosos. Mejora tus habilidades con las búsquedas avanzadas de Google y
el archivo web Wayback Machine realizando este laboratorio.
Más adelante, utilizaremos estas herramientas con Pixel Paradise para descubrir
información útil que podremos utilizar en las fases posteriores de nuestra prueba de
penetración.
En este laboratorio, utilizarás la Búsqueda Avanzada de Google para realizar un
reconocimiento pasivo.
 Parte 1: Búsquedas avanzadas de Google (Dorking)
 Parte 2: La base de datos de hacking de Google
 Parte 3: La máquina del tiempo

Laboratorio - Búsquedas avanzadas


Objetivos
Utilice la búsqueda avanzada de Google para realizar un reconocimiento pasivo.
 Parte 1: Búsquedas avanzadas de Google (Dorking)
 Parte 2: La base de datos de hackers de Google
 Parte 3: La máquina del tiempo
Antecedentes / Escenario
El primer paso que da un hacker es recopilar la mayor cantidad de información posible
sobre su objetivo. Cuanto más sepan los atacantes sobre el objetivo, mejor podrán
vulnerarlo con otras técnicas. El uso de búsquedas avanzadas en Google y el análisis de
sitios web archivados son dos métodos comunes de reconocimiento pasivo. Estos
métodos ayudan a los hackers éticos a identificar las vulnerabilidades de un cliente y, si
forman parte del alcance de la prueba, preparan el terreno para actividades de
explotación.
Mediante una búsqueda avanzada en Google, el hacker espera encontrar información
que se haya hecho pública por accidente. Por ejemplo, alguien podría haber expuesto
52
contraseñas accidentalmente, dejado una webcam abierta a internet o revelado otra
información útil. El hacker buscará utilizando palabras clave específicas y operadores
de búsqueda de Google para intentar encontrar lo que busca. Esto se conoce como
«google dorking» y consiste en usar consultas de búsqueda específicas en Google para
descubrir información que no debería ser pública.
El archivo web Wayback Machine es otra herramienta útil para descubrir posibles
vulnerabilidades. A veces, se puede obtener información valiosa, tanto personal como
corporativa, de páginas web archivadas. Mediante Wayback Machine, un hacker puede
explorar el historial de un sitio web y visitar instantáneas del mismo en distintos
momentos del pasado. Esto le permite descubrir información que ya no está disponible
en internet y que podría ser útil para futuros ataques.
El acceso no autorizado a datos, ordenadores y sistemas de red constituye un delito en
muchas jurisdicciones y suele acarrear graves consecuencias, independientemente de
las motivaciones del autor. Es responsabilidad del estudiante, como usuario de este
material, conocer y cumplir las leyes sobre el uso de ordenadores y la privacidad.
Recursos necesarios
 Ordenador o dispositivo móvil con acceso a internet
Instrucciones
Parte 1: Búsquedas avanzadas de Google (Dorking)
Para la mayoría, Google es una herramienta para buscar texto, imágenes, vídeos y
noticias en internet mediante consultas sencillas. Sin embargo, para algunos, Google es
una potente herramienta de hacking que se puede usar para realizar reconocimiento
pasivo mediante operadores de búsqueda avanzados. Esta práctica, que utiliza
operadores de búsqueda avanzados de Google para encontrar información y
servidores vulnerables, se conoce como «Google dorking» o «Google hacking». Los
hackers utilizan el «Google dorking» para intentar encontrar información que nunca se
pretendió que se hiciera pública. Es una técnica útil para realizar reconocimiento
pasivo en pruebas de penetración.
Nota : Al realizar búsquedas avanzadas, es posible que Google te pida que demuestres
que no eres un robot. Si esto ocurre, como probablemente sucederá después de varias
búsquedas, simplemente completa el captcha y continúa.
Paso 1: Explora Google Dorking.
a. Acceda a [Link] para abrir el motor de búsqueda de Google.
b. Escriba la consulta "hacker ético" en la ventana de búsqueda. Desplácese por los
resultados.
c. Observa la variedad de resultados. Así es como solemos usar Google para realizar
búsquedas. Las consultas de texto como esta devuelven muchos resultados. Sin
embargo, aproximadamente el 90 % de los resultados no son específicos de lo que
buscamos. Para restringir los resultados solo a lo que deseamos, como páginas de
un solo sitio, palabras clave específicas o tipos de archivo específicos, utiliza la
Búsqueda avanzada de Google. Se pueden utilizar operadores.
d. Existen numerosos operadores de búsqueda avanzada de Google. Puedes
encontrar listas de ellos en internet, en sitios como SpyFu. Busca en internet
«operadores de búsqueda avanzada» para consultar otras fuentes de información,
algunas de las cuales incluyen ejemplos útiles.
La tabla siguiente muestra los operadores de búsqueda avanzada que se utilizan en
este laboratorio.

53
Prueba cada uno de los operadores en una búsqueda de Google. Al usar la búsqueda
avanzada, no incluyas espacios entre el operador y el dominio o las palabras clave.
c. Escribe «ethical hacker site:[Link]» en la barra de búsqueda. La sintaxis es
«término de búsqueda operador:dominio» . Desplázate por los resultados.
¿Qué tienen en común todos los resultados?
Todas contienen información sobre hacking ético procedente de un único sitio web,
[Link].
d. Tipo de sitio web de hackers éticos : [Link] Introduzca "filetype:pdf" en la
ventana de búsqueda. Desplácese por los resultados.
¿Qué tipo de archivo abre cada uno de los resultados?
Todos los resultados deben guardarse en archivos PDF.
e. Escribe "ethical hacker intitle:certification" en la ventana de búsqueda. Desplázate
por los resultados.
Todos los resultados deben estar relacionados con el hacking ético e incluir la palabra
clave " certificación" en el título de la página.
f. Escribe "hacker ético inurl:gratis" en la barra de búsqueda. Desplázate por los
resultados.
Todos los resultados deben estar relacionados con el hacking ético y deben contener
la palabra clave "free" en la URL.
g. Escribe allintext: preguntas de práctica de hackers éticos gratuitos en la barra de
búsqueda. Esto funciona prácticamente igual que una búsqueda normal en Google,
pero solo muestra resultados con todas las palabras clave presentes en el texto de
la página. No mostrará resultados con las palabras clave solo en el título. Prueba a
poner comillas alrededor del texto de búsqueda.
Los resultados deben incluir todas las palabras clave del texto de la página.
Paso 2: Realiza búsquedas utilizando el formulario de Búsqueda Avanzada de Google.
El formulario de búsqueda avanzada de Google ofrece la misma funcionalidad de
filtrado de resultados que los operadores de texto comunes.
a. Escribe "búsqueda avanzada" en la barra de búsqueda de Google. Esto te
mostrará un enlace al formulario de búsqueda avanzada.
b. Utilice el formulario de búsqueda avanzada para realizar las mismas búsquedas
que se realizaron en el paso anterior.
Paso 3: Realizar reconocimiento pasivo con operadores de búsqueda avanzada.
Como ya has visto, los operadores de búsqueda avanzada son útiles para refinar los
resultados. Esto también los hace útiles para realizar reconocimiento pasivo. Los
hackers los utilizan para encontrar vulnerabilidades e información sobre posibles
objetivos. Si bien los resultados de las búsquedas pueden parecer inofensivos por sí

54
solos, al analizarlos en conjunto pueden proporcionar información valiosa a un hacker.
Este espera encontrar sitios web o archivos que la empresa objetivo no tenía intención
de hacer públicos, o información que pueda utilizarse para futuros ataques, como los
de ingeniería social.
Al realizar estas búsquedas, utilice una empresa objetivo de su elección. El
reconocimiento pasivo es legal, pero no se detenga ahí, ya que utilizar la información
obtenida para reconocimiento activo no lo es. Si encuentra vulnerabilidades, considere
informar a la empresa para que pueda corregir el problema.
a. Busque en el sitio web de la empresa objetivo utilizando el operador inurl:.
En la ventana de búsqueda escriba el comando site: [Link]
inurl:admin reemplazando [Link] con una empresa de su elección.
Esto devolverá las páginas que contengan la palabra clave " admin" en algún
lugar de su URL.
Revisa las páginas devueltas y haz clic en algunas para ver si hay alguna
información interesante.
b. Realiza otra búsqueda, esta vez utilizando el operador intitle:.
En la ventana de búsqueda escriba el comando site: [Link]
intitle:login .
Esto mostrará páginas que contengan la palabra clave " login" en el título. Revisa
los resultados y haz clic en algunos para ver si encuentras información interesante.
c. A continuación, intente usar el operador filetype:.
En la ventana de búsqueda, escriba el comando site: [Link]
filetype:pdf .
Esto generará archivos PDF. Revise algunos de ellos para comprobar si contienen
información de interés que no esté destinada al público o que pueda ser útil para
ataques de ingeniería social.
d. Prueba a realizar una búsqueda con varios operadores. Utiliza los operadores
`intext:` y `filetype: `. En la ventana de búsqueda, escribe el comando ` site:
[Link]`. intext:employee filetype:pdf
Esto devolverá páginas PDF que contienen el texto empleado .
e. Experimenta con el sitio web: [Link] intext:<palabra clave>
filetype:<tipo de archivo> usando diferentes palabras clave y diferentes tipos de
archivo.
f. LinkedIn puede ofrecer información valiosa sobre una empresa y sus empleados.
En la barra de búsqueda, escriba el comando ` site:[Link] intitle: ejemplo
de empresa` . Pruebe buscando el nombre de la empresa con y sin la extensión
`.com`.
¿Qué tipo de información podría obtener un hacker de este tipo de usuario anónimo?
Las respuestas variarán, pero esta búsqueda podría revelar quiénes trabajan en la
empresa, sus cargos, información personal y fotos. También podría revelar la
tecnología que utilizan. Esto podría ayudar a un hacker a idear posibles
vulnerabilidades.
g. Experimente con site:< sitio de redes sociales > en el título: ejemplo de empresa y
busque otros sitios de redes sociales.
Parte 2: La base de datos de hacking de Google

55
La base de datos de hacking de Google (GHDB) es un índice de dorks creados por
usuarios que están diseñados para descubrir información interesante, y
potencialmente sensible, que se hizo pública de forma involuntaria en Internet.
Paso 1: Explora la página principal de la base de datos de Google Hacking.
a. Realiza una búsqueda en Google con el término GHDB . La primera página que
debería aparecer es la Base de Datos de Hacking de Google.
b. En la página principal de GHDB, haga clic en el botón Filtros situado en la parte
superior derecha de la ventana.
Esto permite filtrar los resultados de la base de datos por categoría o autor.
También hay una búsqueda rápida .
Paso 2: Utilice la búsqueda rápida para encontrar dorks específicos.
a. Selecciona cada una de las categorías de filtro y observa algunos de los objetos
disponibles en esa categoría. Selecciona algunos objetos que te parezcan
interesantes en los resultados y anota la descripción de cada uno.
¿Qué información se proporciona sobre los Dorks?
El número GHDB-ID, el autor, la fecha de publicación, una breve descripción de la
función del dork y un enlace clicable que abrirá el dork en una nueva ventana.
b. Ejecuta algunos de los programas informáticos que te parezcan interesantes y
observa qué resultados se obtienen y qué tipo de información podrían
proporcionar estos resultados a un hacker.
Paso 3: Selecciona categorías para encontrar frikis interesantes.
a. Realiza una búsqueda de tsweb .
b. Haz clic en allinurl:tsweb/[Link] Tonto.
¿Qué devuelve este Dork?
Páginas para conexiones de Escritorio remoto y servicios de terminal
c. Haz clic en algunas de las páginas que aparecen. Además de los campos para las
credenciales de inicio de sesión, puedes encontrar información interesante que un
hacker podría aprovechar. Por ejemplo, observa la figura. El servidor de servicios
de terminal ejecuta Windows 2000. Sabiendo esto, un hacker puede centrarse en
las vulnerabilidades de Windows 2000. Dado que Windows 2000 dejó de tener
soporte en 2010, podría ser vulnerable.

Paso 4: Combine los filtros de categoría con los términos de búsqueda.


Puedes combinar filtros de categoría con términos de búsqueda para refinar y filtrar
aún más los resultados y obtener información específica.

56
a. Seleccione Archivos que contienen contraseñas en el menú desplegable
Categorías .
b. En la ventana de Búsqueda rápida , escriba db_pass . Esto devolverá búsquedas de
dork para contraseñas de bases de datos.
Explora algunos de los resultados de búsqueda y descubre la información interesante
que revelan.
Repasa el material del curso y prueba algunas de las búsquedas que se muestran
allí.
Parte 3: La máquina del tiempo
La seguridad web ha evolucionado a lo largo de las décadas. Antes, los sitios web
publicaban información que ya no se considera segura. Los archivos de páginas web
pueden revelar información valiosa que ya no está disponible. La Wayback Machine es
una herramienta útil para recopilar información de forma pasiva sobre un objetivo,
información que podría utilizarse en ingeniería social u otros ataques. La Wayback
Machine es un archivo de toda la internet. Accede a todos los sitios web y los rastrea,
tomando capturas de pantalla y registrando los datos en una base de datos. Estos
puntos de acceso se pueden consultar para recuperar todas las rutas que el sitio ha
seguido.
Paso 1: Explora la base de datos de Wayback Machine.
a. Navegue a [Link] para abrir la página de inicio de Wayback
Machine.
b. Introduzca la URL de la empresa objetivo en el cuadro de búsqueda.
Paso 2: Explora la pestaña Calendario.
a. Haz clic en la pestaña Calendario si aún no está seleccionada.
En la parte superior de la página hay un gráfico que muestra cuántas veces la Wayback
Machine ha indexado el sitio web y, en la parte inferior, un calendario que indica la
fecha de creación de cada entrada del archivo. Puedes hacer clic en estos elementos
para abrir capturas de pantalla del pasado.
b. Seleccione un año y una fecha para una instantánea en el calendario. Algunas
fechas pueden tener más información.
más de una captura de pantalla. Haz clic en una captura para abrir la página web
obtenida. Dependiendo del sitio, es posible que puedas navegar por la página como si
estuviera en vivo, viendo toda la información con fecha.
¿Qué ventajas puede obtener un hacker al recopilar información de un sitio web
archivado?
Las respuestas pueden variar, pero recopilar información de un sitio web archivado
reduce las probabilidades de ser detectado. Asimismo, obtener información sobre la
historia de la empresa y algunos antecedentes puede dar ventaja a un hacker al
preparar un ataque de ingeniería social.
Ocultar respuesta
Paso 3: Explora la pestaña Colecciones.
a. Haz clic en la pestaña Colecciones .
b. Esto proporciona archivos organizados por fuente. Las colecciones que indexaron
la página se encuentran en la columna de la izquierda. Los meses de enero a
diciembre muestran las fechas de indexación. Haga clic en algunas de las
colecciones para obtener más información sobre ellas y quién las administra.
Paso 4: Explore la pestaña Cambios.

57
a. Haz clic en la pestaña Cambios .
Esto muestra cuánto ha cambiado la página con el tiempo. Gris = no ha cambiado
mucho desde el último rastreo. Azul = cambios significativos. También puedes
comparar los cambios entre dos capturas para ver qué ha cambiado.
b. Selecciona dos capturas. Pueden ser del mismo día o de días diferentes. Haz clic en
el botón Comparar . Los cambios se resaltarán.
Paso 5: Explore la pestaña Resumen.
a. Haz clic en la pestaña Resumen .
El resumen se aplica a todo el dominio, mientras que el calendario, las colecciones
y los cambios son específicos de la URL (página individual) buscada. Esta página
muestra el tipo MIME del contenido alojado en el dominio durante el intervalo de
fechas indicado. Este contenido puede ser texto, imágenes, JavaScript, etc.
b. Haz clic en la flecha desplegable del cuadro desplegable de tipos MIME y revisa los
tipos de archivo disponibles.
c. Cambie la fecha de inicio y la fecha de finalización del año para ver cómo han
cambiado las cosas a lo largo de un período de tiempo.
d. Haz clic en cada uno de los botones de tipo de datos: Todos, texto, aplicación,
imagen, mensaje, audio, vídeo, y explora la información que se muestra.
Paso 6: Explore la pestaña Mapa del sitio.
a. Haz clic en la pestaña Mapa del sitio .
El mapa del sitio se aplica a todo el dominio. El círculo central es la raíz y los anillos
que lo rodean representan las distintas páginas o estructuras del sitio web. Cuanto
más alejada esté de la raíz, más compleja será la página.
b. Haz clic a través de los años para ver en el gráfico cómo ha cambiado la
complejidad del sitio con el tiempo.
c. Haz clic en los anillos y las celdas del gráfico para abrir las páginas archivadas. Los
datos de las páginas archivadas pueden utilizarse para encontrar vulnerabilidades.
Paso 7: Explora la pestaña de URLs.
a. Haz clic en la pestaña URLs .
Esto muestra todas las URL que contienen el prefijo de dominio.
b. Utilice el cuadro de filtro situado a la derecha de la página para buscar archivos
específicos, como cualquier archivo que termine en “.bak”, para ver si contienen
información de copia de seguridad interesante.
Nota : Dependiendo del sitio web consultado, es posible que no se devuelva
ningún contenido.
c. Experimenta con otros filtros. Algunos podrían devolver contenido, otros no.
También, experimenta con estos filtros en diferentes dominios. Algunos filtros para
probar:
 .cremallera
 .respaldo
 .config
 .csv
 .pdf
 /api/
 /administración/

58
Al buscar en los archivos de Wayback Machine no solo se pueden encontrar archivos
interesantes, sino que una inspección cuidadosa de los datos puede llevar al
descubrimiento de posibles vulnerabilidades.
Pregunta de reflexión
¿Por qué es tan importante el reconocimiento pasivo para un hackeo y un ataque de
penetración por SMS efectivos?
Las respuestas variarán. El reconocimiento pasivo es importante porque permite a un
hacker descubrir información relevante sobre su objetivo e identificar posibles
vectores de ataque sin ser detectado.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Cuáles de las siguientes afirmaciones son verdaderas con respecto a este problema
de Google? (Elige tres).
inurl:"/private" intext:"index of /" "win64" -litespeed
Devolverá todas las páginas que incluyan el término "litespeed" en su texto.
Devolverá las páginas que contengan el término "privado" en la URL.
Devolverá las páginas que contengan tanto "index of /" como "win64" en el
texto de la página.
Devolverá enlaces a archivos que forman parte de un sistema servidor Windows
de 64 bits.
Devolverá las páginas que contengan "index of /" O "win64" en el texto de la
página.
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Aceptar
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Aceptar
3.1.20 Recopilación de Inteligencia de Fuentes Abiertas (OSINT)
La recopilación de inteligencia de fuentes abiertas (OSINT) es un método para
obtener información de fuentes de inteligencia disponibles públicamente y analizarla
sobre un objetivo. Se denomina OSINT "de fuentes abiertas" porque la recopilación de
la información no requiere métodos encubiertos. Generalmente, la información se
encuentra en internet. Cuanto mayor sea la presencia en línea del objetivo, más
información estará disponible. Este tipo de recopilación suele comenzar con una
simple búsqueda en Google, que puede revelar una cantidad significativa de
información sobre el objetivo. Al menos, proporcionará la información suficiente para
saber cómo orientar el proceso de recopilación. Veamos dos herramientas que se
pueden usar para la recopilación de OSINT: Recong-ng y Shodan.
Recon-ng
Este módulo abarca diversas fuentes y herramientas para la recopilación de
información. Si bien todas estas herramientas son muy efectivas para sus usos
específicos, ¿no sería fantástico contar con una herramienta que integrara todas estas

59
funciones? Aquí es donde entra en juego Recon-ng, un framework desarrollado por
Tim Tomes de Black Hills Information Security. Esta herramienta se desarrolló en
Python, teniendo en cuenta la consola msfconsole de Metasploit . Si ya has utilizado la
consola de Metasploit, Recon-ng te resultará familiar y fácil de entender.
Recon-ng es un framework modular que facilita el desarrollo e integración de nuevas
funcionalidades. Es altamente eficaz para la enumeración de redes sociales gracias al
uso de interfaces de programación de aplicaciones (API) para recopilar información.
Además, incluye una función de informes que permite exportar datos en diferentes
formatos. Dado que en cualquier prueba siempre se requiere entregar algún tipo de
resultado, Recon-ng resulta especialmente valioso.
Seleccione cada uno de los siguientes pasos para ver un ejemplo de cómo ejecutar
Recon-ng en Kali Linux.
Paso 1: Iniciar Recon-ng
Paso 1: Iniciar Recon-ng
Para empezar a usar Recon-ng, simplemente ejecuta recon-ng desde una nueva
ventana de terminal. El ejemplo 3-11 muestra el comando y el menú inicial con el que
se inicia Recon-ng.
Ejemplo 3-11 - Iniciando Recon-ng
|--[omar@websploit]--[~]
|--- $ recon-ng [*] Comprobación de versión deshabilitada. _/_/_/ _/_/_/_/ _/_/_/
_/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ /\ / \\ /\ Patrocinado por... /\ /\/ \\
V \/\ / \\/ // \\\\\ \\ \/\ // // BLACK HILLS \/ \\ [Link] ____
____ ____ ____ _____ _ ____ ____ ____ |____] | ___/ |____| | | | |____ |____ | |
| \_ | | |____ | | ____| |____ |____ [Link] [recon-ng v5.1.2, Tim
Tomes (@lanmaster53)] [4] Módulos de reconocimiento [1] Módulos de
descubrimiento[recon-ng][predeterminado] >
Paso 2. Ver los comandos disponibles
Paso 2. Ver los comandos disponibles
Para hacerse una idea de los comandos disponibles en la herramienta de línea de
comandos Recon-ng, basta con escribir «help» y pulsar Intro. El ejemplo 3-12 muestra
el resultado del comando «help».
Ejemplo 3-12: comando de ayuda de reconocimiento
[recon-ng][default] > help
Comandos ( escribe [help|? ]):
--------------------------------- back Sale del contexto actual dashboard Muestra un
resumen de la actividad db Interactúa con la base de datos del espacio de trabajo
exit Sale del framework help Muestra este menú index Crea un índice de módulos
(solo para desarrolladores) keys Administra las credenciales de recursos de terceros
marketplace Interactúa con el mercado de módulos modules Interactúa con los
módulos instalados options Administra las opciones del contexto actual pdb Inicia
una sesión del depurador de Python (solo para desarrolladores) script Graba y
ejecuta scripts de comandos shell Ejecuta comandos de shell show Muestra varios
elementos del framework snapshots Administra las instantáneas del espacio de
trabajo spool Guarda la salida en un archivo workspaces Administra los espacios de
trabajo [recon-ng][default] >

60
Paso 3. Buscar módulos disponibles.
Paso 3. Buscar módulos disponibles.
Antes de comenzar a recopilar información con la herramienta Recon-ng, debe
conocer los módulos disponibles. (En la pantalla inicial del Ejemplo 3-11 puede ver la
cantidad de módulos instalados en Recon-ng). Recon-ng incluye un «mercado» donde
puede buscar módulos disponibles para instalar. Puede usar el comando de búsqueda
del mercado para encontrar todos los módulos disponibles en Recon-ng, como se
muestra en el Ejemplo 3-13.
En el Ejemplo 3-13, desplácese hacia la derecha para ver las columnas D y K. La letra D
indica que el módulo tiene dependencias. La letra K indica que se necesita una clave
API para usar los recursos del módulo. Por ejemplo, el módulo con la ruta
recon/companies-contacts/censys_email_address tiene dependencias y necesita una
clave API para consultar la base de datos Censys. (Censys es un recurso muy popular
para consultar datos OSINT).
Ejemplo 3-13 - La búsqueda en el mercado de Recon-ng
[recon-ng][default] > búsqueda en el mercado
+---------------------------------------------------------------------------------------------------+ | Ruta |
Versión | Estado | Actualizado | D | K |
+---------------------------------------------------------------------------------------------------+ |
discovery/info_disclosure/cache_snoop | 1.1 | no instalado | 13/10/2020 | | | |
discovery/info_disclosure/interesting_files | 1.2 | no instalado | 04/10/2021 | | | |
exploit/injection/command_injector | 1.0 | no instalado | 24/06/2019 | | | |
exploit/injection/xpath_bruter | 1.2 | no instalado | 08/10/2019 | | |
| import/csv_file | 1.1 | no instalado | 09/08/2019 | | | | import/list | 1.1 | no
instalado | 24/06/2019 | | | | import/masscan | 1.0 | no instalado | 07/04/2020 | |
| | import/nmap | 1.1 | no instalado | 06/10/2020 | | | | recon/companies-
contacts/bing_linkedin_cache | 1.0 | no instalado | 24/06/2019 | | * | |
recon/companies-contacts/censys_email_address | 2.0 | no instalado | 11/05/2021
| * | * | | recon/companies-contacts/pen | 1.1 | no instalado | 15/10/2019 | | | |
recon/companies-domains/censys_subdomains | 2.0 | no instalado | 10/05/2021 | *
| * | | recon/companies-domains/pen | 1.1 | no instalado | 15/10/2019 | | | |
recon/companies-domains/viewdns_reverse_whois | 1.1 | no instalado |
24/08/2021 | | | | recon/companies-domains/whoxy_dns | 1.1 | no instalado |
17/06/2020 | | * | | recon/companies-hosts/censys_org | 2.0 | no instalado |
11/05/2021 | * | * | <salida omitida> | reporting/csv | 1.0 | no instalado |
24/06/2019 | | | | reporting/html | 1.0 | no instalado | 24/06/2019 | | | |
reporting/json | 1.0 | no instalado | 24/06/2019 | | | | reporting/list | 1.0 | no
instalado | 24/06/2019 | | | | reporting/proxifier | 1.0 | no instalado | 24/06/2019 |
| | | reporting/pushpin | 1.0 | no instalado | 24/06/2019 | | * | | reporting/xlsx |
1.0 | no instalado | 24/06/2019 | | | | reporting/xml | 1.1 | no instalado |
24/06/2019 | | |
+---------------------------------------------------------------------------------------------------+ D = Tiene
dependencias. Consulte la información para obtener más detalles. K = Requiere
claves. Consulte la información para obtener más detalles.
[recon-ng][default] >
Paso 4. Actualizar el mercado.
Paso 4. Actualizar el mercado.

61
Puede actualizar los datos sobre los módulos disponibles utilizando el comando de
actualización del mercado , como se muestra en el Ejemplo 3-14.
Ejemplo 3-14 - Actualizando los datos del mercado de Recon-ng
[recon-ng][default] > actualización del mercado
[*] Índice del mercado actualizado. [recon-ng][default] >

Paso 5. Buscar en el mercado.


Paso 5. Buscar en el mercado.
Realicemos una búsqueda rápida para encontrar los diferentes subdominios de uno de mis
dominios ([Link]). Podemos usar el módulo ` bing_domain_web` para intentar encontrar
cualquier subdominio mediante el motor de búsqueda Bing . Puedes realizar una
búsqueda por palabra clave en cualquier módulo usando el comando `marketplace
search <palabra clave>`, como se muestra en el Ejemplo 3-15.
Ejemplo 3-15 - Búsqueda por palabras clave en el mercado
[recon-ng][default] > búsqueda en el mercado bing
[*] Buscando 'bing' en el índice del módulo...
+-----------------------------------------------------------------------------------------------+ | Ruta |
Versión | Estado | Actualizado | D | K |
+-----------------------------------------------------------------------------------------------+ |
recon/companies-contacts/bing_linkedin_cache | 1.0 | no instalado | 2019-06-24 | | *
| | recon/domains-hosts/bing_domain_api | 1.0 | no instalado | 2019-06-24 | | * | |
recon/domains-hosts/bing_domain_web | 1.1 | instalado | 2019-07-04 | | | |
recon/hosts-hosts/bing_ip | 1.0 | no instalado | 2019-06-24 | | * | | recon/profiles-
contacts/bing_linkedin_contacts | 1.2 | no instalado | 24/08/2021 | | * |
+-----------------------------------------------------------------------------------------------+ D = Tiene
dependencias. Consulte la información para obtener más detalles. K = Requiere claves.
Consulte la información para obtener más detalles. [recon-ng][default] >
expandir_menos
Paso 6. Instalar un módulo.
Paso 6. Instalar un módulo.
Se encontraron varios resultados que coincidían con la palabra clave "bing". Sin
embargo, el que nos interesa es recon/domains-hosts/bing_domain_web. Puede
instalar el módulo mediante el comando de instalación del Marketplace, como se
muestra en el Ejemplo 3-16.
Ejemplo 3-16: Instalación de un módulo de reconocimiento
[recon-ng][default] > marketplace install recon/domains-hosts/bing_domain_web
[*] Módulo instalado: recon/domains-hosts/bing_domain_web [*] Recargando módulos...
[recon-ng][default] >
Paso 7. Mostrar módulos instalados.
Paso 7. Mostrar módulos instalados.
Puede utilizar el comando de búsqueda de módulos (como se muestra en el Ejemplo
3-17) para mostrar todos los módulos que se han instalado en Recon-ng.
Ejemplo 3-17: Reconstrucción de módulos instalados
[recon-ng][default] > búsqueda de módulos
Descubrimiento --------- discovery/info_disclosure/interesting_files Reconocimiento
----- recon/domains-hosts/bing_domain_web recon/domains-hosts/brute_hosts
recon/domains-hosts/certificate_transparency
recon/domains-hosts/netcraft [recon-ng][default] >

62
Paso 8. Cargar un módulo.
Paso 8. Cargar un módulo.
Para cargar el módulo que desea usar, utilice el comando `modules load`. En el
Ejemplo 3-18, se carga el módulo `bing_domain_web`. Observe que el indicador
cambió para incluir el nombre del módulo cargado. Una vez cargado el módulo, puede
ver sus opciones con el comando `info`.
Ejemplo 3-18 - Carga de un módulo instalado en Recon-ng
[recon-ng][default] > modules load recon/domains-hosts/bing_domain_web
[recon-ng][default][bing_domain_web] > info Nombre: Enumerador de nombres de
host de Bing Autor: Tim Tomes (@lanmaster53) Versión: 1.1 Descripción: Recopila
hosts de [Link] utilizando el operador de búsqueda 'site'. Actualiza la tabla 'hosts'
con los resultados. Opciones: Nombre Valor actual Requerido Descripción ------
------------- -------- ----------- SOURCE [Link] sí fuente de entrada (consulte 'info'
para obtener más detalles) Opciones de origen: default SELECT DISTINCT domain
FROM domains WHERE domain IS NOT NULL <string> cadena que representa una
sola entrada <path> ruta a un archivo que contiene una lista de entradas query <sql>
consulta de base de datos que devuelve una columna de entradas [recon-ng]
[default][bing_domain_web] >
Paso 9. Cambiar la fuente.
Paso 9. Cambiar la fuente.
Puede cambiar el origen (el dominio que se usará para encontrar sus subdominios)
mediante la opción `set SOURCE` del comando, como se muestra en el Ejemplo 3-19.
Una vez configurado el dominio de origen, escriba `run` para ejecutar la consulta. Las
líneas resaltadas muestran que se encontraron cuatro subdominios usando el módulo
`bing_domain_web`.
Ejemplo 3-19 - Configuración del dominio de origen y ejecución de la consulta
[recon-ng][default][bing_domain_web] > options set SOURCE [Link]
SOURCE => [Link] [recon-ng][default][bing_domain_web] > run ----------
[Link] ---------- [*] URL: [Link]
%[Link] [*] País: Ninguno [*] Host: [Link] [*] Dirección IP:
Ninguna [*] Latitud: Ninguna [*] Longitud: Ninguna
[*] Notas: Ninguna
[*] Región: Ninguna [*] -------------------------------------------------- [*] País: Ninguno [*]
Host: [Link] [*] Dirección IP: Ninguna [*] Latitud: Ninguna [*] Longitud:
Ninguna [*] Notas: Ninguna [*] Región: Ninguna [*]
-------------------------------------------------- [*] País: Ninguno [*] Host: [Link] [*]
Dirección IP: Ninguna [*] Latitud: Ninguna [*] Longitud: Ninguna [*] Notas: Ninguna
[*] Región: Ninguna [*] -------------------------------------------------- [*] País: Ninguno [*]
Host: [Link] [*] Dirección IP: Ninguna [*] Latitud: Ninguna [*] Longitud:
Ninguna [*] Notas: Ninguna [*] Región: Ninguna [*]
-------------------------------------------------- [*] En espera para evitar bloqueos... [*] URL:
[Link]
%[Link]+-domain%[Link]+-domain
%[Link]+-domain%[Link] ------- RESUMEN ------- [*] Se
encontraron 4 hosts en total (0 nuevos). [recon-ng][predeterminado]
[bing_domain_web] >

63
Recon-ng es increíblemente potente porque utiliza las API de diversos recursos OSINT
para recopilar información. Sus módulos pueden consultar sitios como Facebook,
Indeed, Flickr, Instagram, Shodan, LinkedIn y YouTube.
CONSEJO: También puedes combinar otros módulos para encontrar información
adicional sobre un objetivo específico. Por ejemplo, puedes usar el módulo
recon/domains-hosts/brute_hosts para usar listas de palabras y realizar consultas DNS
para encontrar subdominios adicionales. El hacking se basa en pensar como un
atacante y desarrollar una buena metodología. Te recomiendo encarecidamente que
vayas más allá de las herramientas y el comportamiento predeterminado, y que
desarrolles tu propia metodología combinando herramientas y otros recursos para
encontrar información y posibles vulnerabilidades que explotar.
Shodan
Shodan es una organización que escanea Internet las 24 horas del día, los 365 días del
año. Los resultados de estos escaneos se almacenan en una base de datos a la que se
puede acceder a través de [Link] o mediante una API. Shodan permite buscar hosts
vulnerables, dispositivos del Internet de las Cosas (IoT) y muchos otros sistemas que no
deberían estar expuestos ni conectados a Internet. La figura 3-5 muestra diferentes
categorías de sistemas detectados por los escaneos de Shodan, incluyendo sistemas de
control industrial (ICS), bases de datos, dispositivos de infraestructura de red y
videojuegos.
Figura 3-5 - Explorando la base de datos Shodan

La figura 3-6 muestra una consulta realizada para encontrar dispositivos de


infraestructura de red que ejecutan un protocolo vulnerable llamado Cisco Smart
Install. Los atacantes han aprovechado este protocolo durante años para comprometer
diversas infraestructuras. Cisco eliminó este protocolo de sus sistemas hace muchos
años. Sin embargo, muchas personas aún lo utilizan en dispositivos conectados a
internet.

64
NOTA: Cisco ha advertido a sus clientes durante muchos años sobre el mal uso de esta
función en un aviso de seguridad informativa al que se puede acceder en
[Link]
20170214-smi .
Figura 3-6 - Detección de sistemas vulnerables mediante Shodan

CONSEJO: Recuerda que, aunque esta información sea pública, no debes interactuar
con ningún sistema que aparezca en los resultados de Shodan sin el permiso del
propietario. Si el propietario tiene un programa de recompensas por errores (bug
bounty), podrías obtener reconocimiento y una recompensa por encontrar el sistema
afectado. Un programa de recompensas por errores está diseñado para recompensar a
investigadores de seguridad y hackers éticos por encontrar vulnerabilidades en un
producto, una aplicación o un sistema. En la mayoría de los casos, la compensación es
monetaria. Omar Santos ha incluido varios recursos en su repositorio de GitHub sobre
cómo iniciarse en los programas de recompensas por errores; consulta
[Link] .
3.1.21 Laboratorio - Búsquedas Shodan
Tareas de soluciones de seguridad de Protego
Shodan es una herramienta increíble si se usa correctamente. Puede descubrir
vulnerabilidades graves en servicios que se ejecutan en servidores conectados a
internet de todo el mundo. Sin embargo, para obtener resultados útiles, es necesario
comprender su funcionamiento y los filtros de búsqueda que se deben usar para
obtener la información deseada.
En Protego, lo usamos para analizar los dominios y subdominios que descubrimos con
otras herramientas. También analizamos bloques de direcciones que creemos que
están bajo el control de nuestro objetivo. Shodan se basa en un mecanismo bastante

65
sencillo que puede revelar mucha información valiosa sobre las aplicaciones y los
servicios que se ejecutan en las máquinas objetivo.
Para familiarizarte con las búsquedas y los filtros de Shodan, realiza este laboratorio.
Después, dedica un tiempo a investigar ejemplos de búsquedas en Shodan para
aprender más sobre los términos que puedes usar para identificar diferentes tipos de
servicios potencialmente vulnerables.
En este laboratorio, completarás los siguientes objetivos:
 Crea una cuenta de usuario de Shodan y regístrate para obtener una clave API.
 Utilice el sitio web de Shodan para buscar dispositivos IoT vulnerables.
 Utilice Shodan desde la CLI para realizar una búsqueda.

Demostración en vídeo

Seleccione reproducir para ver una demostración del laboratorio.


Transcripción
 00:07 John Matherly creó Shodan en 2009 porque quería una herramienta para
descubrir dispositivos conectados
 00:13 a internet y cuán vulnerables podrían ser a un ataque.
 00:16Puedes utilizar una variedad de criterios para buscar en Shodan, incluyendo
direcciones IP,
 00:21 puertos, tipos de dispositivos y palabras clave específicas. Shodan es una valiosa
herramienta para la penetración.
 00:27es una herramienta de prueba, pero también es una herramienta que puede
usarse indebidamente.
 00:30 Es fundamental que cumpla con su acuerdo sobre la declaración de piratería
ética.
 00:35Siempre que utilice Show o cualquier otra herramienta de pruebas de
penetración. En este laboratorio,
 00:40 Crearás una cuenta en Shodan y usarás el sitio web de Shodan para buscar
personas vulnerables.

66
 00:45 dispositivos y para realizar una búsqueda utilizando su clave API en la línea de
comandos.
 00:50 En la primera parte, crearás una cuenta de Shodan. Inicia sesión en tu máquina
virtual Kali,
 00:55 Abre Firefox y ve a [Link]. Ya tengo Shodan.
 00:59 Abrir. Haga clic en Iniciar sesión.
 01:02Puedes elegir iniciar sesión con Google o Windows o hacer clic en registrarse y
completar la información.
 01:07Si elige este método, deberá activar su cuenta después de recibir un
 01:12 correo electrónico. Inicie sesión con sus nuevas credenciales y será redirigido al
panel de control con un
 01:18 variedad de temas útiles.
 01:21 Puede que tengas que volver a la página de inicio y hacer clic en iniciar sesión
para acceder al panel de control, como tuve que hacer yo.
 01:26 Hazlo aquí. Explora los enlaces de introducción, especialmente los fundamentos
de las consultas de búsqueda.
 01:32Aquí encontrarás una explicación detallada de cómo Shodan utiliza estandartes
de varios tipos de
 01:38 dispositivos y servicios.
 01:41En la segunda parte, buscas dispositivos IoT vulnerables en Internet.
 01:46 El primer paso es usar una búsqueda simple. Regresa a la página de inicio e
introduce "webcam" en el buscador.
 01:52bar y pulse Intro. Shodan devuelve resultados para cualquier dispositivo que
contenga la palabra webcam en su
 01:59 banner. Observe los datos de resultados a la izquierda. En ese momento
 En el minuto 2:03 de esta grabación, hay 6337 cámaras web detectables en Internet.
 02:08 Estados Unidos tiene la mayor cantidad. En cualquier categoría de resultado,
 02:12Puedes hacer clic en más para obtener todos los resultados de esa categoría.
 02:16En los resultados de la derecha, haga clic en el nombre de un dispositivo o en su
dirección IP para abrir una página de detalles.
 02:22En la sección de información general, encontrará información variada, incluido el
dominio,
 02:27 el país, la ciudad, la organización (si la hay), el ISP y el ASN
 02:34 o número de sistema autónomo. A la derecha, observe los puertos que están
abiertos para este dispositivo.
 02:41 Debajo de cada puerto, verá diversa información que Shodan pudo recuperar,
incluyendo
 02:46 encabezados, páginas web, certificados y más.
 02:49Algunas cámaras tendrán vulnerabilidades potenciales enumeradas a la izquierda
y
 02:54 categorizados por su número CVE.
 02:56Puedes refinar tus resultados de Shodan buscando primero en internet "cámara
web vulnerable".
 03:01 fabricantes y luego usar el nombre de un fabricante para refinar su búsqueda de
shodan.
 03:07Te dejo que lo hagas tú solo.
 03:09El segundo paso es utilizar filtros para refinar los resultados.

67
 03:13 Shodan ofrece un método para filtrar los resultados de búsqueda mediante el
filtro de sintaxis.
 03:18:valor sin espacios.
 03:20 En el laboratorio se muestran algunos de los filtros de búsqueda más populares.
Agregue un filtro de ciudad a la lista.
 03:27 Búsqueda de webcam por ejemplo ciudad: Toronto .
 03:30 En el momento de esta grabación, el total de dispositivos con webcam en su
banner era de 31. FTP
 03:36Los servidores con inicios de sesión anónimos son un problema de configuración
común.
 03:41 Introduzca filtros para el puerto FTP, país, región y ciudad. Añada 230 al final de
su búsqueda.
 03:47 Consulta para verificar una respuesta de inicio de sesión exitosa.
 03:51Si elige un área metropolitana lo suficientemente grande, debería obtener
muchas respuestas.
 03:56Tenga en cuenta que estas respuestas también le indican qué comandos FTP son
compatibles con los inicios de sesión anónimos.
 04:03 El tercer paso consiste en buscar un producto o servicio específico, como el
servidor web Apache que se ejecuta en
 04:09 puerto 80. Formule la consulta para su ciudad.
 04:17Aquí vemos cerca de 3600 resultados para Austin. En parte
 04:23tres, utilice su clave API de Shodan en la línea de comandos.
 04:27El primer paso es copiar tu clave API y luego usarla para inicializar una búsqueda
de Shodan en el
 04:33 Línea de comandos para obtener su clave API, haga clic en cuenta a la derecha y
luego muestre su clave API.
 04:39Copia la clave API, abre una terminal e introduce el comando shodan y pégalo en
tu
 04:45 Clave API. Pulse Intro y debería recibirla rápidamente.
 04:49 Mensaje de inicialización exitosa. Introduzca shodan -h para ver una lista de
comandos.
 04:55Observe que buscar es uno de los comandos.
 04:58 Probemos la búsqueda por webcam. Fíjate, a mí me aparece un error 403
(Prohibido).
 05:04Esto se debe a que mi cuenta gratuita se ha quedado sin créditos para realizar
búsquedas en la línea de comandos y
 05:08 consultas. El segundo paso es usar otros comandos de Shodan. A
 05:13 Para ver cuántos créditos tienes, introduce shodan info. Para ver tu dirección IP,
introduce shodan myip.
 05:21Para ver información similar a la página de resultados en el sitio web,
 05:25 Introduzca el comando web de estadísticas de Shodan.
 05:29Como puedes ver, Shodan es una herramienta potente. Para pruebas de
penetración,
 05:34Utilice esta herramienta para escanear los dispositivos de su cliente conectados a
Internet.
 05:37El escaneo le proporcionará un resumen rápido de las posibles vulnerabilidades
CVE, pero también qué

68
 05:43 La información que muestran los dispositivos de sus clientes al mundo se
encuentra en sus banners.
 05:48 Probablemente tendrías algunas sugerencias sobre cómo podrían volverse más
difíciles de detectar.
 05:53 Actores de amenazas. Dedica algo de tiempo a [Link].
 05:57Si tienes un nombre de usuario académico, como una dirección de correo
electrónico que termina en .edu,
 06:03Puedes obtener una membresía gratuita que tiene los siguientes beneficios.
 06:07 Monitorizar 16 direcciones IP, 100 consultas y 100 escaneos al mes, acceso a
mapas de Shodan y
 06:13 imágenes y el uso del filtro de vulnerabilidades en el sitio web.
 06:18Diviértete aprendiendo más sobre esta poderosa herramienta de reconocimiento
pasivo.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Cuál de las siguientes afirmaciones es verdadera con respecto a una búsqueda en
Shodan del término "webcam"?
Devolverá todas las páginas que incluyan el término "webcam" en los banners de
servicio.
Devolverá únicamente las páginas del servidor de la cámara web.
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.2 Realización de reconocimiento activo
3.2.1 Descripción general
Soluciones de seguridad Protego
Como parte del proceso de recopilación de información para las pruebas de
penetración, participarás en el reconocimiento activo de la red interna de Pixel
Paradise. Esto es lo que sabemos sobre la red hasta el momento.
La red Pixel Paradise incluye lo siguiente:
 Puntos de acceso del usuario: Ordenadores de sobremesa, portátiles, dispositivos
móviles y consolas de videojuegos utilizados por los empleados.
 Puntos finales relacionados con las instalaciones: cámaras de vigilancia, sistema de
alarma, sensores y actuadores de climatización, sistemas de control de iluminación
y sistemas VoIP.
 Dispositivos intermediarios: Enrutadores y conmutadores que conectan puntos
finales y otras redes.
 Puntos de acceso inalámbricos: Dispositivos que proporcionan acceso Wi-Fi a los
empleados.

69
 Cortafuegos: Dispositivos que protegen la red de amenazas externas y accesos no
autorizados.
 Servidores: Servidores locales que proporcionan almacenamiento de archivos,
acceso a bases de datos y otros servicios como correo electrónico.
Infraestructura en la nube: Amazon Web Services
Reconocimiento activo
Como se mencionó anteriormente en este módulo, en cada paso de la fase de
recopilación de información, el objetivo es obtener información adicional sobre el
objetivo. Este proceso se denomina enumeración. Veamos ahora qué tipo de
enumeración se suele realizar en una prueba de penetración. En un ejemplo anterior,
analizamos la enumeración de hosts expuestos a Internet por [Link]. La
enumeración externa de hosts suele ser una de las primeras acciones en una prueba
de penetración. Determinar los hosts de una red objetivo expuestos a Internet ayuda a
identificar los sistemas más vulnerables. Obviamente, un dispositivo accesible
públicamente a través de Internet está expuesto a ataques de ciberdelincuentes de
todo el mundo. Tras identificar estos sistemas, es necesario determinar qué servicios
son accesibles. Un servidor debería estar protegido por un firewall, lo que permite una
exposición mínima a los servicios que ejecuta. Sin embargo, en ocasiones, se exponen
servicios inesperados. Para determinar si una red ejecuta alguno de estos servicios, se
puede realizar un escaneo de puertos para enumerar los servicios que se ejecutan en
los hosts expuestos.
Escaneos de puertos
Un escaneo de puertos es un escaneo activo en el que la herramienta de escaneo envía
varios tipos de sondeos a la dirección IP objetivo y luego examina las respuestas para
determinar si el servicio está escuchando. Por ejemplo, con un escaneo SYN de Nmap,
la herramienta envía un paquete TCP SYN al puerto TCP que está sondeando. Este
proceso también se conoce como escaneo semiabierto porque no abre una conexión
TCP completa. Si la respuesta es un SYN/ACK, esto indica que el puerto está
escuchando. Si la respuesta al paquete SYN es un RST (reset), esto indica que el puerto
está cerrado o no está escuchando. Si el sondeo SYN no recibe respuesta, Nmap lo
marca como filtrado porque no puede determinar si el puerto está abierto o cerrado.
La Tabla 3-2 define las respuestas del escaneo SYN al usar Nmap.
Tabla 3-2 - Respuestas del escaneo SYN

La figura 3-8 ilustra cómo funciona un escaneo SYN, y el ejemplo 3-19 muestra la salida
de un escaneo SYN.
Figura 3-8 - Ilustración de escaneo SYN de Nmap

70
Ejemplo 3-19 - Salida de muestra de escaneo SYN de Nmap
|--[root@websploit]--[~]
|---- #nmap -sS [Link]
A partir de Nmap 7.80 ( [Link] )
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00011 s).
No se muestran: 992 puertos cerrados
SERVICIO DEL ESTADO PORTUARIO
22/tcp abierto ssh
80/tcp abierto http
139/ tcp abierto netbios-ssn
445/ tcp abierto microsoft-ds
3306/tcp abierto mysql
8888/tcp abierto sol -libro de respuestas
9000/tcp abierto cslistener
9090/tcp abierto zeus -admin
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,23 segundos
El ejemplo 3-19 muestra cómo ejecutar un escaneo TCP SYN con Nmap especificando
la opción `-sS` contra un host con la dirección IP [Link]. Como puede
observarse, este sistema tiene varios puertos abiertos. En ocasiones, será necesario
utilizar las diversas opciones de Nmap en los escaneos para obtener los resultados
deseados. Las secciones siguientes examinan algunas de las opciones y tipos de
escaneos más comunes disponibles en Nmap.
3.2.2 Tipos de escaneo Nmap
Las siguientes secciones abarcan algunas de las opciones de escaneo Nmap más
comunes utilizadas para escenarios específicos, incluyendo las siguientes:
 Escaneo de conexión TCP ( -sT )
 Escaneo UDP ( -sU )
 Escaneo TCP FIN ( -sF )
 Escaneo de detección de host ( -sn )
 Opciones de temporización ( -T 0-5 )
Escaneo de conexión TCP ( - sT )
Un escaneo de conexión TCP utiliza el mecanismo de red del sistema operativo para
establecer una conexión TCP completa con el dispositivo objetivo. Al crear una

71
conexión completa, genera más tráfico (y, por lo tanto, tarda más en ejecutarse). Este
es el tipo de escaneo predeterminado que se utiliza si no se especifica ningún tipo de
escaneo con el comando `nmap` . Sin embargo, normalmente solo debería usarse
cuando un escaneo SYN no es una opción, por ejemplo, cuando el usuario que ejecuta
el comando `nmap` no tiene privilegios para procesar paquetes sin procesar en el
sistema operativo, ya que muchos tipos de escaneo de Nmap dependen de la escritura
de paquetes sin procesar. Esta sección ilustra cómo funciona un escaneo de conexión
TCP y proporciona un ejemplo de un escaneo desde un sistema Kali Linux. La tabla 3-3
define las respuestas del escaneo de conexión TCP.
Tabla 3-3 - Respuestas de escaneo de conexión TCP

La figura 3-9 ilustra cómo funciona un escaneo de conexión TCP.


Figura 3-9 - Ilustración de escaneo de conexión TCP

El ejemplo 3-20 muestra la salida de un escaneo completo de conexión TCP.


Ejemplo 3-20 - Salida de muestra de un escaneo de conexión TCP con Nmap
|--[root@websploit]--[~]
|--- #nmap -sT [Link]
Iniciando Nmap 7.80 ([Link] ) el 21/06/2021 a las 12:48 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00024 s).
No se muestran: 992 puertos cerrados
SERVICIO DEL ESTADO PORTUARIO
22/tcp abierto ssh
80/tcp abierto http
139/ tcp abierto netbios-ssn
445/ tcp abierto microsoft-ds
3306/tcp abierto mysql

72
8888/tcp abierto sol -libro de respuestas
9000/tcp abierto cslistener
9090/tcp abierto zeus -admin
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,16 segundos
La salida del Ejemplo 3-20 muestra los resultados de un escaneo de conexiones TCP
con Nmap. Como puede observarse, los resultados indican que varios puertos TCP
están escuchando en el dispositivo objetivo, y son muy similares a los mostrados en el
Ejemplo 3-19.
Un escaneo completo de conexiones TCP requiere que el escáner envíe un paquete
adicional por escaneo, lo que aumenta el ruido en la red y puede activar alarmas que
un escaneo parcial no activaría. Las herramientas de seguridad y el sistema subyacente
objetivo tienen mayor probabilidad de registrar una conexión TCP completa, y los
sistemas de detección de intrusiones (IDS) tienen una mayor probabilidad de activar
alarmas en varias conexiones TCP desde el mismo host.
CONSEJO: Nmap escanea únicamente los 1000 puertos más comunes para cada
protocolo. Puedes especificar puertos adicionales para escanear mediante la opción `-
p`. Encontrarás más información sobre las especificaciones de los puertos y el orden de
escaneo en [Link] . Omar Santos
también ha creado una guía rápida de Nmap que incluye todas las opciones y está
disponible en su repositorio de GitHub:
[Link]
NMAP_cheat_sheet.md .
Escaneo UDP ( - sU )
En la mayoría de los casos, escaneará puertos TCP, ya que este es el método de
conexión con la mayoría de los servicios que se ejecutan en los sistemas objetivo. Sin
embargo, puede que en ocasiones necesite escanear puertos UDP; por ejemplo, al
intentar enumerar un servidor DNS, SNMP o DHCP. Todos estos servicios utilizan UDP
para la comunicación entre cliente y servidor. Para escanear puertos UDP, Nmap envía
un paquete UDP a todos los puertos especificados en la configuración de la línea de
comandos. Espera una respuesta del objetivo. Si recibe un mensaje ICMP de puerto
inalcanzable, ese puerto se marca como cerrado. Si no recibe respuesta del puerto
UDP objetivo, Nmap lo marca como abierto/filtrado. La tabla 3-4 muestra las
respuestas del escaneo UDP.
NOTA: Tenga en cuenta que los mensajes ICMP de destino inalcanzable a veces
pueden estar sujetos a limitación de velocidad, y cuando esto ocurre, un escaneo de
puertos UDP puede tardar mucho más. La limitación de velocidad ICMP se utiliza
principalmente para controlar el comportamiento de gusanos o virus y normalmente
debe configurarse para permitir que entre el 1 % y el 5 % del ancho de banda de
entrada disponible (a velocidades de 10 Mbps o 100 Mbps) o entre 100 kbps y 10 000
kbps (a velocidades de 1 Gbps o 10 Gbps) se utilice para el tráfico ICMP.
Tabla 3-4 - Respuestas de escaneo UDP

73
La figura 3-10 ilustra cómo funciona un escaneo UDP.
Figura 3-10 - Ilustración de escaneo UDP

La salida del Ejemplo 3-21 muestra los resultados de un escaneo UDP de Nmap en el
puerto 53 del objetivo [Link]. Como puede ver, los resultados indican que
este puerto está abierto.
Ejemplo 3-21 - Salida de muestra de escaneo UDP con Nmap
|--[root@websploit]--[~]
|--- # nmap -sU -p 53 [Link]
Iniciando Nmap 7.80 ([Link] ) el 21/06/2021 a las 13:12 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00057 s).
SERVICIO DEL ESTADO PORTUARIO
53/udp dominio abierto
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,19 segundos
Escaneo TCP FIN (-sF)
En ocasiones, un escaneo SYN puede ser detectado por un filtro de red o un firewall.
En tal caso, es necesario utilizar un tipo de paquete diferente en un escaneo de
puertos. Con el escaneo TCP FIN, se envía un paquete FIN al puerto de destino. Si el
puerto está cerrado, el sistema de destino devuelve un paquete RST. Si no se recibe
nada del puerto de destino, se puede considerar que el puerto está abierto, ya que el
comportamiento normal sería ignorar el paquete FIN. La tabla 3-5 muestra las
respuestas del escaneo TCP FIN.
NOTA: Un escaneo TCP FIN no es útil al escanear sistemas basados en Windows, ya que
responden con paquetes RST, independientemente del estado del puerto.
Tabla 3-5 - Respuestas al escaneo TCP FIN

74
La figura 3-11 ilustra cómo funciona un escaneo TCP FIN.
Figura 3-11 Ilustración de escaneo TCP FIN

El ejemplo 3-22 muestra el resultado de un escaneo TCP FIN contra el puerto 80 del
objetivo. El resultado muestra los resultados de un escaneo TCP FIN de Nmap,
especificando el puerto 80 en el objetivo. La respuesta del objetivo indica que el
puerto está abierto/filtrado.
Ejemplo 3-22 - Salida de muestra de un escaneo TCP FIN con Nmap
|--[root@websploit]--[~]
|--- # nmap -sF -p 80 [Link]
Iniciando Nmap 7.80 ([Link] ) el 21/06/2021 a las 13:15 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00045 s).
SERVICIO DEL ESTADO PORTUARIO
80/tcp abierto | filtrado http
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,38 segundos
|--[root@websploit]--[~]
|--- #

75
Escaneo de detección de host ( - sn )
Un escaneo de detección de hosts es uno de los tipos de escaneos más comunes que
se utilizan para enumerar los hosts en una red, ya que puede utilizar diferentes tipos
de mensajes ICMP para determinar si un host está en línea y responde en una red.
NOTA: Por defecto, la opción de escaneo `-sn` envía un paquete de solicitud de eco
ICMP al objetivo, un SYN TCP al puerto 443, un ACK TCP al puerto 80 y una solicitud de
marca de tiempo ICMP. Esto se documenta en [Link]
[Link] . Si el objetivo responde al eco ICMP o a los paquetes mencionados, se
considera activo.
El ejemplo 3-23 muestra un escaneo de ping de la subred [Link]/24. Este es un
escaneo básico de detección de hosts que se puede realizar para determinar qué
dispositivos de una red están activos. Este tipo de escaneo para la detección de hosts
en una subred completa se conoce a veces como barrido de ping.
Ejemplo 3-23 - Escaneo de descubrimiento de hosts con Nmap
|--[root@websploit]--[~]
|---- #nmap -sn [Link]/24
Iniciando Nmap 7.80 ([Link] ) el 21/06/2021 a las 14:32 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00045 s).
Dirección MAC: E0:55:3 D:E 9:61:74 (Cisco Meraki)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00094 s).
Dirección MAC: 0E:64: AF:27:9 C:44 (Desconocida)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0092 s).
Dirección MAC: 00:B8:B3 :FD:BF:C2 (Cisco Systems)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0033 s).
Dirección MAC: 00:E1:6D :E5:43:C2 (Cisco Systems)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00046 s).
Dirección MAC: BE: 38:F5:2D :6C:C0 (Desconocida)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00061 s).
Dirección MAC: FE:82:8 C:A3:D2:3C (Desconocida)
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00040 s).
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Informe de escaneo Nmap para [Link]
El anfitrión está activo.
Informe de escaneo Nmap para [Link]
El anfitrión está activo.
Nmap finalizado: 256 direcciones IP (11 hosts activos) escaneadas en 2,45 segundos
|--[root@websploit]--[~]

76
|--- #
Opciones de sincronización ( - T 0-5 )
El escáner Nmap proporciona seis plantillas de temporización que se pueden
especificar con la opción -T y el número de plantilla (del 0 al 5) o el nombre. Las
plantillas de temporización de Nmap permiten controlar la agresividad del escaneo,
dejando que Nmap seleccione los valores de temporización exactos. Estas son las
opciones de temporización:
 -T0 (Paranoide ) : Muy lento, utilizado para la evasión de sistemas de detección
de intrusiones.
 -T1 (Sigilo ) : Bastante lento, utilizado para evadir sistemas de detección de
intrusos.
 -T2 (Cortés ) : Reduce la velocidad para consumir menos ancho de banda;
funciona aproximadamente 10 veces más lento que la configuración
predeterminada.
 -T3 (Normal ) : Predeterminado, un modelo de temporización dinámica basado
en la capacidad de respuesta del objetivo.
 -T4 (Agresivo ) : Asume una red rápida y fiable y puede saturar los objetivos.
 -T5 (Insano ) : Muy agresivo; probablemente abrumará a los objetivos o fallará
los puertos abiertos.
NOTA: El modo normal es el modo predeterminado de Nmap. Si utiliza este modo
(especificando -T3 ) , no notará ninguna diferencia con respecto a un escaneo normal.
Puede encontrar información adicional sobre las opciones de temporización y el
rendimiento de Nmap en [Link] .

3.2.3 Práctica - Tipos de escaneo de Nmap


Pregunta 1
Un técnico de ciberseguridad está utilizando la herramienta Nmap para realizar un
escaneo de puertos mediante el siguiente comando:
nmap -sn [Link]/24
¿Qué tipo de escaneo de puertos está utilizando el técnico?
Escaneo TCP FIN
escaneo UDP
escaneo de conexión TCP
escaneo de detección de host
Pregunta 2
Un atacante está utilizando la herramienta Nmap para realizar un escaneo de puertos
con el comando:
nmap -sn -T0 [Link]/24
¿Cuál es el propósito de utilizar la opción -T0?
para ejecutar el escaneo aproximadamente 10 veces más lento que el valor
predeterminado
realizar el escaneo de forma agresiva
para evitar ser detectado por los sistemas IDS o IPS
para detener el escaneo después de un período de tiempo especificado por T0

77
3.2.4 Tipos de enumeración
Esta sección abarca las técnicas de enumeración que deben realizarse durante la fase
de recopilación de información de una prueba de penetración. Aprenderá cómo y
cuándo utilizar estas técnicas. También incluye ejemplos de cómo realizar este tipo de
enumeración con Nmap, así como un análisis detallado de la creación de paquetes con
Scapy.
 Enumeración de hosts
 Enumeración de usuarios
 Enumeración de grupos
 Enumeración de recursos compartidos de red
 Ejemplos adicionales de enumeración SMB
 Enumeración de páginas web/Enumeración de aplicaciones web
 Enumeración de servicios
 Explorando la enumeración mediante la creación de paquetes
Enumeración de hosts
La enumeración de hosts es una de las primeras tareas que se deben realizar en la fase
de recopilación de información de una prueba de penetración. Esta enumeración se
realiza tanto interna como externamente. Al realizarla externamente, generalmente se
recomienda limitar el escaneo de direcciones IP a aquellas que forman parte del
alcance de la prueba. Esto reduce la posibilidad de escanear inadvertidamente una
dirección IP para la cual no se tiene autorización. Al realizar una enumeración de hosts
interna, se suele escanear la subred o subredes completas de direcciones IP utilizadas
por el objetivo. La enumeración de hosts se realiza normalmente con herramientas
como Nmap o Masscan; sin embargo, los escáneres de vulnerabilidades también
realizan esta tarea como parte de sus pruebas automatizadas. El ejemplo 3-23,
presentado anteriormente en este módulo, muestra un ejemplo de escaneo ping con
Nmap utilizado para la enumeración de hosts en la red [Link]/24. En versiones
anteriores de Nmap, la opción de escaneo ping era `-sP` (no `-sn` ).
Enumeración de usuarios
Recopilar una lista válida de usuarios es el primer paso para descifrar un conjunto de
credenciales. Una vez que se tiene el nombre de usuario, se pueden iniciar intentos de
fuerza bruta para obtener la contraseña de la cuenta. La enumeración de usuarios se
realiza una vez que se ha obtenido acceso a la red interna. En una red Windows, esto
se puede hacer manipulando el protocolo de Bloque de Mensajes del Servidor (SMB),
que utiliza el puerto TCP 445. La figura 3-12 ilustra el funcionamiento de una
implementación típica de SMB.
Figura 3-12 Ilustración de mensaje para pymes

78
La información contenida en las respuestas a estos mensajes le permite revelar
información sobre el servidor:
 SMB_COM_NEGOTIATE: Este mensaje permite al cliente indicar al servidor qué
protocolos, flags y opciones desea utilizar. La respuesta del servidor también es un
mensaje SMB_COM_NEGOTIATE. Esta respuesta se reenvía al cliente indicando sus
preferencias de protocolos, flags y opciones. Esta información se puede configurar
en el propio servidor. Una configuración incorrecta a veces revela información útil
para las pruebas de penetración. Por ejemplo, el servidor podría estar configurado
para permitir mensajes sin firma. Se puede determinar si el servidor utiliza
mecanismos de autenticación a nivel de recurso compartido o de usuario y si
permite contraseñas en texto plano. La respuesta del servidor también
proporciona información adicional, como la hora y la zona horaria. Esta
información es esencial para muchas tareas de pruebas de penetración.
 SMB_COM_SESSION_SETUP_ANDX : Una vez que el cliente y el servidor han
acordado los protocolos, indicadores y opciones que utilizarán para la
comunicación, comienza el proceso de autenticación. La autenticación es la función
principal del mensaje SMB_COM_SESSION_SETUP_ANDX. La información que
contiene incluye el nombre de usuario, la contraseña y el dominio del cliente. Si
esta información no está cifrada, es fácil interceptarla en la red. Incluso si está
cifrada, si el mecanismo utilizado no es suficiente, la información puede ser
descifrada mediante herramientas como Lanman y NTLM en el caso de
implementaciones de Microsoft Windows. El siguiente ejemplo muestra el uso de
este mensaje con el script [Link]:
nmap --script [Link] <host>
El ejemplo 3-24 muestra los resultados del script `smb-enum-users` de Nmap
ejecutado contra el objetivo [Link]. Como se puede observar, los resultados
indican que el script logró enumerar los usuarios configurados en este sistema
Windows. La línea resaltada muestra el usuario enumerado por Nmap (derek).
Ejemplo 3-24 - Enumerando usuarios de SMB
|--[root@websploit]--[~]
|--- # nmap -- script [Link] [Link]
Iniciando Nmap 7.91 ([Link] ) el 22/06/2021 a las 11:14 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,012 s).
79
No se muestran: 992 puertos cerrados
SERVICIO DEL ESTADO PORTUARIO
22/tcp abierto ssh
80/tcp abierto http
139/ tcp abierto netbios-ssn
445/ tcp abierto microsoft-ds
3306/tcp abierto mysql
8888/tcp abierto sol -libro de respuestas
9000/tcp abierto cslistener
9090/tcp abierto zeus -admin
Resultados del script del host:
| smb-enum-users:
| VULNHOST-1\derek (RID: 1000)
| Nombre completo:
| Descripción:
|_ Banderas: Cuenta de usuario normal
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,81 segundos

Enumeración de grupos
Para un analista de seguridad, la enumeración de grupos es útil para determinar los
roles de autorización que se utilizan en el entorno objetivo. El script Nmap NSE para
enumerar grupos SMB es `smb-enum-groups`. Este script intenta obtener una lista de
grupos de una máquina Windows remota. También permite visualizar la lista de
usuarios que son miembros de dichos grupos. La sintaxis del comando es la siguiente:
nmap --script [Link] -p445 <host>
El ejemplo 3-25 muestra una salida de muestra de este comando ejecutado en el
servidor Windows en [Link]. Este ejemplo utiliza credenciales conocidas para
recopilar información.
Ejemplo 3-25 - Enumeración de grupos SMB
|--[root@websploit]--[~]
|--- # nmap --script [Link] --script-args smbusername=
vagrant,smbpass =vagrant [Link]
A partir de Nmap 7.91 ( [Link] )
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0062 s).
No se muestran: 979 puertos cerrados
SERVICIO DEL ESTADO PORTUARIO
22/tcp abierto ssh
135/tcp abierto msrpc
139/tcp abierto netbios -ssn
445/tcp abierto microsoft -ds
3306/ tcp abierto mysql
3389/ tcp abierto ms-wbt-server
Dirección MAC: 08:00:27:1B:A4 :60 (NIC virtual de Oracle VirtualBox)
Resultados del script del host:

80
| grupos de enumeración smb:
| Administradores integrados (RID: 544): Administrador, vagrant, servidor sshd
| Usuarios integrados (RID: 545): vagrant, sshd, sshd_server, leia_organa,
luke_skywalker, han_solo, artoo_detoo, c_tres_pio, ben_kenobi, darth_
vader, anakin_skywalker, jarjar_binks, lando_calrissian, boba_fett,
jabba_hutt, greedo, Chewbacca, kylo_ren
| Invitados integrados (RID: 546): Invitado, ben_kenobi
| Usuarios avanzados integrados (RID: 547): boba_fett
| Operadores de impresión integrados (RID: 550): jabba_hutt
| Operadores de copia de seguridad integrados (RID: 551): leia_organa
| Replicador integrado (RID: 552): chewbacca
| Usuarios de Escritorio Remoto Integrado (RID: 555): greedo
| Operadores de configuración de red integrados (RID: 556): anakin_skywalker
| Usuarios del monitor de rendimiento integrado (RID: 558): lando_calrissian
| Usuarios del registro de rendimiento integrado (RID: 559): jarjar_binks
| Usuarios COM integrados/distribuidos (RID: 562): artoo_detoo
| Integrado\IIS_IUSRS (RID: 568): darth_vader
| Operadores criptográficos integrados (RID: 569): han_solo
| Lectores de registro de eventos integrados (RID: 573): c_three_pio
| Acceso DCOM al servicio de certificados integrado (RID: 574): luke_skywalker
|_ VAGRANT-2008R2\WinRMRemoteWMIUsers__ (RID: 1003): <vacío>
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,81 segundos
|--[root@websploit]--[~]
|--- #
La salida resaltada en el Ejemplo 3-25 muestra los grupos y usuarios enumerados en el
host de destino. En Windows, el identificador relativo (RID) es un número de longitud
variable asignado a los objetos y forma parte del identificador de seguridad (SID) del
objeto, que identifica de forma unívoca una cuenta o un grupo dentro de un dominio.
Para obtener más información sobre los distintos números RID, consulte
[Link]
identifiers-in-windows .
Enumeración de recursos compartidos de red
Identificar los sistemas de una red que comparten archivos, carpetas e impresoras
resulta útil para determinar la superficie de ataque de una red interna. El script Nmap
smb-enum-shares NSE utiliza la llamada a procedimiento remoto de Microsoft
(MSRPC) para la enumeración de recursos compartidos de red. La sintaxis del script
Nmap [Link] es la siguiente:
nmap --script [Link] -p 445 <host>
El ejemplo 3-26 muestra la enumeración de los recursos compartidos SMB.
Ejemplo 3-26 - Enumeración de recursos compartidos SMB
|--[root@websploit]--[~]
|--- # nmap --script [Link] -p 445 [Link]
Iniciando Nmap 7.91 ([Link] ) el 22/06/2021 a las 11:27 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0011 s).
SERVICIO DEL ESTADO PORTUARIO
445/tcp abierto microsoft -ds

81
Resultados del script del host:
| smb-enum-shares:
| Cuenta utilizada: invitado
| \\[Link]\IPC$:
| Tipo: STYPE_IPC_HIDDEN
| Comentario: Servicio IPC (Samba 4.9.5-Debian)
Usuarios: 1
| Usuarios máximos: <ilimitado>
| Ruta: C:\tmp
| Acceso anónimo: LECTURA/ESCRITURA
| Acceso del usuario actual: LECTURA/ESCRITURA
| \\[Link]\print$:
| Tipo: STYPE_DISKTREE
| Comentario: Controladores de impresora
Usuarios: 0
| Usuarios máximos: <ilimitado>
| Ruta: C:\var\lib\samba\printers
| Acceso anónimo: <ninguno>
| Acceso del usuario actual: <ninguno>
| \\[Link]\carpeta_secreta:
| Tipo: STYPE_DISKTREE
| Comentario: Información extremadamente sensible
Usuarios: 0
| Usuarios máximos: <ilimitado>
| Ruta: C:\carpeta_secreta
| Acceso anónimo: <ninguno>
|_ Acceso del usuario actual: <ninguno>
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 0,39 segundos
|--[root@websploit]--[~]
|--- #
Ejemplos adicionales de enumeración SMB
El sistema utilizado en ejemplos anteriores (con la dirección IP [Link]) ejecuta
Linux y Samba. Sin embargo, no es fácil determinar que se trata de un sistema Linux a
partir de los resultados de escaneos previos. Una forma sencilla de realizar una
enumeración y un análisis más exhaustivos de las aplicaciones y el sistema operativo
que se ejecutan en un host es mediante el comando `nmap -sC`. La opción `-sC` ejecuta
los scripts NSE más comunes según los puertos que se encuentren abiertos en el
sistema objetivo.
NOTA: Puede localizar los scripts NSE instalados en Kali Linux y Parrot OS simplemente
usando el comando `locate *.nse`. El sitio web [Link]
incluye una explicación detallada de NSE y cómo crear nuevos scripts usando el
lenguaje de programación Lua.
El ejemplo 3-27 muestra la salida del comando nmap -sC lanzado contra el sistema
Linux en [Link], que está ejecutando Samba.
Ejemplo 3-27 - Ejecutar los scripts predeterminados de Nmap NSE
|--[root@websploit]--[~]
|--- # nmap -sC [Link]

82
Iniciando Nmap 7.80 ([Link] ) el 21/06/2021 a las 17:38 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,00011 s).
No se muestran: 992 puertos cerrados
SERVICIO DEL ESTADO PORTUARIO
22/tcp abierto ssh
| clave de host ssh:
| 2048 d0:0 c:83:4 d:7f:84:2c:60:96:9f:df:26:da:d2:11:9a (RSA)
| 256 y 2:aa :69:ab:a3:e6:0f:13:c5:5a:65:f2:d5:16:8c:3e (ECDSA)
| _ 256 21:4b:27:7b:6e:a6:d4:33:86:60:cb:39:3b:48:9c:0b (ED25519)
80/tcp abierto http
|_http-title: Caos de WebSploit
139/ tcp abierto netbios-ssn
445/ tcp abierto microsoft-ds
3306/tcp abierto mysql
| mysql-info:
| Protocolo: 10
| Versión: 5.5.47-0ubuntu0.14.04.1
| ID del hilo: 3
| Indicadores de capacidades: 63487
| Algunas capacidades: Cliente interactivo,
NoPermitirColumnaTablaBaseDeDatos, FilasEncontradas, IgnorarSigpipes,
Soporte para autenticación 41, Cliente ODBC, Conexión con base de datos,
Contraseña larga
Admite transacciones, ignora el espacio antes del paréntesis,
Speaks41ProtocolOld, Speaks41ProtocolNew, SupportsCompression,
Admite LoadDataLocal, LongColumnFlag, Admite múltiples resultados,
Admite múltiples declaraciones, admite complementos de autenticación
| Estado: Confirmación automática
| Sal: b_60.4ZH= 52:l 5ajmhBP
| _ Nombre del plugin de autenticación: mysql_native_password
8888/tcp abierto sol -libro de respuestas
9000/tcp abierto cslistener
9090/tcp abierto zeus -admin
Dirección MAC: 1E:BD:4 F:AA :C6:BA (Desconocida)
Resultados del script del host:
|_sesgo del reloj: media: 17 s, desviación: 0 s, mediana: 17 s
|_nbstat: Nombre NetBIOS: VULNHOST-1, Usuario NetBIOS: <desconocido>, NetBIOS
MAC: <desconocido> (desconocido)
| smb-os-discovery:
| SO: Windows 6.1 (Samba 4.9.5-Debian)
| Nombre del equipo: vulnhost-1
| Nombre del equipo NetBIOS: VULNHOST-1\x00
| Nombre de dominio: [Link]
| Nombre de dominio completo (FQDN): [Link]
| _ Hora del sistema: 2022-06-21T21:38:40+00:00
| modo de seguridad smb:

83
| Cuenta utilizada: invitado
| nivel_de_autenticación: usuario
| respuesta_al_desafío: compatible
| _ firma de mensajes: desactivada (peligrosa, pero predeterminada)
| modo de seguridad smb2:
| 2.02:
|_ La firma de mensajes está habilitada, pero no es obligatoria.
| smb2-time:
| Fecha: 21/06/2021 21:38:40
| _ fecha de inicio: N/A
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 28,77 segundos
|--[root@websploit]--[~]
|--- #
Las líneas resaltadas en el Ejemplo 3-27 muestran detalles sobre la versión de
Samba que se ejecuta en el sistema (Samba versión 4.9.5). También se
observa que, si bien el sistema operativo está marcado como Windows 6.1, el
sistema operativo correcto es Debian. El Ejemplo 3-28 muestra la salida del
comando `samba -V` en el sistema objetivo (vulnhost-1), lo que confirma que el
escáner pudo determinar la versión correcta de Samba.
Ejemplo 3-28 - Confirmación de los resultados del escaneo en el sistema de
destino
omar@vulnhost- 1:~ $ sudo samba -V
Versión 4.9.5-Debian
omar@vulnhost- 1:~ $

También puede usar herramientas como enum4linux para enumerar los recursos
compartidos de Samba, incluidas las cuentas de usuario, los recursos compartidos y
otras configuraciones. El ejemplo 3-29 muestra la salida de la herramienta
enum4linux después de ejecutarla en el sistema de destino ([Link]).
Ejemplo 3-29 - Enumeración de información adicional mediante enum4linux
|-- [root@websploit]--[~]
|--- # enum4linux [Link]
Iniciando enum4linux v0.8.9 ( [Link] )
==========================
| Información del objetivo |
==========================
Objetivo........... [Link]
Rango RID ........ 500-550, 1000-1050
Nombre de usuario ......... ''
Contraseña ......... ''
Nombres de usuario conocidos : administrador, invitado, krbtgt, administradores de
dominio, root, bin, ninguno
======================================================
| Enumerando el grupo de trabajo/dominio en [Link] |
======================================================
[+] Se obtuvo el nombre del dominio/grupo de trabajo: WORKGROUP

84
==============================================
| Información Nbtstat para [Link] |
==============================================
Consultando el estado de [Link]
VULNHOST-1 <00> - B <ACTIVO> Servicio de estación de trabajo
VULNHOST-1 <03> - B <ACTIVO> Servicio de mensajería
VULNHOST-1 <20> - B <ACTIVO> Servicio de servidor de archivos
.. __MSBROWSE__. <01> - <GRUPO> B <ACTIVO> Navegador Maestro
GRUPO DE TRABAJO <00> - <GRUPO> B <ACTIVO> Nombre de dominio /grupo de
trabajo
GRUPO DE TRABAJO <1d> - B <ACTIVO> Navegador maestro
GRUPO DE TRABAJO <1e> - <GRUPO> B <ACTIVO> Servicio de navegador
Elecciones
Dirección MAC = 00-00-00-00-00-00
=======================================
| Comprobación de sesión en [Link] |
=======================================
[+] El servidor [Link] permite sesiones con nombre de usuario '', contraseña
''
=============================================
| Obteniendo el SID del dominio para [Link] |
=============================================
Nombre de dominio: GRUPO DE TRABAJO
SID de dominio: (SID nulo)
[+] No se puede determinar si el host forma parte de un dominio o de un grupo de
trabajo.
========================================
| Información del sistema operativo en [Link] |
========================================
Uso de valor no inicializado $os_info en concatenación (.) o cadena en
./[Link] línea 464.
[+] Se obtuvo información del sistema operativo para [Link] desde
smbclient:
[+] Se obtuvo información del sistema operativo para [Link] desde srvinfo:
VULNHOST-1 Semana Sv PrQ Unx NT SNT Samba 4.9.5-Debian
id_plataforma : 500
Versión del sistema operativo : 6.1
Tipo de servidor : 0x809a03
===============================
| Usuarios en [Link] |
===============================
Índice: 0x1 RID: 0x3e8 acb: 0x00000010 Cuenta: derek Nombre: Descripción:
Usuario:[ derek] rid:[0x3e8]
===========================================
| Compartir enumeración en [Link] |
===========================================
Compartir Tipo Comentario

85
--------- ---- -------
imprimir$ Controladores de impresora de disco
Carpeta secreta Disco Información extremadamente sensible
Servicio IPC$ IPC (Samba 4.9.5-Debian)
SMB1 deshabilitado: no hay ningún grupo de trabajo disponible.
[+] Intentando mapear las acciones en [Link]
//[Link]/print$ Mapeo: DENEGADO, Listado: N/A
//[Link]/secret_folder Mapeo: DENEGADO, Listado: N/A
======================================================
| Información sobre la política de contraseñas para [Link] |
======================================================
[+] Conectando a [Link] usando un recurso compartido nulo
[+] Intentando con el protocolo 139/SMB...
[+] Dominios encontrados:
[+] VOLNHOST-1
[+] Integrado
[+] Información de contraseña para el dominio: VULNHOST-1
[+] Longitud mínima de la contraseña: 5
[+] Longitud del historial de contraseñas: Ninguna
[+] Antigüedad máxima de la contraseña: 37 días, 6 horas y 21 minutos
[+] Indicadores de complejidad de contraseña: 000000
[+] Dominio rechaza cambio de contraseña: 0
[+] Almacén de contraseñas de dominio en texto plano: 0
[+] Administradores de bloqueo de contraseña de dominio: 0
[+] Contraseña de dominio sin borrar cambios: 0
[+] Contraseña del dominio Sin cambio anónimo: 0
[+] Complejidad de la contraseña del dominio: 0
[+] Antigüedad mínima de la contraseña: Ninguna
[+] Restablecer contador de bloqueo de cuenta: 30 minutos
[+] Duración del bloqueo de la cuenta: 30 minutos
[+] Umbral de bloqueo de cuenta: Ninguno
[+] Tiempo de cierre de sesión forzado: 37 días, 6 horas y 21 minutos
[+] Se recuperó una política de contraseñas parcial con rpcclient:
Complejidad de la contraseña: Desactivada
Longitud mínima de la contraseña: 5
================================
| Grupos en [Link] |
================================
[+] Obtener grupos integrados:
[+] Obtener membresías de grupo integradas:
[+] Conseguir grupos locales:
[+] Cómo obtener membresías de grupos locales:
[+] Obtención de grupos de dominios:
[+] Obtener membresías de grupos de dominio:
=======================================================
| Usuarios en [Link] a través de ciclismo RID (RIDS: 500-550, 1000-1050) |
=======================================================

86
[I] Encontré un nuevo SID: S-1-22-1
[I] Se encontró un nuevo SID: S-1-5-21-2226316658-154127331-1048156596
[I] Encontré un nuevo SID: S-1-5-32
[+] Enumerando usuarios que utilizan el SID S-1-5-21-2226316658-154127331-
1048156596 y nombre de usuario de inicio de sesión '', contraseña ''
<salida omitida por brevedad>
S-1-5-21-2226316658-154127331-1048156596-501 VULNHOST-1\nadie (Usuario
local)
S-1-5-21-2226316658-154127331-1048156596-513 VULNHOST-1\None (Grupo de
dominio)
S-1-5-21-2226316658-154127331-1048156596-1000 VULNHOST-1\derek (Usuario
local)
<salida omitida por brevedad>
[+] Enumerando usuarios usando el SID S-1-22-1 y nombre de usuario '', contraseña ''
S-1-22-1-1000 Usuario Unix\omar (Usuario local)
S-1-22-1-1001 Usuario Unix\derek (Usuario local)
[+] Enumerando usuarios usando el SID S-1-5-32 y nombre de usuario '', contraseña ''
<salida omitida por brevedad>
=================================================
| Obteniendo información de la impresora para [Link] |
=================================================
No se devolvió ninguna impresora.
|--[root@websploit]--[~]
|--- #
Existe una implementación de enum4linux basada en Python llamada enum4linux-ng
que se puede descargar desde [Link] .
El ejemplo 3-30 muestra un ejemplo de enumeración SMB utilizando enum4linux-ng.
Ejemplo 3-30 - Enumeración usando enum4linux-ng
|--[root@websploit]--[~/enum4linux-ng]
|--- # . /[Link] -As [Link]
ENUM4LINUX - próxima generación
==========================
| Información del objetivo |
==========================
[*] Objetivo ........... [Link]
[*] Nombre de usuario ......... ''
[*] Nombre de usuario aleatorio .. 'opaftohf'
[*] Contraseña ......... ''
[*] Tiempo de espera .......... 5 segundos
======================================
| Escaneo de servicio en [Link] |
======================================
[*] Comprobando LDAP
[-] No se pudo conectar con LDAP en el puerto 389/tcp: conexión rechazada.
[*] Comprobando LDAPS
[-] No se pudo conectar a LDAPS en el puerto 636/tcp: conexión rechazada

87
[*] Comprobando SMB
[+] SMB es accesible en el puerto 445/tcp
[*] Comprobando SMB a través de NetBIOS
[+] SMB sobre NetBIOS es accesible en el puerto 139/tcp
===========================================
| Comprobación del dialecto SMB en [Link] |
===========================================
[*] Comprobar la presencia de SMBv1 heredado en el puerto 445/tcp
[+] El servidor admite dialectos superiores a SMBv1
===========================================
| Comprobación de sesión RPC en [Link] |
===========================================
[*] Comprobar sesión nula
[+] El servidor permite sesiones con nombre de usuario '', contraseña ''
[*] Comprobar sesión de usuario aleatoria
[+] El servidor permite sesiones con el nombre de usuario 'opaftohf' y la contraseña ''
[H] Volver a ejecutar la enumeración con el usuario 'opaftohf' podría dar más
resultados.
=====================================================
| Información del dominio vía RPC para [Link] |
=====================================================
[+] Dominio: GRUPO DE TRABAJO
[+] SID: SID NULO
[+] El host forma parte de un grupo de trabajo (no de un dominio).
================================================
| Información del sistema operativo vía RPC en [Link] |
================================================
[+] Se encontró la siguiente información del sistema operativo:
server_type_string = Wk Sv PrQ Unx NT SNT Samba 4.9.5-Debian
id_plataforma = 500
versión_del_sistema_operativo = 6.1
tipo_servidor = 0x809a03
sistema operativo = Linux/Unix (Samba 4.9.5-Debian)
=======================================
| Usuarios vía RPC en [Link] |
=======================================
[*] Enumeración de usuarios mediante 'querydispinfo'
[+] Se encontraron 2 usuarios mediante 'querydispinfo'
[*] Enumeración de usuarios mediante 'enumdomusers'
[+] Se encontraron 2 usuarios a través de 'enumdomusers'
[+] Tras combinar los resultados de los usuarios, tenemos un total de 2 usuarios:
'1000':
Nombre de usuario: Derek
nombre: ''

88
acb: '0x00000010'
descripción: ''
'1001':
Nombre de usuario: Omar
nombre: ''
acb: '0x00000010'
descripción: ''
========================================
| Grupos vía RPC en [Link] |
========================================
[*] Enumeración de grupos locales
[+] Se encontraron 0 grupos a través del dominio 'enumalsgroups'
[*] Enumerando grupos integrados
[+] Se encontraron 0 grupos mediante 'enumalsgroups builtin'
[*] Enumerando grupos de dominio
[+] Se encontraron 0 grupos mediante 'enumdomgroups'
========================================
| Acciones vía RPC en [Link] |
========================================
[*] Enumeración de acciones
[+] Se encontraron 3 acciones:
IPC$:
Comentario: Servicio IPC (Samba 4.9.5-Debian)
Tipo: IPC
imprimir$:
Comentario: Controladores de impresora
Tipo: Disco
carpeta_secreta:
Comentario: Información extremadamente sensible.
Tipo: Disco
[*] Probando la participación IPC$
[-] No se pudo comprobar el recurso compartido:
STATUS_OBJECT_NAME_NOT_FOUND
[*] Probando imprimir acciones
[+] Mapeo: DENEGADO, Listado: N/A
[*] Probando la carpeta secreta compartida
[+] Mapeo: DENEGADO, Listado: N/A
===========================================
| Políticas vía RPC para [Link] |
===========================================
[*] Intentando con el puerto 445/tcp
[+] Política encontrada:
información de contraseña del dominio:
longitud_historial_pw: Ninguna

89
longitud_mínima_contraseña: 5
edad mínima de contraseña: ninguna
edad máxima de contraseña: 49710 días, 6 horas y 21 minutos
propiedades_pw:
- DOMAIN_PASSWORD_COMPLEX: false
- DOMAIN_PASSWORD_NO_ANON_CHANGE: false
- DOMAIN_PASSWORD_NO_CLEAR_CHANGE: false
- DOMAIN_PASSWORD_LOCKOUT_ADMINS: false
- DOMAIN_PASSWORD_PASSWORD_STORE_CLEARTEXT: false
- DOMAIN_PASSWORD_REFUSE_PASSWORD_CHANGE: false
información_de_bloqueo_de_dominio:
ventana de observación de bloqueo: 30 minutos
duración del bloqueo: 30 minutos
umbral_de_bloqueo: Ninguno
información de cierre de sesión del dominio:
tiempo de cierre de sesión forzado: 49710 días, 6 horas y 21 minutos
===========================================
| Impresoras vía RPC para [Link] |
===========================================
[+] No se ha detectado ninguna impresora (esto no es un error)
Completado tras 0,70 segundos
|--[root@websploit]--[~/enum4linux-ng]
|--- #
Las líneas resaltadas en el Ejemplo 3-30 muestran los usuarios enumerados, la versión
de Samba y las carpetas compartidas. También puede usar herramientas sencillas
como smbclient para enumerar los recursos compartidos y otra información de un
sistema que ejecuta SMB, como se muestra en el Ejemplo 3-31.
Ejemplo 3-31 - Enumeración usando smbclient
|--[root@websploit]
|--- #smbclient -L \\\[Link]
Compartir Tipo Comentario
--------- ---- -------
imprimir$ Controladores de impresora de disco
Carpeta secreta Disco Información extremadamente sensible
Servicio IPC$ IPC (Samba 4.9.5-Debian)
SMB1 deshabilitado: no hay ningún grupo de trabajo disponible.
|--[root@websploit]--[~/enum4linux-ng]
|--- #
Enumeración de páginas web/Enumeración de aplicaciones web
Una vez identificado un servidor web en ejecución en un host objetivo, el siguiente
paso es examinar la aplicación web y comenzar a mapear la superficie de ataque
mediante la enumeración de páginas web, también conocida como enumeración de
aplicaciones web. Existen varias maneras de mapear la superficie de ataque de una
aplicación web. La útil herramienta Nmap incluye un script NSE para realizar ataques
de fuerza bruta a las rutas de directorios y archivos de las aplicaciones web. Con una

90
lista de archivos y directorios comunes utilizados por aplicaciones web, Nmap sondea
el servidor en busca de cada elemento de la lista. Según la respuesta del servidor,
puede determinar si esas rutas existen. Esto resulta útil para identificar elementos
como la página de administración predeterminada de Apache o Tomcat, que suelen
permanecer en los servidores web y pueden ser posibles vías de ataque. La sintaxis del
script NSE http-enum es la siguiente:
nmap -sV --script=http-enum <objetivo>
El ejemplo 3-32 muestra los resultados de ejecutar este script contra el host con la
dirección IP [Link].
Ejemplo 3-32 - Ejemplo de salida del script http-enum de Nmap
|--[root@websploit]--[~]
|--- #nmap -sV --script=http-enum -p 80 [Link]
Iniciando Nmap 7.91 ([Link] ) el 22/06/2021 a las 11:53 EDT
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0011 s).
VERSIÓN DEL SERVICIO DE ESTADO DEL PUERTO
Puerto 80/tcp abierto http nginx 1.17.2
| enumeración http:
| /admin/: Posible carpeta de administrador
| /admin/[Link]: Posible carpeta de administración
| _ / s/: Carpeta potencialmente interesante
|_http-server-header: nginx/1.17.2
Se ha realizado la detección del servicio. Por favor, informe de cualquier resultado
incorrecto en
[Link] .
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 8,54 segundos
|--[root@websploit]--[~]
|--- #
La salida resaltada en el Ejemplo 3-32 muestra varios directorios/carpetas enumerados
y la versión del servidor web utilizado (Nginx 1.17.2). Este es un buen punto de partida
para atacar una aplicación web.
Otra herramienta de enumeración de servidores web que debemos mencionar es
Nikto. Nikto es un escáner de vulnerabilidades web de código abierto con una larga
trayectoria. Si bien no es tan robusto como los escáneres comerciales, resulta muy útil
para ejecutar rápidamente un script que enumere información sobre un servidor web
y las aplicaciones que aloja. Debido a la velocidad con la que Nikto escanea un servidor
web, genera mucho ruido. Ofrece diversas opciones de escaneo, incluyendo la
capacidad de autenticarse en una aplicación web que requiere nombre de usuario y
contraseña. El Ejemplo 3-33 muestra el resultado de un escaneo de Nikto ejecutado en
el mismo host que en el Ejemplo 3-32 ([Link]). El resultado del Ejemplo 3-33
es similar al del script de Nmap utilizado en el Ejemplo 3-32.
Ejemplo 3-33: Muestra de escaneo Nikto
|--[root@websploit]--[~]
|--- #nikto -h [Link]

91
- Nikto v2.1.6
-----------------------------------------------------------------------
+ IP de destino: [Link]
+ Nombre de host de destino: [Link]
+ Puerto de destino: 80
-----------------------------------------------------------------------
+ Servidor: nginx/1.17.2
+ No está presente el encabezado X-Frame-Options anti-clickjacking.
+ No está presente el encabezado X-Frame-Options anti-clickjacking.
+ La cabecera X-XSS-Protection no está definida. Esta cabecera puede indicar
el agente de usuario para proteger contra algunas formas de XSS
+ No se ha configurado la cabecera X-Content-Type-Options. Esto podría permitir
agente de usuario para renderizar el contenido del sitio de una manera diferente
al tipo MIME
No se encontraron directorios CGI (use '-C all' para forzar la comprobación de todos
los posibles).
dirs)
+ OSVDB-3092: /admin/: Esto podría ser interesante...
+ /admin/[Link]: Se encontró la página/sección de inicio de sesión de
administrador.
+ /wp-admin/: Se ha encontrado la página/sección de inicio de sesión de
administrador.
+ /wp-login/: Se ha encontrado la página/sección de inicio de sesión de
administrador.
+ 7916 solicitudes: 0 errores y 7 elementos reportados en el host remoto
+ Hora de finalización: 22/06/2021 11:57:59 (GMT-4) (15 segundos)
---------------------------------------------------------------------------
+ 1 host(s) probado(s)
|--[root@websploit]--[~]
|--- #
CONSEJO: Ninguna herramienta es perfecta. Se recomienda familiarizarse con el
comportamiento y los resultados de las diferentes herramientas. El módulo 10 abarca
varias herramientas adicionales que pueden utilizarse para la enumeración y el
reconocimiento.
Enumeración de servicios
La enumeración de servicios es el proceso de identificar los servicios que se ejecutan
en un sistema remoto, y es una función principal de Nmap como escáner de puertos.
En este módulo se explicaron los distintos tipos de escaneo y cómo se pueden usar
para eludir filtros. Al conectarse a un sistema en un segmento de red directamente
conectado, se pueden ejecutar scripts adicionales para una enumeración más
exhaustiva. Un escaneo de puertos se realiza desde la perspectiva de un usuario
remoto con credenciales. El script NSE `smb-enum-processes` de Nmap enumera los
servicios en un sistema Windows, utilizando las credenciales de un usuario con acceso
para consultar el estado de los servicios en ejecución. Esta es una herramienta útil para

92
consultar remotamente un sistema Windows y determinar la lista exacta de servicios
en ejecución. La sintaxis del comando es la siguiente:
nmap --script [Link] --script-args smbusername=<nombre de
usuario>, smbpass=<contraseña> -p445 <host>
Explorando la enumeración mediante la creación de paquetes
En lo que respecta a la enumeración mediante la creación y generación de paquetes,
Scapy es una de las herramientas y marcos de trabajo favoritos de los pentesters.
Scapy es un ecosistema o marco de trabajo muy completo basado en Python para la
generación de paquetes. Esta sección examina algunas formas sencillas de usar esta
herramienta para realizar un reconocimiento de red básico.
NOTA: Scapy debe ejecutarse con permisos de administrador para poder modificar
paquetes.
Iniciar el shell interactivo Scapy es tan fácil como escribir sudo scapy desde una
ventana de terminal, como se ilustra en la Figura 3-13.
Figura 3-13 - Iniciar Scapy desde la línea de comandos

El ejemplo 3-34 muestra la facilidad para comenzar a crear paquetes. En este ejemplo,
se crea un paquete ICMP simple con la carga útil `maliciosa_payload` como contenido,
que se envía al host de destino [Link].
Ejemplo 3-34 - Creación de un paquete ICMP simple usando Scapy
>>> enviar( IP(dst="[Link]")/ICMP()/"malicious_payload")
.
Se envió 1 paquete.
El ejemplo 3-35 muestra el paquete ICMP recibido por el sistema objetivo
([Link]/vulnhost-1). Se utilizó la herramienta de captura de paquetes tshark
para capturar el paquete ICMP manipulado.

93
Ejemplo 3-35 - Recopilación de un paquete manipulado mediante tshark
omar@vulnhost-1 ~ % sudo tshark host [Link]
Capturando en 'eth0'
1 0.000000000 [Link] ? [Link] ICMP 60 Solicitud de eco (ping) id
=0x0000, seq=0/0, ttl=63
2 0.000026929 [Link] ? [Link] ICMP 59 Echo (ping) respuesta
id=0x0000, seq=0/0, ttl=64 (solicitud en 1)
Scapy admite una gran cantidad de protocolos. Puede usar la función ls( ) para listar
todos los formatos y protocolos disponibles, como se muestra en el Ejemplo 3-36.
Ejemplo 3-36 - La función ls( ) de Scapy
>>> ls( )
AH : AH
AKMSuite : Suite AKM
ARP : ARP
ASN1P_ ENTERO : Ninguno
ASN1P_ OID: Ninguno
ASN1P_ PRIVSEQ: Ninguno
Paquete ASN1_ : Ninguno
ATT_Error_ Respuesta: Respuesta de error
ATT_Exchange_MTU_ : Solicitud de MTU de intercambio
ATT_Exchange_MTU_ : Respuesta MTU de intercambio
ATT_Execute_Write_ : Solicitud de ejecución de escritura
ATT_Execute_Write_ : Respuesta de ejecución de escritura
ATT_Find_By_Type_Value_ : Solicitud de búsqueda por valor de tipo
ATT_Find_By_Type_Value_ : Respuesta de búsqueda por valor de tipo
búsqueda de información ATT : Solicitud de búsqueda de información
ATT_Find_Information_ : Respuesta de búsqueda de información
ATT_ : Mango corto ATT
ATT_Handle_UUID 128: Identificador ATT (UUID 128)
de valor de identificador ATT : Indicación de valor de identificador
ATT_Handle_Value_ : Notificación de valor de identificador
ATT_Handle_ : Ninguna
ATT_Hdr : Encabezado ATT
ATT_Prepare_Write_ : Preparar solicitud de escritura
<salida omitida por brevedad>
Puede utilizar la función ls( ) para mostrar todas las opciones y campos de un protocolo
o formato de paquete específico compatible con Scapy, como se muestra en el
Ejemplo 3-37. Este ejemplo muestra los campos disponibles para el protocolo TCP.
Ejemplo 3-37 - Listado de los campos de la capa 4 de TCP en Scapy
>>> ls( TCP)
deporte : ShortEnumField = (20)
dport : ShortEnumField = (80)
secuencia : CampoInt = (0)
reconocimiento : IntField = (0)

94
dataofs : BitField (4 bits) = (None)
reservado : BitField (3 bits) = (0)
banderas : CampoBanderas (9 bits) = (<Bandera 2 (S)>)
ventana : ShortField = (8192)
chksum : XShortField = (None)
urgptr : Campo corto = (0)
opciones : TCPOptionsField = (b'')
El ejemplo 3-38 muestra los campos del paquete DNS que pueden ser modificados por
Scapy.
Ejemplo 3-38 - Listado de los campos disponibles en un paquete DNS en Scapy
>>> ls( DNS)
longitud : ShortField (Cond) = (Ninguno)
id : ShortField = (0)
qr : Campo de bits (1 bit) = (0)
opcode : BitEnumField (4 bits) = (0)
aa : Campo de bits (1 bit) = (0)
tc : Campo de bits (1 bit) = (0)
rd : Campo de bits (1 bit) = (1)
ra : Campo de bits (1 bit) = (0)
z : Campo de bits (1 bit) = (0)
anuncio : BitField (1 bit) = (0)
cd : Campo de bits (1 bit) = (0)
rcode : BitEnumField (4 bits) = (0)
qdcount : DNSRRCountField = (Ninguno)
ancount : DNSRRCountField = (Ninguno)
nscount : DNSRRCountField = (Ninguno)
arcount : DNSRRCountField = (Ninguno)
qd : DNSQRField = (Ninguno)
un : DNSRRField = (Ninguno)
ns : DNSRRField = (Ninguno)
ar : DNSRRField = (Ninguno)
Puede usar la función explore( ) para navegar por las capas y protocolos de Scapy. Tras
ejecutar la función explore( ), se mostrará la pantalla de la Figura 3-14.
Figura 3-14 - Uso de la función explore( ) en Scapy

95
Puedes usar la función explore( ) con cualquier formato de paquete o protocolo. El
ejemplo 3-39 muestra los paquetes contenidos en [Link] usando la función
explore("dns").
Ejemplo 3-39 - Uso de la función explore("dns") para mostrar los tipos de paquetes en
scapy. [Link]
>>> explorar("dns")
Paquetes contenidos en [Link]:
Clase | Nombre
---------------------------|------------------------------
DNS |DNS
DNSQR | Registro de preguntas DNS
DNSRR | Registro de recursos DNS
DNSRRDLV | Registro de recursos DNS DLV
Registro de recursos DNSRRDNSKEY | DNS DNSKEY
DNSRRDS | Registro de recursos DNS DS
DNSRRMX | Registro de recursos DNS MX
DNSRRNSEC | Registro de recursos DNS NSEC
DNSRRNSEC3 | Registro de recursos DNS NSEC3
DNSRRNSEC3PARAM | Registro de recursos DNS NSEC3PARAM
DNSRROPT | Registro de recursos DNS OPT
DNSRRRSIG | Registro de recursos DNS RRSIG
DNSRRSOA | Registro de recursos SOA de DNS
DNSRRSRV | Registro de recursos DNS SRV
DNSRRTSIG |Registro de recursos DNS TSIG
EDNS0TLV |DNS EDNS0 TLV
HeredarOriginDNSStrPacket|

96
Puedes usar Scapy como escáner de muchas maneras diferentes. Omar Santos tiene
varios ejemplos de scripts de Python para realizar escaneos de red y sistema con Scapy
en su repositorio de GitHub; consulta
[Link] .
Sin embargo, puedes realizar un escaneo TCP SYN simple a cualquier puerto, como se
muestra en el Ejemplo 3-40. En este ejemplo, se envía un paquete SYN TCP al puerto
445 del host con la dirección IP [Link]. La salida indica que se recibió una
respuesta, pero no especifica cuál fue la respuesta.
Ejemplo 3-40 - Envío de un paquete TCP SYN usando Scapy
>>> ans, unans = sr( IP(dst='[Link]')/TCP(dport=445,flags='S'))
Inicio de la emisión:
Se ha enviado 1 paquete.
....*
Se recibieron 5 paquetes, se obtuvo 1 respuesta, quedan 0 paquetes.
>>>
El ejemplo 3-41 muestra la captura de paquetes en el host objetivo ([Link]).
Ejemplo 3-41 - Captura de paquetes TCP en el host de destino
omar@vulnhost-1 ~ % sudo tshark host [Link]
Ejecutándose como usuario "root" y grupo "root". Esto podría ser peligroso.
Capturando en 'eth0'
1 0.000000000 [Link] ? [Link] TCP 60 20 ? 445 [SYN] Seq=0
Win=8192 Len=0
2 0.000033735 [Link] ? [Link] TCP 58 445 ? 20 [SYN, ACK] Seq=0
Ack=1 Win=64240 Len=0 MSS=1460
3 0.001065273 [Link] ? [Link] TCP 60 20 ? 445 [RST] Seq=1 Win=0
Len=0
3.2.5 Práctica: Exploración de la enumeración mediante la creación de paquetes con
Scapy
¿Qué herramienta puede utilizar un atacante para generar paquetes modificados?
Nmap
Scapy
Herramienta Exif
Recon-ng
3.2.6 Laboratorio - Enumeración con Nmap
Tareas de soluciones de seguridad de Protego
Nmap es una herramienta clásica de reconocimiento activo para pentesters. Todo
pentester debería conocerla debido a su flexibilidad sin igual. Nmap es una
herramienta de línea de comandos, mientras que Zenmap es su versión con interfaz
gráfica. Si bien Zenmap reduce la importancia del conocimiento de las numerosas
opciones de Nmap, no reemplaza la fluidez en el uso de la línea de comandos.
Pronto comenzaremos a realizar reconocimiento activo en los sistemas de nuestro
cliente. Practiquen sus habilidades con Nmap en este laboratorio para que puedan
participar plenamente mientras nuestro equipo trabaja en el proyecto Pixel Paradise.
En este laboratorio, completarás los siguientes objetivos:

97
 Investiga Nmap
 Realizar escaneos básicos con Nmap

Por favor, responda a las siguientes preguntas después de haber completado el


laboratorio.
Prueba de habilidades
Construya el comando nmap que generó la salida que se muestra a continuación
seleccionando las opciones de los menús desplegables.
Iniciando Nmap 7.93 ([Link] ) el 10 de abril de 2023 a las 16:44 UTC
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,000098 s).
VERSIÓN DEL SERVICIO DE ESTADO DEL PUERTO
8888/tcp abierto http nginx 1.18.0
Se ha realizado la detección del servicio. Por favor, informe de cualquier resultado
incorrecto en [Link] .
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 6,39 segundos

Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.2.7 Inspección de paquetes e interceptación de comunicaciones
Como analista de seguridad informática, puede usar herramientas como Wireshark,
tshark y tcpdump para capturar paquetes y realizar inspecciones y análisis de tráfico.
Cualquier persona con experiencia en redes o seguridad ha utilizado estas
herramientas para capturar y analizar el tráfico de una red. Para un analista de
seguridad informática, estas herramientas son útiles para realizar reconocimiento
pasivo. Este tipo de reconocimiento requiere una conexión física o inalámbrica al
objetivo. Si le preocupa ser detectado, probablemente le convenga más intentar una
conexión inalámbrica, ya que no requiere estar dentro del edificio. A menudo, la red
inalámbrica de una empresa se extiende más allá de sus instalaciones físicas. Esto le
brinda al analista de seguridad informática la oportunidad de recopilar información
sobre el objetivo y posiblemente acceder a la red para analizar el tráfico. El módulo 5,
«Explotación de redes cableadas e inalámbricas», trata este tema en profundidad.
3.2.8 Práctica - Inspección de paquetes y escuchas ilegales
¿Qué herramientas se pueden utilizar para realizar reconocimiento pasivo? (Elija tres).
Nikto

98
Nmap
tshark
tcpdump
Wireshark
enumeración4linux
3.2.9 Laboratorio - Creación de paquetes con Scapy
Tareas de soluciones de seguridad de Protego
Scapy permite crear y enviar paquetes con los valores que se deseen en los campos de
datos del protocolo. Por ejemplo, se pueden crear paquetes con direcciones IP de
origen y destino, flags TCP, números de puerto y muchos otros valores que se
especifiquen. En Protego lo usamos constantemente.
Completa este laboratorio para aprender los conceptos básicos de Scapy. Después
podrás ayudarnos con nuestro reconocimiento activo de Pixel Paradise.
En este laboratorio, utilizará Scapy, una herramienta de manipulación de paquetes
basada en Python, para crear paquetes personalizados. Estos paquetes personalizados
se utilizarán para realizar reconocimiento en un sistema objetivo.
Parte 1: Investigar la herramienta Scapy.
Parte 2: Utilizar Scapy para analizar el tráfico de red.
Parte 3: Crear y enviar un paquete ICMP.
Parte 4: Crear y enviar paquetes TCP SYN.

Laboratorio - Creación de paquetes con Scapy


Objetivos
En este laboratorio, utilizará Scapy, una herramienta de manipulación de paquetes
basada en Python, para crear paquetes personalizados. Estos paquetes personalizados
se utilizarán para realizar reconocimiento en un sistema objetivo.
 Parte 1: Investigar la herramienta Scapy.
 Parte 2: Utilizar Scapy para analizar el tráfico de red.
 Parte 3: Crear y enviar un paquete ICMP.
 Parte 4: Crear y enviar paquetes TCP SYN.
Antecedentes / Escenario
Los pentesters y hackers éticos suelen usar paquetes especialmente diseñados para
descubrir y/o explotar vulnerabilidades en la infraestructura y los sistemas de los
clientes. Has usado Nmap para escanear y analizar vulnerabilidades en un ordenador
conectado a la red local.
En este laboratorio, realizarás un reconocimiento adicional en la misma computadora
utilizando paquetes ICMP y TCP personalizados.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 Acceso a Internet
Instrucciones

99
Parte 1: Investigar la herramienta Scapy
Scapy es una herramienta multiusos creada originalmente por Philippe Biondi. En esta
sección, cargarás Scapy y explorarás algunas de sus funciones. Herramientas como
Scapy solo deben usarse para escanear o comunicarte con máquinas de tu propiedad o
para las que tengas permiso por escrito para acceder.
Paso 1: Investigar la documentación y los recursos de Scapy.
Scapy puede ejecutarse de forma interactiva desde la consola de Python o integrarse
en programas de Python importando el módulo `python-scapy`. La herramienta Scapy
cuenta con amplia documentación en línea en
[Link] . Esta distribución
personalizada de Kali Linux incluye Python y Scapy preinstalados.
a. Inicie la máquina virtual Kali e inicie sesión.
b. Abre el navegador Firefox y navega a
[Link] . Lee la página de
introducción escrita por el creador de Scapy, Philippe Biondi.
¿Cómo describe el autor las capacidades de Scapy en el primer párrafo de la página?
“Scapy es un programa de Python que permite al usuario enviar, interceptar, analizar y
falsificar paquetes de red. Esta capacidad permite la creación de herramientas que
pueden sondear, escanear o atacar redes.”
Paso 2: Utilice el modo de comandos interactivo de Scapy.
introduce el comando `scapy` en una ventana de terminal. Al usar este comando, el
intérprete se ejecuta con las clases y objetos de Scapy precargados. Podrás introducir
comandos de Scapy de forma interactiva y recibir el resultado. Los comandos de Scapy
también se pueden integrar en un script de Python.
a. Los comandos para crear y enviar paquetes requieren privilegios de administrador.
Utilice el comando `sudo su` para obtener privilegios de administrador antes de
iniciar Scapy. Si se le solicita una contraseña, introduzca `kali` .
┌──(kali ㉿ kali) -[ ~]
└─$ sudo su
Contraseña de [sudo] para Kali:
┌──(raíz ㉿ kali)-[/home/kali]
└─#
b. Cargue la herramienta Scapy usando el comando `scapy` . El intérprete interactivo
de Python se cargará y mostrará una imagen de pantalla similar a la que se
muestra.
┌──(raíz ㉿ kali)-[/home/kali]
└─# scapy
INFO: No se puede importar PyX. No se podrán usar psdump( ) ni pdfdump().
aSPY//YASa
apyyyyCY//////////YCa |
sY////// YSpcs scpCY //Pp | Bienvenido a Scapy
ayp ayyyyyyySCP//Pp syY//C | Versión 2.5.0
AYAsAYYYYYYYY///Ps cY//S |
pCCCCY//p cSSps y//Y | [Link]
SPPPP///a pP///AC//Y |
A//A cyP////C | ¡Diviértete!
p///Ac sC///a |

100
P////YCpc A//A | ¡Lo que está muerto jamás morirá!
scccccp///pSP///pp//Y | -- Python 2
sY///////// y caa S//P |
cayCyayP//Ya pY/Ya
sY/PsY////YCc aC//Yp
sc sccaCY //PCypaapyCP//YSs
spCPY//////YPSps
ccaacs
usando IPython 8.5.0
>>>
c. En el prompt >>> de la shell de Scapy, introduce la función ls( ) para listar todos los
formatos y protocolos predeterminados disponibles en la herramienta. La lista es
bastante extensa y ocupará varias pantallas.
>>> ls( )
TFTP es un protocolo que se utiliza para enviar y recibir archivos en un segmento
de LAN. Se usa comúnmente para realizar copias de seguridad de los archivos de
configuración en dispositivos de red. Desplácese hacia arriba para ver los formatos
de paquetes TFTP disponibles.
¿Cuántos tipos de formatos de paquetes TFTP se enumeran?
9
Paso 3: Examine los campos en el encabezado de un paquete IPv4.
Es importante comprender la estructura de un paquete IP antes de crear y enviar
paquetes personalizados a través de la red. Cada paquete IP tiene una cabecera
asociada que proporciona información sobre su estructura. Revise esta información
antes de continuar con la práctica.
Campos de cabecera de paquetes IPv4
Los valores binarios de cada campo identifican las distintas configuraciones del
paquete IP. Los diagramas de cabecera del protocolo, que se leen de izquierda a
derecha y de arriba abajo, proporcionan una representación visual al analizar los
campos del protocolo. El diagrama de cabecera del protocolo IP de la figura identifica
los campos de un paquete IPv4.

101
Campos en la cabecera del paquete IPv4

Los campos importantes en la cabecera IPv4 incluyen los siguientes:


Versión - Contiene un valor binario de 4 bits establecido en 0100 que lo identifica
como un paquete IPv4.
Servicios Diferenciados o DiffServ (DS): anteriormente conocido como campo de tipo
de servicio (ToS), el campo DS es un campo de 8 bits que se utiliza para determinar la
prioridad de cada paquete. Los seis bits más significativos del campo DiffServ son los
bits del punto de código de servicios diferenciados (DSCP) y los dos últimos bits son los
bits de notificación explícita de congestión (ECN).
Tiempo de vida (TTL): El TTL contiene un valor binario de 8 bits que limita la vida útil
de un paquete. El dispositivo de origen del paquete IPv4 establece el valor inicial del
TTL. Este valor disminuye en uno cada vez que un enrutador procesa el paquete. Si el
campo TTL llega a cero, el enrutador descarta el paquete y envía un mensaje de
tiempo excedido del Protocolo de mensajes de control de Internet (ICMP) a la
dirección IP de origen. Dado que el enrutador disminuye el TTL de cada paquete,
también debe recalcular la suma de comprobación de la cabecera.
Protocolo: este campo se utiliza para identificar el protocolo de la siguiente capa. Este
valor binario de 8 bits indica el tipo de datos que transporta el paquete, lo que permite
a la capa de red enviar los datos al protocolo de capa superior correspondiente. Los
valores comunes incluyen ICMP (1), TCP (6) y UDP (17).
Suma de comprobación de la cabecera: se utiliza para detectar corrupción en la
cabecera IPv4.

102
Dirección IPv4 de origen: contiene un valor binario de 32 bits que representa la
dirección IPv4 de origen del paquete. La dirección IPv4 de origen siempre es una
dirección unicast.
Dirección IPv4 de destino: contiene un valor binario de 32 bits que representa la
dirección IPv4 de destino del paquete. La dirección IPv4 de destino puede ser de
unidifusión, multidifusión o difusión.
Los campos importantes en la cabecera IPv4 incluyen los siguientes:
Versión - Contiene un valor binario de 4 bits establecido en 0100 que lo identifica
como un paquete IPv4.
Servicios Diferenciados o DiffServ (DS): anteriormente conocido como campo de tipo
de servicio (ToS), el campo DS es un campo de 8 bits que se utiliza para determinar la
prioridad de cada paquete. Los seis bits más significativos del campo DiffServ son los
bits del punto de código de servicios diferenciados (DSCP) y los dos últimos bits son los
bits de notificación explícita de congestión (ECN).
Tiempo de vida (TTL): El TTL contiene un valor binario de 8 bits que limita la vida útil
de un paquete. El dispositivo de origen del paquete establece el valor inicial del TTL.
Este valor disminuye en uno cada vez que un enrutador procesa el paquete. Si el
campo TTL llega a cero, el enrutador descarta el paquete y envía un mensaje de
tiempo excedido del Protocolo de mensajes de control de Internet (ICMP) a la
dirección IP de origen. Dado que el enrutador disminuye el TTL de cada paquete,
también debe recalcular la suma de comprobación de la cabecera.
Protocolo: Este campo se utiliza para identificar el protocolo de la siguiente capa. Este
valor binario de 8 bits indica el tipo de datos que transporta el paquete, lo que permite
a la capa de red enviar los datos al protocolo de capa superior correspondiente. Los
valores comunes incluyen ICMP (1), TCP (6) y UDP (17).
Suma de comprobación de la cabecera: se utiliza para detectar corrupción en la
cabecera IPv4.
Dirección IPv4 de origen: contiene un valor binario de 32 bits que representa la
dirección IPv4 de origen del paquete. La dirección IPv4 de origen siempre es una
dirección unicast.
Dirección IPv4 de destino: contiene un valor binario de 32 bits que representa la
dirección IPv4 de destino del paquete. La dirección IPv4 de destino puede ser de
unidifusión, multidifusión o difusión.
La función `ls( )` también permite listar los detalles de los campos y opciones
disponibles en cada encabezado de protocolo. La sintaxis para usar una función en
Scapy es `nombre_de_la_función(argumentos)`. Use la función `ls( IP)` para listar los
campos disponibles en el encabezado de un paquete IP.
>>> ls( IP)
versión : BitField (4 bits) = ('4')
ihl : Campo de bits (4 bits) = ('Ninguno')
tos : XByteField = ('0')
longitud : CampoCorto = ('Ninguno')
id : ShortField = ('1')
banderas : CampoBanderas = ('<Bandera 0 ()>')

103
frag : BitField (13 bits) = ('0')
ttl : ByteField = ('64')
proto : ByteEnumField = ('0')
chksum : XShortField = ('None')
src : SourceIPField = ('None')
dst : CampoIP de destino = ('Ninguno')
opciones : PacketListField = ('[]')
¿Compara los campos del detalle IP en Scapy con el encabezado del paquete descrito
en el paso 3a? ¿Hay alguna diferencia entre ambos?
El campo DiffServe se sigue identificando como TOS (Tipo de Servicio) y se ha añadido
un campo de Opciones.
¿Qué campo crees que deberías modificar para crear un paquete que genere una
respuesta a una máquina de destino, en lugar de a la máquina que realmente envió
el paquete?
El campo de dirección IPv4 de origen (SRC).
Parte 2: Usar Scapy para analizar el tráfico de red
Scapy se puede utilizar para capturar y mostrar el tráfico de red, de forma similar a la
recopilación de paquetes con tcpdump o tshark.
Paso 1: Utilice la función sniff( ).
a. Utilice la función sniff( ) para capturar el tráfico mediante la interfaz eth0
predeterminada de su máquina virtual. Inicie la captura con la función sniff( ) sin
especificar ningún argumento.
>>> sniff( )
b. Abra una segunda ventana de terminal y haga ping a una dirección de internet,
como [Link] . Recuerde especificar el número de intentos mediante el
argumento -c .
┌──(kali ㉿ kali) -[ ~]
└─$ ping -c 5 [Link]
c. Regresa a la ventana de terminal donde se ejecuta Scapy. Pulsa CTRL-C para
detener la captura. Deberías obtener un resultado similar al que se muestra aquí:
^C<Capturado: TCP:75 UDP:42 ICMP:32 Otros:2>
d. Visualiza el tráfico capturado mediante la función `summary( )` . La asignación
`a=_` asigna a la variable ` a` el valor de la salida de la función `sniff( )` . El guion
bajo (` _`) en Python se utiliza para almacenar temporalmente la salida de la última
función ejecutada.
>>> a=_
>>> [Link] ()
La salida de este comando puede ser extensa, dependiendo de las aplicaciones que
se ejecuten en la red.
Paso 2: Capturar y guardar el tráfico en una interfaz específica.
En este paso, capturarás el tráfico hacia y desde un dispositivo conectado a una red
virtual en tu máquina virtual Kali Linux.
a. Abre una nueva ventana de terminal. Usa el comando `ifconfig` para
determinar el nombre de la interfaz a la que se le asigna la dirección IP [Link]
. Esta es la dirección de la puerta de enlace predeterminada para una de las
redes virtuales que se ejecutan en Kali. Anota el nombre de la interfaz.

104
b. Regresa a la ventana de terminal donde se ejecuta la herramienta Scapy. Utiliza
la sintaxis sniff( iface=" nombre de interfaz ") para comenzar la captura en la
interfaz virtual br-internal .
>>> olfatear(iface="br-interno")
c. Abre Firefox y navega a la URL [Link] . Cuando se abra la página
principal de Gravemind, vuelva a la ventana de terminal donde se ejecuta
Scapy. Pulse CTRL+C . Debería obtener un resultado similar a:
^C<Capturado: TCP:112 UDP:0 ICMP:0 Otros:2>
d. Visualiza el tráfico capturado como lo hiciste en el paso 1d.
>>> a=_
>>> [Link] ()
Paso 3: Examine los paquetes recogidos.
En este paso, filtrará el tráfico recopilado para incluir solo el tráfico ICMP, limitará el
número de paquetes que se recopilan y verá los detalles de cada paquete individual.
a. Utilice el ID de interfaz asociado con [Link] (br-internal) para capturar diez
paquetes ICMP enviados y recibidos en la red virtual interna. La sintaxis es
sniff( iface=" nombre de interfaz ", filter = " protocolo ", count = entero ) .
>>> sniff( iface="br-internal",filter = “icmp",count = 10)
b. Abra una segunda ventana de terminal y haga ping al host en [Link].
┌──(kali ㉿ Kali) -[ ~]
└─$ ping -c 10 [Link]
c. Regrese a la ventana de terminal donde se ejecuta Scapy. La captura se detuvo
automáticamente al enviar o recibir 10 paquetes. Visualice el tráfico capturado
con números de línea mediante la función nsummary( ) .
>> > a =_
>>> a .nsummary ()
El resumen solo debe contener 10 líneas porque el recuento de capturas es igual
a 10.
¿Qué tráfico se muestra en la salida de la función nsummary( )?
Una serie de cinco solicitudes de eco ICMP y cinco respuestas de eco ICMP.
d. Para ver los detalles de un paquete específico de la serie, consulte el número de
línea azul del paquete. No incluya los ceros iniciales.
>>> a[ 2]
La salida detallada muestra las capas de información sobre las unidades de datos
de protocolo (PDU) que componen el paquete. Los nombres de las capas de
protocolo aparecen en rojo en la salida. Examine las direcciones de origen (src) y
destino (dst), así como la porción de datos sin procesar (load=) del paquete
recopilado.
¿Por qué existen dos conjuntos de campos de origen y destino?
El primer conjunto corresponde a las direcciones MAC hexadecimales de la capa de
enlace de datos de los adaptadores de origen y Ethernet. El segundo conjunto
corresponde a las direcciones IP de origen y destino de la capa de red del paquete.
e. Utilice la función wrpcap( ) para guardar los datos capturados en un archivo pcap
que se puede abrir con Wireshark y otras aplicaciones. La sintaxis es wrpcap( "
[Link] ", nombre de la variable ) ; en este ejemplo , la variable en la que se
almacena la salida es " a ".
>>> wrpcap( “[Link]”, a)

105
f. El archivo .pcap se guardará en el directorio de usuario predeterminado. Utilice
otra ventana de terminal para verificar la ubicación del archivo [Link] con
el comando ls de Linux .
g. Abre la captura en Wireshark para ver el contenido del archivo.
Parte 3: Crear y enviar un paquete ICMP.
ICMP es un protocolo diseñado para enviar mensajes de control entre dispositivos de
red con diversos fines. Existen muchos tipos de paquetes ICMP, siendo las solicitudes y
respuestas de eco los más conocidos por los técnicos de TI. Para ver una lista de los
tipos de mensajes que se pueden enviar y recibir mediante ICMP, consulte
[enlace/documentación]. [Link]
[Link] .
Paso 1: Utilice el modo interactivo para crear y enviar un paquete ICMP
personalizado.
a. En una ventana de terminal Scapy, ingrese el comando para capturar el tráfico de
la interfaz conectada a la red [Link]/24.
>>> olfatear(iface="br-interno")
b. Abre otra ventana de terminal, introduce `sudo su` para crear paquetes como
usuario root. Inicia una segunda instancia de Scapy. Introduce la función `send ( )`
para enviar un paquete a [Link] con una carga útil ICMP modificada.
┌──(kali ㉿ kali) -[ ~]
└─$ sudo su
Contraseña de [sudo] para Kali:
┌──(raíz ㉿ kali)-[/home/kali]
└─# scapy
>>> enviar( IP(dst="[Link]")/ICMP()/"Esto es una prueba")
Respuesta
Se envió 1 paquete
c. Vuelve a la primera ventana de terminal y pulsa CTRL-C . Deberías recibir una
respuesta similar a esta:
^C<Capturado: TCP:0 UDP:0 ICMP:2 Otros:0>
d. Introduzca el comando summary para mostrar el resumen con los números de
paquete.
>>> a=_
>>> [Link] ()
¿Qué tipo de paquetes se muestran en el resumen de salida?
Las respuestas pueden variar. Solicitud de eco, respuesta de eco, ARP, respuesta ARP
Paso 2: Visualice y compare el contenido de los paquetes ICMP.
Utilice los números de paquete para ver los paquetes individuales de solicitud y
respuesta de eco ICMP. Compare esos paquetes con los que examinó en la Parte 2,
Paso 3d.
>>> a[ número de paquete ]
¿Cuál es la diferencia entre la conversación de paquetes ICMP original y la
conversación de paquetes ICMP personalizada?
La sección de datos sin procesar ha cambiado a "Esto es una prueba".
Parte 4: Crear y enviar un paquete TCP SYN.

106
En esta parte, utilizará Scapy para determinar si el puerto 445, un puerto de uso
compartido de unidades de Microsoft Windows, está abierto en el sistema de destino
en [Link].
Paso 1: Inicie la captura de paquetes en la interfaz interna.
a. En la ventana de terminal original de Scapy, inicie una captura de paquetes en la
interfaz interna conectada a la red [Link]/24. Utilice el nombre de interfaz que
obtuvo anteriormente.
b. Navegue a la segunda ventana de terminal. Cree y envíe un paquete TCP SYN
utilizando el comando que se muestra.
>>> enviar( IP(dst="[Link]")/TCP(dport=445, flags="S"))
Se envió 1 paquete
Este comando envió un paquete IP al host con dirección IP [Link]. El paquete
está dirigido al puerto TCP 445 y tiene la bandera S (SYN) establecida.
c. Cierre la ventana del terminal.
Paso 2: Revisar los paquetes capturados.
a. En la ventana de terminal original de Scapy, detenga la captura de paquetes
presionando CTRL-C . El resultado debería ser similar al que se muestra.
^C<Capturado: TCP:3 UDP:0 ICMP:0 Otros:0>
b. Visualice los paquetes TCP capturados mediante la función nsummary( ) .
Muestre los detalles del paquete TCP devuelto por el equipo de destino en
[Link].
>>> a[ número de paquete ]
¿Qué indica el indicador SA en el paquete devuelto desde [Link]?
La bandera SA significa SYN-ACK. Significa que el puerto 445 está abierto en el equipo
de destino, porque ha confirmado la recepción del paquete SYN.
Preguntas de reflexión
1. ¿Cómo se puede utilizar la creación de diversos paquetes TCP SYN para realizar un
reconocimiento pasivo de un host objetivo?
Las respuestas variarán, pero el envío de paquetes SYN y la recepción de un SYN-ACK
como respuesta indican que el servicio está operativo y que el puerto está en modo de
escucha. La creación de paquetes para diferentes puertos TCP permitirá identificar qué
puertos están activos.
2. ¿Cómo podría la creación de un paquete de solicitud de eco ICMP con una
dirección de origen falsificada crear un ataque de denegación de servicio contra un
host objetivo?
Enviar miles de paquetes a diferentes hosts con la misma dirección de origen
falsificada provocará que todos los paquetes de respuesta se envíen al host objetivo.
Esto resultará en un ataque de denegación de servicio distribuido (DDoS).
Seleccione reproducir para ver una demostración del laboratorio.

107
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
Desea enviar un paquete al puerto HTTP conocido del host [Link] con la
bandera TCP SYN activada. ¿Qué opciones utilizará con la función send( ) de Scapy para
crear este paquete? (Elija tres).
IP( dst="[Link]")
TCP( banderas="SN")
TCP( puerto de destino=80)
TCP( puerto de destino=8080)
TCP( banderas="S")
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.2.10 Laboratorio - Análisis de red con Wireshark
Tareas de soluciones de seguridad de Protego
Wireshark y tcpdump son herramientas indispensables para capturar el tráfico
de una red. Permiten una inspección detallada del tráfico de red, incluyendo
contraseñas, hashes, archivos e intercambios de paquetes completos.
Wireshark utiliza una interfaz gráfica de usuario (GUI) para la captura de
paquetes, mientras que tcpdump es una herramienta de línea de comandos. Es
fundamental conocer ambas para trabajar en Protego.
Familiarízate con tcpdump y Wireshark en el laboratorio. Practica tus
habilidades para que puedas ayudarnos con el proyecto Pixel Paradise.

108
En este laboratorio, utilizará la utilidad de Linux tcpdump para capturar y
guardar el tráfico de red. Posteriormente, utilizará Wireshark para analizar la
captura de tráfico.
 Prepare el host para capturar el tráfico de red.
 Captura y guarda el tráfico de red.
 Visualizar y analizar la captura de paquetes.

Laboratorio - Análisis de red con Wireshark


Objetivos
En este laboratorio, utilizará la utilidad de Linux tcpdump para capturar y guardar el
tráfico de red. Posteriormente, utilizará Wireshark para analizar la captura de tráfico.
 Prepare el host para capturar el tráfico de red.
 Captura y guarda el tráfico de red.
 Visualizar y analizar la captura de paquetes.
Antecedentes / Escenario
Wireshark es una utilidad de captura de paquetes de red que los administradores de
red pueden usar para solucionar problemas de red. También se puede usar para
interceptar las comunicaciones de red y recopilar información sobre usuarios y
servicios de forma pasiva. Wireshark se considera una herramienta pasiva porque no
genera tráfico en la red.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet
Instrucciones
Parte 1: Preparar el host para capturar el tráfico de red.
Paso 1: Inicie la máquina virtual e inicie sesión.
a. Inicie la máquina virtual de la estación de trabajo Kali. Utilice las siguientes
credenciales de usuario:
Nombre de usuario: kali
Contraseña: kali
b. Inicie una sesión de terminal haciendo clic en el icono de terminal en la barra de
menú.
Paso 2: Verificar el entorno.
a. Verifique el directorio de usuario que se utilizará para almacenar el tráfico
capturado. Para mostrar el directorio actual, utilice el comando `pwd` para ver la
ruta completa al directorio de trabajo actual.
┌──(kali ㉿ Kali) -[ ~]
└─$ pwd

Registre la ubicación del directorio.


usualmente /home/<nombre de usuario>.
b. Determine la dirección IP de la interfaz Ethernet de Kali utilizando el comando
ifconfig . La interfaz Ethernet normalmente se llama eth0 .
┌──(kali ㉿ Kali) -[ ~]

109
└─ $ ifconfig
Registre la dirección IP y la dirección MAC de la interfaz de red Ethernet. Esta será la
dirección de origen de los paquetes que se originen en la máquina Kali.
Las respuestas variarán.
c. Determine la puerta de enlace predeterminada asignada al host Kali utilizando el
comando ip route .
┌──(kali ㉿ Kali) -[ ~]
└─$ ruta ip
Registre la dirección IP de la puerta de enlace predeterminada. La puerta de enlace
predeterminada responde a las solicitudes ARP para direcciones IP de destino
ubicadas fuera de la red de origen.
Las respuestas variarán.
Nota: La dirección IP de la puerta de enlace predeterminada debe estar en la misma
subred IP que la dirección de la interfaz Ethernet.
d. Para determinar la dirección del servidor DNS predeterminado configurado,
consulte el contenido del archivo /etc/[Link] . Puede visualizar el archivo con
el comando cat <nombre del archivo> .
$ cat /etc/[Link]
Registre la dirección IP del servidor DNS predeterminado configurado. La dirección IP
del servidor DNS será la dirección de destino de los paquetes de consulta estándar y
la dirección de origen de los paquetes de respuesta DNS.
Las respuestas variarán.
Parte 2: Captura y almacenamiento del tráfico de red.
En esta sección, utilizará tcpdump desde la línea de comandos para capturar el tráfico.
Mediante opciones de línea de comandos, guardará el tráfico en un archivo de captura
de paquetes (pcap). Estos registros se pueden analizar posteriormente con diversas
aplicaciones que leen archivos pcap, como Wireshark.
Paso 1: Abra una terminal e inicie tcpdump.
a. Abra una aplicación de terminal e introduzca el comando ifconfig .
┌──(kali ㉿ Kali) -[ ~]
└─$ ifconfig
b. En la salida de ifconfig , busque el nombre de la interfaz que corresponde al
adaptador Ethernet (normalmente eth0). Haga clic con el botón derecho en el
nombre de la interfaz y seleccione Copiar selección .
c. Ejecute el comando `sudo tcpdump` como se muestra. Reemplace el texto
`<interface> ` con el nombre de la interfaz que copió en el paso anterior. Este
comando requiere acceso de administrador (root), así que introduzca `kali` como
contraseña si se le solicita.
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo tcpdump -i eth0 -s 0 -w [Link]
La opción de comando -i permite especificar la interfaz. Si no se especifica,
tcpdump capturará todo el tráfico en todas las interfaces.
La opción -s del comando especifica la longitud de la instantánea para cada
paquete. Si se establece esta opción en 0, se utiliza el valor predeterminado de
262144.
La opción -w del comando tcpdump se utiliza para guardar el resultado en un archivo.
Al añadir la extensión .pcap, se garantiza que los sistemas operativos y las aplicaciones

110
puedan leer el archivo. Todo el tráfico registrado se guardará en el archivo
[Link], ubicado en el directorio personal del usuario.
Paso 2: Generar tráfico de red utilizando un navegador web
a. Para capturar una solicitud y respuesta HTTP, abre un navegador web en el
escritorio de Kali. Accede a [Link] . No inicies sesión ni realices búsquedas.
b. Abre una segunda pestaña en el navegador e introduce [Link] en la barra de
direcciones. Una vez que aparezca la página, haz clic en el icono de usuario en la
esquina superior derecha. Inicia sesión con tus credenciales de Skills for All.
c. Regrese a la ventana de terminal que está ejecutando la utilidad tcpdump y
presione CTRL-C para completar la captura de paquetes.
d. La utilidad tcpdump guardó la salida en un archivo llamado [Link] .
Este archivo debe guardarse en el directorio de inicio predeterminado. Verifique
que el archivo exista en el directorio usando el comando ls .
┌──(kali ㉿ Kali) -[ ~]
└─$ ls [Link]
volcado de [Link]
Parte 3: Visualización y análisis de la captura de paquetes.
En esta parte, utilizará Wireshark para analizar el archivo de captura de paquetes que
creó en la Parte 2 de este laboratorio.
Paso 1: Abra la aplicación Wireshark para ver la captura de paquetes.
a. Utilice Wireshark para visualizar los paquetes capturados. Inicie la aplicación
gráfica Wireshark escribiendo wireshark en la línea de comandos.
┌──(kali ㉿ Kali) -[ ~]
└─$ wireshark
La aplicación Wireshark debería abrirse en una ventana diferente. Expanda la
ventana de Wireshark a pantalla completa.
b. Utilice la opción de menú Archivo -> Abrir e introduzca [Link] en el
campo Nombre de archivo. Haga clic en Abrir . Se abrirá una pantalla que mostrará
el contenido del archivo [Link] .
Paso 2: Analizar el tráfico DNS.
Cuando introduces la URL de un sitio web en tu navegador, tu ordenador realiza una
consulta DNS a la dirección IP del servidor DNS. Observar las consultas y respuestas
DNS proporciona los nombres (URL) y las direcciones IP de los sitios que visita un
usuario. Conocer los sitios web más frecuentados puede ser valioso para planificar
ataques de ingeniería social.
a. Filtra el tráfico capturado para que solo se muestren las consultas y respuestas
DNS. Introduce «dns» en el campo de filtro de la pantalla principal de Wireshark.
Verás que, además del sitio web de Skills for All que solicitaste, se muestran otras
consultas DNS. Estas corresponden a enlaces que aparecen en las páginas de inicio
de Skills for All y Google.
¿Cuáles son algunos de los sitios web que aparecen en las consultas DNS estándar?
Las respuestas variarán, pero deberían incluir sitios de redes sociales, sitios de Google
Analytics y otros sitios de Cisco.
b. Haz clic en el icono de búsqueda y busca el nombre de dominio [Link] .
Selecciona "Cadena" en el menú desplegable e introduce skillsforall en el cuadro
de búsqueda.

111
c. Seleccione la primera consulta estándar para el sitio web [Link] . Expanda el
panel de detalles de la consulta, debajo de la lista de paquetes, para ver el
contenido del paquete de consulta.
d. Expanda la información de Ethernet II para mostrar los datos de la cabecera de
capa 2 contenidos en el paquete. La dirección MAC de origen es la de la interfaz del
dispositivo emisor, en este caso la máquina virtual Kali, y la dirección MAC de
destino es la de la puerta de enlace predeterminada, ya que el servidor DNS no se
encuentra en la misma red de capa 2.
¿La dirección MAC de origen coincide con la dirección que registraste en la Parte 1?

e. Expanda la sección Sistema de nombres de dominio (consulta) para ver los
detalles de lo que se envía al servidor DNS. También indica la línea que contiene el
paquete de respuesta recibido en respuesta a la consulta. Haga doble clic en el
enlace de la respuesta. Se muestran los detalles del paquete de respuesta de
consulta estándar.
¿Qué direcciones IP están asociadas a la URL [Link]?
Las respuestas pueden variar, por ejemplo, [Link], [Link], [Link],
[Link]
f. Cierre Wireshark para volver al símbolo del sistema de la línea de comandos.
Paso 3: Analizar una sesión HTTP
En este paso, capturarás y analizarás una solicitud y respuesta web. Utilizarás
Wireshark para capturar el tráfico y analizar los mensajes intercambiados entre el
servidor web y el cliente. El servidor web es una máquina virtual que se ejecuta en un
contenedor Docker en el host Kali Linux.
a. Utilice ifconfig para determinar qué interfaz en la máquina virtual Kali Linux está
configurada en la red [Link]/24.
┌──(kali ㉿ Kali) -[ ~]
└─$ ifconfig
¿Cuál es el nombre de la interfaz conectada a la red [Link]/24?
Las respuestas pueden variar según la configuración. En la máquina virtual Kali es br-
ee5c01518209.
¿Cuál es la dirección IP asignada a esa interfaz?
[Link]
b. Abra Wireshark escribiendo `wireshark` en la línea de comandos. Wireshark se
abrirá en una nueva ventana; expándala a pantalla completa. En el centro de la
pantalla principal de Wireshark, verá una lista de nombres de interfaz para
capturar el tráfico. Haga doble clic en el nombre de la interfaz que coincida con el
nombre de la interfaz que descubrió en el paso 2a.
c. Abre una ventana del navegador e introduce la dirección IP [Link] en la barra de
direcciones. Aparecerá la pantalla de inicio de sesión del servidor web DVWA.
Introduce «admin» como nombre de usuario y «password» como contraseña.
Nombre de usuario: admin
Contraseña: contraseña
d. Cuando aparezca la página principal de DVWA, haga clic en el botón Instrucciones
que se encuentra en la parte superior del menú de la izquierda. Cuando aparezca la
página de instrucciones, cierre la ventana del navegador.

112
e. Regrese a la ventana de Wireshark. Detenga la captura usando el icono cuadrado
rojo en la barra de menú. El servidor web DVWA utiliza HTTP, no HTTPS. Use el
icono de búsqueda para encontrar la cadena POST en los paquetes capturados. Los
mensajes POST transfieren datos de formulario del cliente al servidor; en este caso,
la información de inicio de sesión.
f. Haga doble clic en el primer paquete POST para ver los detalles en una ventana
aparte. Expanda la sección titulada URL del formulario HTML codificada :
¿Qué información contiene esta sección?
Esta sección contiene el nombre de usuario y la contraseña introducidos por el usuario.
También se incluye un token de usuario.
g. Las cookies se utilizan para diversos fines. Con mayor frecuencia, se usan para
guardar información sobre la sesión de un usuario. Las cookies pueden ser
interceptadas y utilizadas en ataques de secuestro de sesión. La cookie inicial de
una sesión se envía desde el servidor web al cliente con el valor Set-Cookie en una
respuesta HTTP. Utilice el icono de búsqueda para encontrar la cadena "302
Found" en el panel de paquetes. Haga doble clic en el primer paquete encontrado
y expanda la sección Protocolo de transferencia de hipertexto (HTTP) .
¿Qué valor se está estableciendo en la cookie que se envía desde el servidor web al
cliente Kali?
PHPSESSID
h. Examine el siguiente paquete GET que se envía desde el navegador del cliente Kali
después de recibir la información de la cookie. Expanda la sección Protocolo de
transferencia de hipertexto (HTTP) . Busque los valores de la cookie que se envían
en el paquete.
¿El PHPSESSID que se envía de vuelta al servidor en la solicitud GET es el mismo que
el enviado desde el servidor en la respuesta anterior?
Sí.
i. Cierre Wireshark. Podrá guardar el archivo .pcap con la captura o salir sin guardar.
El archivo .pcap se guardará en el directorio de trabajo actual, salvo que se indique
lo contrario.
Preguntas de reflexión
1. En este laboratorio, tuvo la oportunidad de familiarizarse con la captura de
paquetes tanto en la utilidad tcpdump como en la aplicación Wireshark. ¿Cuáles son
las ventajas de usar utilidades de captura de paquetes al realizar reconocimiento
pasivo de un objetivo potencial?
Las respuestas variarán. Entre las ventajas se incluye la posibilidad de monitorizar y
recopilar tráfico sin ser detectado. Las capturas de paquetes se pueden guardar y
analizar posteriormente. Se puede recopilar información sobre los sistemas objetivo,
incluidos los sitios web visitados y los valores de las cookies, sin interacción directa con
dichos sistemas.
2. ¿Qué información se puede obtener mediante la captura de paquetes?
Las respuestas pueden variar. Pueden incluir: direcciones IP, protocolos, direcciones
MAC, servidores DNS, datos enviados desde y hacia diversas aplicaciones, tráfico de
enrutadores y conmutadores, identificación de puerta de enlace.
Demostración en vídeo
Seleccione reproducir para ver una demostración del laboratorio.

113
Por favor, responda a las siguientes preguntas después de haber completado
el laboratorio.
Prueba de habilidades
¿Qué hará esta instrucción tcpdump?
sudo tcpdump -i eth0 -s 0 -w [Link]

Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de
acuerdo con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo

114
3.3 Comprender el arte de realizar escaneos de vulnerabilidades
3.3.1 Descripción general
Soluciones de seguridad Protego
Ahora que hemos descubierto los activos de red, necesitamos detectar cualquier
vulnerabilidad que puedan contener. Para ello, utilizaremos las funciones de escaneo
de vulnerabilidades de Nmap y otras herramientas de evaluación de vulnerabilidades.
No estamos probando vulnerabilidades en aplicaciones web, lo cual es muy importante
y se tratará más adelante. En cambio, buscamos vulnerabilidades en el host
relacionadas con los sistemas operativos y los servicios que se ejecutan en los
dispositivos.
Una vez identificados los hosts objetivo disponibles y los servicios que escuchan en
ellos, se puede comenzar a analizarlos para detectar posibles vulnerabilidades; esto es
precisamente lo que hacen los escáneres de vulnerabilidades. Estos utilizan diversos
métodos para determinar si un servicio es vulnerable. El método principal consiste en
identificar la versión del software que se ejecuta en el servicio expuesto e intentar
encontrar una coincidencia con una vulnerabilidad ya conocida. Por ejemplo, si un
escáner de vulnerabilidades determina que un servidor Linux ejecuta una versión
obsoleta del servidor web Apache, vulnerable a la explotación remota, reporta dicha
vulnerabilidad como un hallazgo.
Por supuesto, la principal preocupación con los escáneres de vulnerabilidades
automatizados son los falsos positivos; el resultado de un escaneo puede ser inútil si
no se validan los hallazgos. Entregar un informe lleno de falsos positivos a un
desarrollador o administrador, quien luego debe corregir los problemas, puede
generar conflictos. No conviene que alguien investigue los hallazgos del informe solo
para descubrir que son falsos positivos.
3.3.2 Cómo funciona un escáner de vulnerabilidades automatizado típico
Veamos ahora cómo funcionan los escáneres de vulnerabilidades típicos (véase la
figura 3-15). Todos difieren en algunos aspectos, pero la mayoría sigue un proceso
similar:
Paso 1. En la fase de descubrimiento, el escáner utiliza una herramienta como Nmap
para realizar la enumeración de hosts y puertos. Con los resultados de esta
enumeración, el escáner comienza a sondear los puertos abiertos para obtener más
información.
Paso 2. Cuando el escáner dispone de suficiente información sobre el puerto abierto
para determinar qué software y versión se están ejecutando en él, registra dicha
información en una base de datos para su posterior análisis. El escáner puede utilizar
varios métodos para realizar esta determinación, incluido el uso de información de
banners.
Paso 3. El escáner intenta determinar si el software que escucha en el sistema objetivo
es susceptible a alguna vulnerabilidad conocida. Para ello, correlaciona una base de
datos de vulnerabilidades conocidas con la información registrada en la base de datos
sobre los servicios objetivo.
Paso 4. El escáner genera un informe sobre las posibles vulnerabilidades. Tenga en
cuenta que estos resultados suelen ser falsos positivos y deben validarse. Como
mínimo , este tipo de herramienta le da una idea de dónde buscar vulnerabilidades que
podrían ser explotables.

115
Figura 3-15 Ilustración de un escáner de vulnerabilidades

3.3.3 Práctica: Cómo funciona un escáner de vulnerabilidades automatizado típico


Relacione los pasos de un escaneo de vulnerabilidades típico con la descripción.

3.3.4 Tipos de escaneos de vulnerabilidades


El tipo de análisis de vulnerabilidades que se utilice suele estar determinado por la
política de análisis creada en la herramienta de análisis automatizado. Cada
herramienta ofrece numerosas opciones de análisis. A menudo, se puede optar por un
análisis completo que active todas las opciones, aunque es posible que no se puedan
utilizar todas (por ejemplo, al analizar un entorno de producción o un dispositivo
propenso a fallar durante el análisis). En tales casos, es fundamental seleccionar
únicamente las opciones de análisis con menor probabilidad de causar problemas.
Analicemos con más detalle los siguientes tipos de análisis más comunes:
 Escaneos no autenticados
 Escaneos autenticados
 Escaneos de descubrimiento
 Escaneos completos
 Escaneos sigilosos

116
 Escaneos de cumplimiento
Escaneos no autenticados
Por defecto, los escáneres de vulnerabilidades no utilizan credenciales para analizar un
objetivo. Si solo se proporciona la dirección IP del objetivo y se hace clic en Analizar, la
herramienta comenzará a enumerar el host desde la perspectiva de un atacante
remoto no autenticado. Un análisis no autenticado muestra únicamente los servicios
de red expuestos. El escáner intenta enumerar los puertos abiertos en el host objetivo.
Si el servicio no está escuchando en el segmento de red al que está conectado el
escáner, o si está protegido por un firewall, el escáner informará del puerto como
cerrado y continuará. Sin embargo, esto no significa que no exista una vulnerabilidad.
En ocasiones, es posible acceder a puertos no expuestos a la red mediante el reenvío
de puertos SSH y otras técnicas. Aun así, es importante realizar un análisis con
credenciales (o autenticado) siempre que sea posible.
NOTA: Los escaneos autenticados pueden proporcionar una tasa de falsos positivos
menor que los escaneos no autenticados.
Escaneos autenticados
En algunos casos, lo mejor es realizar un escaneo autenticado contra un objetivo para
obtener una visión completa de la superficie de ataque. Un escaneo autenticado
requiere que se proporcionen al escáner credenciales con acceso de administrador al
sistema. El escáner inicia sesión en el objetivo mediante SSH u otro mecanismo. A
continuación, ejecuta comandos como netstat para recopilar información del sistema.
Muchos de los comandos que ejecuta el escáner requieren acceso de administrador
para obtener la información correcta.
El ejemplo 3-42 muestra el comando netstat ejecutado por un usuario sin privilegios (omar); el
ejemplo 3-43 muestra el comando netstat ejecutado por el usuario root. Se observa que la
salida difiere según los permisos del usuario. En concreto, al ejecutarlo como usuario omar, no
se muestra el PID/nombre del programa, mientras que al ejecutarlo como usuario root, sí se
muestra dicha información.
Ejemplo 3-42 - Ejemplo de Netstat sin acceso de nivel raíz
omar@vulnhost-1 ~ % netstat -tunap
(No se pudieron identificar todos los procesos; la información de los procesos que no
son de su propiedad no se mostrará; necesitaría ser usuario root para verla toda).
Conexiones activas a Internet (servidores y conexiones establecidas)
Proto Recv-Q Send-Q Dirección local Dirección extranjera
ID del programa/nombre del programa estatal
tcp 0 0 [Link]:9000 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:9001 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:9002 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:3306 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:139 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:80 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:8881 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:8882 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:8883 [Link]:* ESCUCHAR -
tcp 0 0 [Link]:8884 [Link]:* ESCUCHAR
<salida omitida por brevedad>
El ejemplo 3-43 muestra los detalles sobre el nombre del proceso y del programa
asociado con el puerto abierto.

117
Ejemplo 3-43 - Ejemplo de Netstat con acceso de nivel raíz
omar@vulnhost-1 ~ % sudo netstat -tunap
Conexiones activas a Internet (servidores y conexiones establecidas)
Protocolo Recv-Q Send-Q Dirección local Dirección remota Estado PID/Nombre del
programa
tcp 0 0 [Link]:9000 [Link]:* ESCUCHANDO 1076/docker-proxy
tcp 0 0 [Link]:9001 [Link]:* ESCUCHANDO 762/docker-proxy
tcp 0 0 [Link]:9002 [Link]:* ESCUCHANDO 1287/docker-proxy
tcp 0 0 [Link]:3306 [Link]:* ESCUCHANDO 1095/docker-proxy
tcp 0 0 [Link]:139 [Link]:* ESCUCHANDO 247/smbd
tcp 0 0 [Link]:80 [Link]:* ESCUCHANDO 506/docker-proxy
tcp 0 0 [Link]:8881 [Link]:* ESCUCHANDO 831/docker-proxy
tcp 0 0 [Link]:8882 [Link]:* ESCUCHANDO 530/docker-proxy
tcp 0 0 [Link]:8883 [Link]:* ESCUCHANDO 702/docker-proxy
tcp 0 0 [Link]:8884 [Link]:* ESCUCHANDO 1133/docker-proxy
tcp 0 0 [Link]:8885 [Link]:* ESCUCHANDO 989/docker-proxy
tcp 0 0 [Link]:8886 [Link]:* ESCUCHANDO 604/docker-proxy
tcp 0 0 [Link]:22 [Link]:* ESCUCHANDO 161/sshd
tcp 0 0 [Link]:8887 [Link]:* ESCUCHANDO 1163/docker-proxy
tcp 0 0 [Link]:8888 [Link]:* ESCUCHANDO 494/docker-proxy
tcp 0 0 [Link]:88 [Link]:* ESCUCHANDO 482/docker-proxy
tcp 0 0 [Link]:8889 [Link]:* ESCUCHANDO 470/docker-proxy
tcp 0 0 [Link]:25 [Link]:* ESCUCHANDO 338/master
tcp 0 0 [Link]:445 [Link]:* ESCUCHANDO 247/smbd
tcp 0 0 [Link]:9090 [Link]:* ESCUCHANDO 819/docker-proxy
<salida omitida por brevedad>
Escaneos de descubrimiento
Un escaneo de descubrimiento tiene como objetivo principal identificar la superficie
de ataque de un objetivo. El escaneo de puertos es una parte fundamental de este
proceso. Un escáner puede utilizar una herramienta como Nmap para realizar el
escaneo de puertos. Posteriormente, recopila los resultados del escaneo en su base de
datos para utilizarlos en análisis más exhaustivos. Por ejemplo, el resultado del
escaneo de puertos podría mostrar que los puertos 80, 22 y 443 están abiertos y
escuchando. A partir de ahí, la herramienta de escaneo analiza esos puertos para
identificar qué servicio se está ejecutando en cada uno. Por ejemplo, supongamos que
identifica que un servidor web Apache Tomcat 8.5.22 se está ejecutando en los
puertos 80 y 443. Sabiendo que un servidor web está en funcionamiento en esos
puertos, el escáner puede realizar tareas de descubrimiento adicionales específicas
para servidores web y aplicaciones. Ahora bien, supongamos que, al mismo tiempo, el
escáner identifica que OpenSSH está escuchando en el puerto 22. A partir de ahí, el
escáner puede analizar el servicio SSH para identificar información sobre su
configuración y capacidades, como los algoritmos criptográficos preferidos y
compatibles. Este tipo de información resulta útil para identificar vulnerabilidades en
fases posteriores de las pruebas.
Escaneos completos
Como se mencionó anteriormente, un escaneo completo generalmente implica
habilitar todas las opciones de escaneo en la política de escaneo. Las opciones varían

118
según el escáner, pero la mayoría de los escáneres de vulnerabilidades tienen sus
categorías de opciones definidas de manera similar. Por ejemplo, suelen organizarse
por sistema operativo, fabricante del dispositivo, tipo de dispositivo, protocolo,
cumplimiento y tipo de ataque, y el resto de las opciones pueden pertenecer a una
categoría miscelánea. El ejemplo 3-44 muestra una lista de muestra de las categorías
de complementos del escáner de vulnerabilidades Nessus. Como puede verse en esta
lista, hay muchos complementos disponibles para que el escáner los ejecute. También
debería ser obvio, según los nombres de las categorías de complementos, que nunca
habrá un solo dispositivo al que se apliquen todos estos complementos. Por ejemplo,
los complementos para un dispositivo macOS no serían aplicables a un dispositivo
Windows. Por eso, normalmente es necesario personalizar la selección de
complementos para que refleje el entorno que se está escaneando. Hacerlo reducirá el
tráfico innecesario y acelerará el proceso de escaneo.
Ejemplo 3-44 - Ejemplos de categorías de plugins de Nessus
Recuento familiar
Comprobaciones de seguridad local de AIX 11416
Comprobaciones de seguridad local de Amazon Linux 1048
Puertas traseras 114
Ataque de fuerza bruta 26
Abusos de CGI 3841
de CGI : XS 666
CISCO 918
Comprobaciones de seguridad local de CentOS 2585
DNS 172
Bases de datos 577
Comprobaciones de seguridad local de Debian 5532
Cuentas Unix predeterminadas 168
Denegación de servicio 109
Comprobaciones de seguridad local de F5 Networks 607
FTP 255
Comprobaciones de seguridad local de Fedora 12634
Cortafuegos 240
Comprobaciones de seguridad locales de FreeBSD 3957
Obtén una carcasa de forma remota 280
General 255
Comprobaciones de seguridad locales de Gentoo 2650
Comprobaciones de seguridad locales de HP-UX 1984
Comprobaciones de seguridad locales de Huawei 563
Controles de seguridad locales de Junos 212
Comprobaciones de seguridad local de macOS 1191
Controles de seguridad locales de Mandriva 3139
Varios 1661
Dispositivos móviles 76
Netware 14
Comprobaciones de seguridad local de Oracle Linux 2806
Comprobaciones de seguridad local de OracleVM 459
Controles de seguridad locales de Palo Alto 49

119
Intercambio de archivos entre pares 90
Cumplimiento de la política 49
Escáneres de puerto 7
RPC 38
Comprobaciones de seguridad locales de Red Hat 4864
SCADA 300
Problemas de SMTP 139
SNMP 33
Comprobaciones de seguridad local de Scientific Linux 2493
Detección de servicio 431
Ajustes 85
Comprobaciones de seguridad locales de Slackware 1067
Comprobaciones de seguridad local de Solaris 4937

Comprobaciones de seguridad locales de SuSE 11377


Comprobaciones de seguridad local de Ubuntu 4130
Comprobaciones de seguridad local de VMware ESX 118
Virtuozzo Controles de seguridad locales 191
Servidores web 1092
Windows 4053
Windows: Boletines de Microsoft 1509
Windows: Administración de usuarios 28
Escaneos sigilosos
En ocasiones, es necesario escanear un entorno en producción. En tales casos, suele
ser necesario realizar el escaneo sin alertar al sistema de seguridad; este tipo de
escaneo se denomina escaneo sigiloso . Para ello, conviene implementar un escáner
de vulnerabilidades de forma que el objetivo tenga menos probabilidades de detectar
la actividad. Los escáneres de vulnerabilidades suelen generar mucho ruido; sin
embargo, existen opciones de configuración para reducir su nivel de ruido. Por
ejemplo, como se mencionó anteriormente en este módulo, existen diferentes tipos de
escaneos Nmap, que pueden ser detectados por sistemas de prevención de intrusiones
en la red (IPS) o firewalls de host. Ya se ha aprendido que un escaneo SYN es un tipo de
escaneo bastante discreto. Este mismo concepto se aplica a los escáneres de
vulnerabilidades, ya que todos utilizan algún tipo de escáner de puertos para enumerar
el objetivo. Estas mismas opciones están disponibles en la configuración del escáner de
vulnerabilidades. También puedes deshabilitar cualquier complemento o ataque que
pueda generar tráfico ruidoso, como aquellos que realizan ataques de denegación de
servicio, lo que sin duda suscitaría cierta preocupación en la red objetivo.
Figura 3-16 Diagrama de escáner de vulnerabilidades pasivo

120
Además de las modificaciones a un escáner de vulnerabilidades tradicional que
acabamos de describir, existe el concepto de escáner de vulnerabilidades pasivo. Este
escáner monitoriza y analiza el tráfico de red. A partir de dicho tráfico, puede
determinar la topología de la red y los servicios que utilizan los hosts. Con la
información detallada del tráfico a nivel de paquetes, un escáner de vulnerabilidades
pasivo puede determinar si alguno de esos servicios, o incluso los clientes, presenta
vulnerabilidades. Por ejemplo, si un cliente Windows con una versión antigua de
Internet Explorer se conecta a un servidor web Apache también antiguo, el escáner
identificará las versiones del cliente y del servidor a partir del tráfico monitorizado.
Posteriormente, comparará dichas versiones con su base de datos de vulnerabilidades
conocidas e informará de los resultados basándose únicamente en la monitorización
pasiva realizada. La figura 3-16 ilustra el funcionamiento típico de este tipo de escáner.
Escaneos de cumplimiento
Los análisis de cumplimiento son pruebas de red y aplicaciones (análisis) que suelen
estar impulsadas por el mercado o la gobernanza del entorno y el cumplimiento
normativo. Un ejemplo de ello sería el entorno de seguridad de la información de una
entidad sanitaria, que debe cumplir con los requisitos de la Ley de Portabilidad y
Responsabilidad de Seguros Médicos (HIPAA). Aquí es donde entra en juego un
escáner de vulnerabilidades. Es posible utilizar un escáner de vulnerabilidades para
abordar los requisitos específicos de una política. Los escáneres de vulnerabilidades
suelen tener la capacidad de importar un archivo de política de cumplimiento. Este
archivo de política normalmente se puede asociar a complementos/ataques
específicos que el escáner puede realizar. Una vez importada la política, se puede
ejecutar el conjunto específico de comprobaciones de cumplimiento en un sistema
objetivo.
El desafío con los requisitos de cumplimiento radica en su diversidad, ya que existen
muchos tipos para diferentes industrias y agencias gubernamentales, y cada uno
puede interpretarse de manera distinta. Algunas comprobaciones son sencillas. Si un
requisito exige la ejecución de un comando específico y que el resultado sea 1 en lugar
de 0, un escáner de vulnerabilidades puede determinarlo fácilmente; sin embargo,
muchos requisitos son más ambiguos, lo que dificulta la interpretación de una

121
herramienta como un escáner de vulnerabilidades . La mayoría de estos escáneres
también permiten crear políticas de cumplimiento personalizadas. Esta es una opción
valiosa para los pentesters, quienes suelen ajustar la política del escáner para cada
proyecto.
3.3.5 Práctica - Tipos de escaneos de vulnerabilidades
Como pentester en Protego, realizarás diversos escaneos de vulnerabilidades. Es
importante que conozcas los tipos de escaneos disponibles y su utilidad. Relaciona
cada tipo de escaneo de vulnerabilidades con su descripción.

3.3.6 Laboratorio - Escaneo de vulnerabilidades con herramientas Kali


Tareas de soluciones de seguridad de Protego
Estamos finalizando el reconocimiento y ahora queremos catalogar las
vulnerabilidades encontradas en diversos sistemas, redes y aplicaciones. Los escáneres
de vulnerabilidades vinculan las vulnerabilidades descubiertas con información pública
sobre vulnerabilidades, como los números CVE. A partir de ahí, se pueden obtener
detalles sobre las vulnerabilidades y explorar formas de explotarlas para la siguiente
fase de la prueba de penetración.
Practiquemos con diferentes enfoques para buscar vulnerabilidades antes de
comenzar con los escaneos de los recursos de Pixel Perfect.
En este laboratorio, explorará herramientas de escaneo de vulnerabilidades de red y
las utilizará para realizar un escaneo de vulnerabilidades en un host objetivo.
 Realiza escaneos de red con Nmap.
 Utilice Greenbone Vulnerability Management para realizar un escaneo de
vulnerabilidades.

122
Laboratorio - Escaneo de vulnerabilidades con Kali Tools
Objetivos
En este laboratorio, explorará herramientas de escaneo de vulnerabilidades de red y
las utilizará para realizar un escaneo de vulnerabilidades en un host objetivo.
 Realiza escaneos de red con Nmap.
 Utilice Greenbone Vulnerability Management para realizar un escaneo de
vulnerabilidades.
Antecedentes / Escenario
En una práctica anterior, utilizó Nmap para enumerar un equipo host que generaba
tráfico inusual en la red. En esta práctica, utilizará Nmap y Greenbone Vulnerability
Management (GVM) para escanear el sistema e identificar posibles vulnerabilidades.
Recursos necesarios
 Máquina virtual Kali personalizada para el curso de Hacker Ético
 acceso a Internet
Instrucciones
Parte 1: Ejecutar un escaneo Nmap en un equipo objetivo
En esta parte, utilizará Nmap y scripts NSE para descubrir posibles vulnerabilidades en
un host objetivo.
Paso 1: Inicie sesión en la máquina virtual Kali.
a. Inicie sesión en la máquina virtual Kali.
b. Inicie una sesión de terminal. Expanda la ventana de terminal a pantalla completa.
Utilice el comando ping para determinar si el equipo con la dirección [Link] o
[Link] es accesible a través de la red.
┌──(kali ㉿ Kali) -[ ~]
└─$ ping -c5 [Link]
La opción -c5 indica al comando ping que se detenga tras cinco intentos. En Linux,
si no se especifica la opción -c, el comando ping continuará indefinidamente hasta
que se pulse CTRL-C .
Paso 2: Identificar puertos y servicios abiertos.
Revise los resultados de un escaneo Nmap en el host con la dirección IP [Link].
a. Ejecute un escaneo de ping al host objetivo usando el comando `nmap -sV` . Anote
la lista de puertos y aplicaciones que se detecten en el host.
┌──(kali ㉿ Kali) -[ ~]
└─$ nmap -sV [Link]
¿Qué puertos están actualmente abiertos en el equipo de destino?
21, 22, 53, 80, 139 y 445
b. Identifique el sistema operativo que se ejecuta en el equipo objetivo utilizando el
comando nmap -O .
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo nmap -O [Link]
¿Qué sistema operativo utiliza el ordenador de destino?
Linux 4.15 – 5.8 en el momento de redactar este documento.
Paso 3: Utilice el script Nmap Vulners para buscar vulnerabilidades.
El script Vulners muestra las vulnerabilidades conocidas y sus correspondientes CVE.
Utiliza la información del puerto abierto y la versión del software para buscar nombres
de enumeración de plataforma común (CPE) relacionados con el servicio identificado.

123
A continuación, realiza una solicitud a un servidor remoto para averiguar si existen
vulnerabilidades conocidas para ese CPE.
a. Utilice el comando `nmap --script` para ejecutar el script de vulnerabilidades . La
sintaxis del comando es `nmap -sV --script vulners [--script-args
mincvss=<arg_val>] <objetivo>`, donde el argumento ` mincvss` restringe la salida
a las vulnerabilidades CVE con una puntuación CVSS superior a la especificada.
Las vulnerabilidades reportadas serán aquellas con una puntuación CVE igual o
superior a 4. El resultado del comando debería ser similar al que se muestra a
continuación:
┌──(kali ㉿ Kali) -[ ~]
└─$ nmap -sV --script vulners --script-args mincvss=4 [Link]
Iniciando Nmap 7.93 ([Link] ) el 15/03/2023 a las 14:01 MST
Informe de escaneo Nmap para [Link]
El host está activo (latencia de 0,0000040 s).
No se muestran: 994 puertos TCP cerrados (reinicio)
VERSIÓN DEL SERVICIO DE ESTADO DEL PUERTO
21/ tcp abierto ftp vsftpd 3.0.3
22/ tcp abierto ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocolo 2.0)
| vulnerables:
| cpe:/a:openbsd :openssh:7.9p1:
| EXPLOITPACK:98FE96309F9524B8C84C508837551A19 5.8 [Link]
/exploitpack/EXPLOITPACK:98FE96309F9524B8C84C508837551A19 *EXPLOIT*
| PAQUETE DE EXPLOTACIONES: 5330EA02EBDE345BFC9D6DDDD97F9E97 5.8
[Link]
/exploitpack/EXPLOITPACK:5330EA02EBDE345BFC9D6DDDD97F9E97 *EXPLOIT*
| EDB-ID:46516 5.8 [Link] *EXPLOIT*
| EDB-ID:46193 5.8 [Link] *EXPLOIT*
| CVE-2019-6111 5.8 [Link]
| 1337DAY-ID-32328 5.8 [Link] *EXPLOIT*
| 1337DAY-ID-32009 5.8 [Link] *EXPLOIT*
| CVE-2021-41617 4.4 [Link]
| CVE-2019-16905 4.4 [Link]
| CVE-2020-14145 4.3 [Link]
| CVE-2019-6110 4.0 [Link]
| CVE-2019-6109 4.0 [Link]
|_ PACKETSTORM:151227 0.0 [Link]
/PACKETSTORM:151227 *EXPLOIT*
53/ tcp dominio abierto ISC BIND 9.11.5-P4-5.1+deb10u5 (Debian Linux)
80/ tcp abierto http nginx 1.14.2
|_http-server-header: nginx/1.14.2
139/tcp abierto netbios -ssn Samba smbd 3.X - 4.X (grupo de trabajo:
WORKGROUP)
445/tcp abierto netbios -ssn Samba smbd 3.X - 4.X (grupo de trabajo:
WORKGROUP)
Dirección MAC: 02:42:0 A:06:06:17 (Desconocida)
Información del servicio: Host: 868CF29B394C; Sistemas operativos: Unix, Linux;
CPE: cpe:/o:linux :linux_kernel

124
Se ha realizado la detección del servicio. Por favor, informe de cualquier resultado
incorrecto en [Link] .
Nmap finalizado: 1 dirección IP (1 host activo) escaneada en 14,15 segundos
¿Qué servicio se ha identificado como poseedor de vulnerabilidades explotadas
conocidas?
OpenSSH
¿Qué CVE está asociado con la vulnerabilidad conocida de nivel 5 o superior?
CVE-2019-6111
b. Utilice la Base de Datos Nacional de Vulnerabilidades del NIST para obtener más
información sobre la vulnerabilidad identificada y cómo puede ser explotada. (
[Link] )
¿Qué nivel de gravedad se asigna al CVE en la base de datos NIST?
5.9 Medio
Parte 2: Utilizar GVM para buscar vulnerabilidades
GVM forma parte del conjunto de productos de gestión de vulnerabilidades de código
abierto de Greenbone Networks GmbH. El escáner GVM es uno de los escáneres de
vulnerabilidades de código abierto más utilizados. A diferencia de Nmap, GVM utiliza
una interfaz gráfica de usuario para iniciar escaneos e informar sobre los resultados.
Paso 1: Verifique la instalación del producto GVM.
Antes de iniciar cualquier escaneo, es importante verificar que GVM esté
correctamente instalado y que los archivos que utiliza para identificar vulnerabilidades
estén actualizados.
a. Verifique la configuración del servicio GVM mediante el comando `sudo gvm-
check-setup` . Este comando comprueba que la configuración se haya completado
correctamente y que los archivos necesarios estén disponibles. La verificación
detectará cualquier problema que deba solucionarse y proporcionará los
comandos para corregirlo.
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo gvm-check-setup
¿La comprobación de la configuración identificó algún problema que deba
solucionarse?
Las respuestas variarán.
b. Si hay algún problema, ejecute el comando sugerido para solucionarlo y, a
continuación, vuelva a ejecutar el comando gvm-check-setup . Una vez resueltos
todos los problemas, el comando mostrará el mensaje « Parece que su instalación
de GVM [ versión ] es correcta ».
c. Para esta actividad en particular, detenga el servicio GVM para que pueda observar
la salida de inicio.
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo gvm-stop
Paso 2: Abra la interfaz gráfica de usuario (GUI) del escáner GVM.
a. Inicie el escáner GVM con el comando `sudo gvm-start` . También puede acceder
al script `gvm-start` desde el menú Aplicaciones del escritorio de Kali: Kali -> 02 -
Análisis de vulnerabilidades -> `gvm start`. Es posible que GVM ya se esté
ejecutando como resultado del proceso de configuración de la comprobación.
El resultado del comando debería ser similar al que se muestra a continuación. Al
final, aparecerá un mensaje indicando que el escáner se está cargando en Firefox.

125
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo gvm-start
[>] Por favor, espere a que se inicien los servicios de GVM.
[>]
[>] Es posible que necesites actualizar tu navegador una vez que se abra.
[>]
[> ] Interfaz web (Greenbone Security Assistant): [Link]
● [Link] - Daemon del Asistente de Seguridad de Greenbone (gsad)
Cargado: cargado (/lib/systemd/system/[Link]; deshabilitado; preajuste:
deshabilitado)
Estado: activo (en ejecución) desde el viernes 24 de marzo de 2023 a las 18:13:28 UTC;
hace 10 ms
Documentos: hombre:gsad (8)
[Link]
PID principal: 57707 (gsad)
Tareas: 1 (límite: 4606)
Memoria: 912,0 KB
CPU: 3 ms
CGroup: /[Link]/[Link]
├ ─57707 /usr/sbin/gsad --foreground --listen [Link] --port 9392
└─57709 /usr/sbin/gsad --foreground --listen [Link] --port 9392
24 de marzo 18:13:28 Kali systemd[ 1]: Iniciando [Link] - Daemon del Asistente
de Seguridad de Greenbone (gsad)...
24 de marzo 18:13:28 Kali systemd[ 1]: Iniciado [Link] - Daemon del Asistente de
Seguridad Greenbone (gsad).
● [Link] - Daemon del gestor de vulnerabilidades de Greenbone (gvmd)
Cargado: cargado (/lib/systemd/system/[Link]; deshabilitado; preajuste:
deshabilitado)
Estado: activo (en ejecución) desde el viernes 24 de marzo de 2023 a las 18:13:23 UTC;
hace 5 segundos
Documentación: man:gvmd (8)
Proceso: 57631 ExecStart=/usr/sbin/gvmd --osp-vt-update=/run/ospd/[Link] --
listen-group=_gvm (código=salida, estado=0/ÉXITO)
PID principal: 57637 (gvmd)
Tareas: 1 (límite: 4606)
Memoria: 164,6 MB
CPU: 360 ms
CGroup: /[Link]/[Link]
└─57637 "gvmd: gvmd: Wa" --osp-vt-update=/run/ospd/[Link] --listen-
group=_gvm
24 de marzo 18:13:23 Kali systemd[ 1]: Iniciando [Link] - Daemon del gestor de
vulnerabilidades de Greenbone (gvmd)...
24 de marzo, 18:13:23 Kali systemd[ 1]: [Link]: No se puede abrir el archivo
PID /run/gvmd/[Link] (¿todavía?) después del inicio: Operación no permitida
24 de marzo 18:13:23 Kali systemd[ 1]: Iniciado [Link] - Daemon del
administrador de vulnerabilidades de Greenbone (gvmd).
● ospd- [Link] : contenedor OSPd para el escáner OpenVAS (ospd-openvas)

126
Cargado: cargado (/lib/systemd/system/[Link]; deshabilitado;
preajuste: deshabilitado)
Estado: activo (en ejecución) desde el viernes 24 de marzo de 2023 a las 18:13:23 UTC;
hace 5 segundos
Documentación: man:ospd -openvas(8)
hombre:vaso abierto (8)
Proceso: 57613 ExecStart=/usr/bin/ospd-openvas --config /etc/gvm/ospd-
[Link] --log-config /etc/gvm/[Link] (código=salida, estado=0/ÉXITO)
PID principal: 57619 (ospd-openvas)
Tareas: 5 (límite: 4606)
Memoria: 50,2 MB
CPU: 391 ms
CGroup: /[Link]/[Link]
├ ─ 57619 /usr/bin/python3 /usr/bin/ospd-openvas --config /etc/gvm/ospd-
[Link] --log-config /etc/gvm/[Link]
└─57623 /usr/bin/python3 /usr/bin/ospd-openvas --config /etc/gvm/ospd-
[Link] --log-config /etc/gvm/[Link]
24 de marzo 18:13:22 Kali systemd[ 1]: Iniciando [Link] - OSPd
Wrapper para OpenVAS Scanner (ospd-openvas)...
24 de marzo 18:13:23 Kali systemd [ 1]: se inició [Link] - OSPd Wrapper
para OpenVAS Scanner (ospd-openvas).
[>] Abriendo la interfaz web ([Link] en: 5... 4... 3... 2... 1...
b. Se abrirá una ventana del navegador con una advertencia de seguridad que puede
ignorar. Si el navegador no se abre automáticamente, ábralo manualmente y
acceda a [Link] . Haz clic en el botón Avanzado , desplázate hacia
abajo y acepta el riesgo en la pantalla de advertencia para continuar.
c. En el cuadro de inicio de sesión del Asistente de seguridad de Greenbone, ingrese
admin como nombre de usuario y kali como contraseña.
Nombre de usuario: admin
Contraseña: kali
d. La interfaz gráfica de usuario (GUI) de la aplicación GVM Scanner debería abrirse en
el navegador. Seleccione Escaneos -> Tareas en la barra de menú. En la esquina
superior izquierda de la ventana Tareas aparecen tres iconos. Seleccione el icono
del Asistente de tareas , que tiene forma de varita mágica. Elija Asistente de
tareas en el menú desplegable.
Paso 3: Analizar el host objetivo en busca de vulnerabilidades
En este paso, escaneará el mismo equipo objetivo en busca de vulnerabilidades que
utilizó con el escaneo Nmap anterior.
a. En el campo de dirección IP o nombre de host , introduzca la dirección IP [Link]
o [Link] . Haga clic en el botón Iniciar escaneo en la parte inferior de la
pantalla. El escaneo tardará unos minutos, así que espere a que finalice. El estado y
el porcentaje completado se mostrarán en la pantalla. El escaneo finalizará cuando
el estado cambie a Listo .
b. Haga clic en el número que aparece debajo de la columna Informes mientras se
ejecuta el escaneo correspondiente.
c. Cuando finalice el escaneo, haga clic en la marca de tiempo que aparece debajo de
la columna Fecha para ver los detalles del informe.

127
d. Las CVE asociadas a las vulnerabilidades encontradas en el host se pueden
consultar haciendo clic en la pestaña CVE . Explore las demás pestañas.
e. Para descargar el informe, haga clic en el botón «Descargar informe filtrado» del
menú situado en la esquina superior izquierda de la página del informe. El botón
tiene un icono de flecha hacia abajo. En la ventana de configuración, seleccione la
opción para descargar el informe en formato PDF. Tras una breve espera, el archivo
PDF se abrirá en su navegador.
¿Las vulnerabilidades CVE reportadas por GVM son las mismas que las reportadas
por el escaneo Nmap?
No. Las dos herramientas de escaneo pueden utilizar bases de datos de
vulnerabilidades diferentes para realizar sus identificaciones.
¿Cuál es el nivel de gravedad de los CVE detectados por el escaneo GVM?
Dependiendo del momento en que se realice la exploración, esta respuesta puede
variar. En el momento de este análisis, había 1 caso de gravedad media y 1 de
gravedad baja.
f. Haz clic en los demás encabezados del informe y consulta la información que
proporcionan. Compara esta información con lo que descubriste en
la Parte 1.
Paso 4: Limpiar
Cuando haya terminado de usar los servicios de GVM, utilice el siguiente comando
para detener GVM.
┌──(kali ㉿ Kali) -[ ~]
└─$ sudo gvm-stop
Preguntas de reflexión
1. ¿En tu opinión, qué herramienta es más fácil de usar? Explica.
Las respuestas pueden variar, ya que se trata de la opinión del usuario. Los usuarios
experimentados de Linux tal vez prefieran usar comandos Nmap para los escaneos
iniciales; la interfaz gráfica de GVM es más intuitiva.
2. Se recomienda mantener actualizadas las bases de datos de vulnerabilidades cada
pocos días. Investiga en internet los comandos necesarios para actualizar la base de
datos CVE de GVM. ¿Por qué crees que es necesario mantener una base de datos de
todas las CVE (actuales y pasadas) para que la utilicen los escáneres de
vulnerabilidades?
Cada día se descubren nuevas vulnerabilidades y exploits. No todos los sistemas
cuentan con los parches de seguridad instalados ni están actualizados. Por lo tanto, es
necesario mantener tanto las CVE nuevas como las antiguas en la base de datos.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Cuáles de las siguientes afirmaciones describen el resultado del comando mostrado?
(Elija tres).
Nota : Los números de línea entre corchetes [ ] se agregaron para los fines de la
pregunta.
┌──(kali ㉿ Kali) -[ ~]
└─$ nmap -sV --script vulners --script-args mincvss=4 [Link]
VERSIÓN DEL SERVICIO DE ESTADO DEL PUERTO
[ salida omitida ]

128
22/ tcp abierto ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocolo 2.0)
vulnerables:
| CVE-2016-7407 10.0 [Link] [1]
| CVE-2021-41617 4.4 [Link] [2]
| CVE-2019-16905 4.4 [Link] [3]
| CVE-2019-6110 4.0 [Link] [ 4]
| CVE-2016-10011 2.1 [Link] [5]
[ salida omitida ]
Todas las vulnerabilidades descubiertas conciernen a características de OpenSSH
2.0.
Línea [1] Esta vulnerabilidad debe mitigarse antes que las demás.
Línea [2] Esta vulnerabilidad fue descubierta en 2020.
Línea [3] Esta fue descubierta más temprano en el año que la Línea [4].
Línea [5] Esto no aparecería en la salida del comando mostrado.
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Totalmente de acuerdo
3.3.7 Desafíos a considerar al ejecutar un análisis de vulnerabilidades
Las secciones anteriores han abordado diversos aspectos que debe tener en cuenta al
realizar el escaneo. Las secciones siguientes profundizan en algunos de los aspectos
específicos que debe considerar al crear una política de escaneo y al realizar escaneos.
Para obtener más información, seleccione cada uno de los siguientes desafíos.
Considerando el mejor momento para realizar un escaneo
El momento óptimo para ejecutar un escaneo suele ser crucial al analizar una red de
producción. Si se escanea un dispositivo en un entorno de laboratorio, normalmente
no hay mayor preocupación, ya que este entorno no se utiliza para aplicaciones
críticas. Existen varias razones por las que se debe tener cuidado al ejecutar un
escaneo en una red de producción. En primer lugar, el tráfico de red generado por un
escaneo de vulnerabilidades puede causar, y de hecho causa, mucho ruido en la red.
También puede provocar una congestión significativa, especialmente cuando los
escaneos atraviesan múltiples saltos de red. (Abordaremos este tema con más detalle
a continuación).
Otro aspecto a considerar al elegir el momento para realizar un escaneo es que
muchas de las opciones o complementos que se ejecutan en un escaneo de
vulnerabilidades pueden provocar fallos en el dispositivo objetivo y en la
infraestructura de red. Por este motivo, al escanear una red de producción, asegúrese
de hacerlo en momentos que minimicen el impacto en los usuarios finales y los
servidores. Generalmente, lo mejor es escanear durante las primeras horas del día,
cuando nadie está utilizando la red para tareas críticas.
Determinar qué protocolos se están utilizando

129
Antes de realizar escaneos de vulnerabilidades en una red o dispositivo objetivo, es
fundamental conocer los protocolos que utiliza. Si el dispositivo emplea protocolos TCP
y UDP para los servicios en ejecución, y el escaneo se realiza únicamente en los
puertos TCP, se pasarán por alto las vulnerabilidades presentes en los servicios UDP.

Topología de red
Como se mencionó anteriormente, la topología de la red siempre debe tenerse en
cuenta al realizar un escaneo de vulnerabilidades. Por supuesto, nunca se recomienda
escanear a través de una conexión WAN, ya que afectaría significativamente a
cualquier dispositivo en la ruta. La regla general para determinar dónde ejecutar un
escaneo de vulnerabilidades en la topología de la red es que siempre debe realizarse lo
más cerca posible del objetivo. Por ejemplo, si está escaneando un servidor Windows
que se encuentra dentro de su subred protegida (anteriormente conocida como zona
desmilitarizada o DMZ), la mejor ubicación para su escáner de vulnerabilidades es
adyacente al servidor en la subred protegida. Al colocarlo allí, puede eliminar cualquier
preocupación sobre el impacto en los dispositivos por los que transita el tráfico de su
escáner.
Además del impacto en la infraestructura de red, otra preocupación es que cualquier
dispositivo que atraviese podría afectar los resultados del escáner. Esto es
especialmente relevante al atravesar un firewall; asimismo, otros dispositivos de la
infraestructura de red también podrían influir en los resultados.
Limitaciones de ancho de banda
Analicemos brevemente el impacto de las limitaciones de ancho de banda en el
escaneo de vulnerabilidades. Es evidente que saturar una red con un gran volumen de
tráfico provocará problemas con el ancho de banda disponible. Como profesional de
pruebas de penetración, es fundamental ser consciente del impacto en el ancho de
banda de las redes o sistemas que se escanean. En concreto, según el ancho de banda
disponible entre el escáner y el objetivo, es posible que sea necesario ajustar la
configuración del escáner para adaptarse a situaciones de menor ancho de banda. Si se
escanea a través de una VPN o un enlace WAN con ancho de banda probablemente
limitado, conviene ajustar las opciones de escaneo para evitar problemas de consumo
de ancho de banda. La configuración que suele requerir ajustes es la relacionada con
ataques de inundación y de denegación de servicio (DoS).
Limitación de consultas
Para solucionar el problema de las limitaciones de ancho de banda y el escaneo de
vulnerabilidades, reducir la velocidad del tráfico generado por el escáner suele ser útil.
Esto se conoce como limitación de consultas y generalmente se logra modificando las
opciones de la política de escaneo. Una forma de hacerlo es reducir el número de hilos
de ataque que se envían al objetivo simultáneamente. No existe una regla general
específica para el número de hilos; depende de la robustez del objetivo. Algunos
objetivos son más vulnerables que otros. Otra forma de lograrlo es reducir el alcance
de los complementos/ataques que el escáner busca. Si se sabe que el dispositivo
objetivo es un servidor Linux, se pueden deshabilitar los ataques para otros sistemas
operativos, como Windows. Aunque los ataques no funcionen contra el servidor Linux,
este aún necesita recibir y responder al tráfico. Este tráfico adicional puede provocar
un cuello de botella en el procesamiento y el consumo de ancho de banda de la red.

130
Limitar el número de solicitudes que el objetivo debe procesar reduce el riesgo de
causar problemas como fallos en el sistema y da como resultado un escaneo más
eficaz.
Sistemas frágiles/Activos no tradicionales
Al utilizar un escáner de vulnerabilidades en su red interna, debe tener en cuenta los
dispositivos que podrían no soportar el tráfico generado por dicho escáner. Para estos
sistemas, podría ser necesario ajustar las opciones de escaneo para reducir el riesgo de
fallos o excluirlos por completo del escaneo. Sin embargo, al excluirlos, se reduce la
seguridad general del entorno.
Las impresoras suelen considerarse sistemas frágiles, ya que históricamente no han
resistido los escaneos de vulnerabilidades. Con el auge de los dispositivos IoT, hoy en
día existen muchos más dispositivos frágiles, por lo que debe tenerlos en cuenta al
planificar el escaneo de vulnerabilidades. La solución habitual para los dispositivos
frágiles es excluirlos del escaneo; sin embargo, estos dispositivos pueden representar
un riesgo para el entorno y, por lo tanto, deben escanearse. Para solucionar este
problema, puede limitar la frecuencia de escaneo y las opciones de la política de
escaneo para reducir la probabilidad de fallos.
CONSEJO: El horario para realizar los escaneos también puede estar determinado por la
persona o empresa que te contrató para realizar la prueba de penetración. En algunos casos,
es posible que no tengas permitido realizar escaneos durante el horario laboral.
3.4 Comprender cómo analizar los resultados del escaneo de vulnerabilidades
3.4.1 Descripción general
Soluciones de seguridad Protego
El reconocimiento es importante para comprender los activos y la superficie de ataque
de nuestro cliente. Sin embargo, el reconocimiento no necesariamente identifica
vulnerabilidades reales. Podemos conocer las plataformas y los servicios a los que
pueden acceder los ciberdelincuentes, pero ¿existen vulnerabilidades conocidas en
dichas plataformas y servicios?
Los análisis de vulnerabilidades ofrecen una forma automatizada de vincular la
información del análisis con los detalles de las vulnerabilidades existentes en los
resultados. Con esta información, es posible diseñar exploits que pueden tener graves
consecuencias, como filtraciones de datos e interrupciones del servicio. Al recopilar
estas vulnerabilidades, podemos proceder a la penetración real de la red y evaluar los
riesgos que dichos exploits representan para Pixel Paradise.
Como ya sabrá, realizar un escaneo de vulnerabilidades es la parte más sencilla del
proceso de recopilación de información e identificación de vulnerabilidades. La mayor
parte del trabajo consiste en analizar los resultados obtenidos con las herramientas de
escaneo. Estas herramientas no son infalibles; pueden generar falsos positivos, y es
necesario descartarlos para determinar las vulnerabilidades reales.
Por ejemplo, supongamos que forma parte de un equipo de seguridad informática que
realiza análisis de vulnerabilidades internas en su red. Ejecuta la herramienta de
análisis de vulnerabilidades que prefiera y exporta un informe con los resultados. A
continuación, entrega el informe al equipo de seguridad de endpoints para que
resuelva todos los problemas detectados. El equipo de endpoints comienza a abordar
los problemas uno por uno. Su proceso probablemente incluirá una investigación del
endpoint para determinar la mejor manera de mitigar cada hallazgo. Si el informe que
usted proporciona contiene falsos positivos, el equipo de endpoints terminará

131
perdiendo mucho tiempo investigando problemas que en realidad no existen. Esto,
obviamente, puede causar problemas entre el equipo de seguridad y el equipo de
endpoints. Este escenario también se puede aplicar a otras situaciones.
Al entregar un informe como resultado de un servicio de pruebas de penetración
remunerado, es fundamental que sea preciso. Supongamos que le han contratado para
identificar vulnerabilidades en la red de un cliente. Su trabajo consiste en proporcionar
un informe completo de los problemas de seguridad que deben abordarse para
proteger el entorno del cliente. Entregar un informe con falsos positivos hará perder el
tiempo al cliente y probablemente le costará volver a contratar sus servicios. Como se
desprende de este análisis, reducir los falsos positivos en los análisis de
vulnerabilidades es crucial.
¿Cómo se eliminan los falsos positivos? El proceso implica un análisis detallado y
exhaustivo de los resultados proporcionados por la herramienta de escaneo de
vulnerabilidades. Supongamos que los resultados de un escaneo revelan una posible
vulnerabilidad de ejecución remota de código en el servidor web Apache que se
ejecuta en el servidor objetivo. Este tipo de hallazgo probablemente se marcará como
una vulnerabilidad de alta gravedad y, por lo tanto, deberá priorizarse. Para
determinar si se trata de un hallazgo válido, primero conviene examinar cómo llegó el
escáner de vulnerabilidades a esta conclusión. ¿Obtuvo la información de la versión
directamente del sistema mediante un escaneo con credenciales o la determinó
conectándose remotamente al puerto? Como es sabido, los resultados de un escaneo
con credenciales tienen mayor probabilidad de ser válidos que los de un análisis
remoto.
Dado que el método para obtener la información de versión varía según el escáner y el
servicio, conviene revisar los detalles de los hallazgos en un informe para determinar
cómo se recopiló la información. A partir de ahí, si es posible, debería conectarse
directamente al objetivo que informa de una vulnerabilidad concreta e intentar
determinar manualmente la información de versión de ese servicio. Una vez que valide
que la versión informada por el escáner coincide con la del sistema, deberá
profundizar en los detalles de la vulnerabilidad. Cada vulnerabilidad suele
corresponder a uno o varios elementos de la lista de Vulnerabilidades y Exposiciones
Comunes (CVE). Es necesario examinar las particularidades de esos elementos CVE
para comprender los criterios, ya que una vulnerabilidad puede detectarse basándose
en un solo dato (como el número de versión del servidor Apache obtenido del banner).
Al analizar los detalles de la CVE, podría descubrir que, para que la vulnerabilidad sea
explotable, esta versión de Apache debe ejecutarse en una versión o distribución
específica de Linux. La mayoría de los escáneres de vulnerabilidades pueden
correlacionar varios datos para llegar a esta conclusión. Sin embargo, algunos sistemas
operativos Linux, como Red Hat, informan sobre una versión anterior de un servicio
que ya ha sido corregida para la vulnerabilidad específica. Esto se denomina
backporting . Como puede ver, la cosa va más allá de simplemente realizar un escaneo.
Por supuesto, el método principal para validar un hallazgo de un escaneo de
vulnerabilidades es explotar la vulnerabilidad, como se explica en muchos de los
próximos módulos.
3.4.2 Fuentes para una mayor investigación de las vulnerabilidades
Las siguientes secciones describen algunas fuentes útiles para una investigación más
profunda de las vulnerabilidades que pueda encontrar durante sus escaneos.

132
Certificación de EE. UU.
El Equipo de Preparación para Emergencias Informáticas de Estados Unidos (US-CERT)
se creó para proteger la infraestructura de internet del país. Su principal objetivo es
colaborar con organismos públicos y privados para mejorar la eficiencia del
intercambio de datos sobre vulnerabilidades. El trabajo de US-CERT busca fortalecer la
ciberseguridad nacional. US-CERT opera como una entidad dependiente del
Departamento de Seguridad Nacional, dentro del Centro Nacional de Integración de
Ciberseguridad y Comunicaciones (NCCIC). Puede acceder a los recursos de US-CERT en
[Link] .
La División CERT de la Universidad Carnegie Mellon
La División CERT del Instituto de Ingeniería de Software de la Universidad Carnegie
Mellon es un centro de ciberseguridad cuyos expertos ayudan a coordinar la
divulgación de vulnerabilidades en toda la industria. CERT investiga vulnerabilidades de
seguridad y contribuye a diversas iniciativas de ciberseguridad en el sector. Asimismo,
CERT desarrolla e imparte capacitación a numerosas organizaciones para ayudarlas a
mejorar sus prácticas y programas de ciberseguridad. Puede obtener más información
sobre CERT en [Link] .
NIST
El Instituto Nacional de Estándares y Tecnología (NIST) es una agencia del
Departamento de Comercio de los Estados Unidos. Su objetivo principal es promover la
innovación y la competitividad industrial. El NIST es responsable de la creación del
Marco de Ciberseguridad del NIST (NIST CSF; véase
[Link] ). Este marco incluye una política sobre
directrices de seguridad informática. La versión 1 del marco del NIST se publicó en
2014 con el fin de orientar la seguridad de la infraestructura crítica; sin embargo, la
industria privada la utiliza comúnmente como guía para la gestión de riesgos. En 2018,
el NIST publicó la versión 1.1, diseñada para ayudar a las organizaciones a evaluar los
riesgos a los que se enfrentan. En general, el marco describe los estándares y las
mejores prácticas del sector que pueden utilizarse para mejorar la postura de
ciberseguridad de las organizaciones. Toda persona responsable de tomar decisiones
relacionadas con la ciberseguridad en una organización debe consultar este marco
para obtener orientación sobre estándares y mejores prácticas.
JPCERT
Al igual que el US-CERT, el Equipo Japonés de Respuesta a Emergencias Informáticas
(JPCERT) es una organización que colabora con proveedores de servicios, empresas de
seguridad y organismos gubernamentales y del sector privado para ofrecer
capacidades de respuesta ante incidentes, aumentar la concienciación sobre
ciberseguridad, realizar investigaciones y análisis de incidentes de seguridad y trabajar
con otros equipos CERT internacionales. El JPCERT es responsable de las actividades
del Equipo de Respuesta a Incidentes de Seguridad Informática (CSIRT) en Japón y la
región de Asia Pacífico. Puede acceder a los recursos del JPCERT en
[Link] .
CAPEC
El Sistema de Enumeración y Clasificación de Patrones de Ataque Comunes (CAPEC) es
una iniciativa impulsada por la comunidad para catalogar los patrones de ataque
observados en la práctica, con el fin de identificar de manera más eficiente las

133
amenazas activas. CAPEC, mantenido por MITRE, funciona como un diccionario de
ataques conocidos que se han detectado en el mundo real.
CVE
El Sistema de Vulnerabilidades y Exposiciones Comunes (CVE, por sus siglas en inglés)
es una iniciativa que abarca a las comunidades internacionales de ciberseguridad. Se
creó en 1999 con el objetivo de consolidar las herramientas y bases de datos de
ciberseguridad. Un identificador CVE se compone de las letras CVE, seguidas del año de
publicación y cuatro o más dígitos en la parte del número de secuencia (por ejemplo,
CVE-YYYY-NNNN con cuatro dígitos, CVE-YYYY-NNNNN con cinco dígitos, CVE-YYYY-
NNNNNNN con siete dígitos, etc.). Puede obtener más información sobre CVE en
[Link] .
CWE
La Enumeración de Debilidades Comunes (CWE, por sus siglas en inglés) es, en
términos generales, una lista de debilidades de software. Su propósito es crear un
lenguaje común para describir las debilidades de seguridad del software que son la
causa principal de determinadas vulnerabilidades. CWE proporciona una base común
para la identificación de debilidades, lo que facilita el proceso de mitigación. Puede
obtener más información sobre CWE en el sitio web de MITRE: [Link] .
CVSS
Cada vulnerabilidad representa un riesgo potencial que los ciberdelincuentes pueden
aprovechar para comprometer sus sistemas y su red. Cada vulnerabilidad conlleva un
nivel de riesgo asociado. Uno de los estándares más utilizados para calcular la
gravedad de una vulnerabilidad es el Sistema Común de Puntuación de
Vulnerabilidades (CVSS), que consta de tres componentes: puntuación base, temporal
y ambiental. Cada componente se presenta como una puntuación en una escala de 0 a
10.
CVSS es un estándar de la industria mantenido por el Foro de Equipos de Respuesta a
Incidentes y Seguridad (FIRST) que utilizan muchos Equipos de Respuesta a Incidentes
de Seguridad de Productos (PSIRT) para comunicar la gravedad de las vulnerabilidades
que divulgan a sus clientes. En CVSS, una vulnerabilidad se evalúa según tres aspectos,
asignándose una puntuación a cada uno de ellos:
El grupo base representa las características intrínsecas de una vulnerabilidad que
permanecen constantes en el tiempo y no dependen del entorno específico del
usuario. Esta es la información más importante y el único aspecto obligatorio para
obtener una puntuación de vulnerabilidad. El grupo temporal evalúa la vulnerabilidad
a medida que cambia con el tiempo.
El grupo ambiental representa las características de una vulnerabilidad, teniendo en
cuenta el entorno organizacional.
La puntuación del grupo base oscila entre 0 y 10, donde 0 representa la vulnerabilidad
menos grave y 10 se asigna a las vulnerabilidades altamente críticas. Por ejemplo, una
vulnerabilidad altamente crítica podría permitir a un atacante comprometer un
sistema de forma remota y obtener el control total. Además, la puntuación se presenta
como una cadena vectorial que identifica cada uno de los componentes que la
conforman. La fórmula utilizada para obtener la puntuación tiene en cuenta diversas
características de la vulnerabilidad y cómo el atacante puede aprovecharlas.
CVSS define varias características para los grupos base, temporal y ambiental. El grupo
base define métricas de explotabilidad que miden cómo se puede explotar la

134
vulnerabilidad, así como métricas de impacto que miden el impacto en la
confidencialidad, la integridad y la disponibilidad. Además de estas dos métricas, se
utiliza una métrica denominada Cambio de Alcance (S) para indicar el impacto en otros
sistemas que pueden verse afectados por la vulnerabilidad, pero que no contienen el
código vulnerable. Por ejemplo, si un enrutador es susceptible a una vulnerabilidad de
denegación de servicio (DoS) y sufre una caída tras recibir un paquete manipulado del
atacante, el alcance cambia, ya que los dispositivos conectados al enrutador también
experimentarán la denegación de servicio. FIRST proporciona ejemplos adicionales en
[Link] .
3.4.3 Laboratorio - Investigar fuentes de información sobre vulnerabilidades
Tareas de soluciones de seguridad de Protego
Se ha trabajado mucho para crear un método universal para compartir información
sobre vulnerabilidades de ciberseguridad conocidas. Las herramientas de escaneo de
vulnerabilidades asocian los resultados del escaneo con las vulnerabilidades relevantes
mediante números CVE, por lo que es importante saber qué representan estos
números y cómo obtener detalles sobre su gravedad, así como sobre los sistemas y
versiones de software afectados.
Por favor, revise la información de este laboratorio para asegurarse de que comprende
claramente las diferencias entre las fuentes de información sobre vulnerabilidades y
cómo utilizarlas.
En este laboratorio, utilizarás múltiples fuentes útiles para investigar más a fondo las
vulnerabilidades.
 Parte 1: Investigar las vulnerabilidades y exposiciones comunes (CVE)
 Parte 2: Exploración de las enumeraciones de debilidades comunes (CWE)
 Parte 3: Investigar los recursos de vulnerabilidad del Instituto Nacional de
Estándares y Tecnología (NIST).
 Parte 4: Investigación de vulnerabilidades en el Sistema Común de Puntuación de
Vulnerabilidades (CVSS)
Descripción del laboratorio: Investigación de fuentes de información sobre
vulnerabilidades

Laboratorio – Investigar fuentes de información sobre vulnerabilidades


Objetivos
Utilice múltiples fuentes útiles para investigar más a fondo las vulnerabilidades.
 Parte 1: Investigar las vulnerabilidades y exposiciones comunes (CVE)
 Parte 2: Exploración de las enumeraciones de debilidades comunes (CWE)
 Parte 3: Investigar los recursos de vulnerabilidad del Instituto Nacional de
Estándares y Tecnología (NIST).
 Parte 4: Investigación de vulnerabilidades en el Sistema Común de Puntuación de
Vulnerabilidades (CVSS)
Antecedentes / Escenario
En una práctica anterior, detectaste varias vulnerabilidades tras analizar un sistema
objetivo. Ahora utilizarás diversas fuentes de acceso público para profundizar en los
detalles de dichas vulnerabilidades. Las relacionarás con la lista de Vulnerabilidades y
Exposiciones Comunes (CVE), la Enumeración de Debilidades Comunes (CWE), la Base

135
de Datos Nacional de Vulnerabilidades del NIST y el Sistema Común de Puntuación de
Vulnerabilidades (CVSS).
Recursos necesarios
 Ordenador con conexión a internet
Instrucciones
Parte 1: Investigar las vulnerabilidades y exposiciones comunes (CVE)
Paso 1: Explorar CVE.
a. Abra el sitio web de CVE y navegue a [Link] .
b. Lea la descripción general del programa CVE.
1. Seleccione Acerca de > Información general en el menú.
2. Vea el vídeo de presentación del programa CVE.
3. Consulte los podcasts disponibles para obtener información más detallada
sobre el programa CVE.
¿Cuál es la misión del programa CVE?
Identificar, definir y catalogar las vulnerabilidades de ciberseguridad divulgadas
públicamente.
¿Quién asigna los identificadores CVE?
Las Autoridades de Numeración CVE (CNA)
¿Cuáles son los dos objetivos principales del Programa CVE?
Ampliar el programa para lograr una adopción y cobertura más amplias y para producir
más registros CVE con mayor rapidez (casi en tiempo real).
¿Quién gestiona el CVE?
MITRE Corporation con financiación del Departamento de Seguridad Nacional de los
Estados Unidos (DHS) y el Componente de Gestión de Vulnerabilidades (VMC) de la
Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA).
Paso 2: Utilice el programa CVE para recopilar información sobre vulnerabilidades.
En un laboratorio anterior, analizaste un sistema objetivo en busca de
vulnerabilidades. La lista de vulnerabilidades encontradas arrojó los siguientes seis
CVE:
 CVE-2021-41617
 CVE-2020-14145
 CVE-2019-16905
 CVE-2019-6111
 CVE-2019-6110
 CVE-2019-6109
a. Introduzca la información CVE-2021-41617 en la ventana de búsqueda y haga clic
en Buscar .
¿Qué versiones de OpenSSH son susceptibles a esta vulnerabilidad?
Versiones 6.2 a 8.x, anteriores a la 8.8
¿Cuándo se actualizó por última vez esta CVE?
14 de febrero de 2023
b. En la parte inferior de la página, haga clic en CVE-2021-41617 para ver información
adicional sobre el CVE de la Base de Datos Nacional de Vulnerabilidades (NVD) del
NIST.
¿Cuál es la puntuación de gravedad CVSS 3.x para este CVE?
7.0 ALTO
c. Repita los pasos a y b para revisar la información de los otros cinco CVE.

136
¿Cuál de estas CVE implica ataques de intermediario (Man-in-the-Middle) desde un
servidor SCP malicioso?
CVE-2019-6111
d. En el sitio CVE ( [Link] ), ingrese CVE-2019-6111 en el cuadro de búsqueda y
haga clic en Buscar .
e. Desplácese hasta la parte inferior de la página CVE y haga clic en CVE-2019-6111
para ver información adicional sobre el NVD.
f. En la página NVD para CVE-2019-6111 , desplácese hacia abajo hasta la sección
Enumeración de debilidades .
¿Qué CWE-ID está asociado con esta CVE?
CWE-22
Registre este ID de CWE para usarlo en la Parte 2.
g. Repita los pasos a a d para obtener los CWE-ID asociados con los otros CVE
devueltos.
¿Qué CWE están asociados con cada uno de los otros cinco CVE?
CWE-203, CWE-190, CWE-116, CWE-838
Registre estos identificadores CWE para utilizarlos en la Parte 2.
Parte 2: Exploración de la enumeración de debilidades comunes (CWE)
Paso 1: Explorar CWE.
a. Abra el sitio web de CWE y navegue a [Link] .
b. Explore el programa CVE seleccionando Acerca de > Información general en el
menú.
¿Cuál es el objetivo de CWE?
Para detener las vulnerabilidades en su origen, se educa a los arquitectos, diseñadores,
programadores y compradores de software y hardware sobre cómo eliminar los
errores comunes antes de que se entreguen los productos.
¿Cuál es la diferencia entre un CVE y un CWE?
Las respuestas pueden variar, pero los CVE identifican vulnerabilidades específicas,
mientras que los CWE clasifican y describen tipos de debilidades que pueden conducir
a vulnerabilidades.
c. Identificadores que registraste en el paso 2 de la Parte 1.
1. Introduzca 22 en el cuadro de búsqueda de ID situado en la parte superior
derecha de la página de CWE. (Este es el ID de CWE para CVE-2019-6111).
¿Cuál es el título de este CWE?
Limitación indebida de una ruta de acceso a un directorio restringido ('Recorrido de
rutas')
2. Desplácese por la información disponible sobre este CWE.
d. Repita el paso c. Busque los ID de CWE restantes que registró en el paso 2g de la
Parte 1.
Parte 3: Investigar los recursos de vulnerabilidad del Instituto Nacional de Estándares
y Tecnología (NIST).
Paso 1: Explorar NIST.
a. Acceda al sitio web del NIST navegando a [Link] .
b. Seleccione Acerca de NIST > Acerca de nosotros en el menú y revise la descripción
general de NIST.
¿Cuál es la misión del NIST?

137
“Promover la innovación y la competitividad industrial de Estados Unidos mediante el
avance de la ciencia, los estándares y la tecnología para mejorar la seguridad
económica y la calidad de vida.”
c. Explore la Base de Datos Nacional de Vulnerabilidad (NVD).
1. Regrese a la página de inicio del NIST y seleccione Temas > Tecnología de la
Información en el menú.
2. Seleccione Base de Datos Nacional de Vulnerabilidades en la lista de
Contenido Destacado .
3. Haga clic en General para ver y revisar la información general sobre el NVD.
¿Cuál es la relación entre el NVD y los CVE?
El NVD analiza las CVE publicadas en el diccionario de CVE. El personal del NVD analiza
las CVE y proporciona información adicional.
4. Expanda el menú en General y haga clic en Panel de control NVD .
¿Cuántas vulnerabilidades CVE contiene la NVD?
La respuesta puede variar. Al momento de redactar este documento: 211116
¿Cuál es la vulnerabilidad evaluada más reciente y cuál es su puntuación CVSS?
La respuesta puede variar, pero al momento de redactar este documento, la
vulnerabilidad CVE-2023-20990 tiene una gravedad CVSS de 4.4 (MEDIA).
5. Regrese a la página de la Base de Datos Nacional de Vulnerabilidades
[Link] .
6. Haz clic en Métricas de vulnerabilidad en el menú de la izquierda de la
página.
¿Qué método se utiliza para medir cualitativamente la gravedad de las
vulnerabilidades?
El Sistema Común de Puntuación de Vulnerabilidades (CVSS)
¿Cuántas clasificaciones de gravedad tiene CVSS v3.0 y cuáles son?
Cinco. Son: Ninguno, Bajo, Medio, Alto y Crítico.
Parte 4: Investigación de vulnerabilidades en el Sistema Común de Puntuación de
Vulnerabilidades (CVSS)
Paso 1: Explorar CVSS.
a. Acceda al sitio web de CVSS y vaya a [Link]
b. Revise la información en el CVSS.
c. Para consultar las clasificaciones CVSS, haga clic en "Documento de
especificaciones" en el menú de la izquierda.
¿Cuáles son las tres métricas que componen una calificación CVSS?
Métrica base, Métrica temporal, Métrica ambiental
¿Cuántas métricas componen el grupo de métricas base de un CVSS? ¿Cuáles son?
Ocho: Vector de ataque, complejidad del ataque, privilegios necesarios, interacción del
usuario, impacto en la confidencialidad, impacto en la integridad, impacto en la
disponibilidad y alcance.
1. Haz clic en Ejemplos en el menú de la izquierda.
2. Haz clic en el enlace para ver ejemplos de la versión 3.1 de CVSS .
3. Desplácese hacia abajo en la página y revise los ejemplos de CVE y cómo se
calcularon sus puntuaciones base CVSS v3.1.
4. Observe los valores proporcionados para cada métrica que compone la
puntuación CVSS.
d. Investigue las calificaciones CVSS de los CWE registrados en la Parte 1, Paso 2.

138
1. Visite [Link] .
2. En el cuadro de búsqueda, ingrese CVE-2021-41617 y haga clic en Buscar .
3. Desplácese hasta el final de la página y haga clic en CVE-2021-41617 para
ver información adicional en la NVD. Esto abrirá la Base de Datos Nacional
de Vulnerabilidades para ver los detalles de la CVE.
4. Desplácese a la sección Gravedad y asegúrese de que esté seleccionada la
versión 3.x de CVSS .
Observe los valores de las ocho métricas base CVSS en el Vector . La
puntuación numérica correspondiente de estos valores se combina para
dar una puntuación base de 7.0 ALTA.
5. En una ventana de navegador separada, diríjase a la Calculadora CVSS 3.1
en [Link] .
6. En la calculadora de puntuación base, haga clic en los nombres de las
métricas que corresponden al vector en la página NVD.
( Vector: CVSS:3.1/ AV:L /AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)
¿Qué puntuación base calcula la calculadora CVSS?
7.0
7. Repita los pasos 1 a 6 para los otros cinco CVE registrados de la Parte 1,
Paso 2.
Reflexión
¿Cuál es la relación entre CVE, CWE, NVD y CVSS?
CVE enumera las vulnerabilidades que se han descubierto, CWE clasifica estas
vulnerabilidades, NVD proporciona detalles y CVSS proporciona calificaciones de
gravedad.
Por favor, responda a las siguientes preguntas después de haber completado el
laboratorio.
Prueba de habilidades
¿Cuál es un resumen de la vulnerabilidad CVE-2019-6111?
omisión de las restricciones de acceso de OpenSSH
recorrido de ruta
cifrado SSL débil
vulnerabilidad de ataque de intermediario (MITM)
Encuesta de laboratorio
Por favor, cuéntenos su experiencia con el laboratorio indicando su grado de acuerdo
con las siguientes afirmaciones.
Me siento segura de las habilidades que practiqué en este laboratorio.
Totalmente de acuerdo
Completar este laboratorio fue una buena manera de emplear mi tiempo.
Aceptar
3.4.4 Cómo lidiar con una vulnerabilidad
Como analista de seguridad ofensiva, tu objetivo es identificar vulnerabilidades que
puedan ser explotadas. Como se mencionó anteriormente, el escaneo de
vulnerabilidades es un método para identificar posibles exploits. Tras identificar una
vulnerabilidad, debes verificarla. Existen diversas maneras de determinar si los
resultados de un escáner de vulnerabilidades son válidos. La validación definitiva es la
explotación.

139
Para determinar si una vulnerabilidad es explotable, primero debe identificar un
exploit para dicha vulnerabilidad. Supongamos que su escáner de vulnerabilidades
informa que existe una versión obsoleta de Apache Struts vulnerable a un defecto no
autenticado que puede explotarse de forma remota. Una de las primeras cosas que
debería hacer es determinar si existe un exploit disponible. En muchos casos, esto se
puede encontrar con un framework de explotación como Metasploit. Por regla
general, si una vulnerabilidad tiene un módulo coincidente en Metasploit, casi siempre
se considerará de alta gravedad. Dicho esto, también existen otros métodos para
encontrar exploits, e incluso puede desarrollar los suyos propios.
¿Cómo priorizas los hallazgos para la siguiente fase de tu prueba de penetración? Para
determinar la prioridad, debes responder algunas preguntas:
 ¿Cuál es la gravedad de la vulnerabilidad?
 ¿A cuántos sistemas afecta la vulnerabilidad?
 ¿Cómo se detectó la vulnerabilidad?
 ¿La vulnerabilidad se detectó con un escáner automatizado o manualmente?
 ¿Cuál es el valor del dispositivo en el que se encontró la vulnerabilidad?
 ¿Este dispositivo es fundamental para su negocio o infraestructura?
 ¿Cuál es el vector de ataque y se aplica a su entorno?
 ¿Existe alguna solución alternativa o mitigación posible?
Responder a estas preguntas puede ayudarle a determinar la prioridad que debe
asignar a las vulnerabilidades encontradas. El protocolo estándar recomienda
comenzar con las vulnerabilidades de mayor gravedad, aquellas con mayor
probabilidad de ser explotadas. Si estas vulnerabilidades son válidas, es posible que ya
estén comprometidas. (Si durante una prueba de penetración descubre que un
sistema está siendo explotado activamente, debe informarlo de inmediato al
propietario del sistema). A continuación, debe abordar cualquier vulnerabilidad en
sistemas críticos, independientemente de su nivel de gravedad. Es posible que exista
una cadena de explotación disponible para un atacante que permita que una
vulnerabilidad de menor gravedad se convierta en crítica. Debe proteger primero los
sistemas críticos. Posteriormente, puede priorizar según la cantidad de sistemas
afectados por el hallazgo. Si un gran número de sistemas se ven afectados, la prioridad
aumenta, ya que múltiples explotaciones de esta vulnerabilidad tendrían un mayor
impacto en su entorno. Estas son solo directrices sugeridas; sin embargo, en lo que
respecta a la priorización de la gestión y mitigación de vulnerabilidades, depende en
gran medida del entorno específico.
3.5 Resumen Desplácese para comenzar
3.5.1 ¿Qué aprendí en este módulo?
Seleccione los encabezados para ver un resumen de los temas tratados en este
módulo.
Realizar reconocimiento pasivo
El reconocimiento es el paso inicial en un ciberataque, donde el atacante recopila
información sobre el objetivo. Existen dos tipos de reconocimiento: activo y pasivo. El
reconocimiento activo implica el envío de sondas a la red o sistemas objetivo, mientras
que el reconocimiento pasivo no interactúa directamente con el objetivo, sino que
utiliza bases de datos de terceros e intercepta el tráfico de red.
Los métodos comunes de reconocimiento activo incluyen la enumeración de hosts,
redes, usuarios, grupos, recursos compartidos de red, páginas web, aplicaciones y

140
servicios, así como la manipulación de paquetes. Los métodos de reconocimiento
pasivo incluyen la enumeración de dominios, la inspección de paquetes, la inteligencia
de fuentes abiertas (OSINT), el reconocimiento y la interceptación de comunicaciones.
El reconocimiento activo suele comenzar con poca información, que se va ampliando
mediante escaneos, para luego pasar a diferentes tipos de escaneos y obtener
información adicional. Algunas técnicas empleadas por los atacantes incluyen
búsquedas de DNS, identificación de contactos técnicos y administrativos, extracción
de datos de redes sociales e inspección de fallos criptográficos en certificados SSL. La
transparencia de los certificados es otra herramienta que los atacantes pueden utilizar
para obtener información sobre los subdominios y sistemas de una organización.
Las brechas de seguridad pueden afectar directamente la reputación de una empresa.
Los atacantes utilizan diversos métodos para recopilar información, como la filtración
de contraseñas, el análisis de metadatos de archivos, el análisis estratégico de motores
de búsqueda, el archivado de sitios web y los repositorios de código fuente públicos.
Herramientas como h8mail y WhatBreach explotan los repositorios de datos
vulnerados, mientras que ExifTool revela los metadatos de los archivos. Los
operadores de motores de búsqueda avanzados pueden descubrir información
confidencial, y el archivado de sitios web permite obtener una visión histórica de los
mismos. La recopilación de inteligencia de fuentes abiertas (OSINT) implica la
recopilación y el análisis de información disponible públicamente, siendo Recon-ng un
potente marco de trabajo para este fin. Shodan escanea internet en busca de hosts
vulnerables y otros sistemas expuestos.
Realizando reconocimiento activo
Realizar reconocimiento activo implica la enumeración, que consiste en recopilar
información sobre un objetivo durante una prueba de penetración. El primer paso es
identificar los hosts del objetivo expuestos a internet, seguido de un escaneo de
puertos para enumerar los servicios que se ejecutan en dichos hosts. Nmap es una
herramienta popular para este tipo de escaneos, incluyendo escaneos SYN, escaneos
de conexión TCP, escaneos UDP y escaneos TCP FIN.
Un escaneo SYN envía un paquete TCP SYN al puerto objetivo y analiza la respuesta
para determinar si el servicio está escuchando. Los escaneos de conexión TCP utilizan
el mecanismo de red del sistema operativo para establecer una conexión TCP
completa, lo que puede activar alarmas en los sistemas de detección de intrusiones.
Los escaneos UDP son útiles para enumerar servicios como DNS, SNMP o DHCP, que
utilizan UDP para la comunicación. Los escaneos TCP FIN envían un paquete FIN al
puerto objetivo y, si no se recibe respuesta, el puerto se considera abierto.
Los escaneos de detección de hosts ayudan a determinar si un host está en línea y
responde en una red. Nmap también proporciona seis plantillas de temporización (-T
0-5) para controlar la agresividad del escaneo, desde muy lento para evadir sistemas
de detección de intrusiones (IDS) hasta muy agresivo, lo que puede sobrecargar los
objetivos o pasar por alto puertos abiertos.
Las técnicas de enumeración utilizadas en la recopilación de información incluyen:
 Enumeración de hosts : Se realiza tanto interna como externamente e implica
escanear las direcciones IP de un objetivo utilizando herramientas como Nmap o
Masscan.

141
 Enumeración de usuarios : Recopila una lista de usuarios válidos para descifrar
credenciales manipulando el protocolo Server Message Block (SMB) en una red
Windows.
 Enumeración de grupos : Ayuda a determinar los roles de autorización en el
entorno de destino mediante la enumeración de grupos SMB utilizando el script
Nmap NSE smb-enum-groups .
 Enumeración de recursos compartidos de red : Identifica sistemas que comparten
archivos, carpetas e impresoras en una red utilizando el script NSE smb-enum-
shares de Nmap .
 Enumeración de páginas web/Enumeración de aplicaciones web : Mapea la
superficie de ataque de una aplicación web utilizando el script NSE http-enum de
Nmap y otras herramientas como Nikto.
 Enumeración de servicios : Identifica los servicios que se ejecutan en un sistema
remoto, principalmente a través de la funcionalidad de escaneo de puertos de
Nmap.
 Enumeración mediante creación de paquetes : Scapy, un marco de trabajo basado
en Python, se puede utilizar para realizar reconocimiento de red mediante la
generación de paquetes.
Además, se puede realizar la inspección de paquetes y la escucha clandestina
utilizando herramientas como Wireshark, tshark y tcpdump, lo que ayuda en el
reconocimiento pasivo durante las pruebas de penetración.
Comprender el arte de realizar escaneos de vulnerabilidades
El escaneo de vulnerabilidades es el proceso de identificar debilidades en un sistema
mediante el análisis de sus servicios para determinar si son vulnerables. Los escáneres
de vulnerabilidades utilizan diferentes métodos, pero generalmente siguen un proceso
de cuatro pasos: descubrimiento, identificación de software/versión, correlación de
vulnerabilidades y generación de informes. Sin embargo, estos informes pueden
contener falsos positivos, por lo que la validación es crucial.
Existen varios tipos de escaneos de vulnerabilidades, entre ellos:
 no autenticado (el escáner funciona sin credenciales)
 autenticado (el escáner utiliza credenciales de acceso de nivel raíz)
 descubrimiento (el escáner identifica la superficie de ataque de un objetivo)
 completo (el escáner permite todas las opciones de escaneo)
 sigilo (el escáner minimiza el ruido para evitar la detección)
 pasivo (el escáner monitoriza y analiza el tráfico de red)
 cumplimiento (el escáner verifica el cumplimiento de las normas del sector).
Cada tipo de escaneo tiene sus propias ventajas y limitaciones. Por ejemplo, los
escaneos no autenticados solo muestran los servicios de red expuestos, mientras que
los escaneos autenticados proporcionan información más completa. Los escaneos
sigilosos son útiles para entornos de producción, pero pueden no detectar todas las
vulnerabilidades. Los escaneos de cumplimiento abordan requisitos específicos de la
industria, pero pueden resultar complejos debido a las diferentes interpretaciones de
las normativas.
Entre los desafíos a considerar al ejecutar un escaneo de vulnerabilidades en una red o
dispositivo se incluyen:
 Mejor momento para realizar un escaneo : Los escaneos en redes de producción
deben realizarse con cuidado para minimizar el impacto en los usuarios y

142
servidores, generalmente durante las primeras horas de la mañana cuando el uso
de la red es bajo.
 Determinación de los protocolos en uso : Identifique si el dispositivo objetivo
utiliza TCP, UDP o ambos, para evaluar las vulnerabilidades en ambos servicios.
 Topología de red : Los escaneos deben realizarse lo más cerca posible del objetivo
para evitar afectar a los dispositivos que se encuentren en la ruta y alterar los
resultados del escaneo.
 Limitaciones de ancho de banda : Es posible que sea necesario ajustar la
configuración del escáner en situaciones de menor ancho de banda para evitar
problemas de consumo de ancho de banda.
 Limitación de consultas : Reducir la velocidad del tráfico del escáner puede ayudar
a gestionar las limitaciones de ancho de banda. Esto se puede lograr reduciendo los
hilos de ataque o el alcance de los complementos/ataques.
 Sistemas frágiles/Activos no tradicionales : Los escáneres de vulnerabilidades
podrían necesitar ajustar sus opciones de escaneo para sistemas frágiles, como
impresoras o dispositivos IoT, para evitar fallos en su funcionamiento. Como
alternativa, estos dispositivos podrían quedar excluidos de los escaneos, pero esto
podría reducir la seguridad general.
Comprender cómo analizar los resultados del escaneo de vulnerabilidades
Realizar un escaneo de vulnerabilidades es la parte sencilla de identificar posibles
amenazas; el principal desafío reside en analizar los resultados. Las herramientas de
escaneo de vulnerabilidades pueden generar falsos positivos, los cuales deben
eliminarse para identificar con precisión las vulnerabilidades reales. Reducir los falsos
positivos es especialmente importante al elaborar un informe para un proyecto
remunerado de pruebas de penetración.
Eliminar los falsos positivos implica validar la información de la versión e investigar los
detalles de la vulnerabilidad. Cada vulnerabilidad se corresponde con elementos de la
lista de Vulnerabilidades y Exposiciones Comunes (CVE), que deben examinarse para
comprender mejor los criterios.
Diversas organizaciones y recursos, como US-CERT, la División CERT de la Universidad
Carnegie Mellon, NIST, JPCERT, CAPEC, CVE, CWE y CVSS, proporcionan información
útil para una investigación más exhaustiva de las vulnerabilidades. Al abordar una
vulnerabilidad, es importante determinar su prioridad evaluando su gravedad, el
número de sistemas afectados y otros factores.
En general, analizar correctamente los resultados del escaneo de vulnerabilidades
implica un examen detallado de los hallazgos de la herramienta y priorizar las
vulnerabilidades para su mitigación en función de su gravedad e impacto potencial.
3.5.2 Preguntas de reflexión
Una vez firmado el contrato y en marcha la prueba de penetración, es fundamental
obtener la mayor información posible sobre la red, las aplicaciones y los sistemas del
cliente. El reconocimiento pasivo es un buen punto de partida. ¿Qué tipo de
información valiosa se puede obtener mediante el reconocimiento pasivo? El
reconocimiento activo es más intrusivo que el pasivo. Por ello, ¿por qué debe tener
cuidado el evaluador al realizar un reconocimiento activo?
Muchos escáneres de vulnerabilidades son automáticos. Si bien suelen ser precisos, es
importante verificar manualmente algunos resultados. ¿Por qué? Al analizar los

143
resultados de un escáner de vulnerabilidades, ¿por qué es importante conocer CVE,
CWE y CVSS?
Pregunta 1
¿Qué dos herramientas podrían utilizarse para recopilar información DNS de forma
pasiva? (Elija dos).
Recon-ng
Excavar
Wireshark
Nmap
Herramienta Exif
Pregunta 2
¿Qué comando de Linux se puede utilizar para identificar los contactos técnicos y
administrativos de un dominio determinado al realizar un reconocimiento pasivo?
netstat
excavar
quién es
nmap
Pregunta 3
¿Qué especificación define el formato utilizado por los archivos de imagen y sonido
para capturar metadatos?
Formato de archivo de imagen intercambiable (Exif)
Formato de archivo de imagen extensible (Exif)
Formato de archivo intercambiable (EFF)
Formato de archivo intercambiable (IFF)
Pregunta 4
¿Por qué un analista de seguridad realizaría un escaneo de reconocimiento pasivo en
lugar de uno activo?
recopilar información sobre una red sin ser detectado
porque el tiempo para realizar la exploración es limitado
porque las credenciales SSH de nivel raíz para un objetivo se han visto
comprometidas
para comprobar si hay servicios o protocolos específicos disponibles en la red
Pregunta 5
¿Qué tipo de servidor está enumerando un analista de seguridad cuando introduce el
comando nmap -sU ?
Servidor DNS, SNMP o DHCP
servidor HTTP o HTTPS
Servidor POP3, IMAP o SMTP
servidor FTP

144
Pregunta 6
¿Qué desventajas tiene realizar un escaneo no autenticado de un objetivo al realizar
una prueba de penetración?
Es posible que no se detecten las vulnerabilidades de los servicios que se
ejecutan dentro del sistema objetivo.
El escáner informará que el puerto está abierto, independientemente de si el
servicio en ese segmento de red está escuchando o no.
Es más probable que los escaneos no autenticados proporcionen una tasa de
falsos positivos menor que los escaneos autenticados.
Los escaneos no autenticados son una forma de reconocimiento pasivo que aporta
poca información útil.
Pregunta 7
¿Qué se requiere para que un analista de seguridad pueda realizar un escaneo
autenticado completo contra un host Linux?
Credenciales de usuario con acceso de nivel raíz al sistema de destino
credenciales de usuario del sistema
acceso físico en las instalaciones al sistema objetivo
Los escaneos no autenticados son una forma de reconocimiento pasivo que aporta
poca información útil.
Acceso por puerta trasera al sistema objetivo
Pregunta 8
¿En qué circunstancias un analista de seguridad realizaría un escaneo no autenticado
de un objetivo?
cuando no se proporcionaron las credenciales de usuario
cuando no se requiere el número de informes de vulnerabilidades falsos positivos
cuando el tiempo es limitado y se requieren escaneos más rápidos
cuando solo se van a escanear objetivos con servicios UDP
Pregunta 9
¿Por qué un analista de seguridad utilizaría el comando nmap -sF ?
Cuando un filtro de red o un firewall detecta un escaneo TCP SYN.
cuando el probador quiere finalizar el escaneo
cuando un escaneo TCP SYN informa de más de un puerto abierto
cuando el probador necesita registrar la hora del escaneo
Pregunta 10
¿Cuál es el propósito de la enumeración de hosts al iniciar una prueba de
penetración?
para identificar todas las direcciones IP activas dentro del alcance de la prueba
Contar el número total de direcciones IP dentro del alcance de la prueba
para identificar todos los hosts vulnerables dentro del alcance de la prueba

145
Contar el número total de hosts vulnerables dentro del alcance de la prueba
Pregunta 11
¿Qué se puede deducir cuando un evaluador introduce el comando nmap -sF para
realizar un escaneo TCP FIN y el puerto del host objetivo no responde?
que el puerto está abierto
que el puerto no responde al tráfico TCP
que el puerto está escuchando tráfico UDP
que el puerto no está listo para cerrar la conexión TCP
Pregunta 12
¿Qué desventajas tiene ejecutar un escaneo TCP Connect en comparación con
ejecutar un escaneo TCP SYN durante una prueba de penetración?
Los paquetes adicionales necesarios pueden activar una alarma del IDS.
Se detectan tanto puertos abiertos como cerrados.
Se generan mensajes ICMP indeterminados.
Es posible que se analicen hosts y direcciones que estén fuera del alcance de la
prueba.
Pregunta 13
Cuando una prueba de penetración identifica una vulnerabilidad, ¿cómo se debe
verificar posteriormente dicha vulnerabilidad?
Determinar si la vulnerabilidad es explotable.
priorizar la gravedad de la vulnerabilidad
evaluar el riesgo empresarial asociado a la vulnerabilidad
mitigar la vulnerabilidad
Pregunta 14
¿Por qué resulta útil el recurso de Vulnerabilidades y Exposiciones Comunes (CVE) al
investigar las vulnerabilidades detectadas por una prueba de penetración?
Se trata de una consolidación internacional de herramientas y bases de datos de
ciberseguridad.
Se trata de una lista de alto nivel de debilidades del software.
Tiene tres componentes de puntuación de vulnerabilidad.
Es un diccionario de ataques conocidos.
Pregunta 15
¿Cuál es el propósito de aplicar el Sistema Común de Puntuación de Vulnerabilidades
(CVSS) a una vulnerabilidad detectada por una prueba de penetración?
para calcular la gravedad de la vulnerabilidad
para determinar la prioridad de la vulnerabilidad
para determinar el vector de ataque que se aplica a la vulnerabilidad
para registrar con precisión cómo se detectó la vulnerabilidad
Pregunta 16

146
Un atacante está revisando las ofertas de empleo de TI y técnicas de una
organización objetivo. ¿Qué información sería la más valiosa para extraer de estas
ofertas?
el tipo de hardware y software utilizado
los salarios de los puestos enumerados
las horas de trabajo requeridas por los puestos enumerados
los beneficios laborales que ofrece la empresa
Pregunta 17
¿Cómo se implementa normalmente la recopilación de inteligencia de fuentes
abiertas (OSINT) durante una prueba de penetración?
mediante búsquedas públicas en internet
instalando y ejecutando la API de OSINT
mediante el envío de correos electrónicos de phishing
utilizando nmap para la enumeración de páginas web y aplicaciones web
Pregunta 18
¿Qué información inicial se puede obtener al realizar la enumeración de usuarios en
una prueba de penetración?
una lista válida de usuarios
las direcciones IP de los hosts objetivo
las credenciales de un usuario específico
acceso a la red interna objetivo
Pregunta 19
¿Qué información útil se puede obtener ejecutando un escaneo de enumeración de
recursos compartidos de red durante una prueba de penetración?
sistemas en una red que comparten archivos, carpetas e impresoras
los nombres de usuario y las contraseñas de los usuarios de la red
todos los hosts vulnerables de la red
Listas de los vectores de ataque que pueden explotar la red
Pregunta 20
Un analista de seguridad debe realizar un escaneo de vulnerabilidades en un
objetivo. ¿Qué ventajas tiene realizar un escaneo autenticado en lugar de uno no
autenticado?
Los escaneos autenticados pueden proporcionar una imagen más detallada de la
superficie de ataque objetivo.
Los escaneos autenticados son una forma de reconocimiento pasivo que no activa
las alarmas de seguridad del objetivo.
Los escaneos autenticados se realizan sin credenciales de usuario.
Los escaneos autenticados son menos complejos y más rápidos que los escaneos
no autenticados.
Pregunta 21
147
¿Cuáles son tres consideraciones a tener en cuenta al planificar un escaneo de
vulnerabilidades en una red de producción objetivo durante una prueba de
penetración? (Elija tres).
el momento de la exploración
el ancho de banda de red disponible
la topología de la red
Los escaneos autenticados son menos complejos y más rápidos que los escaneos
no autenticados.
las herramientas de escaneo disponibles
el personal capacitado disponible para analizar los resultados del escaneo
el requisito de informe de escaneo
Pregunta 22
Al realizar un escaneo de vulnerabilidades de un objetivo, ¿cómo se pueden
minimizar los impactos adversos en los dispositivos atravesados?
El escaneo debe realizarse lo más cerca posible del objetivo.
Deben realizarse escaneos de vulnerabilidades no autenticados.
Solo deben realizarse escaneos de reconocimiento pasivo.
Las opciones de la política de escaneo deberían incluir la limitación de consultas.
Pregunta 23
Una empresa contrata a un consultor de ciberseguridad para realizar una prueba de
penetración y evaluar las vulnerabilidades en sus sistemas de red. El consultor está
preparando el informe final para enviarlo a la empresa. ¿Cuál es una característica
importante de un informe final de prueba de penetración?
Ofrece una presentación precisa de las vulnerabilidades.
Sigue los estándares y el estilo esperados para la presentación de informes.
Es un resumen de información general para que los gerentes no técnicos puedan
comprenderla.
Se pone a disposición del público para todas las partes interesadas.
Pregunta 24
¿Qué ventaja tiene utilizar la red Wi-Fi objetivo para la inspección de paquetes de
reconocimiento?
Puede que no sea necesario el acceso físico al edificio.
El escaneo de paquetes tarda menos tiempo de forma inalámbrica en comparación
con el uso de la red cableada de destino.
Se puede capturar más información de forma inalámbrica en comparación con el
uso de la red cableada objetivo.
Se detectan menos vulnerabilidades con falsos positivos.
Pregunta 25
¿Qué orientación proporciona el Marco de Ciberseguridad del NIST para ayudar a
mejorar la postura de ciberseguridad de una organización?

148
El marco establece estándares y mejores prácticas de la industria.
Este marco proporciona una consolidación global de herramientas y bases de
datos de ciberseguridad.
El marco enumera los ciberataques que se han observado en el mundo real.
El marco proporciona un sistema de puntuación de vulnerabilidades.

149

También podría gustarte