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.
go get github.com/deranged0tter/msfgo
import (
"github.com/deranged0tter/msfgo"
)
From msfconsole:
msf > load msgrpc [Pass=password] [User=username]
From Command Line:
msfrpcd -P password -U username
// 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()
Submit an issue
Submit a pull request
- auth.login
- auth.logout
- auth.token_list
- auth.token_add
- auth.token_generate
- auth.token_remove
- console.create
- console.destroy
- console.list
- console.read
- console.write
- console.tab
- console.session_kill
- console.session_detach
- 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.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.list
- job.stop
- job.info
- 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.load
- plugin.unload
- plugin.loaded
- 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
- auth.login
- auth.logout
- auth.token_list
- auth.token_add
- auth.token_generate
- auth.token_remove
- console.create
- console.destroy
- console.list
- console.read
- console.write
- console.tab
- console.session_kill
- console.session_detach
- 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.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.list
- job.stop
- job.info
- 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.load
- plugin.unload
- plugin.loaded
- 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