GNU/Linux >> Tutoriales Linux >  >> Linux

Encontrar dispositivos no autorizados en su red usando Nmap

Nmap es una popular herramienta de descubrimiento de redes de código abierto que se utiliza para descubrir y auditar dispositivos en una red informática. Puede escanear rápidamente desde hosts individuales hasta grandes redes informáticas, proporcionando información útil sobre cada host y su software.

Intrusos en la red... Espera, ¿qué?

Todos los días, los productos de IoT como relojes inteligentes, rastreadores de actividad física, impresoras, cámaras inteligentes y más se están convirtiendo en parte de nuestra vida diaria. Muchos de estos dispositivos se sincronizan con nuestros smartphones personales o de trabajo. Deliberadamente o no, estos dispositivos pueden conectarse a su red corporativa. Al menos la mitad de las organizaciones han experimentado esto solo en el último año, según Infoblox.

Pero ¿cuál es el riesgo? La mayoría de los dispositivos IoT no tienen seguridad integrada y, en muchos casos, carecen de actualizaciones de firmware y seguridad. Esta falta de seguridad es una mina de oro para los ciberdelincuentes que intentan violar la seguridad de su red. Sin embargo, gracias a las funciones de detección y auditoría de Nmap, puede descubrir e identificar rápidamente hosts o dispositivos no autorizados en su red y el software que se ejecuta en ella. Exploremos algunos escenarios.

[ A los lectores también les gustó: Ejecutar un escaneo NMAP rápido para inventariar mi red ]

Descubrimiento general de redes

No basta con saber qué puertos están abiertos, ya que muchas veces estos servicios pueden estar escuchando en puertos no estándar. También querrá saber qué software y versión hay detrás del puerto desde una perspectiva de seguridad. Gracias a las capacidades de detección de versiones y servicios de Nmap, es posible realizar un inventario completo de la red y el descubrimiento de hosts y dispositivos, verificando cada puerto por dispositivo o host y determinando qué software hay detrás de cada uno.

Nmap se conecta e interroga a cada puerto abierto, utilizando sondas de detección que el software puede comprender. Al hacer esto, Nmap puede proporcionar una evaluación detallada de lo que hay disponible en lugar de solo puertos abiertos sin sentido.

Para hacer uso de esta potente función, debe:

  1. Habilite la detección de servicios y versiones usando el parámetro -sV .
  2. Agregue la opción --allports para escanear cada puerto. De forma predeterminada, Nmap no comprueba el puerto 9100. Muchas impresoras utilizan este puerto y, en algunos casos excepcionales, Nmap hace que impriman.
  3. Utilice -T4 para una ejecución más rápida, ya que este descubrimiento puede llevar mucho tiempo.
$ nmap -sV --allports -T4 10.1.0.0/24
Nmap scan report for 10.1.0.1
Host is up (0.0038s latency).
Not shown: 995 filtered ports
PORT     STATE SERVICE        VERSION
53/tcp   open  domain         Unbound
80/tcp   open  http           nginx
2022/tcp open  ssh            OpenSSH 7.5 (protocol 2.0)
5000/tcp open  ssl/http-proxy HAProxy http proxy 1.3.1 or later
8443/tcp open  ssl/http       nginx
Service Info: Device: load balancer

Nmap scan report for 10.1.0.2
Host is up (0.82s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 8.3p1 Debian 1 (protocol 2.0)
80/tcp   open  http     nginx
111/tcp  open  rpcbind  2-4 (RPC #100000)
443/tcp  open  ssl/http nginx
2049/tcp open  nfs      3-4 (RPC #100003)
3260/tcp open  iscsi?
6000/tcp open  http     aiohttp 3.6.2 (Python 3.8)
8080/tcp open  http     Apache httpd 2.4.46 ((Debian) mpm-itk/2.4.7-04 OpenSSL/1.1.1g)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Del resultado anterior, Nmap encontró dos hosts:10.1.0.1 y 10.1.0.2 .

El primer host se detecta como un equilibrador de carga, bastante parecido, ya que es mi enrutador que ejecuta pfSense. También notó varios puertos abiertos y el software escuchando en cada uno. Detectó correctamente el servidor DNS como Unbound; Nginx como servidor web detrás del puerto 80 (esperado) y 8443 (un puerto no estándar); también atrapó el puerto 2022 abierto, con OpenSSH 7.5 detrás; y en el puerto 5000, Nmap detectó HAProxy, con una versión de al menos 1.3.1.

El segundo host ejecuta Linux y todos los programas se identificaron correctamente, excepto el servidor iSCSI detrás del puerto 3260.

¿Qué haces con esta información? ¡Guárdalo! Necesitará una línea de base para comparar la próxima vez que escanee la red en busca de nuevos hosts y servicios. Compruebe las vulnerabilidades de seguridad de cada software detectado. ¡Asegúrate de reconocer cada dispositivo!

Servidores DHCP falsos

Los servidores DHCP son un componente fundamental de toda red. En esencia, debe haber solo un servidor DHCP por red, que proporcione toda la información necesaria para configurar la red correctamente.

Los servidores DHCP no autorizados son como los servidores DHCP normales, pero no son administrados por el personal de TI o de red. Estos servidores maliciosos suelen aparecer cuando los usuarios, a sabiendas o sin saberlo, conectan un enrutador a la red. Otra posibilidad es un dispositivo IoT comprometido, como teléfonos móviles, impresoras, cámaras, tabletas, relojes inteligentes o algo peor, como una aplicación o recurso de TI comprometido.

Los servidores DHCP no autorizados son frustrantes, especialmente si intenta implementar una flota de servidores mediante PXE, ya que PXE depende en gran medida de DHCP. No solo eso, es un riesgo para la seguridad y puede comenzar a experimentar interrupciones en la red, ya que el servidor DHCP no autorizado puede proporcionar rutas y configuraciones de red incorrectas.

Para realizar descubrimientos de DHCP, Nmap incluye un script llamado broadcast-dhcp-discover . Este script enviará una solicitud de DHCP a la dirección de transmisión utilizando la dirección MAC de DE:AD:CO:DE:CA:FE y reportar los resultados.

En el siguiente ejemplo, el script broadcast-dhcp-discover se ejecuta en la interfaz bond0 y descubre un servidor DHCP falso:

$ sudo nmap --script broadcast-dhcp-discover -e bond0
Starting Nmap 7.70 ( https://nmap.org ) at 2020-10-28 19:24 CDT
Pre-scan script results:
| dhcp:
|   Response 1 of 2:
|     Interface: bond0
|     IP Offered: 10.1.0.78
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 10.1.0.1
|     IP Address Lease Time: 5m00s
|     Subnet Mask: 255.255.255.0
|     Router: 10.1.0.1
|     Domain Name Server: 10.1.0.1
|     Domain Name: lab.opencloud.io
|   Response 2 of 2:
|     Interface: bond0
|     IP Offered: 10.1.0.27
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 10.1.0.3
|     IP Address Lease Time: 2m00s
|     Renewal Time Value: 1m00s
|     Rebinding Time Value: 1m45s
|     Subnet Mask: 255.255.255.0
|     Broadcast Address: 10.1.0.255
|     Router: 10.1.0.3
|_    Domain Name Server: 10.1.0.3
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 10.31 seconds

En el resultado anterior, puede ver dos respuestas diferentes correspondientes a una respuesta de cada servidor DHCP en la red.

El campo más importante a observar es Identificador de servidor , ya que esto le mostrará la IP del servidor DHCP, incluido el potencial no autorizado.

¿Qué haces con esta información? Las políticas de seguridad de cada organización son diferentes. Sin embargo, en la mayoría de los casos, cualquier DHCP no autorizado debe detenerse y eliminarse de la red.

Dispositivos UPnP

UPnP, también conocido como Universal Plug and Play, es un conjunto de múltiples protocolos para permitir que cualquier aplicación reenvíe un puerto en su enrutador, ahorrando mucho tiempo en lo que sería una configuración manual de reenvío de puertos.

Sin embargo, UPnP es peligroso y, si es posible, debe desactivarse en una red. Imagine tener un dispositivo no autorizado en la red que ejecuta aplicaciones maliciosas. Estas aplicaciones podrían usar fácilmente UPnP para reenviar el puerto al mundo exterior y usarlo con fines maliciosos.

UPnP ha sido explotado muchas veces. Dos de los casos más destacados son Mirai , dirigido a cámaras IP y enrutadores domésticos, y Pinkslipbot , que utiliza máquinas infectadas como servidores proxy basados ​​en HTTPS para los servidores de control reales.

Desafortunadamente, muchos dispositivos domésticos usan UPnP hoy en día, incluidas las consolas de videojuegos o dispositivos de transmisión como Google Chromecast.

Para escanear la red 10.1.0.0/24 y descubrir dispositivos usando UPnP, se debe ejecutar el siguiente comando para ejecutar el complemento broadcast-upnp-info . Utilice -T4 para acelerar el descubrimiento:

% nmap -sV --script=broadcast-upnp-info -T4 10.1.0.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2020-11-02 18:59 CST
Pre-scan script results:
| broadcast-upnp-info:
|   239.255.255.250
|       Server: Linux/2.6.12, UPnP/1.0, NETGEAR-UPNP/1.0
|       Location: http://192.168.1.204:80/Public_UPNP_gatedesc.xml
|         Manufacturer: NETGEAR, Inc.
|         Name: WAN Device
|         Manufacturer: NETGEAR, Inc.
|         Name: WAN Connection Device
|         Manufacturer: NETGEAR, Inc.

El script de Nmap detectó solo un dispositivo que usaba UPnP y proporcionó la información necesaria, como el fabricante, el sistema operativo y la versión del software.

¿Qué haces con esta información? Si no necesita UPnP, es mejor deshabilitarlo. Si eso no es posible, asegúrese de reconocer el dispositivo y de que esté actualizado a la última versión de firmware.

[ ¿Quiere obtener más información sobre seguridad? Consulte la lista de verificación de cumplimiento y seguridad de TI. ] 

Conclusión

En este artículo, exploramos cómo usar Nmap para encontrar posibles dispositivos no autorizados en nuestras redes. Con el advenimiento y la creciente popularidad de los dispositivos IoT (muchos sin mecanismos de seguridad), ahora más que nunca es crucial realizar un seguimiento de todos los dispositivos conectados a la red. Nmap es una herramienta útil para usar en estos casos y más.


Linux
  1. Solucione los problemas de su red con tcpdump

  2. Enumerar una nueva red con Nmap

  3. ¿Permite el protocolo X en su red?

  4. Uso de la herramienta SS para la resolución de problemas de red

  5. ¿Encontrar el último elemento en una línea usando Grep?

Utilización del ancho de banda de la red de visualización con la herramienta Bandwhit

Mostrar información de red en Linux usando la herramienta What IP

Uso de Telnet para solucionar problemas de su sistema de correo

Cómo identificar demonios de red potencialmente vulnerables en sus sistemas Linux

Cómo encontrar dispositivos conectados a su red usando Debian Linux

Encuentre dispositivos conectados a su red con nmap en Ubuntu