Es vital recordar que todas las pruebas de penetración deben llevarse a cabo
de manera ética y legal. Obtén el consentimiento del propietario del sistema
antes de realizar cualquier prueba y asegúrate de no causar daño ni
interrupciones innecesarias en el entorno de producción. Además, ten en
cuenta las leyes y regulaciones locales relacionadas con la ciberseguridad y
delitos informáticos.
1
Introducción
En la era digital actual, la seguridad informática se ha convertido en una necesidad
vital para proteger la información confidencial y los sistemas críticos. Las
organizaciones de todos los tamaños se enfrentan a un panorama de amenazas en
constante evolución, con actores malintencionados que buscan explotar
vulnerabilidades para obtener acceso no autorizado a datos sensibles.
El Penetration Testing (Pentesting), también conocido como prueba de penetración
o ataque simulado, emerge como una herramienta fundamental para fortalecer la
seguridad informática. Este proceso metódico de evaluación busca identificar y
explotar las vulnerabilidades de un sistema o red, imitando las tácticas y técnicas de
los atacantes reales.
Al comprender las debilidades de su infraestructura, las organizaciones pueden
tomar medidas proactivas para remediarlas, mitigando significativamente el riesgo
de sufrir un ataque cibernético. El estudio del Pentesting proporciona a los
profesionales de la seguridad las habilidades y conocimientos necesarios para
realizar estas pruebas de manera efectiva, contribuyendo a la protección de la
información y los activos digitales.
El concepto de Pentesting no es nuevo; sus raíces se remontan a la década de
1960, cuando los pioneros de la seguridad informática comenzaron a realizar
pruebas de penetración en mainframes y sistemas de red. A medida que la
tecnología ha evolucionado, el Pentesting también ha experimentado un desarrollo
significativo, adaptándose a las nuevas amenazas y tendencias del panorama
digital.
En la década de 1970, con la proliferación de las redes de área local (LAN), el
Pentesting se enfocó en la detección de vulnerabilidades en las redes y los sistemas
operativos. La década de 1980 vio el surgimiento de herramientas automatizadas
para el Pentesting, facilitando la identificación de vulnerabilidades comunes.
En la década de 1990, Internet se convirtió en un nuevo campo de batalla para los
atacantes, impulsando la necesidad de pruebas de penetración web. La década del
2000 trajo consigo la aparición de aplicaciones web y móviles, expandiendo el
ámbito del Pentesting a estas nuevas plataformas.
En la actualidad, el Pentesting se considera una práctica fundamental en la gestión
de riesgos de seguridad. Las organizaciones de todos los sectores, desde
instituciones financieras hasta empresas de salud, recurren a las pruebas de
penetración para evaluar la seguridad de sus sistemas y proteger sus activos
digitales.
2
1
Introducción al Penetration Testing
1.1 Definición de Penetration Testing
El Penetration Testing, también conocido como prueba de penetración o
"pentesting", es una técnica de evaluación de seguridad informática que implica
simular un ataque cibernético controlado sobre un sistema, red, aplicación o entorno
informático para identificar y corregir posibles vulnerabilidades antes de que puedan
ser explotadas por ciberdelincuentes reales. El objetivo principal es evaluar la
seguridad de un sistema al replicar las tácticas, técnicas y procedimientos que los
atacantes podrían emplear.
Características Clave del Penetration Testing:
● Enfoque Ético: A diferencia de los ataques maliciosos, el penetration testing
se realiza de manera ética y legal. Se lleva a cabo con el consentimiento del
propietario del sistema o red y tiene como objetivo mejorar la seguridad, no
causar daño.
● Simulación de Ataques Reales: Los pentesters utilizan métodos similares a
los de los atacantes reales para descubrir y explotar vulnerabilidades. Esto
puede incluir el escaneo de puertos, la búsqueda de debilidades en el código,
la explotación de configuraciones inseguras, entre otros.
● Identificación de Vulnerabilidades: El objetivo principal es descubrir y
documentar cualquier vulnerabilidad o debilidad que pueda ser explotada por
un atacante. Estas vulnerabilidades pueden estar relacionadas con la
configuración del sistema, el software, las prácticas de desarrollo, la auten
● Evaluación Integral: El penetration testing evalúa la seguridad desde
múltiples perspectivas, incluyendo la seguridad de red, la seguridad de
aplicaciones web, la seguridad del sistema operativo, la seguridad física y la
ingeniería social.
● Informe Detallado: Después de completar la prueba de penetración, se
genera un informe detallado que destaca las vulnerabilidades identificadas,
las tácticas utilizadas, y ofrece recomendaciones para mejorar la seguridad.
3
Este informe es esencial para que los propietarios del sistema tomen
medidas correctivas.
1.2 Fases del Penetration Testing
● Reconocimiento (Information Gathering): Obtención de datos sobre el
objetivo, como direcciones IP, nombres de dominio, servicios en ejecución,
etc.
● Análisis de Vulnerabilidades (Vulnerability Analysis): Identificación y
evaluación de posibles vulnerabilidades en el sistema.
●
○ Explotación (Exploitation): Uso de las vulnerabilidades identificadas
para ganar acceso no autorizado al sistema y demostrar su
explotación.
○ Post-Explotación (Post-Exploitation): Análisis de los datos y
accesos obtenidos para evaluar el impacto del ataque y determinar la
profundidad del compromiso.
○ Informe de Resultados (Reporting): Documentación detallada de las
acciones realizadas, vulnerabilidades encontradas y recomendaciones
para mejorar la seguridad.
El penetration testing es una herramienta crucial en la ciberseguridad empresarial,
permitiendo a las organizaciones fortalecer sus defensas, mejorar sus políticas de
seguridad y proteger la integridad de la información confidencial.
4
1.3 Tipos de Pruebas de Penetración
Las pruebas de penetración no son un método único, sino que se dividen en
diversos tipos, cada uno con sus propias características y objetivos específicos. A
continuación, se presenta un análisis detallado de algunos tipos comunes:
Según el Conocimiento:
● Pruebas de Caja Negra (Prueba Ciega): El pentester no tiene ningún
conocimiento previo sobre el sistema o red objetivo, imitando a un atacante
del mundo real con información limitada. Esto proporciona una evaluación
realista de las defensas externas de una organización.
● Pruebas de Caja Blanca (Divulgación Total): El pentester tiene
conocimiento completo sobre el sistema objetivo, incluyendo su arquitectura,
código y vulnerabilidades. Esto se utiliza típicamente para pruebas internas
para identificar problemas de base y evaluar la postura de seguridad general.
● Pruebas de Caja Gris (Divulgación Parcial): El pentester tiene algún
conocimiento sobre el sistema objetivo, como su sistema operativo o
topología de red. Este es un enfoque equilibrado, que ofrece tanto simulacros
de ataque realistas como información más profunda a partir de un
conocimiento interno limitado.
5
Tabla comparativa de los tipos de cajas Pentesting
Tipo de Descripción Nivel de Ventajas Desventajas
Descripción Conocimient
Pentesting o del
Sistema
Caja Blanca Se realiza con Completo Permite una Menos realista
un revisión desde el punto
conocimiento exhaustiva y de vista de un
completo del detallada. atacante
sistema. A Identifica externo.
menudo implica vulnerabilidades Requiere más
acceso al más profundas. tiempo y
código fuente, recursos.
la arquitectura
del sistema y
otra
información
detallada.
Caja Negra Simula un Ninguno Más realista en Puede no
ataque externo términos de un identificar todas
sin ataque real. las
conocimiento Rápido de vulnerabilidades
previo del ejecutar. internas. Menos
sistema. Se detallado.
asemeja a un
atacante real
que intenta
encontrar y
explotar
vulnerabilidade
s.
Caja Gris Combina Parcial Equilibra el Puede no ser
elementos de realismo y la tan exhaustivo
caja blanca y profundidad de como el
caja negra. Se análisis. Más pentesting de
tiene algún flexible en caja blanca ni
conocimiento términos de tan realista
del sistema, enfoque. como el de caja
pero no negra.
completo.
6
Según el Alcance:
● Pruebas de Penetración Externa: Se enfocan en vulnerabilidades externas
en sistemas y redes accesibles desde internet, simulando ataques que se
originan desde fuera de la organización.
● Pruebas de Penetración Interna: Evalúan la seguridad de sistemas y redes
internas, simulando ataques lanzados por actores maliciosos que ya han
obtenido acceso a través de ingeniería social u otros medios.
● Pruebas de Penetración de Aplicaciones Web: Apuntan específicamente a
aplicaciones web en busca de vulnerabilidades, evaluando su postura de
seguridad contra diversos vectores de ataque, incluyendo ataques de
inyección, scripting entre sitios (XSS) y autenticación rota.
● Pruebas de Penetración de Redes Inalámbricas: Evalúan la seguridad de
redes inalámbricas, identificando vulnerabilidades en puntos de acceso,
protocolos de encriptación y configuraciones de red.
Según la Metodología:
● Pruebas de Penetración de Red: Se enfocan en identificar vulnerabilidades
en dispositivos y protocolos de red, evaluando su susceptibilidad a ataques
como denegación de servicio (DoS) y acceso no autorizado.
● Pruebas de Penetración de Ingeniería Social: Evalúan la susceptibilidad de
los empleados a ataques de ingeniería social, probando su conocimiento y
capacidad para identificar y resistir tácticas engañosas.
● Pruebas de Penetración Física: Evalúan la seguridad física de las
instalaciones y activos de una organización, probando la eficacia de los
controles físicos como las tarjetas de acceso, las cámaras de seguridad y el
personal de seguridad.
La elección del tipo de prueba de penetración adecuada depende de las
necesidades y objetivos específicos de la organización. Esto generalmente implica
considerar factores como el tamaño y la complejidad de la red, las limitaciones de
presupuesto y el nivel de seguridad deseado.
1.4 Historia del Penetration Testing
● Década de 1960: Los Pioneros
Los inicios del Pentesting se remontan a la década de 1960, cuando los pioneros de
la seguridad informática comenzaron a realizar pruebas de penetración en
mainframes y sistemas de red. En esta época, las pruebas se realizaban de forma
manual, utilizando técnicas rudimentarias como la ingeniería social y el análisis de
código fuente.
7
● Década de 1970: El Auge de las Redes
Con la proliferación de las redes de área local (LAN) en la década de 1970, el
Pentesting se enfocó en la detección de vulnerabilidades en las redes y los sistemas
operativos. Se desarrollaron herramientas como Nmap y Nessus, las cuales
automatizaron el proceso de escaneo de redes y la identificación de
vulnerabilidades comunes.
● Década de 1980: La Automatización y el Crecimiento
La década de 1980 vio un crecimiento significativo en el campo del Pentesting, con
la aparición de herramientas automatizadas para la explotación de vulnerabilidades.
Se popularizó el uso de exploits pre-escritos, lo que permitió a los pentesters
realizar pruebas de forma más rápida y eficiente.
● Década de 1990: La Era de Internet
Con la llegada de Internet en la década de 1990, el Pentesting se adaptó a las
nuevas tecnologías, enfocándose en la seguridad de las aplicaciones web y los
servidores. Se desarrollaron herramientas como Metasploit y Acunetix para
automatizar la identificación y explotación de vulnerabilidades web.
● Década de 2000: La Evolución Continua
En la década de 2000, el Pentesting se expandió a nuevas plataformas como las
aplicaciones móviles y los dispositivos IoT. Se hizo hincapié en la importancia de las
pruebas de seguridad física y la ingeniería social.
● Década de 2010: El Auge de la Nube y DevOps
Con la adopción de la computación en la nube y las prácticas DevOps, el Pentesting
se adaptó a estos nuevos entornos. Se popularizaron las pruebas de penetración en
la nube y las pruebas de seguridad como código.
● Década de 2020: El Futuro del Pentesting
En la actualidad, el Pentesting se considera una práctica fundamental en la gestión
de riesgos de seguridad. Las organizaciones de todos los sectores recurren a las
pruebas de penetración para evaluar la seguridad de sus sistemas y proteger sus
activos digitales.
8
Tendencias Actuales
● Pentesting como servicio: El Pentesting como servicio (PTaaS) ofrece un
modelo flexible y escalable para que las organizaciones accedan a pruebas
de penetración de alta calidad.
● Inteligencia artificial y aprendizaje automático: La IA y el ML se están
utilizando para automatizar tareas repetitivas y mejorar la precisión de las
pruebas de penetración.
● Pentesting continuo: El Pentesting continuo permite a las organizaciones
realizar pruebas de forma regular, lo que les permite identificar y remediar
vulnerabilidades de forma más rápida.
9
2
Virtualización
2.1 Virtualización
La virtualización es una tecnología fundamental en el mundo de las TI, que permite
crear múltiples entornos virtuales independientes a partir de un único hardware
físico. Esta abstracción de recursos físicos ofrece una gran flexibilidad y eficiencia
para la gestión de la infraestructura informática.
Desde la perspectiva de TI, la virtualización presenta diversos beneficios:
● Optimización de recursos: Permite aprovechar al máximo la capacidad del
hardware físico, ejecutando varios sistemas operativos y aplicaciones en un
mismo servidor.
● Reducción de costes: Disminuye la necesidad de adquirir hardware físico
para cada sistema o aplicación, lo que se traduce en un ahorro significativo.
● Mayor escalabilidad: Facilita la expansión de la infraestructura informática
de forma rápida y flexible, sin necesidad de realizar grandes inversiones en
hardware.
● Mejora de la disponibilidad y la seguridad: Los sistemas virtuales pueden
ser fácilmente replicados y restaurados en caso de fallo, lo que aumenta la
disponibilidad y la seguridad de la información.
● Agilidad en la gestión de TI: Permite automatizar tareas, provisionar nuevos
entornos de forma rápida y eficiente, y simplificar la administración de la
infraestructura.
Tipos de virtualización:
● Virtualización de servidores: Crea múltiples servidores virtuales a partir de
un único servidor físico.
● Virtualización de aplicaciones: Permite ejecutar varias aplicaciones en un
mismo sistema operativo, sin necesidad de instalarlas en cada equipo.
10
● Virtualización de escritorio: Ofrece un entorno de escritorio virtualizado que
puede ser accedido desde cualquier dispositivo.
● Virtualización de almacenamiento: Agrupa y administra el almacenamiento
de datos de forma centralizada.
Tecnologías de virtualización:
● VMware: Es una de las plataformas de virtualización más populares, con
soluciones para servidores, aplicaciones y escritorios.
● Hyper-V: Es la plataforma de virtualización de Microsoft, integrada en
Windows Server.
● KVM: Es una tecnología de virtualización de código abierto, disponible para
Linux y otros sistemas operativos.
La virtualización se ha convertido en una herramienta indispensable para las
empresas de todos los tamaños, permitiendo optimizar recursos, reducir costes,
aumentar la eficiencia y mejorar la seguridad de la infraestructura informática.
2.2. El Hipervisor
Un hipervisor, también conocido como monitor de máquina virtual (VMM), es un
software que crea y administra máquinas virtuales (VM). Se ejecuta sobre el
hardware físico, actuando como una capa de abstracción que permite a las VM
compartir los recursos del mismo equipo.
El hipervisor es el componente central de la virtualización, desempeñando un rol
fundamental en la gestión de las VM:
● Aprovisionamiento: Crea y configura las VM, asignándoles recursos como
CPU, memoria, almacenamiento y red.
● Ejecución: Controla la ejecución simultánea de las VM, gestionando el
tiempo de CPU y la prioridad de acceso a los recursos.
● Aislamiento: Garantiza que las VM se ejecuten de forma independiente y
segura, sin interferir entre sí.
● Comunicación: Permite la comunicación entre las VM y el sistema operativo
host, así como entre las propias VM.
Tipos de hipervisores:
● Tipo 1 (Bare Metal): Se ejecuta directamente sobre el hardware físico, sin
necesidad de un sistema operativo host. Ejemplos: VMware ESXi, Hyper-V.
11
● Tipo 2 (Hosted): Se ejecuta como una aplicación dentro de un sistema
operativo host. Ejemplos: VMware Workstation, VirtualBox.
Ventajas de usar un hipervisor:
● Optimización de recursos: Permite aprovechar al máximo la capacidad del
hardware físico.
● Reducción de costes: Disminuye la necesidad de adquirir hardware para
cada VM.
● Escalabilidad: Facilita la expansión de la infraestructura de forma rápida y
flexible.
● Disponibilidad y seguridad: Aumenta la disponibilidad y la seguridad de las
VM.
● Agilidad: Simplifica la gestión de la infraestructura y la provisión de servicios.
El hipervisor es una herramienta fundamental para la virtualización, permitiendo
crear un entorno flexible y eficiente para ejecutar múltiples sistemas operativos y
aplicaciones en un mismo equipo.
12
3
Kali Linux
Kali Linux es una distribución de Linux diseñada específicamente para profesionales
de seguridad, investigadores de ciberseguridad y entusiastas de la ética hacker.
Desarrollada por Offensive Security, Kali Linux se ha convertido en una herramienta
esencial en el arsenal de aquellos que buscan evaluar y fortalecer la seguridad de
sistemas y redes.
Kali Linux es una distribución de Linux basada en Debian que proporciona un
conjunto completo de herramientas y recursos especializados para la realización de
pruebas de penetración, evaluación de seguridad, análisis forense digital y tareas
relacionadas con la ciberseguridad. Esta distribución está diseñada desde su núcleo
para facilitar la ejecución de tareas específicas en el ámbito de la seguridad
informática, ofreciendo a los usuarios un entorno listo para usar con todas las
herramientas necesarias preinstaladas.
Características Clave de Kali Linux:
● Herramientas de Seguridad Integradas: Kali Linux incluye más de 600
herramientas de seguridad de código abierto, agrupadas en categorías como
análisis de vulnerabilidades, pruebas de penetración, análisis forense,
seguridad móvil y más. Desde herramientas de escaneo de red hasta exploits
y utilidades de análisis forense, Kali Linux proporciona un conjunto diverso
para abordar diferentes aspectos de la seguridad.
● Entorno de Desarrollo Seguro: Kali Linux se instala de manera
predeterminada con una cuenta de usuario no privilegiado, lo que ayuda a
prevenir la ejecución accidental de comandos dañinos. Además, muchas
herramientas se ejecutan con privilegios limitados por defecto para reducir
riesgos potenciales.
● Modo Forense: Kali Linux ofrece un modo forense que permite el acceso a
herramientas de análisis forense sin modificar el almacenamiento en disco
del sistema objetivo. Esto es crucial para garantizar la integridad de la
evidencia en investigaciones forenses.
● Colaboración con la Comunidad: Kali Linux es un proyecto de código
abierto con una comunidad activa que contribuye al desarrollo y mejora
13
continua. La participación de la comunidad asegura la actualización regular
de herramientas y la adaptación a las últimas tendencias y amenazas de
seguridad.
● Herramientas de Información y Recopilación: Kali Linux incluye
herramientas especializadas para la recopilación de información, como
Maltego y theHarvester, que facilitan la obtención de datos relevantes sobre
objetivos de prueba.
● Facilidad de Uso y Accesibilidad: A pesar de su enfoque en tareas
avanzadas de seguridad, Kali Linux ha mejorado continuamente su interfaz
de usuario para facilitar su uso tanto para expertos como para principiantes.
Se presta especial atención a la documentación y tutoriales, facilitando la
curva de aprendizaje.
● Herramientas de Auditoría Inalámbrica: Kali Linux es conocido por su
robusto conjunto de herramientas para auditar la seguridad de redes
inalámbricas. Con herramientas como Aircrack-ng, Wireshark y Fluxion, los
profesionales pueden evaluar y fortalecer la seguridad de las redes Wi-Fi.
● Actualizaciones Regulares: Kali Linux se actualiza regularmente para
incorporar nuevas herramientas, mejorar la estabilidad y abordar posibles
vulnerabilidades de seguridad. Los usuarios pueden beneficiarse de las
últimas características y actualizaciones del mundo de la ciberseguridad.
Nombre Descripción
Análisis de
Vulnerabilidades
OpenVAS Herramienta de escaneo de vulnerabilidades y
gestión de parches.
Nexpose Community Edition Escáner de vulnerabilidades de Rapid7.
Nikto Escáner web para identificar posibles problemas
de seguridad.
Análisis Forense Digital
Autopsy Plataforma forense digital con interfaz gráfica.
14
Sleuth Kit Herramientas de código abierto para análisis
forense.
Ataques Inalámbricos
Aircrack-ng Suite de herramientas para pruebas de seguridad
en redes inalámbricas.
Wireshark Analizador de tráfico de red y herramienta de
captura de paquetes.
Fluxion Herramienta de auditoría de redes inalámbricas.
Ataques a Redes
Ettercap Sniffer y herramienta de ataques de red.
Netcat Utilidad de red para lectura y escritura de datos a
través de conexiones TCP o UDP.
Wireshark Analizador de tráfico de red y herramienta de
captura de paquetes.
Exploits
Metasploit Framework Plataforma integral para pruebas de penetración y
desarrollo de exploits.
ExploitDB Base de datos de exploits y shellcodes.
SET (Social-Engineer Toolkit) Marco de trabajo de ingeniería social.
Password Attacks
John the Ripper Herramienta de cracking de contraseñas.
Hydra Herramienta de fuerza bruta para ataques a
servicios de red.
Hashcat Herramienta de recuperación de contraseñas
basada en GPU.
Reversión de Ingeniería
Ghidra Herramienta de análisis de código fuente y
descompilador.
15
Radare2 Marco de ingeniería inversa que incluye un
analizador hexadecimal, desmontador, y
debugger.
IDA Pro (versión limitada) Desensamblador interactivo y depurador.
Anonimato y Ocultación
Tor Red de anonimato que permite navegar de forma
anónima.
Proxychains Herramienta para redirigir el tráfico a través de
servidores proxy.
Anonsurf Herramienta de anonimato que redirige todo el
tráfico a través de la red Tor.
Herramientas Web
Burp Suite Suite de herramientas para pruebas de seguridad
de aplicaciones web.
OWASP ZAP Herramienta de prueba de seguridad de
aplicaciones web.
Nikto Escáner web para identificar posibles problemas
de seguridad.
Herramientas de
Información y Recopilación
Maltego Herramienta de minería de datos e inteligencia de
amenazas.
theHarvester Herramienta de recopilación de información de
dominios.
Recon-ng Marco de trabajo de reconocimiento web.
Sniffing y Spoofing
Wireshark Analizador de tráfico de red y herramienta de
captura de paquetes.
Ettercap Sniffer y herramienta de ataques de red.
Bettercap Marco de trabajo completo para análisis, spoofing
y manipulación de redes.
16
Herramientas de Seguridad
Inalámbrica
Wifite Herramienta automatizada para ataques a redes
inalámbricas.
Fern Wifi Cracker Herramienta de auditoría de redes inalámbricas.
Kismet Detector y analizador de redes inalámbricas.
17
4
Herramienta nmap
4.1 Nmap
Nmap (Network Mapper) es una herramienta de código abierto y gratuita para el
escaneo de redes y puertos. Es una de las herramientas de seguridad informática
más populares y utilizadas por profesionales de la seguridad, administradores de
redes y entusiastas de la tecnología.
Nmap permite a los usuarios descubrir hosts activos en una red, identificar los
servicios que se ejecutan en esos hosts y determinar qué puertos están abiertos.
También puede obtener información sobre el sistema operativo, la versión del
software y las vulnerabilidades de seguridad de los hosts.
Nmap fue creado por Gordon Lyon (Fyodor) en 1997. Desde entonces, se ha
convertido en una de las herramientas de seguridad informática más utilizadas en el
mundo. Nmap es un software libre y de código abierto, lo que significa que
cualquiera puede contribuir a su desarrollo.
Nmap se puede utilizar para una variedad de propósitos, incluyendo:
● Descubrimiento de redes: Encontrar hosts activos en una red.
● Enumeración de puertos: Identificar los servicios que se ejecutan en un host.
● Detección de vulnerabilidades: Encontrar vulnerabilidades de seguridad en
hosts.
● Mapeo de redes: Crear un mapa visual de una red.
● Análisis de red: Monitorizar el tráfico de red y detectar intrusiones.
● Pruebas de penetración: Evaluar la seguridad de una red.
● Administración de redes: Gestionar los dispositivos de una red.
Nmap está disponible para una amplia variedad de plataformas, incluyendo
Windows, macOS, Linux y Android. Puedes descargar la última versión de Nmap
desde la página oficial: [Link]
18
4.2 Parámetros Principales
● Descubrir sistemas:
Comando Descripción
-PS Análisis de ping con TCP SYN
-PA Análisis de ping con TCP ACK
-PU Análisis de ping con UDP
-PM Netmask Request
-PP Timestamp Request
-PE Echo Request
-sL Análisis de listado
-PO Ping por protocolo
-PN No hacer ping
-n No hacer DNS
-R Resolver DNS en todos los sistemas objetivo
--tracerout Trazar ruta al sistema (para topologías de red)
e
-sP Realizar ping (igual que con –PP –PM –PS443
–PA80)
● Técnicas de análisis de puertos:
Comando Descripción
-sS Análisis TCP SYN
-sT Análisis TCP
CONNECT
-sU Análisis UDP
-sY Análisis SCTP INIT
-sZ COOKIE ECHO de
SCTP
19
-sO Protocolo IP
-sW Ventana TCP -sN
--sF NULL, FIN, XMAS
--sA TCP ACK
● Puertos a analizar y orden de análisis:
Comando Descripción
-p n-m Rango de puertos
-p– Todos los puertos
-p n,m,z Puertos especificados
-p U:n-m,z Especificar puertos UDP (U) y TCP
T:n,m (T)
-F Rápido, los 100 comunes
--top-ports n Analizar los puertos más utilizados
-r No aleatorio
● Duración y ejecución:
Comando Descripción
-T0 Paranoico
-T1 Sigiloso
-T2 Sofisticado
-T3 Normal
-T4 Agresivo
-T5 Locura
--min-hostgroup Establecer el grupo mínimo de hosts
--max-hostgroup Establecer el grupo máximo de hosts
--min-rate Establecer la tasa mínima
20
--max-rate Establecer la tasa máxima
--min-parallelism Establecer la paralelización mínima
--max-parallelism Establecer la paralelización máxima
--min-rtt-timeout Establecer el tiempo de espera mínimo para RTT
--max-rtt-timeout Establecer el tiempo de espera máximo para RTT
--initial-rtt-timeout Establecer el tiempo de espera inicial para RTT
--max-retries Establecer el número máximo de intentos contra el sistema
objetivo
--host-timeout Establecer el tiempo de espera por host
--scan-delay Establecer el retardo de escaneo
● Detección de servicios y versiones:
Comando Descripción
-sV Detección de la versión de servicios
--all-ports No excluir puertos
--version-all Probar cada exploración
--version-trac Rastrear la actividad del análisis de versión
e
-O Activar detección del S. Operativo
--fuzzy Adivinar detección del SO
--max-os-tries Establecer número máximo de intentos contra el sistema
objetivo
21
Ejemplos:
1. Escaneo de una red local:
nmap [Link]/24
2. Escaneo de un host específico:
nmap -sS [Link]
3. Escaneo de puertos específicos:
nmap -p 80,22 [Link]
4. Escaneo con detección de sistema operativo:
nmap -A [Link]
5. Escaneo con detección de vulnerabilidades:
nmap -v -script vuln [Link]
6. Escaneo con Nmap NSE scripts:
nmap --script http-enum [Link]
7. Escaneo con opciones avanzadas:
nmap -T4 -A -v --script vuln [Link]/24
22
5
Linux
5.1 ¿Qué es Linux?
Linux es un sistema operativo de código abierto y gratuito, similar a Windows o
macOS, que te permite controlar tu ordenador. A diferencia de los sistemas
operativos propietarios, el código de Linux está disponible para que cualquiera
pueda verlo, modificarlo y distribuirlo.
Características principales:
● Gratuito y de código abierto: Puedes descargarlo, usarlo y modificarlo sin
pagar nada.
● Personalizable: Puedes personalizarlo a tu gusto, instalando diferentes
programas y configuraciones.
● Seguro: Es considerado uno de los sistemas operativos más seguros del
mundo.
● Estable: Funciona de forma fiable y sin errores durante largos periodos de
tiempo.
● Potente: Te permite aprovechar al máximo el hardware de tu ordenador.
● Versátil: Se puede usar en una gran variedad de dispositivos, desde
ordenadores de sobremesa hasta smartphones.
5.2 Distribuciones de Linux
Existen diferentes distribuciones de Linux, cada una con su propio conjunto de
características y software preinstalado.
Algunas de las distribuciones más populares son:
● Ubuntu: Fácil de usar e ideal para principiantes.
● Debian: Estable y segura, ideal para servidores.
● Mint: Similar a Windows, ideal para usuarios que buscan una experiencia
familiar.
● Fedora: Vanguardista y con las últimas tecnologías, ideal para
desarrolladores.
● Arch Linux: Ligera y personalizable, ideal para usuarios experimentados.
23
5.3 ¿Para qué se puede usar Linux?
Linux se puede usar para:
● Navegar por internet: Puedes usar Firefox, Chrome o Chromium para
navegar por internet.
● Trabajar con documentos: Puedes usar LibreOffice o OpenOffice para
trabajar con documentos, hojas de cálculo y presentaciones.
● Enviar y recibir correos electrónicos: Puedes usar Thunderbird o Evolution
para enviar y recibir correos electrónicos.
● Escuchar música y ver vídeos: Puedes usar VLC Media Player para
escuchar música y ver vídeos.
● Jugar: Existen muchos juegos disponibles para Linux, como Steam y GOG.
● Desarrollar software: Linux es una plataforma ideal para desarrollar
software.
● Administrar servidores: Linux es un sistema operativo muy popular para
servidores.
5.4 Principales comandos
Lista de los 50 comandos de Linux más importantes
Comando Descripción
sudo Ejecuta programas con los permisos de otros
usuarios
ls Muestra el contenido del directorio como una
lista
cd Navega por el árbol de ficheros
touch Crea un archivo nuevo
mkdir Crea un directorio
rm Borra archivo o directorio
rmdir Borra el directorio
mv Mueve archivos o directorios
cp Copia archivos o directorios
pwd Muestra el nombre del directorio
zip Escribir ficheros en archivos zip
24
unzip Extraer archivos de archivos zip
ln Crea un enlace simbólico
cat Agrupa contenido de varios archivos
grep Explora archivos de texto
diff Compara archivos o directorios
cmp Compara archivos a nivel de byte
tar Escribe y extrae archivos en el fichero tar
echo Muestra una cadena en la salida estándar
clear Limpia la ventana del terminal
ssh Conexión a otro ordenador con secure shell
wget Descargar un archivo de Internet directamente
ping Comprueba la conexión de red
ftp, sftp Transferir archivos a través (S)FTP
ip Administra interfaces IP
apt/pacman/y Descarga y gestiona paquetes de software
um
netstat Muestra el estado de las interfaces de red
traceroute Seguimiento de paquetes de datos
route Muestra y edita tablas de enrutamiento IP
dig Solicita información del DNS
mount/unmou Añade sistemas de archivos (set up/mount)
nt
dd Copia archivos, particiones o discos por bits
chmod Gestiona los permisos de acceso
chown Administra derechos de propietario
adduser Agrega/modifica una cuenta de usuario
25
passwd Crea/ edita contraseñas para cuentas de
usuario
groupadd Crea grupos de usuarios
chattr Gestiona los atributos de los archivos
lsattr Muestra los atributos del archivo
chgrp Administra los grupos de archivos y directorios
man Abre el manual
shutdown, Apaga o reinicia el sistema
reboot
top Listado dinámico de los procesos en ejecución
lscpu Muestra información sobre el procesador
lshw Muestra información sobre el hardware
kill Interrumpe y finaliza un proceso con PID
killall Interrumpe y cierra procesos usando el nombre
nice Define las prioridades de los procesos
pgrep Busca el PID mediante un término de búsqueda
ps Muestra una lista de todos los procesos abiertos
26
ANEXO 1
Glosario de Términos
Ataque de fuerza bruta: Un método para descifrar una contraseña probando todas
las combinaciones posibles de caracteres.
Ataque de diccionario: Un ataque de fuerza bruta que utiliza una lista de palabras
comunes para intentar descifrar una contraseña.
Autenticación: El proceso de verificar la identidad de un usuario.
Autorización: El proceso de determinar a qué recursos puede acceder un usuario.
Backdoor: Una puerta trasera es un método de acceso no autorizado a un sistema
o red.
Buffer overflow: Un tipo de ataque que explota un desbordamiento de búfer en la
memoria para ejecutar código arbitrario.
Cifrado: El proceso de convertir datos en un formato ilegible para proteger su
confidencialidad.
Cracking: El proceso de descifrar una contraseña o un código cifrado.
Denial-of-service (DoS): Un ataque que intenta hacer que un sistema o red no esté
disponible para los usuarios legítimos.
Diccionario de ataque: Un ataque de fuerza bruta que utiliza una lista de palabras
comunes para intentar descifrar una contraseña.
Explotación: El proceso de aprovechar una vulnerabilidad para obtener acceso no
autorizado a un sistema o red.
Falso positivo: Un resultado de una prueba de seguridad que indica erróneamente
que hay una vulnerabilidad cuando no la hay.
27
Falso negativo: Un resultado de una prueba de seguridad que indica erróneamente
que no hay una vulnerabilidad cuando sí la hay.
Fuzzing: Un método para probar software enviando entradas no válidas para
intentar encontrar errores.
Hackeo: El acto de obtener acceso no autorizado a un sistema o red.
Huella digital: Un conjunto de características que se pueden utilizar para identificar
un dispositivo o software.
Inyección de código: Un tipo de ataque que inserta código malicioso en un sistema
o red.
Ingeniería social: Un método para obtener información confidencial o manipular a
los usuarios mediante técnicas de engaño o persuasión.
Keylogger: Un programa que registra las pulsaciones de teclas de un usuario.
Malware: Software malicioso que puede dañar un sistema o red.
Overt testing: Un tipo de prueba de penetración en la que el equipo de pruebas
tiene el conocimiento y el consentimiento del propietario del objetivo.
Pentesting: La práctica de realizar pruebas de penetración para identificar y
explotar vulnerabilidades en un sistema o red.
Prueba de penetración: Una evaluación de la seguridad de un sistema o red que
simula un ataque real.
Phishing: Un tipo de ataque de ingeniería social que intenta engañar a los usuarios
para que revelen información confidencial.
Reconocimiento: La fase de una prueba de penetración en la que el equipo de
pruebas recopila información sobre el objetivo.
28
Riesgo: La probabilidad de que ocurra un evento no deseado y el impacto de ese
evento.
Seguridad informática: La práctica de proteger los sistemas y redes de
información de accesos no autorizados, uso, divulgación, interrupción, modificación
o destrucción.
Social engineering: Un método para obtener información confidencial o manipular
a los usuarios mediante técnicas de engaño o persuasión.
Spoofing: Un tipo de ataque en el que un atacante se hace pasar por otro usuario o
dispositivo.
Threat modeling: El proceso de identificar y evaluar las amenazas a un sistema o
red.
Vulnerabilidad: Una debilidad en un sistema o red que puede ser explotada por un
atacante.
White box testing: Un tipo de prueba de penetración en la que el equipo de
pruebas tiene acceso al código fuente del objetivo.
29
ANEXO 2
Nueva versión Kali Linux 2024.1
Kali Linux 2024.1 ha sido publicada como la nueva versión de la distribución
especializada en seguridad, que en esta ocasión no parece venir con muchas
novedades de pegada. A estas alturas no hace falta mencionar que estamos ante
uno de los proyectos más populares dentro de su segmento, hasta el extremo de
que ha ido evolucionando con el paso de los años para que su uso como escritorio
común sea más viable.
La novedad más destacada de Kali Linux 2024.1 no está relacionada con el sistema
operativo, sino con la infraestructura, ya que la distribución ha presentado la CDN
Micro Mirror, la cual es “una red de espejos (mirrors) dedicados a servir Linux y
Software Libre. A diferencia de los espejos tradicionales que albergan alrededor de
50TB de archivos de proyectos, los Micro Mirrors son máquinas con ‘solo’ unos
pocos terabytes de almacenamiento que se centran en alojar solo los proyectos de
mayor demanda. En otras palabras: proporcionan ancho de banda adicional donde
más se necesita.”
“Otra diferencia importante con los espejos tradicionales es que esas máquinas no
son administradas por el patrocinador (la organización que financia el espejo).
Normalmente, un patrocinador proporciona el ancho de banda, el espejo y también
lo administra. Con Micro Mirror, el patrocinador solo proporciona el ancho de banda
y es el equipo de Micro Mirror de FCIX el que hace todo lo demás: comprar el
hardware, enviarlo al centro de datos y luego administrarlo de forma remota a través
de su manual público de Ansible”.
30
Desde el proyecto explican que, “hoy en día, algunos de los proyectos FOSS más
importantes se distribuyen íntegramente a través de una CDN, dejando atrás el
sistema de duplicación o espejos. Para Kali Linux utilizamos un enfoque mixto: se
distribuye en parte gracias a más de 50 réplicas en todo el mundo y en parte gracias
a la CDN de Cloudflare, que actúa como un espejo ubicuo.”
“Tenemos suerte de beneficiarnos de un patrocinio muy generoso de Cloudflare
desde 2019. Pero los proyectos más pequeños o más nuevos no tienen esta
oportunidad, por lo que los espejos comunitarios siguen siendo esenciales para la
distribución de software libre. Por eso es agradable ver un proyecto como Micro
Mirror CDN, porque es un enfoque novedoso en el campo de la duplicación y con
Kali Linux estamos muy agradecidos de ser parte del viaje”.
Kali Linux 2024.1 con Xfce
Como suele ser habitual por parte del proyecto, el año nuevo suele representar un
cambio de estética, y el 2024 no es una excepción en este sentido. El menú de
arranque y la pantalla de inicio de sesión lucen ahora mucho más modernos,
además de haberse incorporado nuevos fondos de escritorio tanto en la edición
estándar como en la Purple que mantienen el logo de la distribución en un lugar
destacado. Por otro lado, se han incluido algunos iconos nuevos para ajustar algo
mejor la estética en las instalaciones por defecto de Kali Linux.
En cuanto los escritorios, para Xfce, del cual está presente la versión 4.18, se ha
introducido la capacidad de copiar la dirección IP de la VPN al portapapeles con tan
solo un clic, aunque esto es algo que quiere de tener xclip instalado. Otras cosas
destacadas sobre el mismo escritorio es que kali-undercover ha sido actualizado
para corregir un problema de compatibilidad y que ha sido resuleto un fallo que
afectaba al xfce-panel y al plugin personalizado cpugraph.
En cuanto a GNOME Shell, está presente la versión 45 del escritorio con muchas
personalizaciones y con el veterano Eye of GNOME (EOG) sustituido por Loupe, lo
que representa un pasito más en la adopción de GTK4 tanto en GNOME como Kali
Linux. A esto se suma el hecho de que “la última actualización del administrador de
archivos Nautilus llegó a los repositorios de Kali, brindando un aumento significativo
en la velocidad de búsqueda de archivos e introduciendo un diseño de barra lateral
actualizado”.
Por último tenemos la inclusión de cuatro nuevas herramientas: blue-hydra,
opentaxii, readpe y snort, además de los siguientes núcleos nuevos para Kali
NetHunter: Realme C15, TicWatch Pro 3, Samsung Galaxy S9+ (actualizado) y
Xiaomi Poco X3 NFC.
31
ANEXO 3
cómo conectarse a las máquinas de Hack the Box por VPN
[Link]
Vamos a ver cómo conectarse a cualquier servicio de HTB (Hack The Box) a través
de sus VPN. HTB utiliza VPN para los distintos servicios que se utilizan.
Resumiendo, las starting_points utilizan una VPV, las máquinas usan otras y
así con cada uno de los distintos grupos de servicio que ofrecen, como su
academia, los battlegrounds, etc.
En primer lugar, debemos estar registrados en la plataforma, la plataforma ofrece
una gran cantidad de máquinas gratuitas, y luego, también nos ofrece distintas
versiones de pago, las cuales ofrecen grandes ventajas, mayor número de
máquinas, nos da la opción de realizar máquinas retiradas, más clases y muchos
otros productos. Todo esto lo podemos ver en la misma página de inicio de Hack the
Box.
Para conectarnos con HTB primero tendremos que descargarnos un archivo .ovpn
que HTB nos proporcionará. Para ello, desde nuestra página, una vez hemos
ingresado, nos dirigimos al botón que se encuentra arriba a la derecha que pone
Connect to HTB:
Dependiendo del tipo de servicio que queremos realizar, nos descargamos una u
otra, en el caso de querer realizar una máquina nos descargamos el archivo de la
pestaña máquinas, en nuestro caso, como estamos empezando, primero
realizaremos las máquinas de introducción que son las starting_points, para
ello entramos en su pestaña:
32
Si disponemos de una máquina Linux o de algún entorno virtual (Virtual Box,
VMware,etc) desde el cual vamos a acceder (ya sea con ParrotOS, Kali, Arch o
cualquier distribución Linux) nos descargamos la versión OpenVPN:
33
Aquí simplemente establecemos nuestra región, que nos conectamos a través de
una VPN y que vamos a utilizar el protocolo UDP (En caso de no funcionar, probar el
protocolo TCP), luego presionamos Download VPN:
Una vez descargado nuestro archivo .ovpn, abrimos una terminal, nos dirigimos al
directorio donde se nos haya descargado el archivo, y yo aconsejo crear un
directorio específico para los distintos archivos .ovpn que HTB nos va
proporcionando para los distintos servicios.
Ahora solo faltaría ejecutar el siguiente comando:
sudo openvpn starting_Ponint_Firox.ovpn
● sudo : Os permite actuar como root, y por tanto, tenemos todos los
privilegios.
● openvpn : Ejecuta la orden de abrir la VPN.
● starting_point_firox.ovpn : Es el archivo que nos hemos descargado.
34
En la parte final, nos reporta que la conexión se ha realizado de forma correcta. No
debemos cerrar esta terminal mientras estemos trabajando con la máquina, ya que
si cerramos la terminal perdemos la conexión con la VPN y, por tanto, no podremos
comunicarnos con la máquina.
35
Veremos que el botón anterior se nos habrá puesto en verde indicándonos a qué
servicio de VPN estamos conectados:
Finalmente, para iniciar una máquina, simplemente pulsamos la máquina o
startging_point que queramos realizar, comprobamos que la VPN está bien
conectada (Primer tick verde) y luego pulsamos Spawn Machine.
Una vez realizada la conexión, nos reportará la Ip de la máquina que vamos a
explotar.
36
[Link]
37