Path: blob/master/tools/smb_file_server.rb
19778 views
#!/usr/bin/env ruby12require 'pathname'3require 'ruby_smb'45# we just need *a* default encoding to handle the strings from the NTLM messages6Encoding.default_internal = 'UTF-8' if Encoding.default_internal.nil?78options = RubySMB::Server::Cli.parse(defaults: { share_path: '.', username: 'metasploit' }) do |options, parser|9parser.banner = <<~EOS10Usage: #{File.basename(__FILE__)} [options]1112Start a read-only SMB file server.1314Options:15EOS1617parser.on("--share-path SHARE_PATH", "The path to share (default: #{options[:share_path]})") do |path|18options[:share_path] = path19end20end2122server = RubySMB::Server::Cli.build(options)23server.add_share(RubySMB::Server::Share::Provider::Disk.new(options[:share_name], options[:share_path]))2425RubySMB::Server::Cli.run(server)262728