
smbclient-ng, una forma rápida y fácil de usar para interactuar con recursos compartidos de SMB.
bat: Muestra de forma legible el contenido de un archivo. Sintaxis: bat <file>bhead: Muestra de forma legible las primeras n líneas de un archivo. Sintaxis: bhead <file>btail: Muestra de forma legible las últimas n líneas de un archivo. Sintaxis: btail <file>cat: Obtiene el contenido de un archivo. Sintaxis: cat <file>cd: Cambia el directorio de trabajo actual. Sintaxis: cd <directory>close: Cierra la conexión SMB con la máquina remota. Sintaxis: closeconnect: Conecta a la máquina remota (útil si la conexión expiró). Sintaxis: connectdir: Lista el contenido del directorio de trabajo actual. Sintaxis: direxit: Sale del script smbclient-ng. Sintaxis: exitget: Obtiene un archivo remoto. Sintaxis: get [-r] <directory or file>help: Muestra este mensaje de ayuda. Sintaxis: helphead: Obtiene las primeras n líneas de un archivo remoto. Sintaxis: head <file>history: Muestra el historial de comandos. Sintaxis: historyinfo: Obtiene información sobre el servidor y/o el recurso compartido. Sintaxis: info [server|share]lbat: Muestra de forma legible el contenido de un archivo local. Sintaxis: lbat <file>lcat: Imprime el contenido de un archivo local. Sintaxis: lcat <file>lcd: Cambia el directorio local actual. Sintaxis: lcd <directory>lcp: Crea una copia de un archivo local. Sintaxis: lcp <srcfile> <dstfile>lls: Lista el contenido del directorio local actual. Sintaxis: llslmkdir: Crea un nuevo directorio local. Sintaxis: lmkdir <directory>lpwd: Muestra el directorio local actual. Sintaxis: lpwdlrename: Renombra un archivo local. Sintaxis: lrename <oldfilename> <newfilename>lrm: Elimina un archivo local. Sintaxis: lrm <file>lrmdir: Elimina un directorio local. Sintaxis: lrmdir <directory>ls: Lista el contenido del directorio remoto de trabajo actual. Sintaxis: lsltree: Muestra una vista de árbol de los directorios locales. Sintaxis: ltree [directory]metadata: Obtiene metadatos de un archivo o directorio. Sintaxis: metadata <file|directory>mkdir: Crea un nuevo directorio remoto. Sintaxis: mkdir <directory>module: Carga un módulo específico para funcionalidades adicionales. Sintaxis: module <name>mount: Crea un punto de montaje del recurso compartido remoto en la máquina local. Sintaxis: mount <remote_path> <local_mountpoint>put: Coloca un archivo o directorio local en un directorio remoto. Sintaxis: put [-r] <directory or file>reconnect: Reconecta a la máquina remota (útil si la conexión expiró). Sintaxis: reconnectreset: Restablece la salida TTY, útil si se rompió después de imprimir un archivo binario en stdout. Sintaxis: resetrm: Elimina un archivo remoto. Sintaxis: rm <file>rmdir: Elimina un directorio remoto. Sintaxis: rmdir <directory>sessions: Gestiona las sesiones SMB. Sintaxis: sessions [interact|create|delete|execute|list]shares: Lista los recursos compartidos SMB servidos por la máquina remota. Sintaxis: sharessizeof: Calcula recursivamente el tamaño de una carpeta. Sintaxis: sizeof [directory|file]tail: Obtiene las últimas n líneas de un archivo remoto. Sintaxis: tail <file>tree: Muestra una vista de árbol de los directorios remotos. Sintaxis: tree [directory]umount: Elimina un punto de montaje del recurso compartido remoto en la máquina local. Sintaxis: umount <local_mount_point>use: Usa un recurso compartido SMB. Sintaxis: use <sharename>Para instalar smbclient-ng, puedes usar pip, pip3 o pipx. Puedes ejecutar cualquiera de los siguientes comandos en tu terminal para instalar smbclient-ng :
Con pip:
python3 -m pip install smbclientng
Con pip3:
pip3 install smbclientng
Con pipx:
pipx install smbclientng

$ ./smbclient-ng.py
_ _ _ _
___ _ __ ___ | |__ ___| (_) ___ _ __ | |_ _ __ __ _
/ __| '_ ` _ \| '_ \ / __| | |/ _ \ '_ \| __|____| '_ \ / _` |
\__ \ | | | | | |_) | (__| | | __/ | | | ||_____| | | | (_| |
|___/_| |_| |_|_.__/ \___|_|_|\___|_| |_|\__| |_| |_|\__, |
by @podalirius_ v2.1.8 |___/
usage: smbclientng [-h] [--debug] [--no-colors] [-l LOGFILE] [-T TIMEOUT] [-a ADVERTISED_NAME] [-C COMMAND] [-S STARTUP_SCRIPT] [-N] -H HOST [-P PORT] [-d DOMAIN] [-u USER]
[-p [PASSWORD] | --no-pass | --hashes [LMHASH:]NTHASH | --aes-key HEXKEY | -k | --kdcHost KDCHOST]
smbclient-ng, a fast and user-friendly way to interact with SMB shares.
options:
-h, --help show this help message and exit
Config:
--debug Enable debug mode.
--no-colors Disable colored output.
-l LOGFILE, --logfile LOGFILE
Log file path.
-T TIMEOUT, --timeout TIMEOUT
Timeout for SMB connections (default: 3s)
-a ADVERTISED_NAME, --advertised-name ADVERTISED_NAME
Advertised machine name.
Commands:
-C COMMAND, --command COMMAND
smbclient-ng commands to execute.
-S STARTUP_SCRIPT, --startup-script STARTUP_SCRIPT
Startup script with commands.
-N, --not-interactive
Non-interactive mode.
Target:
-H HOST, --host HOST Target SMB Server IP or hostname.
-P PORT, --port PORT Target SMB Server port (default: 445).
Authentication & Connection:
-d DOMAIN, --domain DOMAIN
Authentication domain.
-u USER, --user USER Username for authentication.
Secrets:
-p [PASSWORD], --password [PASSWORD]
Password.
--no-pass Do not prompt for a password.
--hashes [LMHASH:]NTHASH
NT/LM hashes.
--aes-key HEXKEY AES key for Kerberos authentication.
-k, --kerberos Use Kerberos authentication.
--kdcHost KDCHOST Fully qualified domain name (FQDN) of key distribution center (KDC) for Kerberos.
smbclient-ng -d "LAB" -u "Administrator" -p 'Admin123!' --host "10.0.0.201"
Las pull requests son bienvenidas. No dudes en abrir un issue si quieres añadir otras funciones.