【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

ハッカーはsmbclientコマンドでSMB/CIFSプロトコルを使用してリモートの共有フォルダーやプリンターにアクセスします(Linuxコマンド説明)

ホワイトハッカーの知識

smbclientコマンドは、Kioptrix: Level 1(#1)サーバーのハッキングで必要なコマンドになります。

smbclientとは

smbclientは、Sambaプロジェクトの一部で、SMB(Server Message Block)/CIFS(Common Internet File System)プロトコルを使用してリモートの共有フォルダーやプリンターにアクセスするためのコマンドラインツールです。
これは、Windowsシステムで使用される共有フォルダーやリソースにLinuxや他のOSからアクセスする際に役立ちます。
Kali Linuxにプリインストールされており、ファイル共有の調査やアクセスのテストに利用されます。特に、ペネトレーションテストやセキュリティ監査で、SMBサービスの構成を確認したり脆弱性を調査したりする際に活用されます。
 
 

機能と特徴

1.Windowsの共有フォルダーへの接続と操作が可能。
2.ファイルのアップロード、ダウンロード、削除、ディレクトリの閲覧などをサポート。
3.SMBの認証情報(ユーザー名とパスワード)を使用してアクセス可能。
4.無認証(ゲストアクセス)が許可されている共有フォルダーの調査にも利用。
5.SMBプロトコルのデバッグ情報を確認することもできる。
 
 

ツールの場所

Linuxコマンドであるので
ターミナルで"smbclient [オプション]・・・"
と打ち込むだけです。
 
 

ツールと使用方法

※以下、背景が黄色の長い「半角ハイフン(–)」は、表示上、一つで表示されていますが、実際には「半角ハイフン(-)」二つです。設定の際、間違わないようにお願いします。
 
smbclient [-?EgqBNPkV] [-?|help] [usage] [-M|message=HOST] [-I|ip-address=IP] [-E|stderr]
[-L|list=HOST] [-T|tar=<c|x>IXFvgbNan] [-D|directory=DIR] [-c|command=STRING]
[-b|send-buffer=BYTES] [-t|timeout=SECONDS] [-p|port=PORT] [-g|grepable] [-q|quiet]
[-B|browse] [-d|debuglevel=DEBUGLEVEL] [debug-stdout] [-s|configfile=CONFIGFILE]
[option=name=value] [-l|log-basename=LOGFILEBASE] [leak-report] [leak-report-full]
[-R|name-resolve=NAME-RESOLVE-ORDER] [-O|socket-options=SOCKETOPTIONS]
[-m|max-protocol=MAXPROTOCOL] [-n|netbiosname=NETBIOSNAME] [netbios-scope=SCOPE]
[-W|workgroup=WORKGROUP] [realm=REALM] [-U|user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|no-pass]
[password=STRING] [pw-nt-hash] [-A|authentication-file=FILE] [-P|machine-pass]
[simple-bind-dn=DN] [use-kerberos=desired|required|off] [use-krb5-ccache=CCACHE]
[use-winbind-ccache] [client-protection=sign|encrypt|off] [-k|kerberos] [-V|version]
[OPTIONS] service <password>
 
 

オプション(options)

【Help options】

-?, help

Show this help message.
このヘルプ・メッセージを表示する。
 

usage

Display brief usage message.
簡単な使用法メッセージを表示する。
 
【Normal Option】

-M, message=HOST

Send message.
メッセージを送信する。
 

-I, ip-address=IP

Use this IP to connect to.
接続するIPを指定する。
 

-E, stderr

Write messages to stderr instead of stdout.
メッセージを標準出力ではなく標準エラー出力に書き込む。
 

-L, list=HOST

Get a list of shares available on a host.
ホスト上で利用可能な共有のリストを取得する。
 

-T, tar=<c|x>IXFvgbNan

Command line tar.
コマンドライン tar。
 

-D, directory=DIR

Start from directory.
ディレクトリから開始する。
 

-c, command=STRING

Execute semicolon separated commands.
セミコロンで区切られたコマンドを実行する。
 

-b, send-buffer=BYTES

Changes the transmit/send buffer.
送受信バッファを変更する。
 

-t, timeout=SECONDS

Changes the per-operation timeout.
操作ごとのタイムアウトを変更する。
 

-p, port=PORT

Port to connect to.
接続するポート。
 

-g, grepable

Produce grepable output.
grep可能な出力を生成する。
 

-q, –quiet

Suppress help message.
ヘルプ・メッセージを表示しない。
 

-B, browse

Browse SMB servers using DNS.
DNSを使ってSMBサーバーをブラウズする。
 
【Common Samba options】

-d, debuglevel=DEBUGLEVEL

Set debug level.
デバッグレベルを設定する。
 

debug-stdout

Send debug output to standard output.
デバッグ出力を標準出力に送る。
 

-s, configfile=CONFIGFILE

Use alternative configuration file.
代替設定ファイルを使用する。
 

option=name=value

Set smb.conf option from command line.
コマンドラインからsmb.confオプションを設定する。
 

-l, log-basename=LOGFILEBASE

Basename for log/debug files.
ログ/デバッグファイルのベース名。
 

leak-report

enable talloc leak reporting on exit.
終了時にtallocリーク報告を有効にする。
 

leak-report-full

enable full talloc leak reporting on exit.
終了時に完全な talloc リーク報告を有効にする。
 
【Connection options】

-R, name-resolve=NAME-RESOLVE-ORDER

Use these name resolution services only.
これらの名前解決サービスのみを使用する。
 

-O, socket-options=SOCKETOPTIONS

socket options to use.
使用するソケット・オプション。
 

-m, max-protocol=MAXPROTOCOL

Set max protocol level.
最大プロトコル・レベルを設定する。
 

-n, netbiosname=NETBIOSNAME

Primary netbios name.
プライマリnetbios名。
 

netbios-scope=SCOPE

Use this Netbios scope.
このNetbiosスコープを使用する。
 

-W, workgroup=WORKGROUP

Set the workgroup name.
ワークグループ名を設定する。
 

realm=REALM

Set the realm name.
レルム名を設定する。
 
【Credential options】

-U, user=[DOMAIN/]USERNAME[%PASSWORD]

Set the network username.
ネットワーク・ユーザ名を設定する。
 

-N, no-pass

Don’t ask for a password.
パスワードを要求しない。
 

password=STRING

Password.
パスワード。
 

pw-nt-hash

The supplied password is the NT hash.
パスワードはNTハッシュです。
 

-A, authentication-file=FILE

Get the credentials from a file.
認証情報をファイルから取得する。
 

-P, machine-pass

Use stored machine account password.
保存されているマシン・アカウントのパスワードを使用する。
 

simple-bind-dn=DN

DN to use for a simple bind.
シンプルバインドに使うDN。
 

use-kerberos=desired|required|off

Use Kerberos authentication.
ケルベロス認証を使用する。
 

use-krb5-ccache=CCACHE

Credentials cache location for Kerberos.
Kerberos用の認証情報キャッシュの場所。
 

use-winbind-ccache

Use the winbind ccache for authentication.
認証に winbind ccache を使用する。
 

client-protection=sign|encrypt|off

Configure used protection for client connections.
クライアント接続に使用する保護を設定する。
 
【Deprecated legacy options】

-k, kerberos

DEPRECATED: Migrate to –use-kerberos.
use-kerberos に移行する。
 
【Version options】

-V, version

Print version.
バージョンを表示する。
 
 

smbclientのまとめ

Smbclientは、ファイル共有に関連するセキュリティの問題を調査する際や、SMBサービスの動作確認を行う際に非常に便利なツールです。あなたがバグハンターとして活動している場合や学習中の場合、このツールは必須だと考えます。