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
  • Internal Password Spraying from a Linux Host
  • Using a Bash one-liner for the Attack
  • Using Kerbrute for the Attack
  • Using CrackMapExec & Filtering Logon Failures
  • Validating the Credentials with CrackMapExec
  • Local Administrator Password Reuse
  • Local Admin Spraying with CrackMapExec
  1. Hacking Notes (Learning Path)
  2. (HTB) Penetration Tester
  3. Introduction to Active Directory Enumeration & Attacks
  4. Spray Responsibly

Internal Password Spraying - from Linux

PreviousSpray ResponsiblyNextFile Inclusion

Last updated 14 days ago

Ahora que hemos creado una lista de palabras usando uno de los métodos descritos en las secciones anteriores, es hora de ejecutar nuestro ataque. Las siguientes secciones nos permitirán practicar la pulverización de contraseñas desde hosts Linux y Windows. Este es un punto clave para nosotros, ya que es una de las dos vías principales para obtener credenciales de dominio para acceder, pero también debemos proceder con cautela.

Internal Password Spraying from a Linux Host

Una vez creada la lista de palabras con uno de los métodos mostrados en la sección anterior, es hora de ejecutar el ataque. Rpcclientes una excelente opción para ejecutar este ataque desde Linux. Es importante tener en cuenta que un inicio de sesión válido no es evidente de inmediato con rpcclient, ya que la respuesta Authority Nameindica un inicio de sesión exitoso. Podemos filtrar los intentos de inicio de sesión no válidos con " greppingfor" Authorityen la respuesta. La siguiente línea de comandos de Bash (adaptada de ) puede usarse para ejecutar el ataque.

Using a Bash one-liner for the Attack

for u in $(cat valid_users.txt);do rpcclient -U "$u%<pass>" -c "getusername;quit" <ip> | grep Authority; done

También podemos utilizarlo Kerbrutepara el mismo ataque que comentamos anteriormente.

Using Kerbrute for the Attack

kerbrute passwordspray -d <dominio> --dc <ip> valid_users.txt  <pass>

Existen muchos otros métodos para rociar contraseñas desde Linux. Otra excelente opción es usar CrackMapExec. Esta herramienta, siempre versátil, acepta un archivo de texto con nombres de usuario para ejecutarlo con una sola contraseña en un ataque de rociado. Aquí, usamos grep para +filtrar los fallos de inicio de sesión y centrarnos solo en los intentos de inicio de sesión válidos para asegurarnos de no perder nada al revisar muchas líneas de salida.

Using CrackMapExec & Filtering Logon Failures

crackmapexec smb <ip> -u valid_users.txt -p <pass> | grep +

Después de obtener uno (o más) resultados con nuestro ataque de rociado de contraseñas, podemos usarlo CrackMapExecpara validar las credenciales rápidamente contra un controlador de dominio.

Validating the Credentials with CrackMapExec

crackmapexec smb <ip> -u <user> -p <pass>

Local Administrator Password Reuse

La pulverización interna de contraseñas no solo es posible con cuentas de usuario de dominio. Si se obtiene acceso administrativo y el hash de contraseña NTLM o la contraseña en texto plano de la cuenta de administrador local (u otra cuenta local con privilegios), se puede intentar en varios hosts de la red. La reutilización de contraseñas de cuentas de administrador local está muy extendida debido al uso de imágenes maestras en implementaciones automatizadas y a la aparente facilidad de gestión al aplicar la misma contraseña en varios hosts.

CrackMapExec es una herramienta útil para intentar este ataque. Conviene apuntar a hosts de alto valor, como SQLservidores Microsoft Exchange, ya que es más probable que tengan un usuario con privilegios elevados conectado o que sus credenciales permanezcan en la memoria.

Al trabajar con cuentas de administrador local, es importante considerar la reutilización de contraseñas o los formatos comunes en todas las cuentas. Si encontramos un host de escritorio con una contraseña única como $desktop%@admin123, podría ser útil probarla $server%@admin123con servidores. Además, si encontramos cuentas de administrador local no estándar como bsmith, podríamos descubrir que la contraseña se reutiliza para una cuenta de usuario de dominio con un nombre similar. El mismo principio se aplica a las cuentas de dominio. Si recuperamos la contraseña de un usuario llamado ajones, conviene probar la misma contraseña en su cuenta de administrador (si la tiene), por ejemplo, ajones_adm, para comprobar si está reutilizando sus contraseñas. Esto también es habitual en situaciones de confianza de dominio. Podemos obtener credenciales válidas para un usuario del dominio A que sean válidas para un usuario con el mismo nombre de usuario o uno similar en el dominio B, o viceversa.

En ocasiones, solo podemos recuperar el hash NTLM de la cuenta de administrador local de la base de datos SAM local. En estos casos, podemos distribuir el hash NT por toda una subred (o varias) para buscar cuentas de administrador local con la misma contraseña. En el ejemplo siguiente, intentamos autenticarnos en todos los hosts de una red /23 utilizando el hash NT integrado de la cuenta de administrador local, obtenido de otra máquina. El --local-authindicador indicará a la herramienta que solo intente iniciar sesión una vez en cada máquina, lo que elimina el riesgo de bloqueo de la cuenta. Make sure this flag is set so we don't potentially lock out the built-in administrator for the domainDe forma predeterminada, sin la opción de autenticación local activada, la herramienta intentará autenticarse utilizando el dominio actual, lo que podría provocar bloqueos de cuentas rápidamente.

Local Admin Spraying with CrackMapExec

crackmapexec smb --local-auth <ip red> -u administrator -H <hash> | grep +

El resultado anterior muestra que las credenciales eran válidas como administrador local en 3los sistemas de la 172.16.5.0/23subred. Podríamos entonces enumerar cada sistema para ver si encontramos algo que nos ayude a mejorar el acceso.

Esta técnica, si bien es efectiva, es bastante ruidosa y no es recomendable para evaluaciones que requieran sigilo. Siempre conviene buscar este problema durante las pruebas de penetración, incluso si no forma parte de nuestra estrategia para comprometer el dominio, ya que es un problema común y debe notificarse a nuestros clientes. Una forma de solucionarlo es usar la herramienta gratuita de Microsoft para que Active Directory administre las contraseñas de administrador local y aplique una contraseña única en cada host que rota a intervalos establecidos.

aquí
Local Administrator Password Solution (LAPS)