{"id":88475,"date":"2020-02-03T14:47:12","date_gmt":"2020-02-03T09:17:12","guid":{"rendered":"https:\/\/blogs.quickheal.com\/?p=88475"},"modified":"2020-02-03T14:47:12","modified_gmt":"2020-02-03T09:17:12","slug":"sloppy-click-can-exfiltrate-important-data","status":"publish","type":"post","link":"https:\/\/www.quickheal.com\/blogs\/sloppy-click-can-exfiltrate-important-data\/","title":{"rendered":"A sloppy click can exfiltrate your important data!"},"content":{"rendered":"<p>Phishing email still remains one of the top malware propagation medium. Recently,\u00a0we came across an interesting phishing email containing couple of Jumpshare links pointing to malicious components. Jumpshare is an\u00a0online file sharing service and often cyber criminals abuse\u00a0these kind of file sharing services.<\/p>\n<p>Upon clicking on one of the links\u00a0in phishing mail, an executable file with name \u2018<em><i>90DayDemoPurpleCDR2019-Analysis-Software.exe\u2019<\/i><\/em>\u00a0was downloaded. It is an unsigned 32-bit executable\u00a0file, compiled in Borland Delphi. Following is the version information found in the trojan.<\/p>\n<figure id=\"attachment_88477\" aria-describedby=\"caption-attachment-88477\" style=\"width: 392px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-88477 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/01_VersionInfo.png\" alt=\"\" width=\"392\" height=\"249\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/01_VersionInfo.png 392w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/01_VersionInfo-300x191.png 300w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><figcaption id=\"caption-attachment-88477\" class=\"wp-caption-text\">Fig. 1: Version Information<\/figcaption><\/figure>\n<p>On execution, this file creates a copy of itself in following directory:<\/p>\n<p><em><i>C:\\Users\\&lt;USER&gt;\\AppData\\Local\\Microsoft\\Windows\\mshtinr.exe<\/i><\/em><\/p>\n<p>It also drops a DLL at same location as <em><i>\u2018mshtinr.dll\u2019. <\/i><\/em>Then it creates a process <em><i>\u2018svchost.exe\u2019<\/i><\/em>\u00a0using \u2018<em><i>CreateProcessA\u2019<\/i><\/em>\u00a0windows API in suspended state. Further,\u00a0it decrypts a DLL code in memory and that DLL is injected in target process i.e. <em><i>\u2018svchost.exe\u2019. <\/i><\/em>Using multiple <em><i>\u2018WriteProcessMemory\u2019\u00a0<\/i><\/em>API calls, it imports required modules and APIs in the newly created process and finally transfers the control to the DLL. Before that,\u00a0the sample sets values in the following registry key:<\/p>\n<p><em><i>HKCU\\Software\\Microsoft\\Internet Explorer\\Prefs<\/i><\/em><\/p>\n<figure id=\"attachment_88478\" aria-describedby=\"caption-attachment-88478\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-88478 size-large\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/02_registry-650x110.png\" alt=\"\" width=\"650\" height=\"110\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/02_registry-650x110.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/02_registry-300x51.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/02_registry-768x130.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/02_registry.png 775w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-88478\" class=\"wp-caption-text\">Fig. 2: Registry values set by the sample<\/figcaption><\/figure>\n<p>Later these values are accessed by the target process i.e. \u2018<em><i>svchost.exe\u2019.<\/i><\/em><\/p>\n<p>The \u2018<em><i>svchost.exe\u2019<\/i><\/em>\u00a0process drops couple of files at following location:<\/p>\n<p><em><i>C:\\Users\\&lt;USER&gt;\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\gjs.tmp<\/i><\/em><\/p>\n<p><em><i>C:\\Users\\&lt;USER&gt;\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\&lt;Number&gt;.tmp<\/i><\/em><\/p>\n<p>The <em><i>\u2018gjs.tmp\u2019<\/i><\/em>\u00a0file contains multiple functions\u00a0for handling SQLite database and latter is the copy of Google Chrome user login data file,\u00a0generally found at following location:<\/p>\n<p><em><i>&#8220;C:\\Users\\&lt;USER&gt;\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data&#8221;<\/i><\/em><\/p>\n<p>The .tmp file (named with some numerical values) contains the login information for the portals accessed through Chrome. This file is a\u00a0SQLite database having credentials information in it.<\/p>\n<p>This SQLite database contains following tables related to login information and other metadata information:<\/p>\n<figure id=\"attachment_88480\" aria-describedby=\"caption-attachment-88480\" style=\"width: 1204px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88480\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data.png\" alt=\"\" width=\"1204\" height=\"347\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data.png 1204w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data-300x86.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data-768x221.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data-650x187.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/04_SQLite-schema-for-Chrome-Login-Data-789x227.png 789w\" sizes=\"(max-width: 1204px) 100vw, 1204px\" \/><figcaption id=\"caption-attachment-88480\" class=\"wp-caption-text\">Fig. 3: SQLite schema for Chrome Login Data<\/figcaption><\/figure>\n<p>Below is an example of login information and credential captured in database.<\/p>\n<figure id=\"attachment_88481\" aria-describedby=\"caption-attachment-88481\" style=\"width: 1205px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-88481 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite.png\" alt=\"\" width=\"1205\" height=\"177\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite.png 1205w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite-300x44.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite-768x113.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite-650x95.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/05_Stored-credential-in-SQLite-789x116.png 789w\" sizes=\"(max-width: 1205px) 100vw, 1205px\" \/><figcaption id=\"caption-attachment-88481\" class=\"wp-caption-text\">Fig. 4: Stored credential in SQLite<\/figcaption><\/figure>\n<p>The dropped file <em><i>\u2018gjs.tmp\u2019<\/i><\/em>\u00a0is loaded in the memory and control is then transferred to it. This shared library queries the data to the SQLite DB i.e. copy of Login Data. Once the required information is retrieved, it deletes the database file.<\/p>\n<figure id=\"attachment_88483\" aria-describedby=\"caption-attachment-88483\" style=\"width: 581px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88483\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/07_SQLite-query-execution.jpg\" alt=\"\" width=\"581\" height=\"488\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/07_SQLite-query-execution.jpg 581w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/07_SQLite-query-execution-300x252.jpg 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/07_SQLite-query-execution-464x390.jpg 464w\" sizes=\"(max-width: 581px) 100vw, 581px\" \/><figcaption id=\"caption-attachment-88483\" class=\"wp-caption-text\">Fig. 5: SQLite query execution<\/figcaption><\/figure>\n<p>We have also found keylogging activity in the svchost.exe process. It uses APIs like KeyboardType, KeyboardLayout, GetKeystate, etc. for the same.<\/p>\n<p>All the keylogging output is stored in a file:<\/p>\n<p><em><i>&#8220;C:\\Users\\&lt;USER&gt;\\AppData\\Local\\Microsoft\\Windows\\mshtiner.ihg\u201d<\/i><\/em><\/p>\n<figure id=\"attachment_88484\" aria-describedby=\"caption-attachment-88484\" style=\"width: 516px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88484\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/08_keylogging.png\" alt=\"\" width=\"516\" height=\"234\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/08_keylogging.png 516w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/08_keylogging-300x136.png 300w\" sizes=\"(max-width: 516px) 100vw, 516px\" \/><figcaption id=\"caption-attachment-88484\" class=\"wp-caption-text\">Fig. 6: Keylogging APIs<\/figcaption><\/figure>\n<p>This information is stored in encrypted form. Further it copies this file to <em><i>\u2018elmshtinr.ihg\u2019 <\/i><\/em>at same location and deletes the original one.<\/p>\n<p>Once all the data collection process is done, it sends the data to pre-defined email-id that is found in the process memory. The e-mail is composed using Microsoft\u2019s CDO library over port 465 which is generally used for SMTPS protocol. The email-id to which data is sent was on gmail and source email-id was on <em><i>\u2019totallyanonymous.com<\/i><\/em><em><i>\u2019<\/i><\/em>\u00a0with pre-defined credentials. Email-ids and FTP on <em><i>\u2019totallyanonymous.com<\/i><\/em><em><i>\u2019<\/i><\/em>\u00a0were often observed\u00a0previously\u00a0during malware analysis cases.<\/p>\n<figure id=\"attachment_88485\" aria-describedby=\"caption-attachment-88485\" style=\"width: 526px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88485\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/09_Interesting-strings.jpg\" alt=\"\" width=\"526\" height=\"154\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/09_Interesting-strings.jpg 526w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/09_Interesting-strings-300x88.jpg 300w\" sizes=\"(max-width: 526px) 100vw, 526px\" \/><figcaption id=\"caption-attachment-88485\" class=\"wp-caption-text\">Fig. 7: Interesting strings<\/figcaption><\/figure>\n<p>Also, the sample changes the last modified date for all the created files to \u201820-Nov-2010 7:24 PM\u2019. So, in case we observed these files, the last modification date may confuse us\u00a0regarding the genuineness of these files.<\/p>\n<figure id=\"attachment_88486\" aria-describedby=\"caption-attachment-88486\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88486\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2020\/02\/10_Modified-dates-of-newly-created-files.png\" alt=\"\" width=\"590\" height=\"360\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/10_Modified-dates-of-newly-created-files.png 590w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2020\/02\/10_Modified-dates-of-newly-created-files-300x183.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><figcaption id=\"caption-attachment-88486\" class=\"wp-caption-text\">Fig. 8: Modified dates of newly created files<\/figcaption><\/figure>\n<p><strong><b>IOCs:<\/b><\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"341\">Filename<\/td>\n<td width=\"309\">MD5<\/td>\n<\/tr>\n<tr>\n<td width=\"341\">90DayDemoPurpleCDR2019-Analysis-Software.exe<\/td>\n<td width=\"309\">EE279BB854CA338BF50A3A682830C4E5<\/td>\n<\/tr>\n<tr>\n<td width=\"341\">mshtinr.exe<\/td>\n<td width=\"309\">EE279BB854CA338BF50A3A682830C4E5<\/td>\n<\/tr>\n<tr>\n<td width=\"341\">mshtinr.dll<\/td>\n<td width=\"309\">D3EAEC2B55A2D24289B03EB86EA2166D<\/td>\n<\/tr>\n<tr>\n<td width=\"341\">gjs.tmp<\/td>\n<td width=\"309\">1023DF7ABD2D9B7F0BDC77024C978F0B<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><b>Summary:<\/b><\/strong><\/p>\n<ul>\n<li>The sample is a keylogger and an information stealer. It tries to retrieve the login data of Google chrome installed in the system of the victim.<\/li>\n<li>It uses process code injection technique for doing its main activity,to evade detection from security products.<\/li>\n<li>It uses various techniques to remain unnoticed in the system like dropping payloads in Google Chrome directory.<\/li>\n<li>The email-addresses were used to exfiltrate the collected data to the attacker.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong><b>Subject Matter Expert:<\/b><\/strong><\/p>\n<p>Rahul Sharma, Quick Heal Security Labs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Phishing email still remains one of the top malware propagation medium. Recently,\u00a0we came across an interesting phishing email containing couple of Jumpshare links pointing to malicious components. Jumpshare is an\u00a0online file sharing service and often cyber criminals abuse\u00a0these kind of file sharing services. Upon clicking on one of the links\u00a0in phishing mail, an executable file [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":88489,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1529,21,24,773,303,842,5,293],"tags":[1709,1713,1704,1705,1703,1702,1707,207,1710,1706,1714,1715,1711,1712,1708],"class_list":["post-88475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-breach","category-email","category-malware","category-online-privacy-2","category-phishing","category-privacy","category-security","category-spam","tag-90daydemopurplecdr2019-analysis-software-exe","tag-cdo-library","tag-exfiltration","tag-gjs-tmp","tag-info-stealer","tag-information-stealer","tag-jumpshare","tag-keylogger","tag-mshtinr-dll","tag-mshtinr-exe","tag-port-465","tag-smtps-protocol","tag-stp-media","tag-stpmedia-exe","tag-totallyanonymous-com"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/88475"}],"collection":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/comments?post=88475"}],"version-history":[{"count":7,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/88475\/revisions"}],"predecessor-version":[{"id":88496,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/88475\/revisions\/88496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media\/88489"}],"wp:attachment":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media?parent=88475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/categories?post=88475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/tags?post=88475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}