0% encontró este documento útil (0 votos)
69 vistas38 páginas

Guía Completa sobre Pruebas de Penetración

El documento aborda la importancia del Penetration Testing (Pentesting) como herramienta esencial para la seguridad informática, enfatizando la necesidad de realizar estas pruebas de manera ética y legal. Se describen las fases, tipos y evolución del Pentesting, así como su papel en la identificación y mitigación de vulnerabilidades en sistemas y redes. Además, se menciona la virtualización como una tecnología clave que optimiza recursos y mejora la gestión de la infraestructura informática.

Cargado por

Carlos Valiente
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
69 vistas38 páginas

Guía Completa sobre Pruebas de Penetración

El documento aborda la importancia del Penetration Testing (Pentesting) como herramienta esencial para la seguridad informática, enfatizando la necesidad de realizar estas pruebas de manera ética y legal. Se describen las fases, tipos y evolución del Pentesting, así como su papel en la identificación y mitigación de vulnerabilidades en sistemas y redes. Además, se menciona la virtualización como una tecnología clave que optimiza recursos y mejora la gestión de la infraestructura informática.

Cargado por

Carlos Valiente
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 PDF, TXT o lee en línea desde Scribd

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

También podría gustarte