{"id":85274,"date":"2017-12-06T14:57:30","date_gmt":"2017-12-06T09:27:30","guid":{"rendered":"https:\/\/blogs_admin.quickheal.com\/?p=85274"},"modified":"2017-12-06T14:57:30","modified_gmt":"2017-12-06T09:27:30","slug":"emerging-trend-dde-based-office-malware-analysis-quick-heal-security-labs","status":"publish","type":"post","link":"https:\/\/www.quickheal.com\/blogs\/emerging-trend-dde-based-office-malware-analysis-quick-heal-security-labs\/","title":{"rendered":"An emerging trend of DDE based Office malware \u2013 an analysis by Quick Heal Security Labs"},"content":{"rendered":"<p>For the past few years,\u00a0we have been seeing macro-based attacks through\u00a0Object\u00a0Linking Embedding (OLE)\/Microsoft Office files. But, presently,\u00a0attackers are using\u00a0a\u00a0different technique to spread malware\u00a0through Office files\u00a0\u2013\u00a0using\u00a0a\u00a0new attack vector called \u2018Dynamic Data Exchange (<a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms648774(v=vs.85).aspx\">DDE<\/a>)\u2019.<\/p>\n<p>DDE is an\u00a0authorized Microsoft Office feature\u00a0that\u00a0provides several methods for transferring data between\u00a0applications.\u00a0Once\u00a0the\u00a0communication protocol is established,\u00a0it doesn&#8217;t require\u00a0user interactions to exchange data between applications.\u00a0The\u00a0DDE feature is not limited to Word and Excel document but it includes RTF and Outlook also.<\/p>\n<p><b>Technical details<\/b><br \/>\nThis attack starts with\u00a0a\u00a0spam email with\u00a0a\u00a0malicious document file as\u00a0an\u00a0attachment\u00a0as shown in fig 1.<\/p>\n<figure id=\"attachment_85275\" aria-describedby=\"caption-attachment-85275\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85275\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_1-650x284.png\" alt=\"Fig 1. Spam email \" width=\"650\" height=\"284\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_1-650x284.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_1-300x131.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_1-768x336.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_1-789x345.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_1.png 1366w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85275\" class=\"wp-caption-text\">Fig 1. Spam email<\/figcaption><\/figure>\n<p><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">Microsoft Word<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0application i.e.<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">,<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0\u2018<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">winword.exe<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u2019<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0opens this attachment<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0and runs the DDE code. It\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">throws a\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">user<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">prompt which\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">says\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">that\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">this document<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0contains some links which\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">may\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">refer<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">\u00a0to fetch data from other files. Fig 2 shows\u00a0<\/span><\/span><span class=\"TextRun SCXW259616191\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW259616191\">this prompt.<\/span><\/span><span class=\"EOP SCXW259616191\">\u00a0<\/span><\/p>\n<figure id=\"attachment_85276\" aria-describedby=\"caption-attachment-85276\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85276\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_2-650x136.png\" alt=\"Fig 2: 1st user prompt \" width=\"650\" height=\"136\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_2-650x136.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_2-300x63.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_2.png 713w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85276\" class=\"wp-caption-text\">Fig 2: 1st user prompt<\/figcaption><\/figure>\n<p>If\u00a0the\u00a0user selects\u00a0<b>Yes<\/b>,<b>\u00a0<\/b>another\u00a0user prompt\u00a0is displayed\u00a0which shows the remote\u00a0data execution\u00a0information.\u00a0And here, if the\u00a0user selects\u00a0<b>Yes<\/b>,<b>\u00a0<\/b>the\u00a0attack will succeed.<\/p>\n<p>Fig 3 shows\u00a0the\u00a0information about\u00a0the\u00a0remote data (this\u00a0may vary\u00a0from case to case).<\/p>\n<figure id=\"attachment_85277\" aria-describedby=\"caption-attachment-85277\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85277\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_3-650x92.png\" alt=\"Fig 3: 2nd user prompt \" width=\"650\" height=\"92\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_3-650x92.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_3-300x42.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_3-768x109.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_3.png 785w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85277\" class=\"wp-caption-text\">Fig 3: 2nd user prompt<\/figcaption><\/figure>\n<p>In\u00a0either of these user prompts, if\u00a0the\u00a0user selects\u00a0<b>No<\/b>,<b>\u00a0<\/b>the\u00a0attack will fail.<\/p>\n<p>The malware\u00a0with\u00a0a\u00a0DDE code executes\u00a0\u2018cmd.exe\u2019\u00a0with\u00a0PowerShell and\u00a0other\u00a0codes\u00a0as a parameter. PowerShell will download\u00a0the\u00a0payload in\u00a0the\u00a0background and execute\u00a0it silently.\u00a0The payload may contain any of the types\u00a0of\u00a0malware.\u00a0Fig\u00a04 shows one of the types\u00a0of DDE code.<\/p>\n<figure id=\"attachment_85278\" aria-describedby=\"caption-attachment-85278\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85278\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_4-650x97.png\" alt=\"Fig 4: DDE Code \" width=\"650\" height=\"97\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_4-650x97.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_4-300x45.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_4-768x115.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_4-789x118.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_4.png 1509w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85278\" class=\"wp-caption-text\">Fig 4: DDE Code<\/figcaption><\/figure>\n<p>To evade signature-based detections, malware authors use\u00a0different obfuscation techniques\u00a0including\u00a0the following:<\/p>\n<p><b>Obfuscation technique 1<\/b><\/p>\n<p>Splits the DDE and PowerShell code in different tags.<\/p>\n<figure id=\"attachment_85279\" aria-describedby=\"caption-attachment-85279\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85279\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_5-650x267.png\" alt=\"Fig 5 Splitting DDE code \" width=\"650\" height=\"267\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_5-650x267.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_5-300x123.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_5-768x316.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_5-789x324.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_5.png 1515w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85279\" class=\"wp-caption-text\">Fig 5 Splitting DDE code<\/figcaption><\/figure>\n<p><b>Obfuscation technique 2<\/b><\/p>\n<p>Encoded PowerShell code with base64.<\/p>\n<figure id=\"attachment_85280\" aria-describedby=\"caption-attachment-85280\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85280\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_6-650x130.png\" alt=\"Fig 6. Base 64 encoding \" width=\"650\" height=\"130\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_6-650x130.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_6-300x60.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_6-768x153.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_6-789x157.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_6.png 1515w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85280\" class=\"wp-caption-text\">Fig 6. Base 64 encoding<\/figcaption><\/figure>\n<p><b>Obfuscation technique 3<\/b><\/p>\n<p>Encoded PowerShell code with\u00a0an\u00a0integer value of their respective character.<\/p>\n<figure id=\"attachment_85281\" aria-describedby=\"caption-attachment-85281\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85281\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig_7-650x291.png\" alt=\"Fig 7. Long string with Integer values \" width=\"650\" height=\"291\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_7-650x291.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_7-300x134.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_7-768x343.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_7-789x353.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig_7.png 1499w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85281\" class=\"wp-caption-text\">Fig 7. Long string with Integer values<\/figcaption><\/figure>\n<p><span class=\"TextRun SCXW248749520\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW248749520\">Decoded\u00a0<\/span><\/span><span class=\"TextRun SCXW248749520\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW248749520\">version of the code above<\/span><\/span><span class=\"TextRun SCXW248749520\" lang=\"EN-US\" xml:lang=\"EN-US\"><span class=\"NormalTextRun SCXW248749520\">:<\/span><\/span><span class=\"EOP SCXW248749520\">\u00a0<\/span><\/p>\n<figure id=\"attachment_85282\" aria-describedby=\"caption-attachment-85282\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-85282\" src=\"https:\/\/blogs_admin.quickheal.com\/wp-content\/uploads\/2017\/12\/Fig7_1-650x55.png\" alt=\"Fig 8. Decoded value string highlighted in Fig 7 \" width=\"650\" height=\"55\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig7_1-650x55.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig7_1-300x25.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig7_1-768x65.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig7_1-789x67.png 789w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2017\/12\/Fig7_1.png 1299w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-85282\" class=\"wp-caption-text\">Fig 8. Decoded value string highlighted in Fig 7<\/figcaption><\/figure>\n<p>The DDE based office malware attack technique is very simple for attackers. We suspect this trend will be picked up by malware authors in coming future.<\/p>\n<p><b>Prevention\u00a0<\/b><b>m<\/b><b>easures<\/b><\/p>\n<ul>\n<li>Consider\u00a0disabling DDE\u00a0when\u00a0not\u00a0in\u00a0use.<\/li>\n<\/ul>\n<ul>\n<li>To disable the DDE feature via the user interface: Set File\u00a0-&gt;\u00a0Options\u00a0-&gt;\u00a0Trust Center\u00a0-&gt;\u00a0Trust Center Settings\u00a0-&gt;\u00a0External Content\u00a0-&gt;\u00a0Security settings for Workbook Links = Disable automatic update of Workbook Links.<\/li>\n<\/ul>\n<ul>\n<li>Do not download\/open attachments that arrive in emails from unwanted or unexpected sources.<\/li>\n<li>Apply all recommended security updates and patches\u00a0for\u00a0your Operating System.<\/li>\n<\/ul>\n<p><b>Indicators of\u00a0<\/b><b>c<\/b><b>ompromise:<\/b><\/p>\n<p>53c1d68242de77940a0011d7d108c098<br \/>\n106776A1A0F1F15E17C06C23CBFE550E<br \/>\n31362967C1BFE285DDC5C3AB27CDC62D<\/p>\n<p><b>Subject Matter Experts<\/b><\/p>\n<ul>\n<li>Aniruddha\u00a0Dolas, Prashant\u00a0Tilekar| Quick Heal Security Labs<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>For the past few years,\u00a0we have been seeing macro-based attacks through\u00a0Object\u00a0Linking Embedding (OLE)\/Microsoft Office files. But, presently,\u00a0attackers are using\u00a0a\u00a0different technique to spread malware\u00a0through Office files\u00a0\u2013\u00a0using\u00a0a\u00a0new attack vector called \u2018Dynamic Data Exchange (DDE)\u2019. DDE is an\u00a0authorized Microsoft Office feature\u00a0that\u00a0provides several methods for transferring data between\u00a0applications.\u00a0Once\u00a0the\u00a0communication protocol is established,\u00a0it doesn&#8217;t require\u00a0user interactions to exchange data between applications.\u00a0The\u00a0DDE [&hellip;]<\/p>\n","protected":false},"author":38,"featured_media":85284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,1395],"tags":[1546,1173,1547,1548,1431,38],"class_list":["post-85274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-malware","category-vulnerability","tag-dde","tag-exploit","tag-ms-office","tag-obfuscation","tag-rtf","tag-vulnerability"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/85274"}],"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\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/comments?post=85274"}],"version-history":[{"count":3,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/85274\/revisions"}],"predecessor-version":[{"id":85286,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/85274\/revisions\/85286"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media\/85284"}],"wp:attachment":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media?parent=85274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/categories?post=85274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/tags?post=85274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}