Apuntes Ciberseguridad (Cibaism)
HTBGitHubLinkedInNotion (Writeups)
  • Welcome to My Digital Garden
  • About me
  • Hacking notes (Personal)
    • Tratamiento TTY
    • Hacking Web Tecniques
      • File Inclusion
    • Linux Privilage Escalation
    • Arreglar bloodhound
  • Hacking Notes (Learning Path)
    • (HTB) Penetration Tester
      • Getting Started
        • Common Terms
          • Tipos de Shell
          • Puertos importantes
          • OWASP Top 10
        • Service Scanning
          • Nmap
          • Attacking Network Services
            • Captura de banners
            • FTP
            • SMB
            • SNMP
        • Web Enumeration
        • Public exploits
          • Encontrar exploits públicos
          • Introducción a Metasploit
        • Types of Shells
          • Reverse Shell
          • Bind Shell
          • Web Shell
        • Privilage escalation
        • Transferring Files
      • Footprinting
        • Infrastructura Based Enumeration
          • Domain Information
          • Cloud Resources
          • Staff
        • Host Based Enumeration
          • FTP
          • SMB
          • NFS
          • DNS
          • SMTP
          • IMAP / POP3
          • SNMP
          • MySQL
          • MSSQL
          • Oracle TNS
          • IPMI
          • Protocolos de administración remota de Linux
          • Protocolos de administración remota de Windows
      • Introduction to Active Directory Enumeration & Attacks
        • Tools of the Trade
        • Initial enumeration
          • External Recon and Enumeration Principles
          • Initial Enumeration of the Domain
        • Sniffing out a Foothold
          • LLMNR/NBT-NS Poisoning - from Linux
          • LLMNR/NBT-NS Poisoning - from Windows
        • Sighting In, Hunting For A User
          • Password Spraying Overview
          • Enumerating & Retrieving Password Policies
          • Password Spraying - Making a Target User List
        • Spray Responsibly
          • Internal Password Spraying - from Linux
      • File Inclusion
        • File Disclousure
          • Local File Inclusion (LFI)
          • Basic Bypasses
          • PHP Filters
        • Remote Code Execution
          • PHP Wrappers
    • (CRTA) Red Team Analyst
      • (CRTA) Red Team Analyst - Lab
    • (eJPT) Junior Penetration Tester
      • Assessment Methodologies
        • Assessment Methodologies: Footprinting & Scanning
          • Windows Recon: Nmap Host Discovery
          • Scan the Server 1
          • Windows Recon: SMB Nmap Scripts
        • Assessment Methodologies: Enumeration
          • Importing Nmap Scan Results Into MSF
          • T1046 : Network Service Scanning
          • FTP Enumeration
          • Samba Recon: Basics
          • Apache Enumeration
          • MySQL Enumeration
          • SSH Login
          • Postfix Recon: Basics
        • Assessment Methodologies: Vulnerability Assessment
          • Windows: IIS Server DAVTest
          • Shellshock
          • Web App Vulnerability Scanning With WMAP
      • Host & Network Penetration Testing
        • Host & Network Penetration Testing: System/Host Based Attacks
          • Windows
            • Windows: IIS Server: WebDav Metasploit
            • Windows: SMB Server PSexec
            • Windows: Insecure RDP Service
            • WinRM: Exploitation with Metasploit
            • UAC Bypass: UACMe
            • Privilege Escalation: Impersonate
            • Unattended Installation
            • Windows: Meterpreter: Kiwi Extension
          • Linux
            • ProFTP Recon: Basics
            • Samba Recon: Dictionary Attack
            • Cron Jobs Gone Wild II
            • Exploiting Setuid Programs
            • Password Cracker: Linux
        • Host & Network Penetration Testing: Network-Based Attacks
          • NetBIOS Hacking
          • SNMP Analysis
          • DNS & SMB Relay Attack
        • Host & Network Penetration Testing: The Metasploit Framework (MSF)
          • Windows: Java Web Server
          • Windows: HTTP File Server
          • Vulnerable FTP Server
          • Vulnerable File Sharing Service
          • Vulnerable SSH server
          • Vulnerable SMTP Server
          • Meterpreter Basics
          • Upgrading Command Shells To Meterpreter Shells
          • Windows Post Exploitation Modules
          • UAC Bypass: Memory Injection (Metasploit)
          • Exploiting SMB With PsExec
          • Windows: Enabling Remote Desktop
          • Clearing Windows Event Logs
          • Pivoting
  • Blue team notes
    • Digital Forensics
      • Malware Analysis with VirusTotal
      • Wireshark
    • (Falcon) CrowdStrike
      • FALCON 104: Getting Started with the Endpoint Security Module
      • FALCON 106: Customizing Dashboards in Falcon
      • FALCON 180: Falcon Forensics Fundamentals
  • Programming
    • Powershell
Powered by GitBook
On this page
  • LLMNR & NBT-NS Primer
  • Ejemplo rápido: Intoxicación por LLMNR/NBT-NS
  • TTPs
  • Responder en acción
  • Iniciar Responder con la configuración predeterminada
  • Descifrar un hash NTLMv2 con Hashcat
  1. Hacking Notes (Learning Path)
  2. (HTB) Penetration Tester
  3. Introduction to Active Directory Enumeration & Attacks
  4. Sniffing out a Foothold

LLMNR/NBT-NS Poisoning - from Linux

PreviousSniffing out a FootholdNextLLMNR/NBT-NS Poisoning - from Windows

Last updated 1 month ago

En este punto, hemos completado la enumeración inicial del dominio. Obtuvimos información básica de usuarios y grupos, enumeramos los hosts buscando servicios y roles críticos, como un controlador de dominio, y determinamos algunos detalles, como el esquema de nombres utilizado para el dominio. En esta fase, trabajaremos conjuntamente con dos técnicas diferentes: envenenamiento de red y rociado de contraseñas. Realizaremos estas acciones con el objetivo de obtener credenciales de texto sin cifrar válidas para una cuenta de usuario del dominio, lo que nos permitirá establecer una base en el dominio para comenzar la siguiente fase de enumeración desde una perspectiva de credenciales.

Esta sección y la siguiente abordarán una forma común de recopilar credenciales y obtener una base inicial durante una evaluación: un ataque de intermediario (Man-in-the-Middle) contra las transmisiones de Resolución de Nombres de Multidifusión Local de Enlace (LLMNR) y Servicio de Nombres NetBIOS (NBT-NS). Dependiendo de la red, este ataque puede proporcionar hashes de contraseñas de bajo privilegio o de nivel administrativo que se pueden descifrar sin conexión, o incluso credenciales de texto plano. Aunque no se aborda en este módulo, estos hashes también se pueden usar para realizar un ataque de Retransmisión SMB para autenticarse en uno o varios hosts del dominio con privilegios administrativos sin tener que descifrar el hash de la contraseña sin conexión. ¡Comencemos!

LLMNR & NBT-NS Primer

(LLMNR) y (NBT-NS) son componentes de Microsoft Windows que sirven como métodos alternativos de identificación de host cuando falla el DNS. Si una máquina intenta resolver un host, pero la resolución DNS falla, normalmente intentará solicitar a todas las demás máquinas de la red local la dirección de host correcta mediante LLMNR. LLMNR se basa en el formato del Sistema de Nombres de Dominio (DNS) y permite que los hosts en el mismo enlace local realicen la resolución de nombres para otros hosts. Utiliza puerto 5355sobre UDP de forma nativa. Si LLMNR falla, se utilizará NBT-NS. NBT-NS identifica los sistemas en una red local por su nombre NetBIOS. NBT-NS utiliza puerto 137sobre UDP.

La clave está en que, al usar LLMNR/NBT-NS para la resolución de nombres, cualquier host de la red puede responder. Aquí es donde entramos nosotros Responderpara envenenar estas solicitudes. Con acceso a la red, podemos suplantar una fuente de resolución de nombres autorizada (en este caso, un host que supuestamente pertenece al segmento de red) en el dominio de difusión respondiendo al tráfico LLMNR y NBT-NS como si tuvieran una respuesta para el host solicitante. Este envenenamiento se realiza para que las víctimas se comuniquen con nuestro sistema, simulando que nuestro sistema malicioso conoce la ubicación del host solicitado. Si el host solicitado requiere resolución de nombres o autenticación, podemos capturar el hash NetNTLM y someterlo a un ataque de fuerza bruta sin conexión para intentar recuperar la contraseña en texto plano. La solicitud de autenticación capturada también puede retransmitirse para acceder a otro host o utilizarse contra un protocolo diferente (como LDAP) en el mismo host. La suplantación de LLMNR/NBNS, combinada con la falta de firma SMB, a menudo puede provocar acceso administrativo a hosts dentro de un dominio. Los ataques de retransmisión SMB se tratarán en un módulo posterior sobre movimiento lateral.

Ejemplo rápido: Intoxicación por LLMNR/NBT-NS

Veamos un ejemplo rápido del flujo de ataque a un nivel muy alto:

  1. Un host intenta conectarse al servidor de impresión en \\print01.inlanefreight.local, pero accidentalmente escribe \\printer01.inlanefreight.local.

  2. El servidor DNS responde indicando que este host es desconocido.

  3. Luego, el host transmite a toda la red local preguntando si alguien conoce la ubicación de \\printer01.inlanefreight.local.

  4. El atacante (nosotros en Responderejecución) responde al host indicando que lo que está buscando es \\printer01.inlanefreight.local.

  5. El host cree en esta respuesta y envía una solicitud de autenticación al atacante con un nombre de usuario y un hash de contraseña NTLMv2.

  6. Luego, este hash se puede descifrar sin conexión o utilizar en un ataque de retransmisión SMB si existen las condiciones adecuadas.

TTPs

Se pueden utilizar varias herramientas para intentar el envenenamiento por LLMNR y NBT-NS:

Herramienta

Descripción

Responder es una herramienta diseñada específicamente para envenenar LLMNR, NBT-NS y MDNS, con muchas funciones diferentes.

Inveigh es una plataforma MITM multiplataforma que puede utilizarse para ataques de suplantación y envenenamiento.

Metasploit tiene varios escáneres integrados y módulos de suplantación diseñados para lidiar con ataques de envenenamiento.

Esta sección y la siguiente mostrarán ejemplos del uso de Responder e Inveigh para capturar hashes de contraseñas e intentar descifrarlos sin conexión. Normalmente, iniciamos una prueba de penetración interna desde una posición anónima en la red interna del cliente con un host de ataque Linux. Herramientas como Responder son excelentes para establecer una base que posteriormente podemos expandir mediante enumeraciones y ataques adicionales. Responder está escrito en Python y se suele usar en un host de ataque Linux, aunque existe una versión .exe que funciona en Windows. Inveigh está escrito en C# y PowerShell (considerado heredado). Ambas herramientas pueden usarse para atacar los siguientes protocolos:

  • LLMNR

  • DNS

  • MDNS

  • NBNS

  • DHCP

  • ICMP

  • HTTP

  • HTTPS

  • PYME

  • LDAP

  • WebDAV

  • Autenticación de proxy

Responder también tiene soporte para:

  • MSSQL

  • DCE-RPC

  • Autenticación FTP, POP3, IMAP y SMTP

Responder en acción

Responder es una herramienta relativamente sencilla, pero extremadamente potente y con muchas funciones diferentes. En la Initial Enumerationsección anterior, utilizamos Responder en modo de análisis (pasivo). Esto significa que escuchó las solicitudes de resolución, pero no las respondió ni envió paquetes envenenados. Estábamos actuando como si estuviéramos en la pared, simplemente escuchando. Ahora, iremos un paso más allá y dejaremos que Responder haga lo que mejor sabe hacer. Veamos algunas opciones disponibles escribiendo responder -hen nuestra consola.

responder -h

Con la configuración mostrada arriba, Responder escuchará y responderá cualquier solicitud que detecte en la red. Si logra capturar un hash, Responder lo imprimirá en pantalla y lo guardará en un archivo de registro por host ubicado en el /usr/share/responder/logsdirectorio. Los hashes se guardan en el formato (MODULE_NAME)-(HASH_TYPE)-(CLIENT_IP).txt, y un hash se imprime en la consola y se almacena en su archivo de registro asociado, a menos que -vel modo esté habilitado. Por ejemplo, un archivo de registro podría tener este aspecto SMB-NTLMv2-SSP-172.16.5.25. Los hashes también se almacenan en una base de datos SQLite que se puede configurar en el Responder.confarchivo de configuración, generalmente ubicado en , /usr/share/respondera menos que clonemos el repositorio de Responder directamente desde GitHub.

Debemos ejecutar la herramienta con privilegios de sudo o como root y asegurarnos de que los siguientes puertos estén disponibles en nuestro host de ataque para que funcione mejor:

UDP 137, UDP 138, UDP 53, UDP/TCP 389,TCP 1433, UDP 1434, TCP 80, TCP 135, TCP 139, TCP 445, TCP 21, TCP 3141,TCP 25, TCP 110, TCP 587, TCP 3128, Multicast UDP 5355 and 5353

Cualquiera de los servidores fraudulentos (es decir, SMB) se puede deshabilitar en el Responder.confarchivo.

Rigistros de respuesta

Si Responder capturó los hashes correctamente, como se muestra arriba, podemos encontrar los hashes asociados a cada host/protocolo en su propio archivo de texto. La animación a continuación muestra un ejemplo de Responder ejecutándose y capturando hashes en la red.

Podemos iniciar una sesión de Responder con bastante rapidez:

Iniciar Responder con la configuración predeterminada

sudo responder -I <interfaz de red> 

Una vez que tengamos suficientes, necesitamos convertir estos hashes en un formato utilizable de inmediato. Los hashes NetNTLMv2 son muy útiles una vez descifrados, pero no se pueden usar para técnicas como el pass-the-hash, lo que significa que debemos intentar descifrarlos sin conexión. Podemos hacerlo con herramientas como Hashcat y John.

Descifrar un hash NTLMv2 con Hashcat

hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt 

Al observar los resultados anteriores, podemos ver que hemos descifrado el hash NET-NTLMv2 del usuario FOREND, cuya contraseña es Klmcargo2. Afortunadamente, nuestro dominio objetivo permite contraseñas débiles de 8 caracteres. Este tipo de hash puede ser lento de descifrar incluso en un equipo de descifrado con GPU, por lo que las contraseñas largas y complejas pueden ser más difíciles o imposibles de descifrar en un tiempo razonable.

Realizamos estas acciones para recopilar la información de autenticación enviada a través de la red en forma de hashes de contraseña NTLMv1 y NTLMv2. Como se explicó en el módulo , NTLMv1 y NTLMv2 son protocolos de autenticación que utilizan el hash LM o NT. A continuación, tomaremos el hash e intentaremos descifrarlo sin conexión mediante herramientas como o con el objetivo de obtener la contraseña en texto plano de la cuenta para obtener acceso inicial o ampliar nuestro acceso dentro del dominio si capturamos el hash de la contraseña de una cuenta con más privilegios que la que ya poseemos.

Como se mostró anteriormente en el módulo, la -Abandera nos activa el modo de análisis, lo que nos permite ver las solicitudes NBT-NS, BROWSER y LLMNR en el entorno sin contaminar las respuestas. Siempre debemos proporcionar una interfaz o una IP. Algunas opciones comunes que solemos usar son -wf: esto iniciará el servidor proxy WPAD no autorizado, mientras que -fintentará identificar el sistema operativo y la versión del host remoto. Podemos usar la -vbandera para mayor detalle si surgen problemas, pero esto generará una gran cantidad de datos adicionales impresos en la consola. Otras opciones, como -Fy, -Pse pueden usar para forzar la autenticación NTLM o básica, así como la autenticación de proxy, pero pueden generar una solicitud de inicio de sesión, por lo que se recomienda usarlas con moderación. El uso de la -wbandera utiliza el servidor proxy WPAD integrado. Esto puede ser muy efectivo, especialmente en grandes organizaciones, ya que capturará todas las solicitudes HTTP de cualquier usuario que inicie Internet Explorer si el navegador tiene habilitada .

Normalmente, deberíamos iniciar Responder y dejarlo ejecutarse un rato en una ventana de tmux mientras realizamos otras tareas de enumeración para maximizar la cantidad de hashes que podemos obtener. Una vez listos, podemos pasar estos hashes a Hashcat usando el modo hash 5600para hashes NTLMv2 que solemos obtener con Responder. En ocasiones, podemos obtener hashes NTLMv1 y otros tipos de hashes; podemos consultar la página para identificarlos y encontrar el modo hash adecuado. Si alguna vez obtenemos un hash extraño o desconocido, este sitio es una excelente referencia para identificarlo. Consulta el módulo para un estudio a fondo de los diversos modos de Hashcat y cómo atacar una amplia variedad de tipos de hashes.

La Resolución de Nombres de Multidifusión Local de Enlace
el Servicio de Nombres NetBIOS
Introducción a Active Directory
Hashcat
John
la detección automática
de ejemplos de hashes de Hashcat
"Descifrando contraseñas con Hashcat"
Respondedor
Atacar verbalmente
Metasploit