X - switch to x86 from ia32 X - exploit kick-off X - payload generation X - generate payload for target X - encoder payload for target X - loop encoders on failure X - pad nops X - handler init X - setup handler X - start handler X - exploit X - call exploit X ... wait for session ... X - handler cleanup X - stop handler X - cleanup handler - - add the concept of services to framework: - instead, just make it a singleton, doesn't belong on framework - add port forward service # first parameter is class that must inherit from Rex::Proto so that it has .alias service = framework.services.start(Rex::Proto::HTTP::Server, 'Port' => 80, 'Host' => '127.0.0.1') service = framework.services['HTTP Server'] overrides any existing resource handler with this name: service.create_resource("/uri", Proc.new { |conn, request| }) service.remove_resource("/uri") service.shutdown ^- reference counted, only terminates when reference count drops to zero - exploit mixins - Http - Http::Client connect create_request send_request handler - Http::Server handle_request(req) create_response send_response X- findsock payloads X - findsock handler - meterpreter X - more ui wrapping X - fix route addition/removal in stdapi server dll (mib structure issue) X - fix interactive stream pool channels X - make migrate on server not open with PROCESS_ALL_ACCESS - dupe input instance when passing to sessions - add module meta-info - payloads - calling convention (staged shell is incompat with ord stagers) - stack requirements - etc - fix module loading order - problems with dllinject getting loaded after meterpreter due to dependencies - fix default handle inheritance in meterp process execution