
smbclient-ng, a fast and user friendly way to interact with SMB shares.

smbclient-ng, un modo rapido e intuitivo per interagire con le condivisioni SMB.
[!NOTE] Dai un'occhiata al nuovo smbclient-ng scritto in Go, più veloce e multipiattaforma di default!
acls: Elenca gli ACL di file e cartelle nella directory corrente. Sintassi: aclsbat: Mostra in modo leggibile il contenuto di un file. Sintassi: bat <file>bhead: Mostra in modo leggibile le prime n righe di un file. Sintassi: bhead <file>btail: Mostra in modo leggibile le ultime n righe di un file. Sintassi: btail <file>cat: Recupera il contenuto di un file. Sintassi: cat <file>cd: Cambia la directory di lavoro corrente. Sintassi: cd <directory>close: Chiude la connessione SMB alla macchina remota. Sintassi: closeconnect: Connetti alla macchina remota (utile se la connessione è scaduta). Sintassi: connectdir: Elenca il contenuto della directory di lavoro corrente. Sintassi: direxit: Esce dallo script smbclient-ng. Sintassi: exitget: Recupera un file remoto. Sintassi: get [-r] <directory or file>help: Mostra questo messaggio di aiuto. Sintassi: helphead: Recupera le prime n righe di un file remoto. Sintassi: head <file>history: Mostra la cronologia dei comandi. Sintassi: historyinfo: Ottiene informazioni sul server e/o sulla condivisione. Sintassi: info [server|share]lbat: Mostra in modo leggibile il contenuto di un file locale. Sintassi: lbat <file>lcat: Mostra il contenuto di un file locale. Sintassi: lcat <file>lcd: Cambia la directory locale corrente. Sintassi: lcd <directory>lcp: Crea una copia di un file locale. Sintassi: lcp <srcfile> <dstfile>lls: Elenca il contenuto della directory locale corrente. Sintassi: llslmkdir: Crea una nuova directory locale. Sintassi: lmkdir <directory>lpwd: Mostra la directory locale corrente. Sintassi: lpwdlrename: Rinomina un file locale. Sintassi: lrename <oldfilename> <newfilename>lrm: Elimina un file locale. Sintassi: lrm <file>lrmdir: Elimina una directory locale. Sintassi: lrmdir <directory>ls: Elenca il contenuto della directory remota di lavoro corrente. Sintassi: lsltree: Mostra una vista ad albero delle directory locali. Sintassi: ltree [directory]metadata: Ottiene i metadati di un file o di una directory. Sintassi: metadata <file|directory>mkdir: Crea una nuova directory remota. Sintassi: mkdir <directory>module: Carica un modulo specifico per funzionalità aggiuntive. Sintassi: module <name>mount: Crea un punto di montaggio della condivisione remota sulla macchina locale. Sintassi: mount <remote_path> <local_mountpoint>put: Invia un file o una directory locale in una directory remota. Sintassi: put [-r] <directory or file>reconnect: Riconnetti alla macchina remota (utile se la connessione è scaduta). Sintassi: reconnectreset: Ripristina l'output del TTY, utile se è stato danneggiato dopo la stampa di un file binario su stdout. Sintassi: resetrm: Elimina un file remoto. Sintassi: rm <file>rmdir: Elimina una directory remota. Sintassi: rmdir <directory>sessions: Gestisce le sessioni SMB. Sintassi: sessions [interact|create|delete|execute|list]shares: Elenca le condivisioni SMB servite dalla macchina remota. Sintassi: sharessizeof: Calcola ricorsivamente la dimensione di una cartella. Sintassi: sizeof [directory|file]tail: Recupera le ultime n righe di un file remoto. Sintassi: tail <file>tree: Mostra una vista ad albero delle directory remote. Sintassi: tree [directory]umount: Rimuove un punto di montaggio della condivisione remota sulla macchina locale. Sintassi: umount <local_mount_point>use: Usa una condivisione SMB. Sintassi: use <sharename>Per installare smbclient-ng, puoi usare pip, pip3 o pipx. Puoi eseguire uno dei seguenti comandi nel tuo terminale per installare 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"
I pull request sono benvenuti. Sentiti libero di aprire un issue se vuoi aggiungere altre funzionalità.