ハッカーはsmbmapでsamba共有ドライブの一覧を表示する(Kali Linuxツール説明)
ドメイン全体のsamba共有ドライブの一覧の表示方法を理解するためにまとめてみました。
このsmbmapの動作確認は自分のドメインでテストを行っています。
smbmapとは
smbmapは、ドメイン全体のsamba共有ドライブの一覧表示をすることができるツールです。共有ドライブ、ドライブのパーミッション、共有コンテンツ、アップロード/ダウンロード機能、ファイル名の自動ダウンロードのパターンマッチ、さらにはリモートコマンドの実行などをリストアップすることができます。
このツールは、ペンテストを念頭に置いて設計されており、大規模なネットワーク上の潜在的な機密データの検索を簡素化することを目的としています。
機能
- 共有ドライブの一覧表示
- ドライブのパーミッションの一覧表示
- 共有コンテンツの一覧表示
- アップロード/ダウンロード機能
- ファイル名の自動ダウンロードのパターンマッチ機能
- リモートコマンドの実行
ツールの場所
[Applications]→[01-Information Gathering]→[SMB Analysis]→[smbmap]
ツールと使用方法
smbmap [-h] (-H HOST | –host-file FILE) [-u USERNAME] [-p PASSWORD] [-s SHARE] [-d DOMAIN] [-P PORT] [-v] [–admin] [-x COMMAND] [–mode CMDMODE] [-L | -R [PATH] | -r [PATH]] [-A PATTERN | -g] [–dir-only] [–no-write-check] [-q] [–depth DEPTH] [–exclude SHARE [SHARE …]] [-F PATTERN] [–search-path PATH] [–search-timeout TIMEOUT] [–download PATH] [–upload SRC DST] [–delete PATH TO FILE] [–skip]
例 smbmap -u admin -p admin -H 192.168.1.7
【実行イメージ】少し端折って整形しています。
┌──(root__kali)-[/home/kali]
└─# smbmap -u admin -p admin -H 192.168.1.7
[+] Guest session IP: 192.168.1.7:445 Name: 192.168.1.7
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
D$ NO ACCESS Default share
E$ NO ACCESS Default share
IPC$ READ ONLY Remote IPC
Users READ ONLY
共有フォルダ READ, WRITE
共有フォルダ1 READ, WRITE
オプション(optional arguments)
-h, –help
show this help message and exit.
このヘルプメッセージを表示して終了します。
オプション(Main arguments)
-H HOST
IP of host.
ホストのIPアドレス。
–host-file FILE
File containing a list of hosts.
ホストのリストを含むファイル。
-u USERNAME
Username, if omitted null session assumed.
ユーザー名、省略された場合はnullのセッションが想定される。
-p PASSWORD
Password or NTLM hash.
パスワードまたはNTLMハッシュ。
-s SHARE
Specify a share. (default C$), ex 'C$’
シェアの指定。(デフォルトはC$)、例 'C$’
-d DOMAIN
Domain name. (default WORKGROUP)
ドメイン名。(デフォルトはWORKGROUP)
-P PORT
SMB port. (default 445)
SMBポート。(デフォルトは445)
-v
Return the OS version of the remote host.
リモートホストのOSバージョンを返します。
–admin
Just report if the user is an admin.
ユーザーが管理者であれば報告します。
コマンド実行(Command Execution)
Options for executing commands on the specified host.
指定されたホスト上でコマンドを実行するためのオプションです。
-x COMMAND
Execute a command. ex. 'ipconfig /all’
コマンドの実行。 ex. 'ipconfig /all’など
–mode CMDMODE
Set the execution method, wmi or psexec, default wmi,
実行方法をwmiまたはpsexecに設定、デフォルトはwmi。
Shard ドライブ検索
Options for searching/enumerating the share of the specified host(s).
指定したホストのシェアを検索/一覧表示するためのオプション。
-L
List all drives on the specified host.
指定されたホスト上のすべてのドライブをリストアップします。
-R [PATH]
Recursively list dirs, and files (no share\path lists ALL shares), ex. 'C$\Finance’.
Dirやファイルを再帰的にリストアップします。(share\pathは全てのシェアをリストアップしません)
例:「C$\Finance」
-r [PATH]
List contents of directory, default is to list root of all shares, ex. -r 'C$\Documents and Settings\Administrator\Documents’
ディレクトリの内容を一覧表示します。デフォルトでは、すべてのシェアのルートを一覧表示します。
例:-r 'C$\Documents and Settings\Administrator\Documents’
-A PATTERN
Define a file name pattern (regex) that auto downloads a file on a match (requires -R or -r), not case sensitive, ex '(web|global).(asax|config)’.
大文字小文字を区別しないファイル名パターン(regex)を定義し、マッチした場合に自動的にファイルをダウンロードする(-R または -r が必要)。
-g
Make the output grep friendly, used with -r or -R (otherwise it outputs nothing).
rまたは-Rと一緒に使用して、出力をgrepフレンドリーにする(そうしないと何も出力しない。
–dir-only
List only directories, ommit files.
ディレクトリのみを表示し、ファイルは表示しません。
–no-write-check
Skip check to see if drive grants WRITE access.
ドライブがWRITEアクセスを許可するかどうかのチェックをスキップします。
-q
Quiet verbose output. Only shows shares you have READ or WRITE on, and suppresses file listing when performing a search (-A).
冗長な出力を抑制します。READまたはWRITE権限のある株式のみを表示し、検索(-A)の際にはファイルの一覧表示を行いません。
–depth DEPTH
Traverse a directory tree to a specific depth. Default is 5.
ディレクトリツリーを指定した深さまでトラバースします。デフォルトは5です。
–exclude SHARE [SHARE …]
Exclude share(s) from searching and listing, ex. –exclude ADMIN$ C$’.
共有を検索や一覧表示から除外する。
例:–exclude ADMIN$ C$’
ファイルの内容検索(File Content Search)
Options for searching the content of files. (must run as root)
ファイルの内容を検索するためのオプション。(rootで実行する必要があります)
-F PATTERN
File content search, -F '[Pp]assword’.(requires admin access to execute commands, and PowerShell on victim host).
ファイル内容の検索、-F '[Pp]assword’。(コマンドを実行するには管理者権限が必要で、犠牲者のホストではPowerShellが必要)。
–search-path PATH
Specify drive/path to search. (used with -F, default C:\Users), ex 'D:\HR\’)
検索対象となるドライブやパスを指定します。(-F で使用、デフォルトは C:Users)
例:’D:HR\’
–search-timeout TIMEOUT
Specifcy a timeout (in seconds) before the file search job gets killed. Default is 300 seconds.
ファイル検索ジョブが終了するまでのタイムアウトを(秒単位で)指定します。デフォルトは300秒です。
ファイルシステムの相互作用(Filesystem interaction)
Options for interacting with the specified host’s filesystem.
指定されたホストのファイルシステムを操作するためのオプション。
–download PATH
Download a file from the remote system, ex.’C$\temp\passwords.txt’.
リモートシステムからファイルをダウンロードする。(例:C$temp\passwords.txt)
–upload SRC DST
Upload a file to the remote system ex. '/tmp/payload.exe C$\temp\payload.exe’)
リモートシステムへのファイルのアップロード。
例:’/tmp/payload.exe C$\temp\payload.exe’
–delete PATH TO FILE
Delete a remote file, ex. 'C$\temp\msf.exe’
リモートファイルを削除する。
例:C$temp\msf.exe
–skip
Skip delete file confirmation prompt.
削除ファイルの確認画面をスキップする。
例
$ smbmap -u jsmith -p password1 -d workgroup -H 192.168.0.1
$ smbmap -u jsmith -p 'aad3b435b51404eeaad3b435b51404ee:da76f2c4c96028b7a6111aef4a50a94d’ -H 172.16.0.20
$ smbmap -u 'apadmin’ -p 'asdf1234!’ -d ACME -h 10.1.3.30 -x 'net group “Domain Admins" /domain’
smbmapツールのまとめ
ブラックハットハッカーは、マルウェアからネットワーク内でのコンピュータの攻撃に、smbmapツールを利用してSMB経由でリモートホストのアクセスに使われていたそうです。