Estoy desarrollando un complemento para automatizar algunas tareas posteriores a la explotación. Hace dos días, todos los métodos que interactúan con el cliente (desde client_core y stdapi) simplemente no devuelven nada, como si estuvieran en un bucle (verdadero). Aunque cuando estoy en modo irb con la misma sesión todo funciona bien. He intentado cambiar la máquina víctima y he creado un complemento falso, que presentaba el mismo problema. ¿Qué podría ser? Este es el código ficticio:
module Msf
class Plugin::Automigrate < Msf::Plugin
include Msf::SessionEvent
def initialize(framework, opts)
super
self.framework.events.add_session_subscriber(self)
end
def on_session_open(session)
print_status("Session Opened")
print_status(session.core.use("sniffer"))
if(session.core.use("stdapi"))
print_good("stdapi loaded")
end
print_status("#{session.sys}")
puts "#{session.sys}"
t = session.sys.config.getuid
print_good("#{t}")
end
def name
"AutoMigrate"
end
end
Y lo único que devuelve es el estado "Sesión abierta".