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
  • La hora del cuento
  • Escenario 1
  • Escenario 2
  • Consideraciones sobre la pulverización de contraseñas
  • Visualización de Password Spray
  1. Hacking Notes (Learning Path)
  2. (HTB) Penetration Tester
  3. Introduction to Active Directory Enumeration & Attacks
  4. Sighting In, Hunting For A User

Password Spraying Overview

PreviousSighting In, Hunting For A UserNextEnumerating & Retrieving Password Policies

Last updated 17 days ago

El rociado de contraseñas puede permitir el acceso a sistemas y, potencialmente, la entrada en la red objetivo. El ataque consiste en intentar iniciar sesión en un servicio expuesto utilizando una contraseña común y una lista extensa de nombres de usuario o direcciones de correo electrónico. Los nombres de usuario y los correos electrónicos pueden haberse recopilado durante la fase OSINT de la prueba de penetración o durante nuestros intentos iniciales de enumeración. Recuerde que una prueba de penetración no es estática, sino que itera constantemente con diversas técnicas y repite procesos a medida que descubrimos nuevos datos. A menudo, trabajaremos en equipo o ejecutaremos varias TTP a la vez para optimizar nuestro tiempo. A medida que avanzamos en nuestra carrera, descubriremos que muchas de nuestras tareas, como escanear, intentar descifrar hashes, etc., requieren bastante tiempo. Debemos asegurarnos de utilizar nuestro tiempo de forma eficaz y creativa, ya que la mayoría de las evaluaciones tienen un límite de tiempo. Por lo tanto, mientras realizamos nuestros intentos de envenenamiento, también podemos utilizar la información disponible para intentar obtener acceso mediante el rociado de contraseñas. Ahora cubramos algunas de las consideraciones para la pulverización de contraseñas y cómo hacer nuestra lista de objetivos a partir de la información que tenemos.

La hora del cuento

El rociado de contraseñas puede ser una forma muy efectiva de establecerse internamente. En muchas ocasiones, esta técnica me ha ayudado a establecerme durante mis evaluaciones. Tenga en cuenta que estos ejemplos provienen de evaluaciones de "caja gris" no invasivas en las que tuve acceso a la red interna con una máquina virtual Linux y una lista de rangos de IP dentro del alcance, y nada más.

Escenario 1

En este primer ejemplo, realicé todas mis comprobaciones estándar y no encontré nada útil, como una sesión SMB nula o un enlace anónimo LDAP, que me permitiera recuperar una lista de usuarios válidos. Por lo tanto, decidí usar la Kerbruteherramienta para crear una lista de nombres de usuario objetivo enumerando los usuarios válidos del dominio (una técnica que abordaremos más adelante en esta sección). Para crear esta lista, tomé la jsmith.txtlista de nombres de usuario del repositorio de GitHub y la combiné con los resultados que obtuve al rastrear LinkedIn. Con esta lista combinada, enumeré los usuarios válidos con Kerbrutey luego usé la misma herramienta para rociar contraseñas con la contraseña común Welcome1. Obtuve dos coincidencias con esta contraseña para usuarios con privilegios muy bajos, pero esto me dio suficiente acceso dentro del dominio para ejecutar BloodHound y, finalmente, identificar las rutas de ataque que llevaron a la vulneración del dominio.

Escenario 2

En la segunda evaluación, me enfrenté a una configuración similar, pero al enumerar usuarios válidos del dominio con listas de nombres de usuario comunes, los resultados de LinkedIn no arrojaron ningún resultado. Busqué en Google archivos PDF publicados por la organización. Mi búsqueda generó muchos resultados y, en las propiedades del documento de cuatro de ellos, confirmé que la estructura interna del nombre de usuario tenía el formato F9L8, GUID generados aleatoriamente usando solo letras mayúsculas y números ( A-Z and 0-9). Esta información se publicó con el documento en el Authorcampo y demuestra la importancia de depurar los metadatos del documento antes de publicar nada en línea. A partir de aquí, se pudo usar un breve script de Bash para generar 1 679 616 posibles combinaciones de nombres de usuario.

#!/bin/bash

for x in {{A..Z},{0..9}}{{A..Z},{0..9}}{{A..Z},{0..9}}{{A..Z},{0..9}}
    do echo $x;
done

Luego usé la lista de nombres de usuario generada Kerbrutepara enumerar todas las cuentas del dominio. Este intento de dificultar la enumeración de nombres de usuario me permitió enumerar todas las cuentas del dominio gracias al GUID predecible en uso, combinado con los metadatos PDF que pude localizar, lo que facilitó enormemente el ataque. Normalmente, solo puedo identificar entre el 40 % y el 60 % de las cuentas válidas usando una lista como jsmith.txt. En este ejemplo, incrementé significativamente mis probabilidades de éxito en un ataque de rociado de contraseñas al iniciar el ataque con todas las cuentas del dominio de mi lista objetivo. A partir de aquí, obtuve contraseñas válidas para algunas cuentas. Finalmente, pude seguir una compleja cadena de ataque que incluía y el ataque para finalmente obtener el control del dominio.

Consideraciones sobre la pulverización de contraseñas

Si bien la pulverización de contraseñas es útil para quienes realizan pruebas de penetración o para quienes participan en equipos de seguridad, su uso descuidado puede causar daños considerables, como el bloqueo de cientos de cuentas de producción. Un ejemplo son los intentos de fuerza bruta para identificar la contraseña de una cuenta utilizando una larga lista de contraseñas. En cambio, la pulverización de contraseñas es un ataque más controlado, que utiliza contraseñas muy comunes en diversos sectores. La siguiente tabla muestra una pulverización de contraseñas.

Visualización de Password Spray

Ataque

Nombre de usuario

Contraseña

1

bob.smith@inlanefreight.local

Bienvenido1

1

juan.doe@inlanefreight.local

Bienvenido1

1

jane.doe@inlanefreight.local

Bienvenido1

DEMORA

2

bob.smith@inlanefreight.local

Contraseña

2

juan.doe@inlanefreight.local

Contraseña

2

jane.doe@inlanefreight.local

Contraseña

DEMORA

3

bob.smith@inlanefreight.local

Invierno2022

3

juan.doe@inlanefreight.local

Invierno2022

3

jane.doe@inlanefreight.local

Invierno2022

Implica enviar menos solicitudes de inicio de sesión por nombre de usuario y es menos probable que bloquee cuentas que un ataque de fuerza bruta. Sin embargo, la pulverización de contraseñas aún presenta el riesgo de bloqueos, por lo que es esencial introducir un retraso entre los intentos de inicio de sesión. La pulverización interna de contraseñas puede utilizarse para moverse lateralmente dentro de una red, y se aplican las mismas consideraciones respecto a los bloqueos de cuentas. No obstante, es posible obtener la política de contraseñas del dominio con acceso interno, lo que reduce significativamente este riesgo.

Es común encontrar una política de contraseñas que permite cinco intentos fallidos antes de bloquear la cuenta, con un límite de desbloqueo automático de 30 minutos. Algunas organizaciones configuran límites de bloqueo de cuentas más amplios, incluso requiriendo que un administrador desbloquee las cuentas manualmente. Si desconoce la política de contraseñas, una buena regla general es esperar unas horas entre intentos, lo cual debería ser suficiente para que se restablezca el límite de bloqueo de la cuenta. Es recomendable obtener la política de contraseñas antes de intentar el ataque durante una evaluación interna, pero esto no siempre es posible. Podemos ser precavidos y optar por un solo intento de rociado de contraseñas dirigido utilizando una contraseña débil o común como medida de salvaguardia si se han agotado todas las demás opciones para obtener un punto de acceso o ampliar el acceso. Dependiendo del tipo de evaluación, siempre podemos pedir al cliente que aclare la política de contraseñas. Si ya tenemos un punto de acceso o se nos proporcionó una cuenta de usuario como parte de las pruebas, podemos enumerar la política de contraseñas de varias maneras. Practiquemos esto en la siguiente sección.

statistically-likely-usernames
la Delegación Restringida Basada en Recursos (RBCD)
de Credenciales en la Sombra