Path: blob/master/plugins/auto_add_route.rb
19591 views
module Msf1class Plugin::AutoAddRoute < Msf::Plugin2include Msf::SessionEvent3def name4'auto_add_route'5end67def desc8'Adds routes for any new subnets whenever a session opens'9end1011def on_session_open(session)12return if session.type != 'meterpreter'1314session.load_stdapi15sb = Rex::Socket::SwitchBoard.instance16session.net.config.each_route do |route|17# Remove multicast and loopback interfaces18next if route.subnet =~ /^(224\.|127\.)/19next if route.subnet == '0.0.0.0'20next if route.netmask == '255.255.255.255'2122if !sb.route_exists?(route.subnet, route.netmask)23print_status("AutoAddRoute: Routing new subnet #{route.subnet}/#{route.netmask} through session #{session.sid}")24sb.add_route(route.subnet, route.netmask, session)25end26end27end2829def initialize(framework, opts)30super31self.framework.events.add_session_subscriber(self)32end3334def cleanup35framework.events.remove_session_subscriber(self)36end3738end39end404142