{"action":"created","comment":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/25889607","id":25889607,"diff_hunk":"@@ -0,0 +1,275 @@\n+##\n+# This module requires Metasploit: http://metasploit.com/download\n+# Current source: https://github.com/rapid7/metasploit-framework\n+##\n+\n+require 'msf/core'\n+require 'msf/core/auxiliary/report'\n+\n+class Metasploit3 < Msf::Auxiliary\n+\n+  # Exploit mixins should be called first\n+  include Msf::Exploit::Remote::DCERPC\n+  include Msf::Exploit::Remote::SMB::Client\n+  include Msf::Exploit::Remote::SMB::Client::Authenticated\n+\n+  # Scanner mixin should be near last\n+  include Msf::Auxiliary::Scanner\n+  include Msf::Auxiliary::Report\n+\n+  # Aliases for common classes\n+  SIMPLE = Rex::Proto::SMB::SimpleClient\n+  XCEPT  = Rex::Proto::SMB::Exceptions\n+  CONST  = Rex::Proto::SMB::Constants\n+\n+  RPC_NETLOGON_UUID = '12345678-1234-abcd-ef00-01234567cffb'\n+\n+  def initialize(info={})\n+    super(update_info(info,\n+      'Name'           => 'Samba _netr_ServerPasswordSet Uninitialized Credential State',\n+      'Description'    => %q{\n+        This module checks if your Samba target is vulnerable to an uninitialized variable creds.\n+      },\n+      'Author'         =>\n+        [\n+          'Richard van Eeden', # Original discovery\n+          'sleepya',           # Public PoC for the explicit check\n+          'sinn3r'\n+        ],\n+      'License'        => MSF_LICENSE,\n+      'References'     =>\n+        [\n+          ['CVE', '2015-0240'],\n+          ['OSVDB', '118637'],\n+          ['URL', 'https://securityblog.redhat.com/2015/02/23/samba-vulnerability-cve-2015-0240/'],\n+          ['URL', 'https://gist.github.com/worawit/33cc5534cb555a0b710b'],\n+          ['URL', 'https://www.nccgroup.com/en/blog/2015/03/samba-_netr_serverpasswordset-expoitability-analysis/']\n+        ],\n+      'DefaultOptions' =>\n+        {\n+          'SMBDirect'               => true,\n+          'SMBPass'                 => '',\n+          'SMBUser'                 => '',\n+          'SMBDomain'               => '',\n+          'DCERPC::fake_bind_multi' => false\n+        }\n+    ))\n+\n+    # This is a good example of passive vs explicit check\n+    register_options([\n+      OptEnum.new('CHECK_STYLE',\n+        [\n+          true,\n+          'Explicit style will actually try to trigger the bug, otheriwse purely a banner check',\n+          'PASSIVE',\n+          ['EXPLICIT', 'PASSIVE']","path":"modules/auxiliary/scanner/smb/smb_uninit_cred.rb","position":65,"original_position":65,"commit_id":"d40e7485ddd2c3614d1de1490dd03379c7328625","original_commit_id":"d40e7485ddd2c3614d1de1490dd03379c7328625","user":{"login":"todb-r7","id":1170909,"avatar_url":"https://avatars.githubusercontent.com/u/1170909?v=3","gravatar_id":"","url":"https://api.github.com/users/todb-r7","html_url":"https://github.com/todb-r7","followers_url":"https://api.github.com/users/todb-r7/followers","following_url":"https://api.github.com/users/todb-r7/following{/other_user}","gists_url":"https://api.github.com/users/todb-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/todb-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/todb-r7/subscriptions","organizations_url":"https://api.github.com/users/todb-r7/orgs","repos_url":"https://api.github.com/users/todb-r7/repos","events_url":"https://api.github.com/users/todb-r7/events{/privacy}","received_events_url":"https://api.github.com/users/todb-r7/received_events","type":"User","site_admin":false},"body":"@wchen-r7, instead of an `OptEnum`, how about an `OptBool`? Makes a lot more sense than a case-sensitive option that people are bound to screw up. Also, I'm not sure the default should be the fast-but-falsey way, but I'm unsure if slow-and-accurate way is actually better? Pretty on the fence about that -- ease of use vs accuracy?","created_at":"2015-03-05T18:47:05Z","updated_at":"2015-03-05T18:47:05Z","html_url":"https://github.com/rapid7/metasploit-framework/pull/4877#discussion_r25889607","pull_request_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877","_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/25889607"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/4877#discussion_r25889607"},"pull_request":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877"}}},"pull_request":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877","id":30533079,"html_url":"https://github.com/rapid7/metasploit-framework/pull/4877","diff_url":"https://github.com/rapid7/metasploit-framework/pull/4877.diff","patch_url":"https://github.com/rapid7/metasploit-framework/pull/4877.patch","issue_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4877","number":4877,"state":"open","locked":false,"title":"Add CVE-2015-0240 auxiliary module (Samba)","user":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"body":"This module will detect if a remote host is vulnerable to CVE-2015-0240. It provides two check styles: explicit and passive. Explicit means that the module will actually trigger the bug (causes an internal error and smbd panic, but no biggie it won't kill samba), which is more accurate, but significantly slower. Passive means the module will check the samba banner, faster but has false positives (that's just how passive checks are). The user decides what style suits him best.\r\n\r\n## Setup\r\n\r\nTo test this, please prepare your box this way:\r\n\r\n- [ ] A Ubuntu 14.04.2 LTS: http://www.ubuntu.com/download/desktop.\r\n- [ ] Samba 4.1.0: https://download.samba.org/pub/samba/stable/samba-4.1.0.tar.gz\r\n- [ ] On your Ubuntu box, it's better to install build-essential (I don't know for sure 100% if this is really needed, but why not): ```sudo apt-get install build-essential```\r\n- [ ] You might also need to do this: ```sudo apt-get install python-dev```. I had to do this while compiling Samba.\r\n- [ ] Save the following Samba config file under /tmp. Let's name this one /tmp/smb.conf:\r\n\r\n```\r\n[global]\r\n\tserver schannel = yes\r\n\r\n[public]\r\n\tcomment = Guest access share\r\n\tpath = /public\r\n\tbrowseable = yes\r\n\tread only = no\r\n\tguest ok = yes\r\n```\r\n\r\n- [ ] Decompress samba: ```tar -xf samba-4.1.0.tar.gz```\r\n- [ ] Under the Samba directory, do: ```./configure --enable-debug --enable-developer``` (you are better off to enable those two flags because it's good for debugging/testing purposes)\r\n- [ ] Do: ```make```\r\n- [ ] Do: ```sudo make install```\r\n- [ ] Start Samba: ```sudo /usr/local/samba/sbin/smbd -s /tmp/smb.conf -D -l /tmp```\r\n- [ ] Open another terminal, do: ```smbclient -L \\\\\\\\[Samba IP]\\\\public -U Guest``` (no pass) to verify that your Samba is working.\r\n- [ ] You probably don't need to do this, but check your iptables: ```iptables -L```. If necessary, you might need to do ```iptables -F```, or add another rule to allow Samba connections. I think with Ubuntu you probably don't need to do this, but I remember other systems like CentOS you do.\r\n\r\nOr you can test my box if you can find me in person.\r\n\r\n## Testing\r\n\r\nOkay, now you are ready to test this module.\r\n\r\n**Test the vulnerable Samba**\r\n\r\n- [ ] Start msfconsole\r\n- [ ] Do: ```use auxiliary/scanner/smb/smb_uninit_cred```\r\n- [ ] Do: ```set rhosts [Samba IP]```\r\n- [ ] Do: ```set check_style EXPLICIT``` (case-sensitive)\r\n- [ ] Do: ```run```\r\n- [ ] The module should say: \"The target is vulnerable to CVE-2015-0240\", like the following screenshot:\r\n\r\n![screen shot 2015-03-04 at 11 53 31 pm](https://cloud.githubusercontent.com/assets/1170914/6500102/57ba9e48-c2cc-11e4-94b6-9bd8f4956206.png)\r\n\r\n**Test the non-vulnerable Samba**\r\n\r\n- [ ] On your Ubuntu box, do: ```sudo pkill smbd``` to terminate Samba\r\n- [ ] Open /tmp/smb.conf (the Samba config file), and comment out the schannel config, like this:\r\n\r\n```\r\n[global]\r\n\t#server schannel = yes\r\n```\r\n- [ ] Restart Samba: ```sudo /usr/local/samba/sbin/smbd -s /tmp/smb.conf -D -l /tmp```\r\n- [ ] Back to msfconsole, rerun the module (you should be still in EXPLICIT mode), this time it should say: \"The target appears to be running Samba\". Like the following screenshot:\r\n\r\n![screen shot 2015-03-04 at 11 54 02 pm](https://cloud.githubusercontent.com/assets/1170914/6500124/d22f6aa0-c2cc-11e4-8e0a-82a842dd5191.png)\r\n\r\nThe reason it says \"appears to be running Samba\" is because it's not triggering the bug anymore, but at least it can tell the target is running Samba.\r\n\r\nYou can play w/ the passive mode, but honestly that one isn't really important. It uses ```smb_fingerprint``` to gather the Samba version and determine if the service is vulnerable or not. But after going through the tests above, you should realize that that's not the best way to go because the passive check cannot detect the schannel setting.","created_at":"2015-03-05T06:20:32Z","updated_at":"2015-03-05T18:47:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fedac071908fe6bc3cf09cb36420e05a3f970693","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877/commits","review_comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877/comments","review_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4877/comments","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/d40e7485ddd2c3614d1de1490dd03379c7328625","head":{"label":"wchen-r7:cve_2015_0240_samba","ref":"cve_2015_0240_samba","sha":"d40e7485ddd2c3614d1de1490dd03379c7328625","user":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"repo":{"id":3789747,"name":"metasploit-framework","full_name":"wchen-r7/metasploit-framework","owner":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wchen-r7/metasploit-framework","description":"Metasploit Framework","fork":true,"url":"https://api.github.com/repos/wchen-r7/metasploit-framework","forks_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/wchen-r7/metasploit-framework/releases{/id}","created_at":"2012-03-21T18:19:05Z","updated_at":"2014-08-01T16:20:50Z","pushed_at":"2015-03-05T16:54:43Z","git_url":"git://github.com/wchen-r7/metasploit-framework.git","ssh_url":"git@github.com:wchen-r7/metasploit-framework.git","clone_url":"https://github.com/wchen-r7/metasploit-framework.git","svn_url":"https://github.com/wchen-r7/metasploit-framework","homepage":"http://www.metasploit.com/","size":280728,"stargazers_count":6,"watchers_count":6,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":6,"default_branch":"master"}},"base":{"label":"rapid7:master","ref":"master","sha":"b9a30d60d47c24ac372623892ccff015fb6898f7","user":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"repo":{"id":2293158,"name":"metasploit-framework","full_name":"rapid7/metasploit-framework","owner":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rapid7/metasploit-framework","description":"Metasploit Framework","fork":false,"url":"https://api.github.com/repos/rapid7/metasploit-framework","forks_url":"https://api.github.com/repos/rapid7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/rapid7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rapid7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rapid7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/rapid7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/rapid7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/rapid7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/rapid7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/rapid7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/rapid7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/rapid7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/rapid7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/rapid7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rapid7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/rapid7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rapid7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/rapid7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/rapid7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rapid7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/rapid7/metasploit-framework/releases{/id}","created_at":"2011-08-30T06:13:20Z","updated_at":"2015-03-05T17:32:10Z","pushed_at":"2015-03-05T18:02:51Z","git_url":"git://github.com/rapid7/metasploit-framework.git","ssh_url":"git@github.com:rapid7/metasploit-framework.git","clone_url":"https://github.com/rapid7/metasploit-framework.git","svn_url":"https://github.com/rapid7/metasploit-framework","homepage":"http://www.metasploit.com/","size":1023712,"stargazers_count":3429,"watchers_count":3429,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2836,"mirror_url":null,"open_issues_count":183,"forks":2836,"open_issues":183,"watchers":3429,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/4877"},"issue":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4877"},"comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4877/comments"},"review_comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877/comments"},"review_comment":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4877/commits"},"statuses":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/d40e7485ddd2c3614d1de1490dd03379c7328625"}}}}