{"id":90185,"date":"2021-07-21T19:58:50","date_gmt":"2021-07-21T14:28:50","guid":{"rendered":"https:\/\/blogs.quickheal.com\/?p=90185"},"modified":"2023-08-08T18:18:35","modified_gmt":"2023-08-08T12:48:35","slug":"formbook-malware-returns-new-variant-uses-steganography-and-in-memory-loading-of-multiple-stages-to-steal-data","status":"publish","type":"post","link":"https:\/\/www.quickheal.com\/blogs\/formbook-malware-returns-new-variant-uses-steganography-and-in-memory-loading-of-multiple-stages-to-steal-data\/","title":{"rendered":"FormBook Malware Returns: New Variant Uses Steganography and In-Memory Loading of multiple stages to steal data"},"content":{"rendered":"<p><a href=\"https:\/\/www.quickheal.co.in\/\">Quick Heal<\/a> Security Lab has seen a sudden increase in dotnet samples which are using steganography. Initially, in the static analysis, not much information is available. It resembles some simple application going by the method name. On the dynamic side, some show the activity but another check for <a href=\"https:\/\/blogs.quickheal.com\/quick-heal-2013-and-sandboxing-ensure-comprehensive-protection\/\">sandboxing<\/a> environment. Apart from this, even on execution, it loads multiple memory stages that contain numerous long periods of sleep.\u00a0 One such file received in our lab was of Formbook malware. Formbook stealer has been sold on hacking forms since 2016 as-a-service.<\/p>\n<p>In this blog, we will go through those multiple stages and analysis of the final payload. The final payload is also complicated due to various threads creation and sleeps in between.<\/p>\n<p><strong>Technical Analysis<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-90235 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp.png\" alt=\"\" width=\"831\" height=\"406\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp.png 831w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp-300x147.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp-650x318.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp-768x375.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Flow-ChartTemp-789x385.png 789w\" sizes=\"(max-width: 831px) 100vw, 831px\" \/><\/p>\n<p><strong>SSO.exe<\/strong><\/p>\n<p>In the resource of sso.exe, there is an image that indicates the use of Steganography. However, this resource is not used at this level. There is one more resource present which initially is difficult to find. While going through the code of decryption, this 2nd resource was identified as stage 1.<\/p>\n<figure id=\"attachment_90188\" aria-describedby=\"caption-attachment-90188\" style=\"width: 760px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-90188 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure1.png\" alt=\"\" width=\"760\" height=\"426\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure1.png 760w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure1-300x168.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure1-650x364.png 650w\" sizes=\"(max-width: 760px) 100vw, 760px\" \/><figcaption id=\"caption-attachment-90188\" class=\"wp-caption-text\">Figure 1 GregorianCalendar in Resource, contains stage 2 file<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90189\" aria-describedby=\"caption-attachment-90189\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90189\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure2.png\" alt=\"\" width=\"820\" height=\"579\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure2.png 820w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure2-300x212.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure2-552x390.png 552w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure2-768x542.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure2-789x557.png 789w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><figcaption id=\"caption-attachment-90189\" class=\"wp-caption-text\">Figure 2 Another Resource naming Tree, just below the blue line there are some red dots visible, contains stage 1 file<\/figcaption><\/figure>\n<p>At the entry point, there is a single line code to execute the form.<\/p>\n<figure id=\"attachment_90190\" aria-describedby=\"caption-attachment-90190\" style=\"width: 504px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-90190\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure3.png\" alt=\"\" width=\"504\" height=\"88\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure3.png 407w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure3-300x52.png 300w\" sizes=\"(max-width: 504px) 100vw, 504px\" \/><figcaption id=\"caption-attachment-90190\" class=\"wp-caption-text\">Figure 3 Main function, calls the constructor of Form1 which decrypts stage 1 file<\/figcaption><\/figure>\n<p>If we go to the Form1 code, there isn\u2019t much information present. But when we check the Form1 class, we can see in its constructor a call to method ISectionEntry.<\/p>\n<figure id=\"attachment_90191\" aria-describedby=\"caption-attachment-90191\" style=\"width: 676px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90191\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure4.png\" alt=\"\" width=\"676\" height=\"134\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure4.png 676w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure4-300x59.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure4-650x129.png 650w\" sizes=\"(max-width: 676px) 100vw, 676px\" \/><figcaption id=\"caption-attachment-90191\" class=\"wp-caption-text\">Figure 4 Constructor Code, call to decryption routine of stage 1 file<\/figcaption><\/figure>\n<p>ISectionEntry contains the code to get Pixels(Fig 5), convert to integer and save it in an array(Fig 6) and then call to MessageSurrogateFilter(array) with the buffer passed as a parameter.<\/p>\n<figure id=\"attachment_90192\" aria-describedby=\"caption-attachment-90192\" style=\"width: 623px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90192\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure5.png\" alt=\"\" width=\"623\" height=\"265\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure5.png 623w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure5-300x128.png 300w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><figcaption id=\"caption-attachment-90192\" class=\"wp-caption-text\">Figure 5 Decryption Routine from Image, decrypting stage 1 PE file<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90225\" aria-describedby=\"caption-attachment-90225\" style=\"width: 806px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-90225 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure6-1.png\" alt=\"\" width=\"806\" height=\"152\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure6-1.png 806w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure6-1-300x57.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure6-1-650x123.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure6-1-768x145.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure6-1-789x149.png 789w\" sizes=\"(max-width: 806px) 100vw, 806px\" \/><figcaption id=\"caption-attachment-90225\" class=\"wp-caption-text\">Figure 6 Buffer Containing stage 1 PE file<\/figcaption><\/figure>\n<p>MessageSurrogateFilter() method then loads the decrypted assembly (SimpleUI.dll) into the memory and invokes its SeclectorX() method with some arguments, which will be explained later in Stage 1.<\/p>\n<figure id=\"attachment_90194\" aria-describedby=\"caption-attachment-90194\" style=\"width: 836px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-90194\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure7.png\" alt=\"\" width=\"836\" height=\"379\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure7.png 862w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure7-300x136.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure7-650x295.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure7-768x348.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure7-789x358.png 789w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><figcaption id=\"caption-attachment-90194\" class=\"wp-caption-text\">Figure 7 Assembling Loading of stage 1 in Memory and invoking its member SelectorX with resource name, decryption key and assembly name<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90195\" aria-describedby=\"caption-attachment-90195\" style=\"width: 1001px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90195\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure8.png\" alt=\"\" width=\"1001\" height=\"166\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure8.png 1001w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure8-300x50.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure8-650x108.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure8-768x127.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure8-789x131.png 789w\" sizes=\"(max-width: 1001px) 100vw, 1001px\" \/><figcaption id=\"caption-attachment-90195\" class=\"wp-caption-text\">Figure 8 SimpleUI.dll loaded in memory<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p><strong>Stage 1:<\/strong><\/p>\n<figure id=\"attachment_90196\" aria-describedby=\"caption-attachment-90196\" style=\"width: 406px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90196\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure9.png\" alt=\"\" width=\"406\" height=\"430\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure9.png 406w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure9-283x300.png 283w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure9-368x390.png 368w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><figcaption id=\"caption-attachment-90196\" class=\"wp-caption-text\">Figure 9 SimpleUI.dll<\/figcaption><\/figure>\n<ul>\n<li>Since there are not many methods present in this file, we directly go through the code of the SelectorX method. As we can see in Figure 7, there are three values passed to this function which are:<\/li>\n<li>RestrictedError = 477265676F7269616E43616C656E646172 = GregorianCalendar (Name of resource in Main file, resource shown in Fig 1)<\/li>\n<li>ValueEnumerator = 72584C4F594D6D556D = rXLOYMmUm (Key for decryption)<\/li>\n<li>Project Name= Agent.Common (Main File)<\/li>\n<li>cba() method contains the code to get the Pixels from the image and convert to Integer and save it in an array, and XeH contains code to convert the hex value into a string.<\/li>\n<\/ul>\n<figure id=\"attachment_90197\" aria-describedby=\"caption-attachment-90197\" style=\"width: 915px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90197\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure10.png\" alt=\"\" width=\"915\" height=\"418\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure10.png 915w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure10-300x137.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure10-650x297.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure10-768x351.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure10-789x360.png 789w\" sizes=\"(max-width: 915px) 100vw, 915px\" \/><figcaption id=\"caption-attachment-90197\" class=\"wp-caption-text\">Figure 10 SelectorX method accesses the GregorianCalendar resource from main assembly and decrypts it using the key passed under fgh() method<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90198\" aria-describedby=\"caption-attachment-90198\" style=\"width: 871px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90198\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure11.png\" alt=\"\" width=\"871\" height=\"207\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure11.png 871w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure11-300x71.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure11-650x154.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure11-768x183.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure11-789x188.png 789w\" sizes=\"(max-width: 871px) 100vw, 871px\" \/><figcaption id=\"caption-attachment-90198\" class=\"wp-caption-text\">Figure 11 Size of Buffer to be initialized for stage 2<\/figcaption><\/figure>\n<p>fgh() method\u2019s decryption routine is a simple XOR with 2 values in which the \u201cbytes\u201d array contains a Unicode version of the Key (mentioned as ValueEnumerator above).<\/p>\n<figure id=\"attachment_90199\" aria-describedby=\"caption-attachment-90199\" style=\"width: 900px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90199\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure12.png\" alt=\"\" width=\"900\" height=\"513\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure12.png 900w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure12-300x171.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure12-650x371.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure12-768x438.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure12-789x450.png 789w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption id=\"caption-attachment-90199\" class=\"wp-caption-text\">Figure 12 fgh() method code for decryption, normal xoring<\/figcaption><\/figure>\n<p>After decryption, the assembly is again loaded in Memory.<\/p>\n<figure id=\"attachment_90200\" aria-describedby=\"caption-attachment-90200\" style=\"width: 376px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90200\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure13.png\" alt=\"\" width=\"376\" height=\"240\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure13.png 376w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure13-300x191.png 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><figcaption id=\"caption-attachment-90200\" class=\"wp-caption-text\">Figure 13 Stage 2 assembly loaded in memory<\/figcaption><\/figure>\n<p><strong>Stage 2:<\/strong><\/p>\n<figure id=\"attachment_90201\" aria-describedby=\"caption-attachment-90201\" style=\"width: 409px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90201\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure14.png\" alt=\"\" width=\"409\" height=\"530\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure14.png 409w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure14-232x300.png 232w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure14-301x390.png 301w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><figcaption id=\"caption-attachment-90201\" class=\"wp-caption-text\">Figure 14 Stage 2 Assembly<\/figcaption><\/figure>\n<p>It becomes difficult to analyze with these unicoded function name.<\/p>\n<figure id=\"attachment_90202\" aria-describedby=\"caption-attachment-90202\" style=\"width: 586px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90202\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure15.png\" alt=\"\" width=\"586\" height=\"325\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure15.png 586w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure15-300x166.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><figcaption id=\"caption-attachment-90202\" class=\"wp-caption-text\">Figure 15 Stage2 Unicode method names<\/figcaption><\/figure>\n<p>In this stage 2 assembly, a method named Fedree() is called, whose constructor contains the code to decrypt and inject the final payload.<\/p>\n<p>In the decryption routine first, the name of the resource is decrypted to s2pCN (resource in stage 2), Loads the resource and passes it to the XOR_DEC along with a KEY. Decrypted buffer is then passed to Unscramble function where it brings another dotnet file.<\/p>\n<figure id=\"attachment_90203\" aria-describedby=\"caption-attachment-90203\" style=\"width: 832px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90203\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure16.png\" alt=\"\" width=\"832\" height=\"48\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure16.png 832w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure16-300x17.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure16-650x38.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure16-768x44.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure16-789x46.png 789w\" sizes=\"(max-width: 832px) 100vw, 832px\" \/><figcaption id=\"caption-attachment-90203\" class=\"wp-caption-text\">Figure 16 Decryption routine in Stage 2 which brings final payload<\/figcaption><\/figure>\n<p>XOR_DEC contain simple xor with obfuscated code.<\/p>\n<figure id=\"attachment_90204\" aria-describedby=\"caption-attachment-90204\" style=\"width: 942px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90204\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure17.png\" alt=\"\" width=\"942\" height=\"400\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure17.png 942w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure17-300x127.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure17-650x276.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure17-768x326.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure17-789x335.png 789w\" sizes=\"(max-width: 942px) 100vw, 942px\" \/><figcaption id=\"caption-attachment-90204\" class=\"wp-caption-text\">Figure 17 Xor_Dec method decrypts the final payload<\/figcaption><\/figure>\n<p>Unscramble function forms the final payload.<\/p>\n<figure id=\"attachment_90205\" aria-describedby=\"caption-attachment-90205\" style=\"width: 780px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90205\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure18.png\" alt=\"\" width=\"780\" height=\"369\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure18.png 780w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure18-300x142.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure18-650x308.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure18-768x363.png 768w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><figcaption id=\"caption-attachment-90205\" class=\"wp-caption-text\">Figure18 Unscramble Method code brings final payload PE file<\/figcaption><\/figure>\n<p>After decryption, it does process hollowing by creating sso.exe\u2019s process in suspended mode.<\/p>\n<figure id=\"attachment_90206\" aria-describedby=\"caption-attachment-90206\" style=\"width: 930px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90206\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure19.png\" alt=\"\" width=\"930\" height=\"197\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure19.png 930w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure19-300x64.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure19-650x138.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure19-768x163.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure19-789x167.png 789w\" sizes=\"(max-width: 930px) 100vw, 930px\" \/><figcaption id=\"caption-attachment-90206\" class=\"wp-caption-text\">Figure 19 Process Hollowing Code to inject the final payload<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90207\" aria-describedby=\"caption-attachment-90207\" style=\"width: 930px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90207\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure20.png\" alt=\"\" width=\"930\" height=\"194\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure20.png 930w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure20-300x63.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure20-650x136.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure20-768x160.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure20-789x165.png 789w\" sizes=\"(max-width: 930px) 100vw, 930px\" \/><figcaption id=\"caption-attachment-90207\" class=\"wp-caption-text\">Figure 20 Flag to CreateProcess in Suspended Mode<\/figcaption><\/figure>\n<p><strong>Final Payload:<\/strong><\/p>\n<p>The injected file is the final Payload of Formbook, which has around 1500 methods with random names.<\/p>\n<p>This contains 2 different Base64 encoded strings.<\/p>\n<figure id=\"attachment_90208\" aria-describedby=\"caption-attachment-90208\" style=\"width: 956px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90208\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure21.png\" alt=\"\" width=\"956\" height=\"74\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure21.png 956w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure21-300x23.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure21-650x50.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure21-768x59.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure21-789x61.png 789w\" sizes=\"(max-width: 956px) 100vw, 956px\" \/><figcaption id=\"caption-attachment-90208\" class=\"wp-caption-text\">Figure 21 Encoded String 1 contains CnC information and configuration<\/figcaption><\/figure>\n<p>2<sup>nd<\/sup> base64 string contains 5 modules which are later loaded in memory and executed.<\/p>\n<figure id=\"attachment_90226\" aria-describedby=\"caption-attachment-90226\" style=\"width: 966px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-90226 size-full\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure22-1.png\" alt=\"\" width=\"966\" height=\"108\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure22-1.png 966w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure22-1-300x34.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure22-1-650x73.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure22-1-768x86.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure22-1-789x88.png 789w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><figcaption id=\"caption-attachment-90226\" class=\"wp-caption-text\">Figure 22 Encoded String 2<\/figcaption><\/figure>\n<p>The strings are converted from base64, then reversed and replaced by specified characters and again base64 decoded.<\/p>\n<figure id=\"attachment_90210\" aria-describedby=\"caption-attachment-90210\" style=\"width: 934px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90210\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure23.png\" alt=\"\" width=\"934\" height=\"67\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure23.png 934w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure23-300x22.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure23-650x47.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure23-768x55.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure23-789x57.png 789w\" sizes=\"(max-width: 934px) 100vw, 934px\" \/><figcaption id=\"caption-attachment-90210\" class=\"wp-caption-text\">Figure 23 Decryption Routine to decrypt CnC details in string 1 and different modules present in string 2<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>The resultant data for 1<sup>st <\/sup>\u00a0decoded string is CnC servers, mutex name and some configurations.<\/p>\n<figure id=\"attachment_90211\" aria-describedby=\"caption-attachment-90211\" style=\"width: 710px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90211\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure24.png\" alt=\"\" width=\"710\" height=\"51\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure24.png 710w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure24-300x22.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure24-650x47.png 650w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><figcaption id=\"caption-attachment-90211\" class=\"wp-caption-text\">Figure 24 Decoded string 1 data<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>It also creates a bat file to check for network connection and again start the process and delete the bat file.<\/p>\n<figure id=\"attachment_90212\" aria-describedby=\"caption-attachment-90212\" style=\"width: 512px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90212\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure25.png\" alt=\"\" width=\"512\" height=\"97\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure25.png 512w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure25-300x57.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><figcaption id=\"caption-attachment-90212\" class=\"wp-caption-text\">Figure 25 Content of Bat file<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>After decrypting the data it checks for the mutex if already present it exits. In configuration the value of \u201cAUR\u201d tag is true, it takes 2 running process\u2019s names, from 1 it takes the name of the process, from the other it takes any folder name from the parent directory and copies itself to this location with first\u2019s process name. Along with this, it keeps a file with a name as a hash of process name and some randomly generated garbage data.<\/p>\n<figure id=\"attachment_90213\" aria-describedby=\"caption-attachment-90213\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90213\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure26.png\" alt=\"\" width=\"650\" height=\"131\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure26.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure26-300x60.png 300w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><figcaption id=\"caption-attachment-90213\" class=\"wp-caption-text\">Figure 26 Copies itself to various locations obtained from running processes path and also obtains the name from the same<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>It also schedules tasks for these copied files.<\/p>\n<figure id=\"attachment_90214\" aria-describedby=\"caption-attachment-90214\" style=\"width: 917px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90214\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure27.png\" alt=\"\" width=\"917\" height=\"244\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure27.png 917w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure27-300x80.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure27-650x173.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure27-768x204.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure27-789x210.png 789w\" sizes=\"(max-width: 917px) 100vw, 917px\" \/><figcaption id=\"caption-attachment-90214\" class=\"wp-caption-text\">Figure 27 \u00a0Creates Schedule task for the copied files<\/figcaption><\/figure>\n<p>Next, it loads different modules which it has decoded initially and loads them into memory and invokes different methods.<\/p>\n<figure id=\"attachment_90215\" aria-describedby=\"caption-attachment-90215\" style=\"width: 751px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90215\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure28.png\" alt=\"\" width=\"751\" height=\"394\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure28.png 751w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure28-300x157.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure28-650x341.png 650w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/><figcaption id=\"caption-attachment-90215\" class=\"wp-caption-text\">Figure 28 code to Load different modules and call to different methods based on their availability<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>Then it tries to steal browser information like cookies, passwords, forms, history, autofill, credit card information also takes screenshots, clipboard data, discord tokens, FileZilla, telegram data, discord tokens, steam data.<\/p>\n<p>There was also a module that will compile the code for DCRat at runtime on receiving commands from CnC.<\/p>\n<figure id=\"attachment_90216\" aria-describedby=\"caption-attachment-90216\" style=\"width: 838px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90216\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure29.png\" alt=\"\" width=\"838\" height=\"443\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure29.png 838w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure29-300x159.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure29-650x344.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure29-768x406.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure29-789x417.png 789w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><figcaption id=\"caption-attachment-90216\" class=\"wp-caption-text\">Figure 29 Code to compile DCRat code at runtime<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>Other different modules present are:<\/p>\n<ol>\n<li><strong> AntiAnalysis Module<\/strong><\/li>\n<\/ol>\n<p>It has kept all strings in encrypted form under a list of various techniques.<\/p>\n<figure id=\"attachment_90217\" aria-describedby=\"caption-attachment-90217\" style=\"width: 283px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90217\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure30.png\" alt=\"\" width=\"283\" height=\"244\" \/><figcaption id=\"caption-attachment-90217\" class=\"wp-caption-text\">Figure 30 Encoded Values for Strings used in anti-analysis module<\/figcaption><\/figure>\n<p>Contains various techniques to identify if it\u2019s running under VM or Sandboxing environment if there are any monitoring processes running. Also, a way to identify VM\/Sandboxing is by checking physical Memory.<\/p>\n<figure id=\"attachment_90218\" aria-describedby=\"caption-attachment-90218\" style=\"width: 876px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90218\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure31.png\" alt=\"\" width=\"876\" height=\"598\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure31.png 876w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure31-300x205.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure31-571x390.png 571w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure31-768x524.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure31-789x539.png 789w\" sizes=\"(max-width: 876px) 100vw, 876px\" \/><figcaption id=\"caption-attachment-90218\" class=\"wp-caption-text\">Figure 31 Anti Analysis Module<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li><strong> USBSpreadDCLIB Module<\/strong><\/li>\n<\/ol>\n<p>Contains code to spread to USB drives by creating an autorun.<\/p>\n<figure id=\"attachment_90219\" aria-describedby=\"caption-attachment-90219\" style=\"width: 929px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90219\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure32.png\" alt=\"\" width=\"929\" height=\"189\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure32.png 929w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure32-300x61.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure32-650x132.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure32-768x156.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure32-789x161.png 789w\" sizes=\"(max-width: 929px) 100vw, 929px\" \/><figcaption id=\"caption-attachment-90219\" class=\"wp-caption-text\">Figure 32 USBSPreadDCLIB module<\/figcaption><\/figure>\n<ol start=\"3\">\n<li><strong> MiscellaneousInfoGraber module<\/strong><\/li>\n<\/ol>\n<p>Contains code to collect a List of installed software\u2019s, running processes, time zone information, active TCP connections, local network connections available, list of connected USB drives.<\/p>\n<figure id=\"attachment_90220\" aria-describedby=\"caption-attachment-90220\" style=\"width: 909px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90220\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure33.png\" alt=\"\" width=\"909\" height=\"384\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure33.png 909w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure33-300x127.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure33-650x275.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure33-768x324.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure33-789x333.png 789w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><figcaption id=\"caption-attachment-90220\" class=\"wp-caption-text\">Figure 33 Collects registry for uninstalling entries<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90221\" aria-describedby=\"caption-attachment-90221\" style=\"width: 623px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90221\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure34.png\" alt=\"\" width=\"623\" height=\"244\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure34.png 623w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure34-300x117.png 300w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><figcaption id=\"caption-attachment-90221\" class=\"wp-caption-text\">Figure 34 List of Running processes<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_90222\" aria-describedby=\"caption-attachment-90222\" style=\"width: 529px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90222\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure35.png\" alt=\"\" width=\"529\" height=\"157\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure35.png 529w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure35-300x89.png 300w\" sizes=\"(max-width: 529px) 100vw, 529px\" \/><figcaption id=\"caption-attachment-90222\" class=\"wp-caption-text\">Figure 35 TimeZone information<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<ol start=\"4\">\n<li><strong> FileGrabber module<\/strong><\/li>\n<\/ol>\n<p>Collects all the files<\/p>\n<figure id=\"attachment_90223\" aria-describedby=\"caption-attachment-90223\" style=\"width: 1113px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90223\" src=\"https:\/\/blogs.quickheal.com\/wp-content\/uploads\/2021\/07\/Figure36.png\" alt=\"\" width=\"1113\" height=\"560\" srcset=\"https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure36.png 1113w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure36-300x151.png 300w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure36-650x327.png 650w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure36-768x386.png 768w, https:\/\/www.quickheal.com\/blogs\/wp-content\/uploads\/2021\/07\/Figure36-789x397.png 789w\" sizes=\"(max-width: 1113px) 100vw, 1113px\" \/><figcaption id=\"caption-attachment-90223\" class=\"wp-caption-text\">Figure 36 File Grabber Modules collects files<\/figcaption><\/figure>\n<ol start=\"5\">\n<li><strong> BSODProtection Module<\/strong><\/li>\n<\/ol>\n<p>At this point, this module is not in a complete state. This shows that it is still under development.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>This seems to be malware that is still being developed. We haven\u2019t received Initial Vector yet, but it appears to be downloaded by a malicious doc\/Xls file, which is spread through emails. Users should avoid opening emails, documents sent by unknown senders and keep the AV updated. We detect all the modules and stages with Trojan. Formbook and Trojan.YakbeexMSIL.ZZ4<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>MITRE ATT&amp;CK TTPs:<\/strong><\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td width=\"324\">Virtualization\/Sandbox Evasion: System Checks<\/td>\n<td width=\"96\">T1497.001<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Scheduled Task\/Job<\/td>\n<td width=\"96\">T1053<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Process Injection: Process Hollowing<\/td>\n<td width=\"96\">T1055.012<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Masquerading<\/td>\n<td width=\"96\">T1036<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Credentials from Password Stores<\/td>\n<td width=\"96\">T1555<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Clipboard Data<\/td>\n<td width=\"96\">\u00a0T1115<\/td>\n<\/tr>\n<tr>\n<td width=\"324\">Data from Configuration Repository<\/td>\n<td width=\"96\">T1602<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>IOC:<\/strong><\/p>\n<ul>\n<li>1D13A84AA671B75F66F4C7FCE8339619291D4A43 exe<\/li>\n<li>6C73DC53F1AF57E1B2B404F2E20A9AECBAA80051 dll<\/li>\n<li>DC7CF9544AA5B4928697B4C49C94A60211F025A1 dll<\/li>\n<li>9577B2B5C4FBA6B2AFA65C5161FCE75F48E75D5D dll<\/li>\n<li>7E314AE69FC9A613A4A5356556F73E027B540141 dll<\/li>\n<li>32D97D1729D9A5919CBE1AE76F46BCDB9620153C dll<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Quick Heal Security Lab has seen a sudden increase in dotnet samples which are using steganography. Initially, in the static analysis, not much information is available. It resembles some simple application going by the method name. On the dynamic side, some show the activity but another check for sandboxing environment. Apart from this, even on [&hellip;]<\/p>\n","protected":false},"author":94,"featured_media":90233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1739,303,1],"tags":[1845,1846,534,1326,49,72,25,40],"class_list":["post-90185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybersecurity","category-phishing","category-uncategorized","tag-formbook","tag-powerpoint","tag-cybersecurity","tag-infostealer","tag-malware","tag-microsoft","tag-phishing","tag-trojan"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/90185"}],"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\/94"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/comments?post=90185"}],"version-history":[{"count":11,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/90185\/revisions"}],"predecessor-version":[{"id":91455,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/posts\/90185\/revisions\/91455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media\/90233"}],"wp:attachment":[{"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/media?parent=90185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/categories?post=90185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickheal.com\/blogs\/wp-json\/wp\/v2\/tags?post=90185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}