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
  • Inveigh - Descripción general
  • Uso de Inveigh
  • C# Inveigh (InveighZero)
  • Remediación
  • Detección
  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 Windows

PreviousLLMNR/NBT-NS Poisoning - from LinuxNextSighting In, Hunting For A User

Last updated 1 month ago

El envenenamiento de LLMNR y NBT-NS también es posible desde un host Windows. En la sección anterior, utilizamos Responder para capturar hashes. En esta sección, exploraremos la herramienta e intentaremos capturar otro conjunto de credenciales.

Inveigh - Descripción general

Si utilizamos un host Windows como equipo de ataque, nuestro cliente nos proporciona un equipo Windows para realizar pruebas, o si accedemos a un host Windows como administrador local mediante otro método de ataque y queremos ampliar nuestro acceso, la herramienta funciona de forma similar a Responder, pero está escrita en PowerShell y C#. Inveigh puede escuchar IPv4 e IPv6, así como otros protocolos, como LLMNRDNS, mDNSNBNS DHCPv6, ICMPv6 HTTP, HTTPS, SMBLDAP WebDAVy autenticación de proxy. La herramienta está disponible en el C:\Toolsdirectorio del host de ataque Windows proporcionado.

Podemos comenzar con la versión de PowerShell de la siguiente manera y luego enumerar todos los parámetros posibles. Existe una que incluye todos los parámetros e instrucciones de uso.

Uso de Inveigh

Import-Module .\Inveigh.ps1
(Get-Command Invoke-Inveigh).Parameters

Iniciemos Inveigh con la suplantación de LLMNR y NBNS, y la salida a la consola y la escritura en un archivo. Dejaremos el resto de los valores predeterminados, que pueden verse .

Invoke-Inveigh Y -NBNS Y -ConsoleOutput Y -FileOutput Y

Podemos ver que inmediatamente empezamos a recibir solicitudes LLMNR y mDNS. La siguiente animación muestra la herramienta en acción.

C# Inveigh (InveighZero)

La versión de PowerShell de Inveigh es la original y ya no se actualiza. El autor de la herramienta mantiene la versión en C#, que combina el código original de la PoC en C# y una adaptación a C# de la mayor parte del código de la versión de PowerShell. Antes de poder usar la versión en C# de la herramienta, debemos compilar el ejecutable. Para ahorrar tiempo, hemos incluido una copia de la versión de PowerShell y del ejecutable compilado de la herramienta en la C:\Toolscarpeta del host de destino del laboratorio. Sin embargo, conviene realizar el ejercicio (y la práctica recomendada) de compilarlo usted mismo con Visual Studio.

Sigamos adelante y ejecutemos la versión C# con los valores predeterminados y comencemos a capturar hashes.

.\Inveigh.exe

Como podemos ver, la herramienta se inicia y muestra qué opciones están habilitadas por defecto y cuáles no. Las opciones con un [+]son predeterminadas y están habilitadas por defecto, mientras que las que tienen un [ ]delante están deshabilitadas. La salida de la consola también muestra qué opciones están deshabilitadas y, por lo tanto, no se envían respuestas (mDNS en el ejemplo anterior). También podemos ver el mensaje Press ESC to enter/exit interactive console, que resulta muy útil al ejecutar la herramienta. La consola nos da acceso a las credenciales/hashes capturados, nos permite detener Inveigh y mucho más.

Podemos pulsar la esctecla para entrar a la consola mientras Inveigh esté en ejecución.

Después de escribir HELPy pulsar enter, se nos presentan varias opciones.

Podemos ver rápidamente hashes capturados únicos escribiendo GET NTLMV2UNIQUE.

Podemos escribir GET NTLMV2USERNAMESy ver qué nombres de usuario hemos recopilado. Esto es útil si queremos una lista de usuarios para realizar una enumeración adicional y ver cuáles vale la pena intentar descifrar sin conexión con Hashcat.

Comencemos Inveigh y luego interactuemos un poco con la salida para ponerlo todo junto.

Remediación

Hay varias maneras de mitigar este ataque. Para garantizar que estos ataques de suplantación de identidad no sean posibles, podemos deshabilitar LLMNR y NBT-NS. Como precaución, siempre conviene probar lentamente y con cuidado un cambio significativo como este en su entorno antes de implementarlo por completo. Como expertos en pruebas de penetración, podemos recomendar estas medidas de remediación, pero debemos comunicar claramente a nuestros clientes que deben realizar pruebas exhaustivas de estos cambios para garantizar que la deshabilitación de ambos protocolos no afecte negativamente a la red.

Podemos desactivar LLMNR en la Política de grupo yendo a Configuración del equipo --> Plantillas administrativas --> Red --> Cliente DNS y habilitando "Desactivar la resolución de nombres de multidifusión".

NBT-NS no se puede deshabilitar mediante la directiva de grupo, sino que debe deshabilitarse localmente en cada host. Para ello, abra Network and Sharing Center[en] Control Panel, haga clic en [en Change adapter settings], haga clic con el botón derecho en el adaptador para ver sus propiedades, seleccione [en] Internet Protocol Version 4 (TCP/IPv4)y haga clic en el Propertiesbotón [en], luego haga clic en [en ] Advancedy seleccione la WINSpestaña [en] y, finalmente, seleccione [en] Disable NetBIOS over TCP/IP.

Si bien no es posible deshabilitar NBT-NS directamente a través de GPO, podemos crear un script de PowerShell en Configuración del equipo --> Configuración de Windows --> Script (Inicio/Apagado) --> Inicio con algo como lo siguiente:

$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}

En el Editor de directivas de grupo local, deberemos hacer doble clic en [Nombre del grupo] Startup, seleccionar la PowerShell Scriptspestaña y seleccionar "Para esta GPO, ejecutar scripts en el siguiente orden" para [Nombre del grupo] Run Windows PowerShell scripts firsty, a continuación, hacer clic en [ AddNombre del grupo] y seleccionar el script. Para que estos cambios se apliquen, tendremos que reiniciar el sistema de destino o el adaptador de red.

Para enviar esto a todos los hosts de un dominio, podríamos crear un GPO usando Group Policy Managementel controlador de dominio y alojar el script en el recurso compartido SYSVOL en la carpeta de scripts y luego llamarlo a través de su ruta UNC como:

\inlanefreight.local\SYSVOL\INLANEFREIGHT.LOCAL\scripts

Una vez que se aplica el GPO a unidades organizativas específicas y se reinician esos hosts, el script se ejecutará en el próximo reinicio y deshabilitará NBT-NS, siempre que el script aún exista en el recurso compartido SYSVOL y el host pueda acceder a él a través de la red.

Otras medidas de mitigación incluyen el filtrado del tráfico de red para bloquear el tráfico LLMNR/NetBIOS y la habilitación de la firma SMB para prevenir ataques de retransmisión NTLM. Los sistemas de detección y prevención de intrusiones en la red también pueden utilizarse para mitigar esta actividad, mientras que la segmentación de la red permite aislar los hosts que requieren tener LLMNR o NetBIOS habilitados para funcionar correctamente.

Detección

Mitre ATT&CK enumera esta técnica como , Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay.

No siempre es posible deshabilitar LLMNR y NetBIOS, por lo que necesitamos formas de detectar este tipo de ataque. Una forma de hacerlo es inyectando solicitudes LLMNR y NBT-NS para hosts inexistentes en diferentes subredes y alertando si alguna de las respuestas recibe respuestas que indiquen que un atacante está falsificando las respuestas de resolución de nombres. Esta explica este método con más detalle.

Además, se puede monitorizar el tráfico de los hosts en los puertos UDP 5355 y 137, así como los ID de evento y Finalmente, se puede monitorizar la clave de registro HKLM\Software\Policies\Microsoft\Windows NT\DNSClientpara detectar cambios en el EnableMulticastvalor DWORD. Un valor de 0significaría que LLMNR está deshabilitado.

Inveigh
Inveigh
wiki
aquí
ID: T1557.001
entrada del blog
4697
7045.