Has anybody managed to run Metasploit framework on other architecture than x86, amd64, ppc, arm, sparc ? I would love to know, please ping me.
I have managed to run it on Alpha architecture via Alphavm_free simulator running recent Gentoo (Linux alpha 4.9.6-gentoo-r1 #1 SMP Fri Jun 9 09:23:26 CEST 2017 alpha EV67 Tsunami GNU/Linux)
Alphavm_free with Gentoo configured. Emerged OpenSSL, NTP, OpenSSH and Ruby (took a while to build in alphavm) installed bundler and ran bundle install. Please note that the below steps take some time … be patient.
Also had to do the emerge --ask dev-db/postgresql
since
alpha metasploit-framework-master # gem install pg -v '0.20.0' Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. current directory: /usr/local/lib/ruby/gems/2.2.0/gems/pg-0.20.0/ext /usr/bin/ruby22 -r ./siteconf20170612-17045-oqfmq0.rb extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed ***
Next thing that needed to be compiled was emerge --ask dev-db/sqlite3
During the bundle install afterwards there was a failure in grpc because of
[C] Compiling src/boringssl/err_data.c In file included from src/boringssl/err_data.c:17:0: third_party/boringssl/include/openssl/base.h:101:2: error: #error "Unknown target CPU" #error "Unknown target CPU"
Added during the build the following alpha definition to /usr/local/lib/ruby/gems/2.2.0/gems/grpc-1.3.4/third_party/boringssl/include/openssl/base.h
#define OPENSSL_64_BIT #define OPENSSL_ALPHA #elif defined(__alpha__)
According to :
Identification | __alpha__ |
Defined by GNU C |
We get rewarded by the nice message:
Successfully installed grpc-1.3.4 Parsing documentation for grpc-1.3.4 Installing ri documentation for grpc-1.3.4
Again run the
# bundle install
You get rewarded
Using simplecov 0.14.1 Using pry 0.10.4 Using logging 2.2.2 Using rspec-core 3.6.0 Using rspec-expectations 3.6.0 Using rspec-mocks 3.6.0 Using childprocess 0.5.9 Using cucumber-core 1.5.0 Using mime-types 3.1 Using activesupport 4.2.8 Using tzinfo-data 1.2017.2 Using loofah 2.0.3 Using recog 2.1.8 Using xpath 2.1.0 Using rex-sslscan 0.1.4 Using sawyer 0.8.1 Using signet 0.7.3 Using rex-bin_tools 0.1.3 Using rex-encoder 0.1.4 Using rex-nop 0.1.1 Using rex-powershell 0.1.72 Using cucumber 2.4.0 Using rails-deprecated_sanitizer 1.0.3 Using activemodel 4.2.8 Using factory_girl 4.8.0 Using shoulda-matchers 3.1.1 Using rails-html-sanitizer 1.0.3 Using capybara 2.14.2 Using octokit 4.7.0 Using googleauth 0.5.1 Using rex-exploitation 0.1.14 Using aruba 0.14.2 Using rails-dom-testing 1.0.8 Using activerecord 4.2.8 Using grpc 1.3.4 Using actionview 4.2.8 Using arel-helpers 2.4.0 Using postgres_ext 3.0.0 Fetching metasploit-aggregator 0.2.1 Installing metasploit-aggregator 0.2.1 Using actionpack 4.2.8 Using railties 4.2.8 Using metasploit-concern 2.0.4 Using metasploit-model 2.0.4 Fetching factory_girl_rails 4.8.0 Installing factory_girl_rails 4.8.0 Fetching rspec-rails 3.6.0 Installing rspec-rails 3.6.0 Fetching cucumber-rails 1.5.0 Installing cucumber-rails 1.5.0 Using metasploit_data_models 2.0.14 Using metasploit-credential 2.0.10 Using metasploit-framework 4.14.27 from source at `.` Bundle complete! 15 Gemfile dependencies, 133 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed.
Now running ./msfconsole
[*] Starting the Metasploit Framework console...-
Hey the speeds are not the greatest but still … Metasploit on Alpha… To boldy go were no shell has gone before !
So, yes we can run Metasploit on Alpha (Emulating ds20e_833 via Alphavm_free)
One can ask why all this ? Well, because we can ;) Speeds are not great but at least a fully functional Alpha VM is available for testing !