mudler / pentoo

Automatically exported from code.google.com/p/pentoo
0 stars 0 forks source link

MetaSploit bundled ancient metasm version conflict with system version fix #9

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
As noted by ZC,
emerge -C metasm will correct the problem

I've tested it and it works.

AlphaZero Release.

-B

Original issue reported on code.google.com by prof.bri...@gmail.com on 18 Jun 2012 at 7:46

GoogleCodeExporter commented 9 years ago
I found a quick workaround:
export RUBYLIB=$RUBYLIB:/usr/lib/metasploit/lib/metasm

Original comment by blshkv on 27 Jun 2012 at 3:31

GoogleCodeExporter commented 9 years ago
an another (risky) way of fixing the issue is to unbundle the metasm and use 
the external latest trunk. That might break and fix things in the same time and 
requires thorough testing. Please test the latest trunk:
https://code.google.com/p/pentoo/source/detail?r=3221

Original comment by blshkv on 27 Jun 2012 at 1:30

GoogleCodeExporter commented 9 years ago
Add the fix from comment 1 to files dir and "newenvd metasploit-ruby-hack" or 
whatever.  comment number 2 is not possible as metasploit uses (and I quote) 
"an ancient obsolete version of metasm"

Original comment by sidhayn on 29 Jun 2012 at 3:25

GoogleCodeExporter commented 9 years ago
Guys, I've just pushed an another attempt to fix in 
https://code.google.com/p/pentoo/source/detail?r=3222#.
This time we use the global MSF_LOCAL_LIB="/usr/lib/metasploit/lib/metasm" 
variable. Works for me (tm). Please test it on your side and close the issue.

Original comment by blshkv on 29 Jun 2012 at 3:36

GoogleCodeExporter commented 9 years ago

Original comment by blshkv on 2 Jul 2012 at 3:33

GoogleCodeExporter commented 9 years ago
ozzie metasploit # msfconsole
/usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:24:in `-': can't 
convert Hash into Array (TypeError)
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:24:in `init_cpu_constants'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:35:in `init_386_common_only'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:579:in `init_386_common'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:583:in `init_386'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:592:in `init_486'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:598:in `init_pentium'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:608:in `init_p6'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:613:in `init_sse'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:618:in `init_sse2'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:623:in `init_sse3'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:628:in `init_vmx'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/opcodes.rb:633:in `init_all'
    from /usr/lib64/metasploit9999/lib/metasm/metasm/ia32/main.rb:205:in `init_opcode_list'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/main.rb:28:in `opcode_list'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/main.rb:42:in `opcode_list_byname'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/parse.rb:40:in `parse_instruction'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/parse.rb:328:in `parse'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/exe_format/shellcode.rb:69:in `assemble'
    from /usr/lib64/ruby/site_ruby/1.9.1/metasm/exe_format/main.rb:70:in `assemble'
    from /usr/lib64/metasploit9999/modules/payloads/singles/windows/messagebox.rb:274:in `generate'
    from /usr/lib64/metasploit9999/lib/msf/core/payload.rb:167:in `size'
    from /usr/lib64/metasploit9999/lib/msf/core/payload_set.rb:102:in `block in recalculate'
    from /usr/lib64/metasploit9999/lib/msf/core/payload_set.rb:87:in `each_pair'
    from /usr/lib64/metasploit9999/lib/msf/core/payload_set.rb:87:in `recalculate'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:782:in `block in load_modules_from_directory'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:781:in `each_key'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:781:in `load_modules_from_directory'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:740:in `load_modules'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:472:in `block in add_module_path'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:471:in `each'
    from /usr/lib64/metasploit9999/lib/msf/core/module_manager.rb:471:in `add_module_path'
    from /usr/lib64/metasploit9999/lib/msf/base/simple/framework.rb:168:in `init_module_paths'
    from /usr/lib64/metasploit9999/lib/msf/ui/console/driver.rb:225:in `initialize'
    from /usr/bin/msfconsole:143:in `new'
    from /usr/bin/msfconsole:143:in `<main>'
ozzie metasploit # cat /etc/env.d/91metasploit 
MSF_LOCAL_LIB="/usr/lib/metasploit/lib/metasm"
ozzie metasploit # printenv | grep MSF
MSF_LOCAL_LIB=/usr/lib/metasploit/lib/metasm
ozzie metasploit # 

Original comment by sidhayn on 2 Jul 2012 at 3:46

GoogleCodeExporter commented 9 years ago

Original comment by sidhayn on 2 Jul 2012 at 3:47

GoogleCodeExporter commented 9 years ago
You need to fix your symlink. I expect it always be
/usr/lib/metasploit

Original comment by blshkv on 2 Jul 2012 at 3:51

GoogleCodeExporter commented 9 years ago
ozzie metasploit # eselect metasploit
Usage: eselect metasploit <action> <options>

Standard actions:
  help                      Display help text
  usage                     Display usage information
  version                   Display version information

Extra actions:
  list                      List available metasploit symlink targets
  set <target>              Set a new metasploit symlink target
    target                    Target name or number (from 'list' action)
  show                      Show the current metasploit symlink
ozzie metasploit # eselect metasploit list
Available metasploit symlink targets:
  (none found)              
ozzie metasploit # 

you need to fix your eselect script then ;-)

Original comment by sidhayn on 2 Jul 2012 at 3:58

GoogleCodeExporter commented 9 years ago
ok, *this* bug is fixed. Report your eselect problems in the bug #7 ;-)

Original comment by blshkv on 2 Jul 2012 at 4:40