d4redevil
  • whoami
  • Active Directory
    • Enumeración
    • PowerShell para gestionar Active Directory
    • PowerView & SharpView
    • Ataques a Kerberos
    • Ataque de contraseñas
    • SMB Relay
    • Token Impersonation
    • Golden Ticket
    • LLMNR Poisoning
    • Mimikatz
    • Grupos privilegiados
    • LAPS
  • Linux
    • Enumeración
    • Escalación de privilegios
    • Transferencia de Archivos
  • Windows
    • Enumeración
    • Escalación de privilegios
      • SeImporsonate
      • SeDebugPrivilege
      • SeTakeOwnershipPrivilege
      • Backup Operators
      • DnsAdmins
    • Transferencia de Archivos
  • Scripting
    • Powershell
      • Introducción
      • Cmdlet
      • Alias
      • Comentarios
      • Comandos utiles
      • Variables
      • Tuberías (Pipes)
      • Operaciones
      • Estructuras Condicionales
  • OWASP TOP 10 y Vulnerabilidades Web
    • Inyecciones SQL
      • ¿Qué son las Inyecciones SQL?
      • Laboratorio
      • Inyecciones SQL basada en Uniones
      • Inyecciones SQL basadas en booleanos
      • Inyecciones SQL basadas en tiempo
  • Writeups
    • Hack The Box
      • Linux
        • 🟢Easy
        • 🟡Medium
          • Zipping
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
          • Devel
          • Grandpa
          • Granny
          • Jerry
          • Optimum
          • Legacy
          • Active
          • Sauna
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
    • The Hackers Labs
      • Linux
        • 🟢Principiante
          • Papaya
          • Can You Hack Me?
        • 🟡Avanzado
          • Runners
          • El Candidato
          • El Cliente
        • 🔴Profesional
        • ⚫Experto
          • ⚫Thlcppt_v16
      • Windows
        • 🟢Principiante
          • Cocido Andaluz
          • Ensalá Papas
        • 🟡Avanzado
        • 🔴Profesional
          • BlackGold
        • ⚫Experto
    • Dockerlabs
      • 🔵Muy fácil
      • 🟡Fácil
      • 🟠Medio
        • Database
      • 🔴Difícil
    • VulnHub
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
    • HackMyVM
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
  • Servicios Comunes
    • TCP
    • UDP
    • FTP (21)
    • SMB (445)
    • MySQL (3306)
    • MSSQL (1433)
  • Cheatsheet
    • Reconocimiento
    • Enumeración
    • Enumeración Web
    • Enumeración de CMS
    • Fuerza Bruta
    • Pivoting
    • Msfvenom
    • Utilidades
    • Fuerza bruta
    • Transferencia de Archivos
  • Contenedores
    • Docker
Con tecnología de GitBook
En esta página
  • Sistema
  • Credential Hunting
  • Variables de entorno
  • Windows Defender
  • Usuarios
  • Grupos
  • Red
  • Recursos compartidos
  • Referencias
  1. Windows

Enumeración

Sistema

hostname

qwinsta # Permiten ver quiénes están conectados a la máquina y muestran detalles sobre las sesiones activas. Similar a w o who de Linux.

query user

systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
[System.Environment]::OSVersion.Version

echo %PATH% # Variable de entorno PATH

# CMD
wmic qfe get Caption, Description, HotFixID, InstalledOn # Parches
wmic qfe list brief # Actualizaciones del sistema
wmic product get name # Programas instalados

tasklist /svc # Lista los procesos en ejecución

# Powershell
Get-Process # Lista los procesos en ejecución
Get-Process | Select-Object Name, Path
Get-WmiObject Win32_Process -Filter "name = 'notepad.exe'" | Select-Object Name, ExecutablePath

# Listar procesos NO estandar, procesos que no están en las carpetas del sistema
Get-Process | Where-Object {
    $_.Path -notmatch "C:\\Windows\\System32" -and
    $_.Path -notmatch "C:\\Windows\\SysWOW64"
} | Select-Object ProcessName, Id, Path

(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain # Devuelve True si un equipo forma parte de un dominio
Get-HotFix | ft -AutoSize # Parches

# Programas instalados
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | select displayname
Get-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" | select displayname
Get-WmiObject -Class Win32_Product |  select Name, Version

Get-Module
Get-ExecutionPolicy -List
Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections # Listar las reglas de AppLocker
Get-AppLockerPolicy -Local | Test-AppLockerPolicy -path C:\Windows\System32\cmd.exe -User Everyone # Probar la política de AppLocker

# Obtener el historial de PowerShell del usuario especificado
Get-Content C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt

# Confirmar si UAC esta habilitado
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA

# Comprobar el nivel de UAC
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v ConsentPromptBehaviorAdmin

Credential Hunting

Get-ChildItem -Path C:\ -Include *.kdbx -File -Recurse -ErrorAction SilentlyContinue
Get-ChildItem -Path C:\Users\elliot\ -Include *.txt,*.pdf,*.xls,*.xlsx,*.doc,*.docx -File -Recurse -ErrorAction SilentlyContinue

Select-String -Path C:\Users\elliot\Documents\*.txt -Pattern password

(Get-PSReadlineOption).HistorySavePath # Devuelve la ruta del historial de PSReadline

findstr /SIM /C:"password" *.txt *.ini *.cfg *.config *.xml
findstr /spin "password" *.*

Algunos otros archivos en los que podemos encontrar credenciales incluyen lo siguiente:

%SYSTEMDRIVE%\pagefile.sys
%WINDIR%\debug\NetSetup.log
%WINDIR%\repair\sam
%WINDIR%\repair\system
%WINDIR%\repair\software, 
%WINDIR%\repair\security
%WINDIR%\iis6.log
%WINDIR%\system32\config\AppEvent.Evt
%WINDIR%\system32\config\SecEvent.Evt
%WINDIR%\system32\config\default.sav
%WINDIR%\system32\config\security.sav
%WINDIR%\system32\config\software.sav
%WINDIR%\system32\config\system.sav
%WINDIR%\system32\CCM\logs\*.log
%USERPROFILE%\ntuser.dat
%USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat
%WINDIR%\System32\drivers\etc\hosts
C:\ProgramData\Configs\*
C:\Program Files\Windows PowerShell\*

Variables de entorno

# CMD
set

# PowerShell
Get-ChildItem Env: | ft Key,Value

Windows Defender

# CMD
netsh advfirewall show allprofiles
sc query windefend

# PowerShell
Get-MpComputerStatus

Usuarios

whoami all
whoami /priv
whoami /groups

# Usuarios Locales
net users # Listar todos los usuarios
net user <USER>
net user <USER> /domain
net user %username% # CMD
net accounts # Información acerca del requerimiento de contraseña
net accounts /domain
net user /add <USERNAME> <PASSWORD> # Crear usuario

Get-LocalUser # Listar todos los usuarios

# CMD
echo "%USERDOMAIN%"
echo %logonserver%
wmic USERACCOUNT Get Domain,Name,Sid

Grupos

# Local
net localgroup # Lista todos los grupos
net localgroup Administrators # Info acerca de un grupo (admins)
net localgroup administrators <USERNAME> /add # Agreaga un usario al grupo administrators

Get-LocalGroup # Lista todos los grupos locales
Get-LocalGroupMember <GROUP> # Lista los miembros de un Grupo

# Dominio
net group /domain                      # Info acerca de los grupos del dominio
net group /domain <DOMAIN_GROUP_NAME>  # Usuarios que pertencen al grupo
net group "Domain Computers" /domain   # Lista de PC conectadas al dominio
net group "Domain Controllers" /domain # Listar cuentas de PC de controladores de dominio

Red

ifconfig
ifconfig /all
route print
arp -a
netstat -ano
netsh advfirewall show state

Recursos compartidos

Recursos compartidos comunes en Windows:

  • C$ corresponde a C:/

  • ADMIN$ se asigna a C:/Windows

  • IPC$ se utiliza para RPC

  • Print$ aloja controladores para impresoras compartidas

  • SYSVOL sólo en DCs

  • NETLOGON sólo en los DC

Get-SMBShare
net share
net use z: \\172.16.0.1\C$ /user:elliot "P@ssword123!" # Montar el recurso compartido
net use /delete z: # Desmontar el recurso compartido
net view \\172.16.0.1 /all # /all nos permite ver los recursos compartidos
                           # administrativos (que terminan en '$'). 
                           # Puede usarse IP o nombre de host para especificar el host.

Referencias

AnteriorTransferencia de ArchivosSiguienteEscalación de privilegios

Última actualización hace 2 meses

Basic Win CMD for PentestersHackTricks
PayloadsAllTheThings/Windows - Privilege Escalation.md at master · swisskyrepo/PayloadsAllTheThingsGitHub
Logo
Logo