{"id":7022,"date":"2017-03-17T10:41:21","date_gmt":"2017-03-17T18:41:21","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/03\/17\/news-813\/"},"modified":"2017-03-17T10:41:21","modified_gmt":"2017-03-17T18:41:21","slug":"news-813","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2017\/03\/17\/news-813\/","title":{"rendered":"Grabbot is Back to Nab Your Data"},"content":{"rendered":"<p><strong>Credit to Author: David Wang and He Xu| Date: Fri, 17 Mar 2017 10:59:31 -0700<\/strong><\/p>\n<div class=\"entry\">\n<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/www.fortinet.com\/fortiguard\/threat-intelligence\/threat-research.html\">Fortinet<\/a> has&nbsp;discovered a new botnet capable of stealing large amounts of user information, as well as remotely manipulating compromised machines. The malware appears to be based on an older botnet known as Grabbot, which was first discovered back in November of 2014. This new variant improves on that existing functionality while adding several dangerous new features. This blog aims to offer a quick insight into how Grabbot functions.<\/p>\n<h2>Replication<\/h2>\n<p>The bot can be found hosted on a number of compromised websites with a random filename. We currently suspect that Grabbot may arrive on these hosts through Exploit Kits or other malicious campaigns.<\/p>\n<p>The bot may drop several files in the following paths:<\/p>\n<p style=\"margin-left:.5in;\">\u25cf&quot;%AppData%{GUID}{generated filename}.exe&quot;<\/p>\n<p style=\"margin-left:.5in;\">\u25cf&quot;%AppData%{GUID}{generated filename}.bat&quot;<\/p>\n<p style=\"margin-left:.5in;\">\u25cf&quot;%AppData%{GUID}{generated filename}&quot;<\/p>\n<p>Note that each generated filename is different, with the host machine&rsquo;s System Volume Information. Several mutexes are created in the same way. Each drop file also has its file time information set to be the same as &ldquo;cmd.exe&rdquo; in Windows.<\/p>\n<p>The malware creates the following registry entry to survive system reboots:<\/p>\n<p style=\"margin-left:.5in;\">\u25cfHKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionRun<\/p>\n<p style=\"margin-left:1.0in;\">\u25cb{GUID} = &quot;%AppData%{GUID}{generated filename}.exe&quot;<\/p>\n<p>During execution, the bot may inject the main payload into explorer.exe and delete the original file.<\/p>\n<h2>Browser Targeting<\/h2>\n<p>The bot enters a sleep loop and will not perform the rest of its functionality unless one of the following internet browsers is found in the active process list:<\/p>\n<p style=\"margin-left:.5in;\">\u25cfInternet Explorer (iexplore.exe)<\/p>\n<p style=\"margin-left:.5in;\">\u25cfFirefox (firefox.exe)<\/p>\n<p style=\"margin-left:.5in;\">\u25cfGoogle Chrome (chrome.exe)<\/p>\n<p style=\"margin-left:.5in;\">\u25cfOpera (opera.exe)<\/p>\n<p>Anti-analysis measures<\/p>\n<p>The bot also scans active processes for the presence of certain system analysis tools, such as Wireshark or Process Explorer. If any is found, the bot may branch into a fake set of behaviours instead of the actual payload.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot01.png\" style=\"width: 855px; height: 350px;\" \/><\/p>\n<p align=\"center\">Fig.1: Searching for hashes of specific process names<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot02.png\" style=\"width: 981px; height: 416px;\" \/><\/p>\n<p align=\"center\">Fig. 2: Part of the fake behaviour &#8211; Random domain name generation and contact<\/p>\n<h2>C&amp;C Connection<\/h2>\n<p>Before the bot attempts to contact the command and control (C&amp;C) server, it first makes a connection to <em>www.microsoft.com<\/em> to verify internet connectivity. If a connection can be established, the bot will iterate through a list of possible C&amp;C servers and contact each until a response is received. The list of C&amp;Cs observed in this sample are:<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/de{REMOVED}is.site<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/ge{REMOVED}et.site<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/bi{REMOVED}ys.info<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/on{REMOVED}nc.site<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/de{REMOVED}is.info<\/p>\n<p style=\"margin-left:.5in;\">\u25cfhttp:\/\/ss{REMOVED}rs.info<\/p>\n<p>When a connection is established, the bot may attempt to download the following data files:<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/d.dat<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/e.dat<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/f.dat<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/out.dat<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/g.dat<\/p>\n<p style=\"margin-left:.5in;\">\u25cf\/wordpress\/ajax\/h.dat<\/p>\n<p>The files are saved on the disk with a generated filename. Notably, the file &ldquo;out.dat&rdquo; is renamed to the executable file in the autorun registry. All communication between the bot and the C&amp;C are encrypted and done through HTTP. In any contact with a C&amp;C, the bot will try twice to establish connection before trying a different C&amp;C.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot03.png\" style=\"width: 760px; height: 485px;\" \/>Fig.3: C&amp;C communication<\/p>\n<h2>C&amp;C Commands<\/h2>\n<p>The botnet is capable of responding to the following commands:<\/p>\n<p>Compared to the previous known version of Grabbot, there are several new commands labeled &ldquo;conf_update2&rdquo;, &ldquo;install_bd1&rdquo;, &ldquo;grab_pop&rdquo;, &ldquo;run_plugin_exe&rdquo; and &ldquo;run_plugin_dll&rdquo;.<\/p>\n<h2>Sending Back Debug Information<\/h2>\n<p>The bot is able to extract current system information, including a list of active processes, detected AV products, and a list of installed applications. The bot may send this information to the C&amp;C on command.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot04.png\" style=\"width: 817px; height: 163px;\" \/><\/p>\n<p align=\"center\">Fig.4: System debug information<\/p>\n<h2>Banking Backdoor<\/h2>\n<p>The bot is also capable of tracking if specific sites, namely financial institutions and services, are accessed, and may launch a proxy or remote access backdoor to steal information. Some targeted sites from the list are as follows (in the format of *[URL]*;[backdoor cmd][arguments]):<\/p>\n<p style=\"margin-left:.5in;\">\u25cf*paypal.com*;socks_bc 5.{REMOVED}.250:7777<\/p>\n<p style=\"margin-left:.5in;\">\u25cf*https:\/\/www1.royalbank.com\/cgi-bin\/rbaccess\/*;run_vnc<\/p>\n<p style=\"margin-left:.5in;\">\u25cf*https:\/\/easyweb.td.com\/*;run_vnc<\/p>\n<p style=\"margin-left:.5in;\">\u25cf*https:\/\/www1.bmo.com\/onlinebanking\/cgi-bin\/netbnx\/NBmain?product=5*;run_vnc<\/p>\n<h2>Crypto-Currency Wallet Stealing<\/h2>\n<p>The bot recursively scans the %AppData% directory looking for files with the name &ldquo;wallet.dat&rdquo;, &ldquo;electrum.dat&rdquo; or &ldquo;wallet&rdquo;. If any match is found, the contents of the file are read and encrypted, then stored into a temporary file for retrieval.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot05.png\" style=\"width: 417px; height: 250px;\" \/><\/p>\n<p align=\"center\">Fig.5: Wallet data to be retrieved<\/p>\n<h2>Conclusion<\/h2>\n<p>Grabbot was a relatively unknown bot in the past, but from our brief analysis of this new variant it is apparent that Grabbot now has the potential to be very dangerous. Although we are still investigating its current distribution method, Fortinet is able to detect this new variant and we will keep you updated on any further changes.<\/p>\n<p>Sample MD5: d439c468d59f117c584bda463b03aea9<\/p>\n<p>Sample SHA256: 6d8ce2d1b33ff42ba04ded09fe79cff158e6dfffa82f6ceada12f4fda6d0c221<\/p>\n<p>Fortinet Detection Name: W32\/Kryptik.VVV!tr<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/ftnt.net\/2iT7Mcp%C2%A0\"><i>Sign up<\/i><\/a><i>&nbsp;for weekly Fortinet FortiGuard Labs Threat Intelligence Briefs and stay on top of the newest emerging threats.<\/i><\/p>\n<\/div<br \/><a href=\"http:\/\/blog.fortinet.com\/2017\/03\/17\/grabbot-is-back-to-nab-your-data\" target=\"bwo\" >https:\/\/blog.fortinet.com\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/images%202\/images%203\/images%204\/images%205\/images%206\/images%208\/Hex%20blog\/aws\/Grabbot\/Grabbot01.png\"\/><\/p>\n<p><strong>Credit to Author: David Wang and He Xu| Date: Fri, 17 Mar 2017 10:59:31 -0700<\/strong><\/p>\n<p>Introduction    Fortinet recently discovered a new botnet capable of stealing large amounts of user information, as well as remotely manipulating compromised machines. The malware appears to be based on an older botnet known as Grabbot, which was first discovered back in November of 2014[1]. This new variant improves on that existing functionality while adding several dangerous new features. This blog aims to offer a quick insight into how Grabbot functions.    Replication    The bot can be found hosted on a number of compromised websites with a&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10424,10378],"tags":[],"class_list":["post-7022","post","type-post","status-publish","format-standard","hentry","category-fortinet","category-security"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=7022"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7022\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=7022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=7022"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=7022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}