Skip to content

Deranged0tter/msfgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msfgo

Go library for interacting with Metasploit's RPC API

Thank you to hupe1980 and his gomsf library for inspiration. This library is based off of his amazing work.

Rapid7 Documentation

Adding this Libarary to your Project

go get github.com/deranged0tter/msfgo
import (
    "github.com/deranged0tter/msfgo"
)

Starting the RPC Server for Metasploit

From msfconsole:

msf > load msgrpc [Pass=password] [User=username]

From Command Line:

msfrpcd -P password -U username

Connecting to Metasploit's RPC Server

// create the client
client, err := msfgo.NewClient("localhost:55552")
if err != nil {
    log.Fatal(err)
}

// connect to the rpc server
err = client.Login("username", "password")
if err != nil {
    log.Fatal(err)
}
defer client.Logout()

Find a Bug?

Submit an issue

Want to add a feature or missing module?

Submit a pull request

Supported Methods

Auth

  • auth.login
  • auth.logout
  • auth.token_list
  • auth.token_add
  • auth.token_generate
  • auth.token_remove

Console

  • console.create
  • console.destroy
  • console.list
  • console.read
  • console.write
  • console.tab
  • console.session_kill
  • console.session_detach

Core

  • core.version
  • core.stop
  • core.setg
  • core.unsetg
  • core.save
  • core.reload_modules
  • core.module_stats
  • core.add_module_path
  • core.thread_list
  • core.thread_kill

DB

  • db.hosts
  • db.services
  • db.vulns
  • db.workspaces
  • db.current_workspace
  • db.get_workspace
  • db.set_workspace
  • db.del_workspace
  • db.add_workspace
  • db.get_host
  • db.report_host
  • db.report_service
  • db.get_service
  • db.get_note
  • db.get_client
  • db.report_client
  • db.report_note
  • db.notes
  • db.get_ref
  • db.del_vul
  • db.del_note
  • db.del_service
  • db.del_host
  • db.report_vuln
  • db.events
  • db.report_event
  • db.report_loot
  • db.loots
  • db.report_cred
  • db.creds
  • db.import_data
  • db.get_vuln
  • db.clients
  • db.del_client
  • db.driver
  • db.connect
  • db.status
  • db.disconnect

Job

  • job.list
  • job.stop
  • job.info

Module

  • module.exploits
  • module.evasion
  • module.auxiliary
  • module.payloads
  • module.encoders
  • module.nops
  • module.platforms
  • module.post
  • module.info
  • module.compatible_payloads
  • module.compatible_sessions
  • module.options
  • module.execute
  • module.search
  • module.check

Plugin

  • plugin.load
  • plugin.unload
  • plugin.loaded

Session

  • session.list
  • session.stop
  • session.shell_read
  • session.shell_write
  • session.shell_upgrade
  • session.meterpreter_read
  • session.meterpreter_write
  • session.meterpreter_session_detach
  • session.meterpreter_session_kill
  • session.meterpreter_tabs
  • session.meterpreter_run_single
  • session.meterpreter_directory_separator
  • session.ring_read
  • session.ring_put
  • session.ring_last
  • session.ring_clear
  • session.compatible_modules

Tested Functions

Auth

  • auth.login
  • auth.logout
  • auth.token_list
  • auth.token_add
  • auth.token_generate
  • auth.token_remove

Console

  • console.create
  • console.destroy
  • console.list
  • console.read
  • console.write
  • console.tab
  • console.session_kill
  • console.session_detach

Core

  • core.version
  • core.stop
  • core.setg
  • core.unsetg
  • core.save
  • core.reload_modules
  • core.module_stats
  • core.add_module_path
  • core.thread_list
  • core.thread_kill

DB

  • db.hosts
  • db.services
  • db.vulns
  • db.workspaces
  • db.current_workspace
  • db.get_workspace
  • db.set_workspace
  • db.del_workspace
  • db.add_workspace
  • db.get_host
  • db.report_host
  • db.report_service
  • db.get_service
  • db.get_note
  • db.get_client
  • db.report_client
  • db.report_note
  • db.notes
  • db.get_ref
  • db.del_vul
  • db.del_note
  • db.del_service
  • db.del_host
  • db.report_vuln
  • db.events
  • db.report_event
  • db.report_loot
  • db.loots
  • db.report_cred
  • db.creds
  • db.import_data
  • db.get_vuln
  • db.clients
  • db.del_client
  • db.driver
  • db.connect
  • db.status
  • db.disconnect

Job

  • job.list
  • job.stop
  • job.info

Module

  • module.exploits
  • module.evasion
  • module.auxiliary
  • module.payloads
  • module.encoders
  • module.nops
  • module.platforms
  • module.post
  • module.info
  • module.compatible_payloads
  • module.compatible_sessions
  • module.options
  • module.execute
  • module.search
  • module.check
  • module.results

Plugin

  • plugin.load
  • plugin.unload
  • plugin.loaded

Session

  • session.list
  • session.stop
  • session.shell_read
  • session.shell_write
  • session.shell_upgrade
  • session.meterpreter_read
  • session.ring_read
  • session.ring_put
  • session.ring_last
  • session.ring_clear
  • session.meterpreter_write
  • session.meterpreter_session_detach
  • session.meterpreter_session_kill
  • session.meterpreter_tabs
  • session.meterpreter_run_single
  • session.meterpreter_script
  • session.meterpreter_directory_separator
  • session.compatible_modules

License

Apache 2.0