From 010d9c0a4b6e3322d875beba7c285470da00ec7a Mon Sep 17 00:00:00 2001 From: "mosse.benjamin" Date: Fri, 12 Nov 2010 01:04:38 +0000 Subject: [PATCH] making the metasploit xmlrpc client more pretty git-svn-id: https://beef.googlecode.com/svn/trunk@511 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9 --- beef.db | Bin 30720 -> 30720 bytes lib/loader.rb | 1 + lib/modules/msfclient.rb | 24 +++++++++++++----------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/beef.db b/beef.db index 84024285d8d5d4119f5b731448106a6298ae628b..d6c01d842958483631e07b88aa9f4fef2539198a 100644 GIT binary patch delta 3399 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

{?9N!q9X18j$?nGm?LoC5y)*s57ro6_zxVa BmXZJf diff --git a/lib/loader.rb b/lib/loader.rb index ce0f008cf..8e5a7c519 100644 --- a/lib/loader.rb +++ b/lib/loader.rb @@ -10,6 +10,7 @@ require 'parseconfig' require 'singleton' require 'ipaddr' require 'base64' +require 'xmlrpc/client' require 'lib/patches/webrick/httprequest' require 'lib/patches/webrick/cookie' diff --git a/lib/modules/msfclient.rb b/lib/modules/msfclient.rb index 9c7a4652a..d7787e2d2 100644 --- a/lib/modules/msfclient.rb +++ b/lib/modules/msfclient.rb @@ -1,29 +1,31 @@ -require "xmlrpc/client" - module BeEF - + + # + # XML RPC Client for Metasploit + # class MsfClient < ::XMLRPC::Client attr_accessor :token - + + # login into metasploit def login(user,pass) res = self.call("auth.login", user, pass) - if(not (res and res['result'] == "success")) - raise RuntimeError, "MSF Authentication failed" - end + if(not (res and res['result'] == "success")) raise RuntimeError, "MSF Authentication failed" self.token = res['token'] + true end - + + # sends commands to the metasploit xml rpc server def call(meth, *args) if(meth != "auth.login") - if(not self.token) - raise RuntimeError, "client not authenticated" - end + if(not self.token) raise RuntimeError, "client not authenticated" args.unshift(self.token) end + super(meth, *args) end end + end