{"id":8735,"date":"2017-08-15T07:40:02","date_gmt":"2017-08-15T15:40:02","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/08\/15\/news-2508\/"},"modified":"2017-08-15T07:40:02","modified_gmt":"2017-08-15T15:40:02","slug":"news-2508","status":"publish","type":"post","link":"https:\/\/www.palada.net\/index.php\/2017\/08\/15\/news-2508\/","title":{"rendered":"A Quick Look at a New KONNI RAT Variant"},"content":{"rendered":"<p><strong>Credit to Author: Jasper Manuel| Date: Tue, 15 Aug 2017 14:35:00 +0000<\/strong><\/p>\n<div class=\"entry\">\n<p>KONNI is a remote access Trojan (RAT) that was first reported in May of 2017, but is believed to have been in use for over 3 years. As Part of our daily threat monitoring, FortiGuard Labs came across a new variant of the KONNI RAT and decided to take a deeper look.<\/p>\n<p>KONNI is known to be distributed via campaigns that are believed to be targeting North Korea. This new variant isn&rsquo;t different from previous variants, as it is dropped by a DOC file containing text that was drawn from a CNN article entitled <em>12 things Trump should know about North Korea<\/em>. The article was published on August 9, 2017, which indicates that this might be the latest campaign. Although KONNI campaigns use decoy documents containing articles about North Korea, it is hard to tell if the targets have something to do with matters involving North Korea.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni1.png\" \/><\/p>\n<p align=\"center\"><em>Decoy document used to trick the user into thinking that the file is benign<\/em><\/p>\n<p>The malicious DOC file contains a VB macro code that drops and executes the KONNI installer in the %temp% folder as stify.exe:<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni2.png\" style=\"width: 745px; height: 158px;\" \/><\/p>\n<p align=\"center\"><em>VB Macro Document_Open() Sub<\/em><\/p>\n<p>The dropped file was packed with a known packer Aspack 2.12, as seen below:<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni3.png\" style=\"width: 518px; height: 276px;\" \/><\/p>\n<p align=\"center\"><em>PEID: Packed with ASPack 2.12<\/em><\/p>\n<p align=\"center\">According to its compilation time stamp in the IMAGE_FILE_HEADER of the file, this variant was compiled on August 8, 2017 (if that file was not modified.)<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni4.png\" \/><\/p>\n<p align=\"center\"><em>Compilation time (Installer)<\/em><\/p>\n<p align=\"center\">The installer contains 2 KONNI DLL files in the resource section. One is for the 32-bit version and the other is for the 64-bit version of Windows OS. According to their compilation time stamp, these DLL files were compiled on July 11, 2017.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni5.png\" style=\"width: 843px; height: 109px;\" \/><\/p>\n<p align=\"center\"><em>Compilation time (KONNI DLLs)<\/em><\/p>\n<p>The KONNI DLL is dropped in the %LocalAppData%MFADataevent folder as errorevent.dll. The installer creates auto-start registry entries to run the DLL on the next system reboot using rundll32.exe.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni6.png\" \/><\/p>\n<p align=\"center\"><em>Installation routine<\/em><\/p>\n<p align=\"center\">Doing a bit diffing allows us to see that this hasn&rsquo;t changed from the variants reported on August 8, 2017. It still has the same capabilities based on the following command and control server commands:<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;0&rsquo; : Upload a specific file to the C&amp;C.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;1&rsquo; : Get system information such as computer IP address, computer name, username, drive information, product name, system type (32 or 64 bit), start menu programs, and installed products and upload to the C&amp;C.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;2&rsquo; : Take screen shot and upload to the C&amp;C.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;3&rsquo; : Find files in specific directory and subdirectories.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;4&rsquo; : Find files in specific directory but not in subdirectories.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;5&rsquo; : Delete a specific file.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;6&rsquo; : Execute a specific file.<\/p>\n<p style=\"margin-left:.5in;\">&lsquo;7&rsquo; : Download a file.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni7.png\" \/><\/p>\n<p align=\"center\"><em>Commands from C&amp;C Server<\/em><\/p>\n<p>It also has keylogging and clipboard grabbing capabilities. The log file is saved as %LocalAppdata%Packagesmicrosoftdebug.tmp.<\/p>\n<p>However, contrary to the previous report, it doesn&rsquo;t look like this variant uses the simple XOR using a two-byte key for encryption when communicating to its command and control server. Though the server did not respond with commands when we did the analysis, we confirmed that the initial response from the C&amp;C is not encrypted or encoded. It is just delimited with the string &ldquo;xzxzxz&rdquo;.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni8.png\" \/><\/p>\n<p align=\"center\"><em>&ldquo;xzxzx&rdquo; as the delimiter<\/em><\/p>\n<p>When sending data to its C&amp;C server, this variant uses the following HTTP query string format:<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni9.png\" style=\"width: 974px; height: 36px;\" \/><\/p>\n<p align=\"center\"><em>Query string<\/em><\/p>\n<p>In this version, <em>id<\/em> is the generated machine ID computed from OS InstallDate,<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni\/Tonni10.png\" style=\"width: 806px; height: 98px;\" \/><\/p>\n<p><em>title <\/em>is the name of the file with extension where the raw data is saved, and <em>passwd<\/em> is actually the encoded exfiltrated data.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni11.png\" \/><\/p>\n<p align=\"center\"><em>Example of actual query string<\/em><\/p>\n<p>Before sending its data to the C&amp;C server, it is first compressed using ZIP format, encrypted with RC4 using the key &ldquo;123qweasd\/*-+p[;&rsquo;p&rdquo;, and encoded using Base64.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/images\/Images\/AWS%20BLOG\/FortiManager\/Ronni12.png\" style=\"width: 837px; height: 432px;\" \/><\/p>\n<p align=\"center\"><em>Data is zipped, rc4 encrypted, and base64 encoded before sending to the C&amp;C server<\/em><\/p>\n<p>Conclusion<strong>:<\/strong><\/p>\n<p>KONNI is not a complicated malware. It doesn&rsquo;t employ much obfuscation. By simply performing a quick diffing we can see the changes made to new variants. For now, it seems that the only change is how the dropper installs the KONNI DLL, but based on what we have seen over the previous months we expect that it will continue to evolve.<\/p>\n<p>Fortinet covers detection of this threat as <em>W32\/Noki.A!tr<\/em> and the MSOffice VB Macro dropper as <em>WM\/MacroDropper.A!tr<\/em>.<\/p>\n<p>C&amp;C and download URLs were also blocked by <a href=\"https:\/\/fortiguard.com\/iprep?data=109.228.49.213\">Fortinet&rsquo;s Web Filter<\/a>.<\/p>\n<p>-= FortiGuard Lion Team =-<\/p>\n<p>&nbsp;<\/p>\n<p><strong>IOCs:<\/strong><\/p>\n<p>Sample Hashes:<\/p>\n<p>834d3b0ce76b3f62ff87b7d6f2f9cc9b (DOC)<\/p>\n<p>0914ef43125114162082a11722c4cfc3 (EXE)<\/p>\n<p>38ead1e8ffd5b357e879d7cb8f467508 (DLL)<\/p>\n<p><strong>URLs:<\/strong><\/p>\n<p>donkeydancehome[.]freeiz.com\/weget\/upload[.]php (C&amp;C)<\/p>\n<p>seesionerrorwebmailattach[.]uphero[.]com\/attach\/download.php?file=12%20things%20Trump%20should%20know%20about%20North%20Korea.doc (DOC download URL)<\/p>\n<\/div<br \/><a href=\"https:\/\/blog.fortinet.com\/2017\/08\/15\/a-quick-look-at-a-new-konni-rat-variant\" 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\/AWS%20BLOG\/FortiManager\/Ronni\/Ronni1.png\"\/><\/p>\n<p><strong>Credit to Author: Jasper Manuel| Date: Tue, 15 Aug 2017 14:35:00 +0000<\/strong><\/p>\n<p>\u00a0    \u00a0    \u00a0    KONNI is a remote access Trojan (RAT) that was first reported in May of 2017, but is believed to have been in use for over 3 years. As Part of our daily threat monitoring, FortiGuard Labs came across a new variant of the KONNI RAT and decided to take a deeper look.    KONNI is known to be distributed via campaigns that are believed to be targeting North Korea. This new variant isn\u2019t different from previous variants, as it is dropped by a DOC file containing text that was drawn from a CNN article entitled 12 things&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","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-8735","post","type-post","status-publish","format-standard","hentry","category-fortinet","category-security"],"_links":{"self":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/8735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=8735"}],"version-history":[{"count":0,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/8735\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=8735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=8735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=8735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}