En este artículo se presentará una breve narrativa sobre lo que puede contarnos algo que parece tan familiar como NetBIOS. Qué información puede proporcionar a un potencial atacante/pentester.
El área de aplicación de las técnicas de reconocimiento mostradas se refiere a redes internas, es decir, aisladas y no accesibles desde el exterior. Tales redes existen, por regla general, en cualquier empresa, incluso en la más pequeña.
NetBIOS NetBIOS se utiliza, por regla general, para obtener un nombre de red. Y eso será suficiente para hacer al menos 4 cosas.
Detección de hosts
Gracias a que NetBIOS puede usar UDP como transporte, su velocidad permite detectar hosts en redes muy grandes. Por ejemplo, la herramienta nbtscan, que forma parte del paquete homónimo, puede resolver direcciones de red de tipo 192.168.0.0/16 en solo 2 segundos (puede colapsar la red), mientras que un escaneo TCP tradicional tomaría decenas de minutos. Esta característica se puede usar como técnica de detección de hosts (host sweep) en redes muy grandes, sobre las cuales no se tiene información, antes de ejecutar nmap. Aunque el resultado no garantiza un 100% de detección, ya que predominantemente responderán hosts de Windows y no todos, aún permitirá determinar aproximadamente en qué rangos se encuentran los hosts activos.
Identificación de hosts
Usando los resultados de obtención de nombres de direcciones IP:

se puede ver: además de que el nombre revela el propietario de la estación de trabajo (aunque esto no siempre sucede), una de las direcciones sobresale claramente por encima de las demás. Podemos ver que se obtuvo el nombre KALI. Este comportamiento es característico, por regla general, de unix-implementaciones SMB/NetBIOS como parte del paquete de software samba o versiones muy antiguas de Windows 2000.
Obtención del nombre KALI, mientras que en otros hosts esto <unknown> indica la presencia de lo que se conoce como null-session. Con la configuración predeterminada, el servidor SMBes propenso a ella. linux La null-session permite obtener de manera completamente anónima (como se puede ver en la captura, no introdujimos ninguna contraseña) bastante información adicional, como la política de contraseñas local, una lista de usuarios locales, grupos y una lista de recursos compartidos: A menudo en

Linux SMB linux SMB-en los servidores pueden haber comparticiones de acceso público no solo de lectura, sino incluso de escritura. La presencia de ambos conlleva diferentes amenazas, cuyo uso va más allá del alcance de este artículo.
NetBIOS también permite obtener los nombres de todos los tipos que almacena la estación de trabajo:

en este caso, permite conocer que el host es también un controlador de dominio ARRIVA.
También se debe prestar atención a que NetBIOS permite obtener mac-dirección. Además, a diferencia de las solicitudes arp, las solicitudes NetBIOS pueden salir del rango de la subred. Esto puede ser útil si, por ejemplo, se requiere encontrar en la red alguna computadora portátil o hardware específico, sabiendo su fabricante. Dado que los primeros tres octetos mac-de la dirección identifican al fabricante, se puede enviar tales NetBIOS-solicitudes a todas las subredes conocidas para intentar encontrar el dispositivo necesario (http://standards-oui.ieee.org/oui.txt).
Determinación de pertenencia a el dominio
A menudo, al moverse por las redes corporativas internas, se requiere atacar precisamente la estación de trabajo que está en el dominio (por ejemplo, para elevar privilegios al nivel de administrador de dominio) o viceversa. En este caso, NetBIOS nuevamente puede ayudar:

En este caso, con la ayuda de NetBIOS se obtuvieron todos los nombres de todos los tipos. Entre ellos, se puede ver, además del nombre del PC (lo que ya se había obtenido anteriormente), también el nombre del grupo de trabajo. Por defecto para windows generalmente es algo como WORKGROUP o IVAN-PC, pero si la estación de trabajo está en un dominio, entonces su grupo de trabajo es el mismo que el nombre del dominio.
Así, con la ayuda de NetBIOS se puede saber si la estación de trabajo está en un dominio y, si es así, en cuál.
Si se requiere obtener una lista de hosts de dominio dentro de la subred, basta con un solo запрос широковещательного con el nombre del dominio necesario:

como resultado, todos los hosts que pertenecen a dicho dominio responderán.
Detección de hosts multihomed
Y finalmente, otra técnica que probablemente es muy poco conocida, pero que es simplemente indispensable para encontrar rutas a redes protegidas, posiblemente incluso físicamente aisladas. Estas pueden ser redes de fábricas repletas de controladores. El acceso a esta red para un atacante significa la posibilidad de influir en el proceso tecnológico, y para la empresa, el riesgo de sufrir enormes pérdidas.
Así que la esencia es que, incluso si la red está aislada de la red corporativa, a menudo algunos administradores, ya sea por pereza o por cualquier otro motivo, tienden a activar otra tarjeta de red en sus PC para acceder a dicha red. Esto, por supuesto, se hace eludiendo todas las reglas de los cortafuegos corporativos. Es conveniente, sí, pero no muy seguro; si te hackean, te convertirás en un puente hacia esa red y asumirás la responsabilidad.
Sin embargo, aquí hay un problema para el atacante: encontrar a ese administrador que se ha conectado a la red protegida de manera ilegal. Además, esto no es un desafío fácil para los propios expertos en seguridad de la red. En grandes empresas, esta tarea es verdaderamente complicada, como buscar una aguja en un pajar.
En esta situación, las opciones evidentes para el atacante serían dos:
1. intentar utilizar cada PC en la subred corporativa como puerta de enlace hacia la red requerida. Esto sería muy conveniente, pero rara vez sucede, ya que en windows los hosts ip forwarding casi siempre está deshabilitado. Además, dicha verificación solo es posible dentro de su propia subred y requiere que el atacante sepa exactamente la dirección objetivo de la red aislada.
2. intentar acceder remotamente a cada host y ejecutar el comando básico ipconfig/ifconfig. Y aquí no todo es tan sencillo. Incluso si el atacante ha obtenido derechos de administrador de dominio, los cortafuegos de red y los firewalls locales siguen existiendo. Por lo tanto, esta tarea no se puede automatizar al 100%. Como resultado, queda el arduo trabajo de acceder a cada host, superando los cortafuegos de red (que a menudo bloquean específicamente el puerto 445/tcp), con la esperanza de finalmente ver la deseada interfaz de red.
Sin embargo, todo es mucho más simple. Hay un truco extremadamente sencillo que permite obtener de un determinado host la lista de interfaces de red. Supongamos que tenemos un host:

esto es la resolución inversa de la dirección ip → nombre de host. Si ahora intentamos hacer una resolución directa del nombre de host → dirección ip:

descubriremos que este host también es una puerta de enlace (presumiblemente) en otra red. Cabe señalar que, en este caso, la solicitud se envió de manera difusa. En otras palabras, solo los hosts de la subred del atacante la escucharán.
Si el host objetivo está fuera de la subred, se puede enviar una solicitud dirigida:

En este caso, se observa que el objetivo está fuera de la subred del atacante. Con la clave -B se indicó que la solicitud debe enviarse a una dirección específica y no a una difusión.
Ahora solo queda recopilar información rápidamente de toda la subred de interés, y no de una sola dirección. Para esto se puede utilizar un pequeño python-script:

Y después de unos segundos:

El host dedicado, en este caso improvisado, sería el primer objetivo del atacante si este estuviera persiguiendo la red 172.16.1/24.

Los nombres repetidos en diferentes IP indican que el host también tiene dos tarjetas de red, pero ya en una única subred. Cabe destacar que NetBIOS no revela alias-s (que pueden ser fácilmente calculados a través de solicitudes arp como IP con el mismo mac). En este caso dirección IP tienen diferentes mac.
Otro ejemplo del uso de esta técnica es el Wi-Fi público. A veces se puede encontrar una situación en la que entre los dispositivos invitados a la red pública se conecta personal que trabaja en un segmento corporativo cerrado. Entonces, con esta técnica de inteligencia, el atacante podrá rápidamente trazar un camino hacia la red cerrada:

En este caso, entre 65 clientes del Wi-Fi público había dos estaciones de trabajo con una interfaz adicional, probablemente perteneciente a la red corporativa.
Si a veces hay filtración de tráfico en los segmentos de red o directamente en las estaciones de trabajo en el puerto 445/tcp, impidiendo el acceso remoto al sistema (ejecución remota de código), en este caso se utiliza el puerto 137/udp para la resolución de nombres, siendo consciente de que su bloqueo casi no se encuentra, ya que esto afectaría considerablemente la comodidad de la navegación en la red, por ejemplo, podría desaparecer el entorno de red, etc. NetBIOS Como se dice,
enumeración es la clave ¿Hay protección contra esto? No la hay, ya que esto no es una vulnerabilidad en absoluto. Es solo una funcionalidad estándar de lo poco que hay por defecto en
(en windows el comportamiento difiere un poco). Y si, de repente, te conectas sin cierta coordinación, eludiendo las reglas de enrutamiento de la red en un segmento cerrado, el atacante te encontrará rápidamente. linux el comportamiento es un poco diferente). Y si, de repente, sin coherencia, se conecta a un segmento cerrado, el atacante seguramente te encontrará y lo hará muy rápido.
Fuente: habr.com
