Module: Msf::Post::Architecture
- Defined in:
- lib/msf/core/post/architecture.rb
Instance Method Summary collapse
-
#get_os_architecture ⇒ String, Nil
Get the architecture of the target’s operating system.
- #initialize(info = {}) ⇒ Object
Instance Method Details
#get_os_architecture ⇒ String, Nil
Get the architecture of the target’s operating system.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/msf/core/post/architecture.rb', line 22 def get_os_architecture if session.type == 'meterpreter' return sysinfo['Architecture'] else case session.platform when 'windows', 'win' # Check for 32-bit process on 64-bit arch arch = get_env('PROCESSOR_ARCHITEW6432') if arch.strip.empty? or arch =~ /PROCESSOR_ARCHITEW6432/ arch = get_env('PROCESSOR_ARCHITECTURE') end if arch =~ /AMD64/m return ARCH_X64 elsif arch =~ /86/m return ARCH_X86 elsif arch =~ /ARM64/m return ARCH_AARCH64 else print_error('Target is running Windows on an unsupported architecture!') return nil end end end end |
#initialize(info = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/msf/core/post/architecture.rb', line 5 def initialize(info = {}) super( update_info( info, 'Compat' => { 'Meterpreter' => { 'Commands' => %w[ stdapi_railgun_api ] } } ) ) end |