{"id":24341826,"url":"https://github.com/vulsio/go-msfdb","last_synced_at":"2025-10-26T16:31:20.095Z","repository":{"id":37961640,"uuid":"241559906","full_name":"vulsio/go-msfdb","owner":"vulsio","description":"CVEs \u003c--\u003e Metasploit-Framework modules","archived":false,"fork":false,"pushed_at":"2025-02-03T06:13:29.000Z","size":205,"stargazers_count":23,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-03T07:18:41.241Z","etag":null,"topics":["cve","cve-search","golang","metasploit","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vulsio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-19T07:31:37.000Z","updated_at":"2025-02-03T06:09:24.000Z","dependencies_parsed_at":"2024-03-18T12:58:26.670Z","dependency_job_id":"1e8523b3-d6b1-43da-bfc8-4d3cc1dff71f","html_url":"https://github.com/vulsio/go-msfdb","commit_stats":null,"previous_names":["takuzoo3868/go-msfdb"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulsio%2Fgo-msfdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulsio%2Fgo-msfdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulsio%2Fgo-msfdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulsio%2Fgo-msfdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vulsio","download_url":"https://codeload.github.com/vulsio/go-msfdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238370538,"owners_count":19460681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cve","cve-search","golang","metasploit","security"],"created_at":"2025-01-18T08:01:16.008Z","updated_at":"2025-10-26T16:31:19.766Z","avatar_url":"https://github.com/vulsio.png","language":"Go","funding_links":[],"categories":["LLM分析过程"],"sub_categories":[],"readme":"# go-msfdb\n[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/vulsio/go-msfdb/blob/master/LICENSE)\n\nThis is a tool for searching CVEs in Metasploit-Framework modules from [msfdb-list](https://github.com/vulsio/msfdb-list).\nMetasploit modules are inserted at sqlite database(go-msfdb) can be searched by command line interface.\nIn server mode, a simple Web API can be used.\n\n### Docker Deployment\nThere's a Docker image available `docker pull vuls/go-msfdb`. When using the container, it takes the same arguments as the normal command line.\n\n### Installation for local deployment  \n###### Requirements  \ngo-msfdb requires the following packages.\n- git\n- SQLite3, MySQL, PostgreSQL, Redis\n- lastest version of go\n    - https://golang.org/doc/install\n\n###### Install go-msfdb\n```bash\n$ mkdir -p $GOPATH/src/github.com/vulsio\n$ cd $GOPATH/src/github.com/vulsio\n$ git clone https://github.com/vulsio/go-msfdb.git\n$ cd go-msfdb\n$ make install\n```\n\n----\n\n### Usage: Fetch and Insert Module's info  \n```bash\n$ go-msfdb fetch -h\nFetch the data of msfdb-list\n\nUsage:\n  go-msfdb fetch [command]\n\nAvailable Commands:\n  msfdb       Fetch the data of metasploit-framework cve's list\n\nFlags:\n  -h, --help          help for fetch\n\nGlobal Flags:\n      --config string       config file (default is $HOME/.go-msfdb.yaml)\n      --dbpath string       /path/to/sqlite3 or SQL connection string\n      --dbtype string       Database type to store data in (sqlite3, mysql, postgres or redis supported)\n      --debug               debug mode (default: false)\n      --debug-sql           SQL debug mode\n      --http-proxy string   http://proxy-url:port (default: empty)\n      --log-dir string      /path/to/log\n      --log-json            output log as JSON\n      --log-to-file         output log to file\n      --quiet               quiet mode (no output)\n\nUse \"go-msfdb fetch [command] --help\" for more information about a command.\n```\n\n###### Fetch and Insert msfdb-list  \n```bash\n$ go-msfdb fetch msfdb\n```\n\n### Usage: Search Module's info  \n```bash\n$ go-msfdb search -h\nSearch the data of exploit\n\nUsage:\n  go-msfdb search [flags]\n\nFlags:\n  -h, --help           help for search\n      --param string   All Metasploit Framework modules: None  |  by CVE: [CVE-xxxx]  | by EDB: [EDB-xxxx]  (default: None)\n      --type string    All Metasploit Framework modules by CVE: CVE  |  by EDB: EDB (default: CVE)\n\nGlobal Flags:\n      --config string       config file (default is $HOME/.go-msfdb.yaml)\n      --dbpath string       /path/to/sqlite3 or SQL connection string\n      --dbtype string       Database type to store data in (sqlite3, mysql, postgres or redis supported)\n      --debug               debug mode (default: false)\n      --debug-sql           SQL debug mode\n      --http-proxy string   http://proxy-url:port (default: empty)\n      --log-dir string      /path/to/log\n      --log-json            output log as JSON\n      --log-to-file         output log to file\n      --quiet               quiet mode (no output)\n```\n\n###### Search Modules by CVE(eg. CVE-2014-0160)\n```bash\n$ go run main.go search --type CVE --param CVE-2014-0160\n\nResults: CVE-Metasploit Record\n---------------------------------------\n\n[*] CVE: CVE-2014-0160\n  Name: openssl_heartbleed.rb\n  Title: OpenSSL Heartbeat (Heartbleed) Information Leak\n  Description: This module implements the OpenSSL Heartbleed attack. The problem exists in the handling of heartbeat requests, where a fake length can be used to leak memory data in the response. Services that support STARTTLS may also be vulnerable.  The module supports several actions, allowing for scanning, dumping of memory contents to loot, and private key recovery.  The LEAK_COUNT option can be used to specify leaks per SCAN or DUMP.  The repeat command can be used to make running the SCAN or DUMP many times more powerful. As in: repeat -t 60 run; sleep 2 To run every two seconds for one minute.\n\n[-] References\n  URL: http://www.kb.cert.org/vuls/id/720951\n  URL: https://www.us-cert.gov/ncas/alerts/TA14-098A\n  URL: http://heartbleed.com/\n  URL: https://github.com/FiloSottile/Heartbleed\n  URL: https://gist.github.com/takeshixx/10107280\n  URL: http://filippo.io/Heartbleed/\n\n---------------------------------------\n\n[*] CVE: CVE-2014-0160\n  Name: openssl_heartbeat_client_memory.rb\n  Title: OpenSSL Heartbeat (Heartbleed) Client Memory Exposure\n  Description: This module provides a fake SSL service that is intended to leak memory from client systems as they connect. This module is hardcoded for using the AES-128-CBC-SHA1 cipher.\n\n[-] References\n  URL: http://www.kb.cert.org/vuls/id/720951\n  URL: https://www.us-cert.gov/ncas/alerts/TA14-098A\n  URL: http://heartbleed.com/\n\n---------------------------------------\n```\n\n### Usage: Start go-msfdb as REST API server  \n```bash\n$ go-msfdb server -h\nStart go-msfdb HTTP server\n\nUsage:\n  go-msfdb server [flags]\n\nFlags:\n      --bind string   HTTP server bind to IP address (default: loop back interface\n  -h, --help          help for server\n      --port string   HTTP server port number (default: 1327\n\nGlobal Flags:\n      --config string       config file (default is $HOME/.go-msfdb.yaml)\n      --dbpath string       /path/to/sqlite3 or SQL connection string\n      --dbtype string       Database type to store data in (sqlite3, mysql, postgres or redis supported)\n      --debug               debug mode (default: false)\n      --debug-sql           SQL debug mode\n      --http-proxy string   http://proxy-url:port (default: empty)\n      --log-dir string      /path/to/log\n      --log-json            output log as JSON\n      --quiet               quiet mode (no output)\n```\n\n###### Starting Server  \n```bash\n$ go run main.go server\n\nINFO[06-18|17:23:14] Starting HTTP Server...\nINFO[06-18|17:23:14] Listening...                             URL=127.0.0.1:1327\n```\n\n###### Search Modules Get by cURL for CVE(eg. CVE-2019-0708)\n```bash\n$ curl http://127.0.0.1:1327/cves/CVE-2019-0708 | jq\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100  1992  100  1992    0     0   628k      0 --:--:-- --:--:-- --:--:--  648k\n[\n  {\n    \"Name\": \"cve_2019_0708_bluekeep.rb\",\n    \"Title\": \"CVE-2019-0708 BlueKeep Microsoft Remote Desktop RCE Check\",\n    \"Description\": \"This module checks a range of hosts for the CVE-2019-0708 vulnerability by binding the MS_T120 channel outside of its normal slot and sending non-DoS packets which respond differently on patched and vulnerable hosts. It can optionally trigger the DoS vulnerability.\",\n    \"CveID\": \"CVE-2019-0708\",\n    \"References\": [\n      {\n        \"ID\": 3058,\n        \"Link\": \"https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708\"\n      },\n      {\n        \"ID\": 3059,\n        \"Link\": \"https://zerosum0x0.blogspot.com/2019/05/avoiding-dos-how-bluekeep-scanners-work.html\"\n      }\n    ]\n  },\n  {\n    \"Name\": \"cve_2019_0708_bluekeep_rce.rb\",\n    \"Title\": \"CVE-2019-0708 BlueKeep RDP Remote Windows Kernel Use After Free\",\n    \"Description\": \"The RDP termdd.sys driver improperly handles binds to internal-only channel MS_T120, allowing a malformed Disconnect Provider Indication message to cause use-after-free. With a controllable data/size remote nonpaged pool spray, an indirect call gadget of the freed channel is used to achieve arbitrary code execution.  Windows 7 SP1 and Windows Server 2008 R2 are the only currently supported targets.  Windows 7 SP1 should be exploitable in its default configuration, assuming your target selection is correctly matched to the system's memory layout.  HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\TerminalServer\\\\Winstations\\\\RDP-Tcp\\\\fDisableCam *needs* to be set to 0 for exploitation to succeed against Windows Server 2008 R2. This is a non-standard configuration for normal servers, and the target will crash if the aforementioned Registry key is not set!  If the target is crashing regardless, you will likely need to determine the non-paged pool base in kernel memory and set it as the GROOMBASE option.\",\n    \"CveID\": \"CVE-2019-0708\",\n    \"References\": [\n      {\n        \"ID\": 3060,\n        \"Link\": \"https://github.com/zerosum0x0/CVE-2019-0708\"\n      },\n      {\n        \"ID\": 3061,\n        \"Link\": \"https://zerosum0x0.blogspot.com/2019/11/fixing-remote-windows-kernel-payloads-meltdown.html\"\n      }\n    ]\n  }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulsio%2Fgo-msfdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvulsio%2Fgo-msfdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulsio%2Fgo-msfdb/lists"}