
smbclient-ng, eine schnelle und benutzerfreundliche Möglichkeit, mit SMB-Freigaben zu interagieren.

smbclient-ng, eine schnelle und benutzerfreundliche Möglichkeit, mit SMB-Freigaben zu interagieren.
[!NOTE] Schau dir das neue smbclient-ng an, das in Go geschrieben ist – schneller und standardmäßig plattformübergreifend!
acls: Listet die ACLs von Dateien und Ordnern im aktuellen Arbeitsverzeichnis auf. Syntax: aclsbat: Gibt den Inhalt einer Datei hübsch formatiert aus. Syntax: bat <file>bhead: Gibt die ersten n Zeilen einer Datei hübsch formatiert aus. Syntax: bhead <file>btail: Gibt die letzten n Zeilen einer Datei hübsch formatiert aus. Syntax: btail <file>cat: Ruft den Inhalt einer Datei ab. Syntax: cat <file>cd: Wechselt das aktuelle Arbeitsverzeichnis. Syntax: cd <directory>close: Schließt die SMB-Verbindung zum entfernten Rechner. Syntax: closeconnect: Stellt eine Verbindung zum entfernten Rechner her (nützlich, wenn die Verbindung abgelaufen ist). Syntax: connectdir: Listet den Inhalt des aktuellen Arbeitsverzeichnisses auf. Syntax: direxit: Beendet das smbclient-ng-Skript. Syntax: exitget: Ruft eine entfernte Datei ab. Syntax: get [-r] <directory or file>help: Zeigt diese Hilfemeldung an. Syntax: helphead: Ruft die ersten n Zeilen einer entfernten Datei ab. Syntax: head <file>history: Zeigt den Befehlsverlauf an. Syntax: historyinfo: Ruft Informationen über den Server und/oder die Freigabe ab. Syntax: info [server|share]lbat: Gibt den Inhalt einer lokalen Datei hübsch formatiert aus. Syntax: lbat <file>lcat: Gibt den Inhalt einer lokalen Datei aus. Syntax: lcat <file>lcd: Wechselt das aktuelle lokale Verzeichnis. Syntax: lcd <directory>lcp: Erstellt eine Kopie einer lokalen Datei. Syntax: lcp <srcfile> <dstfile>lls: Listet den Inhalt des aktuellen lokalen Verzeichnisses auf. Syntax: llslmkdir: Erstellt ein neues lokales Verzeichnis. Syntax: lmkdir <directory>lpwd: Zeigt das aktuelle lokale Verzeichnis an. Syntax: lpwdlrename: Benennt eine lokale Datei um. Syntax: lrename <oldfilename> <newfilename>lrm: Entfernt eine lokale Datei. Syntax: lrm <file>lrmdir: Entfernt ein lokales Verzeichnis. Syntax: lrmdir <directory>ls: Listet den Inhalt des aktuellen entfernten Arbeitsverzeichnisses auf. Syntax: lsltree: Zeigt eine Baumansicht der lokalen Verzeichnisse an. Syntax: ltree [directory]metadata: Ruft Metadaten über eine Datei oder ein Verzeichnis ab. Syntax: metadata <file|directory>mkdir: Erstellt ein neues entferntes Verzeichnis. Syntax: mkdir <directory>module: Lädt ein bestimmtes Modul für zusätzliche Funktionen. Syntax: module <name>mount: Erstellt einen Mountpunkt der entfernten Freigabe auf dem lokalen Rechner. Syntax: mount <remote_path> <local_mountpoint>put: Legt eine lokale Datei oder ein lokales Verzeichnis in einem entfernten Verzeichnis ab. Syntax: put [-r] <directory or file>reconnect: Stellt die Verbindung zum entfernten Rechner wieder her (nützlich, wenn die Verbindung abgelaufen ist). Syntax: reconnectreset: Setzt die TTY-Ausgabe zurück; nützlich, wenn sie nach dem Drucken einer Binärdatei auf stdout beschädigt wurde. Syntax: resetrm: Entfernt eine entfernte Datei. Syntax: rm <file>rmdir: Entfernt ein entferntes Verzeichnis. Syntax: rmdir <directory>sessions: Verwaltet die SMB-Sitzungen. Syntax: sessions [interact|create|delete|execute|list]shares: Listet die vom entfernten Rechner bereitgestellten SMB-Freigaben auf. Syntax: sharessizeof: Berechnet rekursiv die Größe eines Ordners. Syntax: sizeof [directory|file]tail: Ruft die letzten n Zeilen einer entfernten Datei ab. Syntax: tail <file>tree: Zeigt eine Baumansicht der entfernten Verzeichnisse an. Syntax: tree [directory]umount: Entfernt einen Mountpunkt der entfernten Freigabe auf dem lokalen Rechner. Syntax: umount <local_mount_point>use: Verwendet eine SMB-Freigabe. Syntax: use <sharename>Um smbclient-ng zu installieren, kannst du pip, pip3 oder pipx verwenden. Du kannst einen der folgenden Befehle in deinem Terminal ausführen, um smbclient-ng zu installieren:
Mit pip:
python3 -m pip install smbclientng
Mit pip3:
pip3 install smbclientng
Mit 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"
Pull Requests sind willkommen. Erstelle gerne ein Issue, wenn du weitere Funktionen hinzufügen möchtest.