SMB
SMB 関連 mixin は lib/msf/core/exploit/remote/smb/ に分かれています。中心は Msf::Exploit::Remote::SMB::Client で、Tcp と NTLM、Report を含みます。
主な mixin
Section titled “主な mixin”| mixin | 用途 |
|---|---|
Msf::Exploit::Remote::SMB::Client | 基本接続 |
...::Client::Authenticated | 認証付き操作 |
...::Client::Psexec | PsExec 系 |
...::Client::PipeAuditor など | パイプ列挙 |
...::Server / Share | 攻撃側 SMB サーバ |
include 例
Section titled “include 例”include Msf::Exploit::Remote::SMB::Clientinclude Msf::Exploit::Remote::SMB::Client::Authenticatedinclude Msf::Auxiliary::Scannerinclude Msf::Auxiliary::Reportよく出るオプション
Section titled “よく出るオプション”| オプション | 意味 |
|---|---|
SMBUser / SMBPass / SMBDomain | 認証(USERNAME/PASSWORD/DOMAIN に fallback するものあり) |
SMBDirect | raw SMB(445)か |
SMBName | NetBIOS 名(139 向け) |
SMB::ProtocolVersion | 方言 |
バージョン / 共有列挙
Section titled “バージョン / 共有列挙”def run_host(ip) connect smb_login # shares / tree connect など report_service(host: ip, port: rport, name: 'smb', info: ...)rescue Rex::Proto::SMB::Exceptions::Error, Rex::ConnectionError => e vprint_error("#{ip}: #{e.message}")ensure disconnectend実在例: modules/auxiliary/scanner/smb/smb_version.rb、smb_enumshares.rb、smb_login.rb
認証付きファイル・パイプ
Section titled “認証付きファイル・パイプ”Authenticated mixin を足し、共有上のファイルや named pipe へ進みます。AD CS / DCERPC 系はさらに MsIcpr や DCERPC mixin が乗ることがあります。
攻撃側 SMB サーバ
Section titled “攻撃側 SMB サーバ”クライアントに強制的に繋がせてハッシュやファイルを渡す用途です。SMB::Server 系を使います。
- 署名強制や SMBv1 無効環境では失敗しやすい。advanced オプションを
show advancedで確認する。 - 資格情報は Git 管理する
.rcに書かない(運用ノートの方針と同じ)。

