Recopilacion activa de informacion
¿Qué es Metasploitable 3 y para qué sirve?
Metasploitable 3 es una máquina virtual vulnerable diseñada específicamente para realizar pruebas de penetración, aprendizaje en ciberseguridad y experimentos relacionados con la seguridad informática. Fue creada por Rapid7, la misma compañía detrás de Metasploit Framework, y es ampliamente utilizada por profesionales y entusiastas para aprender y practicar ataques en un entorno controlado.
Metasploitable 3 simula un sistema operativo lleno de vulnerabilidades conocidas, lo que permite a los usuarios explorar cómo funcionan las técnicas de ataque y los exploits. Está disponible en dos versiones principales:
- Ubuntu 14.04: Un sistema basado en Linux con una variedad de servicios vulnerables.
- Windows Server 2008: Una máquina con aplicaciones y configuraciones inseguras para practicar técnicas específicas de Windows.
¿Para qué se usa Metasploitable 3?
-
Pruebas de penetración:
- Los usuarios pueden practicar ataques reales, como explotación de servicios, inyección de código, escalación de privilegios y más.
-
Aprendizaje de ciberseguridad:
- Es una herramienta educativa ideal para quienes quieren entender cómo funcionan los exploits y cómo protegerse contra ellos.
-
Entrenamiento en el uso de Metasploit Framework:
- Metasploitable 3 está diseñado para integrarse perfectamente con Metasploit Framework, lo que lo convierte en un entorno ideal para aprender cómo usar esta poderosa herramienta.
-
Investigación y desarrollo:
- Los desarrolladores y profesionales pueden usar Metasploitable 3 para probar nuevas herramientas, exploits o técnicas de defensa sin comprometer sistemas reales.
-
Laboratorios en casa o en clases:
- Permite a los usuarios crear entornos de laboratorio vulnerables para experimentar de manera segura.
¿Cómo ayuda en laboratorios de seguridad informática?
Metasploitable 3 proporciona un entorno vulnerable donde los estudiantes y profesionales pueden experimentar sin riesgo. Algunos de los escenarios típicos que puedes practicar incluyen:
- Escaneo y enumeración de redes vulnerables.
- Explotación de servicios desactualizados o configurados incorrectamente.
- Práctica de técnicas de post-explotación, como obtener persistencia en un sistema comprometido.
- Evaluación de herramientas de seguridad y detección, como IDS/IPS.
El enfoque práctico que permite Metasploitable 3 ayuda a consolidar conocimientos teóricos, ya que permite experimentar directamente con técnicas y herramientas en un entorno seguro.
Creación de un entorno vulnerable con Metasploitable 3
A continuación, te explico cómo configurar un entorno de laboratorio utilizando Metasploitable 3 en Ubuntu y Windows Server 2008 mediante Vagrant.
1. Preparación inicial
-
Descargar Vagrant y VirtualBox:
- Instala las herramientas necesarias:
-
Clonar el repositorio oficial de Metasploitable 3:
- Ve al repositorio oficial: https://github.com/rapid7/metasploitable3
- Familiarízate con la documentación para referencia adicional.
2. Configurar Metasploitable 3 en Ubuntu
-
Inicializar la máquina virtual de Ubuntu:
- Ejecuta los siguientes comandos:
vagrant init rapid7/metasploitable3-ub1404 --box-version 0.1.12-weekly vagrant up
- Esto creará y levantará la máquina virtual basada en Ubuntu.
- Ejecuta los siguientes comandos:
-
Acceder a la máquina:
- Una vez levantada, conéctate a la máquina con:
vagrant ssh
- Una vez levantada, conéctate a la máquina con:
-
Comprobar los servicios vulnerables:
- Explora los servicios disponibles para prácticas de ataque, como SSH, FTP, y servidores web configurados con vulnerabilidades.
3. Configurar Metasploitable 3 en Windows Server 2008
Para agregar una máquina con Windows Server 2008 al entorno, necesitas ajustar el archivo Vagrantfile
generado en el paso anterior.
-
Editar el archivo
Vagrantfile
:- Abre el archivo
Vagrantfile
con un editor de texto y reemplázalo con esta configuración:
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| # Primera máquina virtual: Ubuntu config.vm.define "metasploitable3-ub1404" do |metasploitable3_ub1404| metasploitable3_ub1404.vm.box = "rapid7/metasploitable3-ub1404" metasploitable3_ub1404.vm.box_version = "0.1.12-weekly" end # Segunda máquina virtual: Windows Server 2008 config.vm.define "metasploitable3-win2k8" do |metasploitable3_win2k8| metasploitable3_win2k8.vm.box = "rapid7/metasploitable3-win2k8" metasploitable3_win2k8.vm.box_version = "0.1.0-weekly" end end
- Abre el archivo
-
Levantar la máquina Windows Server 2008:
- Para iniciar la máquina Windows, usa el siguiente comando:
vagrant up metasploitable3-win2k8
- Para iniciar la máquina Windows, usa el siguiente comando:
-
Acceder a la máquina Windows:
- Conéctate con:
vagrant ssh metasploitable3-win2k8
- Conéctate con:
-
Comprobar los servicios vulnerables:
- Similar a la máquina Ubuntu, la máquina Windows contiene aplicaciones y configuraciones vulnerables que puedes analizar.
4. Gestión de máquinas virtuales
-
Para iniciar una máquina específica:
vagrant up metasploitable3-ub1404 vagrant up metasploitable3-win2k8
-
Para detener una máquina:
vagrant halt metasploitable3-ub1404 vagrant halt metasploitable3-win2k8
-
Para eliminar una máquina:
vagrant destroy metasploitable3-ub1404 vagrant destroy metasploitable3-win2k8
Con estos pasos, tendrás un entorno de laboratorio funcional y seguro donde podrás practicar habilidades de ciberseguridad con Metasploitable 3, tanto en Ubuntu como en Windows Server 2008.
Configuracion adicional ubuntu 14
Entramos en el sistema con user vagrant
y constrasenia vagrant
Luego hacemos sudo iptables -S
veremos una lista de ips, ahora las vamos a
elimiar con sudo iptables -F
Tene en cuenta que al momento de reinicar la maquina ubuntu , es probable que se vuelvan a agregar las reglas eliminadas
El comando sudo iptables -S
se utiliza para listar todas las reglas configuradas en iptables en el formato original en el que se escribieron (es decir, como comandos que podrían ser usados para volver a configurar esas reglas).
¿Qué es iptables?
iptables es una herramienta de línea de comandos en sistemas Linux que permite gestionar las reglas del firewall del kernel (Netfilter). Estas reglas controlan cómo se maneja el tráfico de red que entra, sale o pasa a través del sistema.
¿Qué hace iptables -S
?
- El indicador
-S
(abreviación de--list-rules
) muestra las reglas de todas las cadenas (chains) en las tablas de iptables (por defecto, muestra las de la tabla filter). Cada regla se presenta como si fuera un comando iptables que podrías usar para configurarla nuevamente.
Ejemplo de salida:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j DROP
En este caso:
-P INPUT ACCEPT
:- Establece la política predeterminada (default policy) para la cadena INPUT como ACCEPT (permitir tráfico).
-A INPUT -p tcp --dport 22 -j ACCEPT
:- Permite el tráfico TCP entrante al puerto 22 (SSH).
-A INPUT -j DROP
:- Descarta todo el tráfico restante que no coincida con las reglas anteriores.
¿Cuándo usar este comando?
-
Verificar las reglas activas:
- Útil para inspeccionar las reglas configuradas en el firewall y asegurarte de que funcionan como se espera.
-
Auditorías de seguridad:
- Para revisar qué puertos, IPs o servicios están permitidos o bloqueados en el sistema.
-
Solución de problemas:
- Si el tráfico no está llegando o saliendo del sistema como se espera, puedes usar este comando para analizar si hay reglas configuradas que lo bloqueen.
Diferencia con otros comandos similares
-
iptables -L
:- Muestra las reglas, pero en un formato más resumido y menos detallado.
- Ejemplo:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh DROP all -- anywhere anywhere
-
iptables-save
:- Similar a
iptables -S
, pero exporta las reglas actuales en un formato que puede ser guardado y restaurado.
- Similar a
Conclusión
El comando sudo iptables -S
es útil para revisar el estado actual del firewall en un sistema Linux, mostrando todas las reglas configuradas de manera detallada. Es particularmente útil para depurar problemas de red o verificar la configuración de seguridad de tu firewall.
Configuracion extra para windows server r8
Vamos a open network and sharing center
luego a change advanced sharing settings
y activamos todo lo
referente a lo que es descubrimiento de red.
¿Qué es una transferencia de zona?
Una transferencia de zona DNS es un proceso mediante el cual se copia la información contenida en una zona DNS desde un servidor DNS primario (o maestro) a un servidor DNS secundario (o esclavo). Esto se realiza para mantener sincronizada la información de los servidores DNS y garantizar la disponibilidad y redundancia del servicio.
La información transferida incluye registros DNS como:
- Registros A (direcciones IP de host).
- Registros MX (servidores de correo).
- Registros CNAME (alias).
- Registros TXT, entre otros.
Tipos de transferencia de zona:
-
Transferencia completa (AXFR):
- Copia todos los registros de una zona DNS.
- Útil cuando un servidor secundario necesita sincronizarse completamente con el primario.
-
Transferencia incremental (IXFR):
- Copia solo los cambios realizados desde la última sincronización.
- Es más eficiente en términos de ancho de banda.
Posibles riesgos de una transferencia de zona:
- Si un servidor DNS está mal configurado y permite transferencias de zona a cualquier cliente, un atacante podría obtener toda la información de la zona, lo que puede exponer detalles sensibles como subdominios, servidores internos, y más.
- Esto se considera una fuga de información DNS y puede ser explotado en pruebas de seguridad o ataques maliciosos.
¿Qué es DNSutils?
dnsutils es un paquete de herramientas que incluye utilidades para realizar diagnósticos y consultas relacionadas con el sistema DNS. Es común en sistemas Linux y Unix, y contiene herramientas clave como:
-
dig
:- Permite realizar consultas DNS y analizar registros específicos (A, MX, NS, etc.).
- Ejemplo para consultar un registro A:
dig example.com A
-
nslookup
:- Consulta más simple para resolver nombres de dominio y obtener direcciones IP.
- Ejemplo:
nslookup example.com
-
host
:- Otra herramienta para realizar consultas DNS, enfocada en resolver rápidamente nombres de dominio.
- Ejemplo:
host example.com
-
whois
(dependiendo del sistema):- Puede venir incluido para consultas de registro WHOIS sobre dominios.
Instalación de dnsutils en Linux:
Si no está instalado, puedes hacerlo con:
sudo apt update
sudo apt install dnsutils
Transferencia de zona y dnsutils
Puedes intentar realizar una transferencia de zona DNS utilizando dig
, una de las herramientas de dnsutils. Este proceso solo funcionará si el servidor DNS permite transferencias de zona (lo cual no es recomendable en configuraciones seguras).
Ejemplo de transferencia de zona con dig
:
-
Solicitar los servidores de nombres (NS) de un dominio:
dig example.com NS
-
Intentar la transferencia de zona desde uno de los servidores:
dig @<servidor_DNS> example.com AXFR
- Reemplaza
<servidor_DNS>
con uno de los servidores de nombres obtenidos en el paso anterior.
- Reemplaza
Posibles resultados:
- Si el servidor DNS está configurado para permitir transferencias de zona, verás todos los registros de la zona.
- Si está correctamente configurado, la transferencia será denegada.
Usos prácticos y consideraciones de seguridad
-
Auditorías de seguridad:
- Comprobar si un servidor DNS permite transferencias de zona puede revelar configuraciones inseguras que podrían ser explotadas por atacantes.
-
Diagnóstico de problemas DNS:
- Herramientas como
dnsutils
son fundamentales para analizar y solucionar problemas de resolución DNS en redes.
- Herramientas como
-
Configuración segura:
- Asegúrate de que las transferencias de zona solo estén permitidas entre servidores autorizados para evitar fugas de información. Esto se configura mediante ACLs (listas de control de acceso) en el servidor DNS.
DNSutils y las transferencias de zona son herramientas esenciales para profesionales de redes y ciberseguridad, pero también requieren un uso responsable para evitar riesgos de exposición de información sensible.
¿Qué es DNSRecon?
DNSRecon es una herramienta de línea de comandos escrita en Python que se utiliza para realizar pruebas y auditorías sobre servidores DNS. Es ampliamente utilizada en ciberseguridad y pruebas de penetración para recopilar información sobre un dominio o infraestructura objetivo. DNSRecon es especialmente útil para enumerar registros DNS, probar configuraciones incorrectas y detectar vulnerabilidades relacionadas con los servicios DNS.
¿Para qué sirve DNSRecon?
DNSRecon ofrece una amplia variedad de funcionalidades para analizar sistemas DNS, entre las cuales destacan:
-
Enumeración de registros DNS:
- Identifica registros A, AAAA, CNAME, MX, NS, TXT, entre otros, asociados a un dominio.
-
Transferencia de zona DNS (AXFR):
- Verifica si el servidor DNS permite transferencias de zona no autorizadas, lo que podría exponer información sensible como subdominios, direcciones IP internas, etc.
-
Brute force de subdominios:
- Realiza un ataque de fuerza bruta para descubrir subdominios asociados al dominio objetivo.
-
Enumeración inversa (PTR):
- Busca registros PTR para identificar nombres de dominio asociados a un rango de direcciones IP.
-
Consulta de servidores DNS con diferentes resolutores:
- Permite verificar cómo resuelven los nombres de dominio distintos servidores DNS públicos.
-
Detección de configuraciones incorrectas o inconsistentes:
- Identifica discrepancias en la configuración de registros, como errores de SPF o DKIM.
Funciones principales de DNSRecon
Algunas de las funciones más utilizadas en DNSRecon son:
-
Enumerar registros estándar:
dnsrecon -d example.com
- Esto buscará registros básicos como A, AAAA, MX, NS, y TXT.
-
Transferencia de zona DNS (AXFR):
dnsrecon -d example.com -t axfr
- Verifica si el servidor DNS permite transferencias de zona, una configuración insegura que puede exponer toda la información de la zona.
-
Fuerza bruta de subdominios:
dnsrecon -d example.com -D wordlist.txt -t brt
- Realiza un ataque de fuerza bruta utilizando una lista de palabras (
wordlist.txt
) para descubrir subdominios.
- Realiza un ataque de fuerza bruta utilizando una lista de palabras (
-
Verificar registros inversos (PTR):
dnsrecon -r 192.168.0.0/24
- Busca nombres de dominio asociados a un rango de direcciones IP.
-
Buscar discrepancias en los registros DNS:
dnsrecon -d example.com -t zonewalk
- Intenta identificar inconsistencias en los registros de la zona DNS.
¿Cómo instalar DNSRecon?
-
Requisitos previos:
- Asegúrate de tener Python instalado en tu sistema (Python 3 recomendado).
-
Clonar el repositorio oficial:
- Ve al repositorio oficial de DNSRecon: https://github.com/darkoperator/dnsrecon
- Clona el repositorio:
git clone https://github.com/darkoperator/dnsrecon.git cd dnsrecon
-
Instalar dependencias:
- Instala los módulos necesarios con
pip
:pip install -r requirements.txt
- Instala los módulos necesarios con
-
Ejecutar DNSRecon:
- Una vez instalado, puedes ejecutarlo desde la carpeta donde está el script principal:
python dnsrecon.py
- Una vez instalado, puedes ejecutarlo desde la carpeta donde está el script principal:
Casos de uso de DNSRecon
-
Auditorías de seguridad:
- Verifica si un servidor DNS tiene configuraciones inseguras, como transferencias de zona abiertas.
-
Pruebas de penetración:
- Recopila información sobre subdominios y registros DNS como paso inicial en un ataque o auditoría ética.
-
Reconocimiento OSINT:
- Extrae datos sobre la infraestructura de red de una organización.
-
Detección de vulnerabilidades:
- Identifica problemas como configuraciones incorrectas de SPF, DKIM, o errores en registros inversos.
Diferencia entre DNSRecon y otras herramientas similares
Aunque hay muchas herramientas para trabajar con DNS (como dig, nslookup o DNSenum), DNSRecon destaca por:
-
Automatización avanzada:
- Integra múltiples funcionalidades en una sola herramienta, como fuerza bruta de subdominios y transferencias de zona.
-
Análisis detallado:
- Permite inspeccionar configuraciones avanzadas, como errores de configuración de SPF y DKIM.
-
Flexibilidad:
- Ofrece opciones para trabajar con listas de palabras personalizadas, rangos de IP, o resolutores DNS específicos.
DNSRecon es una herramienta poderosa y flexible para cualquier profesional de ciberseguridad interesado en realizar auditorías o análisis DNS. Si estás buscando identificar configuraciones inseguras o simplemente entender mejor cómo está configurado un dominio, DNSRecon es una excelente opción.
Descubrimiento de Hosts
En el ámbito de la ciberseguridad y administración de redes, Nmap (Network Mapper) es una de las herramientas más conocidas y utilizadas para el descubrimiento y análisis de redes. Es una herramienta de código abierto que permite identificar dispositivos activos, servicios en ejecución, puertos abiertos y más. En este artículo exploraremos cómo usar Nmap para descubrir hosts, detectar puertos abiertos y realizar escaneos de puertos, cubriendo opciones útiles y ejemplos prácticos.
¿Qué es Nmap y para qué sirve?
Nmap es una herramienta de análisis de redes que ayuda a los administradores y expertos en ciberseguridad a mapear y auditar redes. Entre sus capacidades destacan:
- Descubrimiento de hosts: Identificar dispositivos activos en una red.
- Escaneo de puertos: Detectar puertos abiertos, cerrados o filtrados.
- Detección de servicios: Identificar aplicaciones o servicios en ejecución en un puerto.
- Detección de sistemas operativos: Intentar determinar qué sistema operativo está ejecutando un dispositivo.
Es flexible, eficiente y ampliamente utilizado en auditorías de seguridad y diagnóstico de problemas de red.
Descubrimiento de Hosts con -sn
El comando nmap -sn
se utiliza para realizar un ping scan (escaneo sin puerto), es decir, identificar dispositivos activos en una red sin realizar un escaneo de puertos.
Ejemplo básico:
nmap -sn 192.168.2.0/24
¿Qué hace?
- Envía paquetes ICMP (ping) y analiza las respuestas para determinar qué dispositivos están activos.
- En redes restringidas, si el ping no está permitido, también intenta conectarse a puertos TCP predeterminados, como el 80 (HTTP) y 443 (HTTPS).
Diferencia entre nmap -sn
y sudo nmap -sn
:
-
nmap -sn
sinsudo
:- Realiza el descubrimiento utilizando TCP (puertos predeterminados como 80 y 443) si no puede enviar pings ICMP.
- Es más intrusivo porque intenta establecer conexiones TCP.
-
sudo nmap -sn
:- Con privilegios de root, utiliza ARP (Address Resolution Protocol) para descubrir dispositivos activos en redes locales.
- Es menos intrusivo, ya que no necesita interactuar directamente con los puertos del dispositivo.
Ventajas de usar sudo
con -sn
:
- No genera ruido en la red al evitar conexiones TCP.
- Más efectivo en redes locales, ya que ARP funciona a nivel de enlace.
Detectar puertos abiertos con -PS
El comando -PS
permite realizar un TCP SYN Ping para detectar si un puerto específico está abierto. Este método es útil para verificar servicios específicos sin escanear todos los puertos, reduciendo el ruido en la red.
Ejemplo básico:
nmap -PS 192.168.2.1 -p 80
¿Qué hace?
- Envía un paquete TCP SYN al puerto 80 del dispositivo con dirección IP
192.168.2.1
para verificar si está abierto. - Si recibe una respuesta SYN/ACK, el puerto está abierto.
Ejemplo con múltiples puertos:
nmap -PS21,22,80 192.168.2.1
- Envía paquetes TCP SYN a los puertos 21 (FTP), 22 (SSH) y 80 (HTTP) para verificar si alguno está abierto.
Escanear una red completa:
nmap -PS 192.168.2.0/24 -p 80
- Escanea el puerto 80 de todos los dispositivos en la red
192.168.2.0/24
, ideal para encontrar servidores web activos.
Nmap: Escaneo de Puertos
El escaneo de puertos en Nmap permite identificar el estado de los puertos en un dispositivo. Los puertos pueden estar en uno de los siguientes estados:
open
: El puerto está abierto y aceptando conexiones.closed
: El puerto está cerrado pero accesible, no hay un servicio activo.filtered
: Nmap no puede determinar si el puerto está abierto o cerrado debido a un firewall o filtrado.unfiltered
: Nmap puede acceder al puerto, pero no determina si está abierto o cerrado.open|filtered
: Nmap no puede diferenciar entre abierto o filtrado.closed|filtered
: Nmap no puede diferenciar entre cerrado o filtrado.
Escaneo TCP SYN (-sS
)
El escaneo TCP SYN es un método rápido y silencioso para identificar puertos abiertos.
Ejemplo básico:
sudo nmap -sS 192.168.2.1 -p 80
- Envía paquetes SYN al puerto 80 de la IP
192.168.2.1
.
Escaneo en un rango de IPs:
sudo nmap -sS 192.168.2.100-150
- Escanea los dispositivos en el rango de direcciones IP desde
192.168.2.100
hasta192.168.2.150
.
Ordenar datos y exportar resultados
El siguiente comando exporta los resultados en formato XML y proporciona detalles adicionales con la opción --reason
:
sudo nmap -v --reason -sS -oX puertos.xml --stylesheet=nmap.xsl 192.168.2.1
¿Qué hace?
-v
: Muestra información detallada durante el escaneo.--reason
: Explica la razón por la que Nmap clasificó un puerto como abierto, cerrado o filtrado.-oX puertos.xml
: Exporta los resultados en formato XML.--stylesheet=nmap.xsl
: Genera un informe visual en HTML basado en la hoja de estilos.
Escaneo de puertos UDP con -sU
El escaneo UDP (-sU
) permite identificar servicios que funcionan sobre UDP, como DNS o NTP.
Ejemplo básico:
sudo nmap -sU 192.168.2.1 -p 53
- Escanea el puerto 53 (DNS) en busca de servicios UDP activos.
Escaneo de múltiples puertos:
sudo nmap -sU 192.168.2.1 -p 53,123,161
- Escanea los puertos 53 (DNS), 123 (NTP) y 161 (SNMP) en la IP especificada.
Conclusión
Nmap es una herramienta esencial para la seguridad informática y la administración de redes. Sus opciones, como -sn
, -PS
, -sS
y -sU
, permiten realizar descubrimientos detallados y seguros de hosts y servicios en redes locales y remotas. Con estas opciones, puedes ajustar el nivel de intrusividad según tus necesidades y objetivos, manteniendo siempre un enfoque ético y responsable en su uso.
Descubrimiento de Servicios
El descubrimiento de servicios es una tarea esencial en auditorías de seguridad y pruebas de penetración. Con Nmap, podemos identificar qué servicios están en ejecución en un puerto y, en muchos casos, determinar su versión específica. Esto es fundamental para encontrar posibles vulnerabilidades en servicios desactualizados o mal configurados.
Descubrimiento de servicios con nmap -sV
El comando -sV
en Nmap permite realizar una detección de versión del servicio ejecutado en un puerto específico.
Ejemplo:
nmap -sV 192.168.2.10 -p 80
¿Qué hace este comando?
- Escanea el puerto 80 de la dirección IP
192.168.2.10
. - Intenta identificar:
- El servicio real en el puerto (por ejemplo, HTTP, HTTPS).
- La versión específica del servicio.
Resultados esperados:
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41
- 80/tcp: El puerto 80 está abierto y utiliza el protocolo TCP.
- SERVICE: El servicio identificado es
http
. - VERSION: Nmap detecta que se está ejecutando un servidor Apache HTTP en la versión 2.4.41.
Esto permite determinar si el servicio es vulnerable basándose en su versión.
Identificación del Sistema Operativo (SO) con Nmap
Para detectar el sistema operativo en un host, Nmap utiliza huellas digitales (fingerprinting) de la pila TCP/IP. Esto se realiza con la opción -O
.
Ejemplo:
nmap -v -O 192.168.2.10
¿Qué hace este comando?
- Escanea la dirección IP
192.168.2.10
. - Intenta identificar el sistema operativo basado en respuestas a paquetes específicos.
Resultados esperados:
Running: Linux 3.X
OS CPE: cpe:/o:linux:kernel:3.10
OS details: Linux 3.10 - 3.16
- Running: Nmap detecta que el sistema operativo es Linux en versiones entre 3.10 y 3.16.
- OS CPE: Identificador estándar del sistema operativo.
- OS details: Detalles adicionales del sistema operativo.
SMB Enumeración
El protocolo SMB (Server Message Block) es utilizado para compartir archivos, impresoras y otros recursos en redes. SMB opera principalmente en los puertos TCP 445 y 139, y su enumeración es una técnica clave para obtener información sobre un sistema en auditorías de seguridad.
Ejemplo de escaneo SMB básico:
sudo nmap -v -sS -p 445,139 192.168.2.10
¿Qué hace este comando?
- Escanea los puertos 445 y 139 de la IP
192.168.2.10
. - Verifica si estos puertos están abiertos y listos para aceptar conexiones SMB.
Resultados esperados:
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
- El puerto 139 está asociado con NetBIOS, y el 445 con Microsoft-DS (SMB Direct).
Automatización con Scripts de Nmap
Nmap incluye scripts NSE (Nmap Scripting Engine) en el directorio /usr/share/nmap/scripts/
, los cuales automatizan tareas comunes como la enumeración SMB.
Scripts SMB útiles:
smb-os-discovery.nse
:- Detecta información del sistema operativo a través de SMB.
smb-enum-shares.nse
:- Enumera los recursos compartidos disponibles en un servidor SMB.
Ejemplo de uso con scripts:
sudo nmap -v -sS -p 445,139 --script=smb-os-discovery.nse 192.168.2.10
Resultados esperados:
Host script results:
| smb-os-discovery:
| OS: Windows Server 2016 Standard 14393 (Windows 10)
| Computer name: WIN-SERVER
| Workgroup: WORKGROUP
- Detecta el sistema operativo, nombre del equipo y el grupo de trabajo.
sudo nmap -v -sS -p 445,139 --script=smb-enum-shares.nse 192.168.2.10
Resultados esperados:
Host script results:
| smb-enum-shares:
| ADMIN$: Remote Admin
| C$: Default share
| SharedDocs: Shared Documents
- Lista los recursos compartidos, como carpetas administrativas y públicas.
SNMP Enumeración
El protocolo SNMP (Simple Network Management Protocol) se utiliza para administrar dispositivos en redes, como enrutadores, impresoras y servidores. SNMP opera principalmente en el puerto 161 (UDP).
Ejemplo básico de enumeración SNMP:
sudo nmap -v -sU -p 161 --script=snmp-netstat 192.168.2.10
¿Qué hace este comando?
- Escanea el puerto UDP 161 en la dirección IP especificada.
- Utiliza el script
snmp-netstat
para listar conexiones de red activas en el dispositivo.
Resultados esperados:
Host script results:
| snmp-netstat:
| Active TCP Connections:
| Local Address: 192.168.2.10:22 Remote Address: 192.168.2.5:53648
- Muestra conexiones activas en el dispositivo.
Otros scripts útiles para SNMP:
-
snmp-win32-software
:- Lista el software instalado en un dispositivo Windows.
sudo nmap -v -sU -p 161 --script=snmp-win32-software 192.168.2.10
-
snmp-win32-users
:- Enumera los usuarios configurados en un dispositivo Windows.
sudo nmap -v -sU -p 161 --script=snmp-win32-users 192.168.2.10
Resultados esperados con snmp-win32-users
:
Host script results:
| snmp-win32-users:
| Administrator
| Guest
| JohnDoe