{"id":30237,"date":"2022-07-06T16:00:27","date_gmt":"2022-07-06T14:00:27","guid":{"rendered":"https:\/\/www.secuinfra.com\/?p=30237"},"modified":"2022-07-08T15:07:57","modified_gmt":"2022-07-08T13:07:57","slug":"whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort","status":"publish","type":"post","link":"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/","title":{"rendered":"Whatever floats your boat &#8211; Bitter APT setzt Angriffe auf Bangladesch fort"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-flat ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">[inhalt_uebersetzt]<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Wichtigste_Erkenntnisse\" >Wichtigste Erkenntnisse<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Ueberblick\" >\u00dcberblick<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Analyse\" >Analyse<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Hosting-Infrastruktur_Netzwerkindikatoren\" >Hosting-Infrastruktur \/ Netzwerkindikatoren<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Yara_Regeln\" >Yara Regeln<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Indicators_of_Compromise\" >Indicators of Compromise<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#MITRE_ATT_CK_TTPs\" >MITRE ATT&amp;CK TTPs<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/testing.secuinfra.com\/de\/techtalk\/whatever-floats-your-boat-bitter-apt-setzt-angriffe-auf-bangladesch-fort\/#Fazit\" >Fazit<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Wichtigste_Erkenntnisse\"><\/span>Wichtigste Erkenntnisse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Das SECUINFRA Falcon Team hat einen aktuellen Angriff identifiziert, der mit der auf Bangladesch ausgerichteten Kampagne der Advanced Persistent Threat Gruppe &#8222;Bitter&#8220;, auch bekannt als T-APT-17, \u00fcbereinstimmt.<\/li>\n<li>Bitter setzt b\u00f6sartige Dokumentdateien als K\u00f6der ein, die verschiedene Implementierungen der so genannten &#8222;Equation Editor Exploits&#8220; enthalten, um die folgenden Malware-Stufen herunterzuladen.<\/li>\n<li>Die zweite Stufe besteht aus einem Loader, der Informationen \u00fcber das infizierte System sammelt und die dritte Stufe von einem Remote-Server abruft.<\/li>\n<li>Die dritte Stufe eines Bitter-Angriffs kann verschiedene Arten von Malware enthalten, z. B. Keylogger, Stealer oder Remote Access Trojaner (RATs). Wir haben einen der neueren RATs analysiert, den wir als &#8222;Almond RAT&#8220; bezeichnen.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Ueberblick\"><\/span>\u00dcberblick<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Die Bitter APT-Gruppe soll seit mindestens 2013 aktiv sein und wurde erstmals 2016 von <a  href=\"https:\/\/www.forcepoint.com\/blog\/x-labs\/bitter-targeted-attack-against-pakistan\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Forcepoint Labs<\/a> gemeldet, als sie haupts\u00e4chlich auf Pakistan abzielte. Es wird vermutet, dass die Bedrohungsgruppe in S\u00fcdasien ans\u00e4ssig ist. Schon damals nutzte die Gruppe Spearphishing-E-Mails, um Microsoft Office (z. B. CVE-2012-0158) zu kompromittieren und zus\u00e4tzliche Malware herunterzuladen, so dass sich ihr Modus Operandi im Vergleich zu ihren heutigen Angriffen nicht ge\u00e4ndert hat. Gelegentlich zielen sie auch auf Android-Ger\u00e4te mit Remote-Access-Trojanern, wie <a  href=\"https:\/\/www.bitdefender.com\/files\/News\/CaseStudies\/study\/352\/Bitdefender-PR-Whitepaper-BitterAPT-creat4571-en-EN-GenericUse.pdf\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >BitDefender im Jahr 2020<\/a> berichtete.<\/p>\n<p>Im Februar 2019 dokumentierte Palo Alto Networks Bitter-Angriffe mit einem Downloader der zweiten Stufe namens &#8222;<a  href=\"https:\/\/unit42.paloaltonetworks.com\/multiple-artradownloader-variants-used-by-bitter-to-target-pakistan\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >ArtraDownloader<\/a>&#8222;, der bereits seit 2017 im Einsatz ist. Auch chinesische und saudi-arabische Organisationen wurden in die Liste der Ziele aufgenommen.<\/p>\n<p>Wie von Cyble und Kaspersky im Jahr 2021 entdeckt, ist die Bitter-Gruppe auch zu mehr als nur alten Office-Exploits f\u00e4hig, zum Beispiel zum Missbrauch von 0-Day-Schwachstellen wie einer <a  href=\"https:\/\/blog.cyble.com\/2021\/02\/24\/bitter-apt-enhances-its-capability-with-windows-kernel-zero-day-exploit\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Windows-Kernel-Schwachstelle<\/a> (CVE-2021-1732) und einer Schwachstelle im<a  href=\"https:\/\/securelist.com\/zero-day-vulnerability-in-desktop-window-manager-cve-2021-28310-used-in-the-wild\/101898\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" > Windows-Desktop-Window-Manager<\/a> (CVE-2021-28310) zur Privilegienerweiterung.<\/p>\n<p>Im Mai 2022 ver\u00f6ffentlichte Cisco Talos eine <a  href=\"https:\/\/blog.talosintelligence.com\/2022\/05\/bitter-apt-adds-bangladesh-to-their.html\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Analyse einer neuen Bitter-Kampagne<\/a>, die von Oktober 2021 bis Februar 2022 mit einem neuartigen Downloader der zweiten Stufe namens &#8222;ZxxZ&#8220; auf Nutzer in Bangladesch abzielt.<\/p>\n<p>Dieser Bericht baut auf den von Talos ver\u00f6ffentlichten Erkenntnissen auf und deckt einen Angriff ab, der vermutlich Mitte Mai 2022 durchgef\u00fchrt wurde.<\/p>\n<p>Kurz vor der Fertigstellung dieses Berichts ver\u00f6ffentlichte das Qi Anxin Threat Intellingence Center einen Bericht \u00fcber die j\u00fcngsten Bitter-Aktivit\u00e4ten, die sich gegen <a  href=\"https:\/\/mp.weixin.qq.com\/s\/8j_rHA7gdMxY1_X8alj8Zg\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >milit\u00e4rische Einrichtungen in Bangladesch<\/a> richteten. Darin wurde auch das in diesem Blogbeitrag analysierte RAT-Sample erw\u00e4hnt.<\/p>\n<p>Am 4. Juli ver\u00f6ffentlichte <a  href=\"https:\/\/twitter.com\/c3rb3ru5d3d53c\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >@c3rb3ru5d3d53c<\/a> einen <a  href=\"https:\/\/c3rb3ru5d3d53c.github.io\/malware-blog\/2022-07-04-bitter-apt-zxxz-backdoor\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Bericht \u00fcber eine Bitter-Kampagne, die auf Pakistan abzielte<\/a>. Neben vielen Analyseschritten, die mit unserem Ansatz \u00fcbereinstimmen, wurde auch gezeigt, wie der ZxxZ Downloader mit einem benutzerdefinierten C2-Server verwendet werden kann.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Analyse\"><\/span>Analyse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Excel-Maledoc<\/h3>\n<p>Das Sample des b\u00f6sartigen Excel-Dokuments (<em>1bf615946ad9ea7b5a282a8529641bf6<\/em>) wurde \u00fcber den \u00f6ffentlichen <a  href=\"https:\/\/app.any.run\/tasks\/a775ee67-5142-4d49-a6a9-fd14e82562e3\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Any.Run Sandbox-Dienst<\/a> bezogen. Wie bei fr\u00fcheren Kampagnen von Bitter wurde die Datei wahrscheinlich \u00fcber eine Spearphishing-E-Mail verbreitet, die nicht f\u00fcr die Analyse verf\u00fcgbar ist. Das Sample wurde zuvor von Simon Kenin (k3yp0d) auf <a  href=\"https:\/\/twitter.com\/k3yp0d\/status\/1527656133837594624\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Twitter<\/a> erw\u00e4hnt.<\/p>\n<p>Der Dateiname des Dokuments lautet &#8222;Repair of different csoc cstc, china supplied system &#8211; BNS BIJOY.xls&#8220;. Die Abk\u00fcrzungen <em>csoc<\/em> und <em>cstc<\/em> stehen wahrscheinlich f\u00fcr &#8222;China Shipbuilding &amp; Offshore International Co. Ltd&#8220; und &#8222;China Shipbuilding Trading Co. Ltd&#8220;, und BNS Bijoy ist der Name einer &#8222;Lenkwaffenkorvette der Castle-Klasse&#8220; (kleines Kriegsschiff) der Marine von Bangladesch (<a  href=\"https:\/\/en.wikipedia.org\/wiki\/BNS_Bijoy\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Wikipedia<\/a>).<\/p>\n<p>Das Dokument enth\u00e4lt keinen lesbaren Inhalt zu dem Thema, das der Dateiname suggeriert, sondern nur ein wei\u00dfes rechteckiges Bild und Unicode-Zeichen, was die Opfer darauf aufmerksam machen sollte, dass es sich nicht um ein legitimes Dokument handelt. Sobald die Datei ge\u00f6ffnet wird, wird der Equation-Editor-Exploit, den wir als <a  href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-0798\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >CVE-2018-0798<\/a> identifiziert haben, ausgef\u00fchrt.<\/p>\n<figure id=\"attachment_30130\" aria-describedby=\"caption-attachment-30130\" style=\"width: 657px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-30130 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-excelsheet.png\" alt=\"\" width=\"657\" height=\"422\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet.png 930w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet-300x193.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet-768x493.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet-24x15.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet-36x23.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-excelsheet-48x31.png 48w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><figcaption id=\"caption-attachment-30130\" class=\"wp-caption-text\">Abb. 1: Sichtbarer Inhalt des Excel-Dokuments<\/figcaption><\/figure>\n<p>Ohne den Benutzer in irgendeiner Weise zu alarmieren, wird der Equation Editor im Hintergrund gestartet und zum Herunterladen und Ausf\u00fchren der n\u00e4chsten Malware-Stufe verwendet. Wenn wir den Prozessbaum mit ProcMon verfolgen, k\u00f6nnen wir sehen, dass die heruntergeladene Bin\u00e4rdatei nach C:\\$Drw\\fsutil.exe geschrieben und \u00fcber den Windows Explorer ausgef\u00fchrt wird.<\/p>\n<figure id=\"attachment_30133\" aria-describedby=\"caption-attachment-30133\" style=\"width: 811px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-30133 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-equation-processtree.png\" alt=\"\" width=\"811\" height=\"143\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree.png 1191w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-300x53.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-1024x181.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-768x135.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-24x4.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-36x6.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-equation-processtree-48x8.png 48w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/><figcaption id=\"caption-attachment-30133\" class=\"wp-caption-text\">Abb. 2: Prozessbaum des Gleichungseditors<\/figcaption><\/figure>\n<p>Um Informationen aus dem Maldoc zu extrahieren, haben wir uns zun\u00e4chst f\u00fcr einen dynamischen Ansatz entschieden. Durch die Registrierung eines Debuggers f\u00fcr die ausf\u00fchrbare Datei Equation Editor \u00fcber gflags.exe, die Teil des Windows-SDK ist, k\u00f6nnen wir x32dbg an den Prozess anh\u00e4ngen, sobald das Excel-Dokument ge\u00f6ffnet wird (diese Technik wurde von <a  href=\"https:\/\/www.youtube.com\/watch?v=aBWAHxpXHEk\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Colin Hardy<\/a> f\u00fcr CVE-2017-1182 vorgestellt).<\/p>\n<figure id=\"attachment_30134\" aria-describedby=\"caption-attachment-30134\" style=\"width: 898px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-30134 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-maldoc-debug.png\" alt=\"\" width=\"898\" height=\"397\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug.png 1437w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-300x133.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-1024x452.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-768x339.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-24x11.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-36x16.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldoc-debug-48x21.png 48w\" sizes=\"(max-width: 898px) 100vw, 898px\" \/><figcaption id=\"caption-attachment-30134\" class=\"wp-caption-text\">Abb. 3: Registrierung eines Debuggers f\u00fcr den Gleichungseditor<\/figcaption><\/figure>\n<p>Da Excel darauf wartet, dass der Equation Editor beendet wird, wird unsere Debugging-Sitzung leider nach einer bestimmten Zeit mit der unten stehenden Fehlermeldung beendet, so dass wir anders vorgehen m\u00fcssen.<\/p>\n<figure id=\"attachment_30136\" aria-describedby=\"caption-attachment-30136\" style=\"width: 475px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30136 size-full\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-debug-oleerror.png\" alt=\"\" width=\"475\" height=\"110\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-oleerror.png 475w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-oleerror-300x69.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-oleerror-24x6.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-oleerror-36x8.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-oleerror-48x11.png 48w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><figcaption id=\"caption-attachment-30136\" class=\"wp-caption-text\">Abb. 4: Fehlerdialog bei der Fehlersuche im Gleichungseditor<\/figcaption><\/figure>\n<p>Mit dem bekannten, von Didier Stevens entwickelten <a  href=\"https:\/\/blog.didierstevens.com\/programs\/oledump-py\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >oledump-Tool<\/a> k\u00f6nnen wir uns die Datenstr\u00f6me innerhalb der Excel-Datei ansehen. In diesem Fall ist der Stream A4, der den Namen Equation Native tr\u00e4gt, von besonderem Interesse f\u00fcr uns.<\/p>\n<figure id=\"attachment_30137\" aria-describedby=\"caption-attachment-30137\" style=\"width: 729px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30137 size-full\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-oledump.png\" alt=\"\" width=\"729\" height=\"115\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-oledump.png 729w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-oledump-300x47.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-oledump-24x4.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-oledump-36x6.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-oledump-48x8.png 48w\" sizes=\"(max-width: 729px) 100vw, 729px\" \/><figcaption id=\"caption-attachment-30137\" class=\"wp-caption-text\">Abb. 5: Einsehen des Inhalts der Excel-Datei mit oledump<\/figcaption><\/figure>\n<p>Durch Angabe des Streams und des Parameters -d k\u00f6nnen wir den Stream ausgeben, um ihn weiter zu analysieren.<\/p>\n<figure id=\"attachment_30138\" aria-describedby=\"caption-attachment-30138\" style=\"width: 790px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30138 size-full\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-dump-cmd.png\" alt=\"\" width=\"790\" height=\"34\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd.png 790w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd-300x13.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd-768x33.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd-24x1.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd-36x2.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-cmd-48x2.png 48w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><figcaption id=\"caption-attachment-30138\" class=\"wp-caption-text\">Abb. 6: Entladen des Equation Streams<\/figcaption><\/figure>\n<p>Wenn wir die entleerte Datei in einem Hex-Editor \u00f6ffnen, k\u00f6nnen wir zwei verschiedene Datensegmente erkennen. Gr\u00fcn hervorgehoben sind Daten, bei denen es sich wahrscheinlich um den f\u00fcr den Equation Editor-Exploit erforderlichen Shellcode handelt. Da es so gut wie keine lesbaren ASCII-Zeichenfolgen gibt (bei genauem Hinsehen k\u00f6nnen wir Fragmente erkennen, die wie &#8222;URL&#8220; oder &#8222;http&#8220; aussehen), sind diese Daten wahrscheinlich auf irgendeine Weise verschl\u00fcsselt oder encodiert. Darunter sehen wir Daten in einem sich wiederholenden Muster, das als Padding f\u00fcr den Memory-Corruption-Exploit CVE-2018-0798 verwendet wird.<\/p>\n<figure id=\"attachment_30139\" aria-describedby=\"caption-attachment-30139\" style=\"width: 623px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30139 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-dump-hex.png\" alt=\"\" width=\"623\" height=\"462\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex.png 894w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex-300x222.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex-768x569.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex-24x18.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex-36x27.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-dump-hex-48x36.png 48w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><figcaption id=\"caption-attachment-30139\" class=\"wp-caption-text\">Abb. 7: Analysieren des Shellcodes in einem Hex-Editor<\/figcaption><\/figure>\n<p>Um den Shellcode-Teil der Daten zu entschl\u00fcsseln, haben wir eine Frequenzsanalyse (eine sehr n\u00fctzliche Funktion des Okteta Hex-Editors) durchgef\u00fchrt, um festzustellen, welche Werte am h\u00e4ufigsten vorkommen, da in einem Bericht der Sophos Labs aus dem Jahr 2019 ein Maldoc-Builder f\u00fcr CVE-2018-0798 analysiert wurde, der eine XOR-basierte Kodierung f\u00fcr den Shellcode implementiert. Bei diesem Maldoc ist das h\u00e4ufigste Byte FF, sodass wir davon ausgehen, dass dieses Byte als Null-Byte kodiert werden k\u00f6nnte und FF daher der Schl\u00fcssel in einer Ein-Byte-XOR-Kodierung sein k\u00f6nnte.<\/p>\n<figure id=\"attachment_30140\" aria-describedby=\"caption-attachment-30140\" style=\"width: 880px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30140 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-shellcode-frequency.png\" alt=\"\" width=\"880\" height=\"336\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency.png 1184w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-300x115.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-1024x391.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-768x293.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-24x9.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-36x14.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-frequency-48x18.png 48w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/><figcaption id=\"caption-attachment-30140\" class=\"wp-caption-text\">Abb. 8: Frequenzanalyse des Shellcodes<\/figcaption><\/figure>\n<p>Die Verwendung von Cyberchef mit dem mutma\u00dflichen Shellcode-Abschnitt und dem XOR-Schl\u00fcssel liefert lesbare Zeichenfolgen. Hieraus k\u00f6nnen wir wichtige Informationen \u00fcber den ausgef\u00fchrten Shellcode und Indikatoren wie die URL f\u00fcr die n\u00e4chste Malware-Stufe extrahieren.<\/p>\n<figure id=\"attachment_30156\" aria-describedby=\"caption-attachment-30156\" style=\"width: 714px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30156 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-shellcode-xor.png\" alt=\"\" width=\"714\" height=\"430\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor.png 1016w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor-300x181.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor-768x463.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor-24x14.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor-36x22.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-shellcode-xor-48x29.png 48w\" sizes=\"(max-width: 714px) 100vw, 714px\" \/><figcaption id=\"caption-attachment-30156\" class=\"wp-caption-text\">Abb. 9: Dekodieren des XOR-ed Shellcodes<\/figcaption><\/figure>\n<p>Die Visualisierung unten zeigt die wichtigsten API-Aufrufe im Shellcode:<\/p>\n<figure id=\"attachment_30157\" aria-describedby=\"caption-attachment-30157\" style=\"width: 863px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30157\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-maldocGraph.png\" alt=\"\" width=\"863\" height=\"315\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph.png 2560w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-300x109.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-1024x373.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-768x280.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-1536x560.png 1536w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-2048x747.png 2048w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-24x9.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-36x13.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-maldocGraph-48x17.png 48w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><figcaption id=\"caption-attachment-30157\" class=\"wp-caption-text\">Abb. 10: Grafik verdeutlicht die Funktionalit\u00e4t des Maldoc Shellcodes<\/figcaption><\/figure>\n<p>Durch erneutes Debuggen des Equation-Editor-Exploits und manuelles Setzen eines Breakpoints z. B. bei URLDownloadToFileA k\u00f6nnen wir diese Ergebnisse best\u00e4tigen.<\/p>\n<figure id=\"attachment_30158\" aria-describedby=\"caption-attachment-30158\" style=\"width: 568px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30158 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-urlmon.png\" alt=\"\" width=\"568\" height=\"491\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon.png 914w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon-300x260.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon-768x665.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon-24x21.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon-36x31.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-urlmon-48x42.png 48w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><figcaption id=\"caption-attachment-30158\" class=\"wp-caption-text\">Abb. 11: Manuelles Laden von urlmon.dll, um einen Breakpoint auf URLDownloadToFileA zu setzen<\/figcaption><\/figure>\n<p>Die Download-Abfrage an emshedulersvc[.]com\/vc\/vc liefert ein Sample f\u00fcr Bitters Downloader der zweiten Stufe, den wir im Folgenden untersuchen werden.<\/p>\n<figure id=\"attachment_30159\" aria-describedby=\"caption-attachment-30159\" style=\"width: 823px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30159 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-debug-url.png\" alt=\"\" width=\"823\" height=\"343\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url.png 2560w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-300x125.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-1024x427.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-768x320.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-1536x640.png 1536w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-2048x853.png 2048w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-24x10.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-36x15.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-debug-url-48x20.png 48w\" sizes=\"(max-width: 823px) 100vw, 823px\" \/><figcaption id=\"caption-attachment-30159\" class=\"wp-caption-text\">Abb. 12:Einbruch in URLDownloadToFile<\/figcaption><\/figure>\n<h3>ZxxZ \/ MuuyDownloader<\/h3>\n<p>Etwa in der zweiten Jahresh\u00e4lfte 2021 wechselte Bitter von seinem ArtraDownloader der zweiten Stufe zu einer neuen, aber \u00e4hnlichen Implementierung namens &#8222;<a  href=\"https:\/\/blog.talosintelligence.com\/2022\/05\/bitter-apt-adds-bangladesh-to-their.html\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >ZxxZ<\/a>&#8220; benannt durch Talos und &#8222;<a  href=\"https:\/\/mp.weixin.qq.com\/s?__biz=MzI2MDc2MDA4OA==&amp;mid=2247495644&amp;idx=1&amp;sn=f09a360fa8630fa55eb09c08357d7627&amp;scene=21#wechat_redirect\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >MuuyDownloader<\/a>&#8220; durch das Qi Anxin Threat Intelligence Center. Er ist in Visual C++ implementiert und scheint auf den ersten Blick nicht gepackt zu sein. Der Zeitstempel der Kompilierung deutet darauf hin, dass diese Bin\u00e4rdatei am 11. Mai 2022 erstellt wurde, was mit dem Zeitrahmen des b\u00f6sartigen Dokuments \u00fcbereinstimmt.<\/p>\n<figure id=\"attachment_30160\" aria-describedby=\"caption-attachment-30160\" style=\"width: 809px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30160 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-die-vc.png\" alt=\"\" width=\"809\" height=\"343\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc.png 1549w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-300x127.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-1024x434.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-768x325.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-1536x650.png 1536w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-24x10.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-36x15.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-die-vc-48x20.png 48w\" sizes=\"(max-width: 809px) 100vw, 809px\" \/><figcaption id=\"caption-attachment-30160\" class=\"wp-caption-text\">Abb. 13: Aufgesp\u00fcrt &#8211; Einfaches Parsen der PE-Datei, Entropie-Graph<\/figcaption><\/figure>\n<p>Vergleicht man diese Fingerprinting-Funktion mit der von Cisco Talos dokumentierten, so stellt man fest, dass Bitter auf das Trennzeichen ZxxZ (welches dem Downloader seinen Namen gab) verzichtet und stattdessen einen einfachen Unterstrich verwendet. Dies geschah m\u00f6glicherweise, um eine Erkennung durch IDS\/IPS-Systeme zu vermeiden, die auf diesem sehr spezifischen Trennzeichen basieren. Ein Blick auf \u00e4ltere Bitter-Recherchen zeigt, dass die Bedrohungsgruppe diese Muster von Zeit zu Zeit \u00e4ndert, um eine Entdeckung zu vermeiden.<\/p>\n<figure id=\"attachment_30161\" aria-describedby=\"caption-attachment-30161\" style=\"width: 405px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30161 size-full\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-ZxxZ-fingerprint.png\" alt=\"\" width=\"405\" height=\"319\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-fingerprint.png 405w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-fingerprint-300x236.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-fingerprint-24x19.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-fingerprint-36x28.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-fingerprint-48x38.png 48w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><figcaption id=\"caption-attachment-30161\" class=\"wp-caption-text\">Abb. 14: ZxxZ Einholen von Systeminformationen<\/figcaption><\/figure>\n<p>Der Check-in bei einem vom Angreifer kontrollierten Staging-Server enth\u00e4lt das Benutzerkonto und den Hostnamen des Systems. Die folgende Funktion stellt die HTTP-GET-Anfrage manuell zusammen und sendet sie \u00fcber eine Socket-Verbindung an den C2-Server.<\/p>\n<figure id=\"attachment_30162\" aria-describedby=\"caption-attachment-30162\" style=\"width: 363px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30162\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-ZxxZ-get.png\" alt=\"\" width=\"363\" height=\"420\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-get.png 441w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-get-259x300.png 259w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-get-21x24.png 21w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-get-31x36.png 31w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-get-42x48.png 42w\" sizes=\"(max-width: 363px) 100vw, 363px\" \/><figcaption id=\"caption-attachment-30162\" class=\"wp-caption-text\">Abb. 15: ZxxZ sendet eine GET Anfrage mit dem Host Fingerprint zu C2<\/figcaption><\/figure>\n<p>Wir haben diese Netzwerkkommunikation anhand von Paketaufzeichnungen \u00fcberpr\u00fcft. Ein weiterer gemeinsamer Indikator f\u00fcr die Bitter-Infrastruktur ist die Verwendung des LiteSpeed-Webservers, der auch in \u00e4lteren Berichten dokumentiert wurde.<\/p>\n<figure id=\"attachment_30163\" aria-describedby=\"caption-attachment-30163\" style=\"width: 586px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30163\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-ZxxZ-wireshark.png\" alt=\"\" width=\"586\" height=\"223\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-wireshark.png 644w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-wireshark-300x114.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-wireshark-24x9.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-wireshark-36x14.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-wireshark-48x18.png 48w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><figcaption id=\"caption-attachment-30163\" class=\"wp-caption-text\">Abb. 16: Packet capture\u00a0der obigen GET-Anfrage<\/figcaption><\/figure>\n<p>Nach dem Abrufen der n\u00e4chsten Malware-Stufe von einem Staging-Server schreibt ZxxZ die Bin\u00e4rdatei auf die Festplatte und versucht, sie auszuf\u00fchren. Auf dem Screenshot unten sehen wir, dass die Bitter-Gruppe die C2-Opcode-Strings, die Talos zuvor als <em>DN-S<\/em> (erfolgreicher Download) und<em> RN_E<\/em> (Fehler beim Ausf\u00fchren) dokumentiert hatte, in <em>S<\/em> und <em>F<\/em> ge\u00e4ndert hat, vermutlich eine Abk\u00fcrzung f\u00fcr Success und Failure. Dies ist wahrscheinlich eine weitere Ma\u00dfnahme zur Umgehung \u00e4lterer Erkennungsregeln. Die Ausf\u00fchrung der Nutzlast wurde ebenfalls ge\u00e4ndert und verwendet nun CreateProcessA anstelle von ShellExecuteA wie in der \u00e4lteren Version von ZxxZ.<\/p>\n<figure id=\"attachment_30165\" aria-describedby=\"caption-attachment-30165\" style=\"width: 623px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30165 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-ZxxZ-process.png\" alt=\"\" width=\"623\" height=\"388\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-process.png 702w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-process-300x187.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-process-24x15.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-process-36x22.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-process-48x30.png 48w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><figcaption id=\"caption-attachment-30165\" class=\"wp-caption-text\">Abb. 17: ZxxZ Abrufen und Ausf\u00fchren der n\u00e4chsten Stufe<\/figcaption><\/figure>\n<p>Leider konnte die eigentliche Nutzlast nicht vom Staging-Server abgerufen werden, da dieser nur eine leere Datei namens CAPT.msi zur\u00fcckgab.<\/p>\n<figure id=\"attachment_30166\" aria-describedby=\"caption-attachment-30166\" style=\"width: 408px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30166\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-ZxxZ-3rdstage.png\" alt=\"\" width=\"408\" height=\"458\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-3rdstage.png 477w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-3rdstage-267x300.png 267w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-3rdstage-21x24.png 21w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-3rdstage-32x36.png 32w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-ZxxZ-3rdstage-43x48.png 43w\" sizes=\"(max-width: 408px) 100vw, 408px\" \/><figcaption id=\"caption-attachment-30166\" class=\"wp-caption-text\">Figure 18: Request made to another staging server for the third stage<\/figcaption><\/figure>\n<h3>Almond RAT<\/h3>\n<p>Die Informationen \u00fcber die von Bitter (die \u00fcblicherweise\u00a0 als <a  href=\"https:\/\/malpedia.caad.fkie.fraunhofer.de\/details\/win.bitter_rat\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >BitterRAT<\/a> bezeichnet werden) eingesetzten Remote-Access-Trojaner (RATs) sind begrenzt und manchmal widerspr\u00fcchlich. Wir haben festgestellt, dass Bitter je nach Szenario und Ziel unterschiedliche RAT-Implementierungen\/Varianten einsetzt.<\/p>\n<p>In diesem Fall analysierten wir ein Beispiel f\u00fcr einen .NET-basierten RAT, den wir in fr\u00fcheren Berichten oder Open-Source-Repositories nicht identifizieren konnten. In Ermangelung einer existierenden Erkennung und eines besseren Namens werden wir es f\u00fcr diese Analyse als &#8222;Almond RAT&#8220; bezeichnen. Das Beispiel wurde erstmals von dem Twitter-Nutzer <a  href=\"https:\/\/twitter.com\/binlmmhc\/status\/1530115191069110273\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >@binlmmhc<\/a> erw\u00e4hnt. Der oben erw\u00e4hnte aktuelle Bericht von Qi Anxin bezeichnet dieses RAT lediglich als &#8222;leichtgewichtige Fernsteuerung&#8220;.<\/p>\n<figure id=\"attachment_30167\" aria-describedby=\"caption-attachment-30167\" style=\"width: 604px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30167\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-rat-die.png\" alt=\"\" width=\"604\" height=\"326\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-die.png 750w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-die-300x162.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-die-24x13.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-die-36x19.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-die-48x26.png 48w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><figcaption id=\"caption-attachment-30167\" class=\"wp-caption-text\">Abb. 19: Detect it Easy analysiert die Almond RAT PE-Datei<\/figcaption><\/figure>\n<h3>Grundlegende Funktionen<\/h3>\n<p>Die Hauptfunktion des RAT pr\u00fcft vor dem Aufruf der StartClient-Funktion auf die Mutex-Zeichenkette <em>saebamini.com SingletonApp<\/em>. Wie sich herausstellte, m\u00fcssen selbst erfahrene Angreifer manchmal die wirklich einfachen Dinge nachschlagen: in diesem Fall ein kurzes Tutorial \u00fcber <a  href=\"https:\/\/saebamini.com\/Allowing-only-one-instance-of-a-C-app-to-run\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Allowing Only One Instance of a C# Application to Run<\/a>, die denselben Mutex-String verwendet. Wie immer haben sie nur die H\u00e4lfte der Antwort kopiert und vergessen, den Aufruf von ReleaseMutex am Ende einzuf\u00fcgen&#8230;<\/p>\n<figure id=\"attachment_30169\" aria-describedby=\"caption-attachment-30169\" style=\"width: 466px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30169\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-RAT-main.png\" alt=\"\" width=\"466\" height=\"218\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-main.png 511w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-main-300x140.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-main-24x11.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-main-36x17.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-main-48x22.png 48w\" sizes=\"(max-width: 466px) 100vw, 466px\" \/><figcaption id=\"caption-attachment-30169\" class=\"wp-caption-text\">Abb. 20: Hauptfunktion, Setzen einer Mutex<\/figcaption><\/figure>\n<p>Almond RAT verwendet die String-Verschl\u00fcsselung, um die Erkennung und das Reverse Engineering zu erschweren. Wichtige\/aufschlussreiche Zeichenfolgen wie die untenstehende Command&amp;Control (C2) IP-Adresse sind daher in die Funktion <em>ciphertext.Decrypt<\/em> verpackt.<\/p>\n<figure id=\"attachment_30171\" aria-describedby=\"caption-attachment-30171\" style=\"width: 578px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30171\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-rat-strenc.png\" alt=\"\" width=\"578\" height=\"132\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-strenc.png 687w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-strenc-300x69.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-strenc-24x5.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-strenc-36x8.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-strenc-48x11.png 48w\" sizes=\"(max-width: 578px) 100vw, 578px\" \/><figcaption id=\"caption-attachment-30171\" class=\"wp-caption-text\">Abb. 21: StartClient-Funktion, die die AES-String-Verschl\u00fcsselung zeigt<\/figcaption><\/figure>\n<p>Die Entschl\u00fcsselungsfunktion implementiert ein standardm\u00e4\u00dfiges AES-256-CBC-Verschl\u00fcsselungsschema, bei dem der IV und der Schl\u00fcssel aus dem gegebenen Klartextpasswort \u00fcber PDKDF2 abgeleitet werden. Da es trivial ist, dies z. B. in Python neu zu implementieren, haben wir alle verschl\u00fcsselten Zeichenfolgen in der Bin\u00e4rdatei entschl\u00fcsselt und die .NET-Assembly ge\u00e4ndert, um die Lesbarkeit des Codes f\u00fcr diesen Bericht zu verbessern. Die Dateihashes der unver\u00e4nderten und modifizierten Bin\u00e4rdateien finden Sie im IoC-Abschnitt am Ende des Beitrags.<\/p>\n<figure id=\"attachment_30170\" aria-describedby=\"caption-attachment-30170\" style=\"width: 786px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30170\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-rat-stringdecrypt.png\" alt=\"\" width=\"786\" height=\"370\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt.png 886w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt-300x141.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt-768x361.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt-24x11.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt-36x17.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-rat-stringdecrypt-48x23.png 48w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><figcaption id=\"caption-attachment-30170\" class=\"wp-caption-text\">Abb. 22: String-Entschl\u00fcsselungsfunktion mit AES CBC<\/figcaption><\/figure>\n<p>Die StartClient-Funktion implementiert die Socket-basierte C2-Kommunikationsschnittstelle f\u00fcr Almond RAT. In den von uns beobachteten Beispielen gab es keine Dom\u00e4nen oder dynamischen DNS-Dienste, sondern nur IPv4-Adressen, die f\u00fcr die R\u00fcckverbindung zu den Bedrohungsakteuren verwendet wurden. Eine charakteristische Eigenschaft des RAT ist die Verwendung des tcp-Ports 33638 . Bei der ersten Kontaktaufnahme mit dem C2-Server \u00fcbertr\u00e4gt Almond RAT gesammelte Systeminformationen wie Hostname, Betriebssystemversion, interne IP-Adresse und MAC-Adresse sowie Speicherkennungen (Festplatteninformationen werden nicht \u00fcbertragen), um einen Fingerabdruck des infizierten Systems zu erstellen. F\u00fcr die C2-Kommunikation wird ein 1024-Byte-Puffer verwendet.<\/p>\n<figure id=\"attachment_30172\" aria-describedby=\"caption-attachment-30172\" style=\"width: 716px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-30172 \" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-RAT-start.png\" alt=\"\" width=\"716\" height=\"493\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start.png 893w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start-300x207.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start-768x529.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start-24x17.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start-36x25.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-RAT-start-48x33.png 48w\" sizes=\"(max-width: 716px) 100vw, 716px\" \/><figcaption id=\"caption-attachment-30172\" class=\"wp-caption-text\">Abb. 23: StartClient Funktion<\/figcaption><\/figure>\n<h3>F\u00e4higkeiten und C2-Kommunikation<\/h3>\n<p>Als n\u00e4chstes werden wir die Funktionalit\u00e4t von Almond RAT genauer untersuchen.\u00a0 Zu Beginn der Funktion StartCommWithServer setzt das RAT ein zuf\u00e4lliges Empfangs-Timeout zwischen 20 und 30 Sekunden f\u00fcr den Socket. Das untersuchte Beispiel nimmt insgesamt sieben verschiedene Befehle an. Der REFRESH-Befehl wird als Heartbeat-Signal verwendet, das dem C2-Server mitteilt, dass der RAT noch aktiv ist und mit einem einfachen OK antwortet.<\/p>\n<p>Der DRIVE-Befehl gibt eine Liste der angeschlossenen Speicherger\u00e4te zur\u00fcck.<\/p>\n<p>Mit dem DELETE*-Befehl k\u00f6nnen die Angreifer zug\u00e4ngliche Dateien l\u00f6schen, indem sie einen Pfad angeben. Bei unzureichenden Berechtigungen z.B. wird eine Ausnahme zur\u00fcckgegeben. Das * in der Befehlszeichenfolge wird als Trennzeichen zwischen dem Befehl und dem Dateipfad verwendet.<\/p>\n<figure id=\"attachment_30173\" aria-describedby=\"caption-attachment-30173\" style=\"width: 568px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30173\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-c2-basics.png\" alt=\"\" width=\"568\" height=\"418\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-basics.png 606w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-basics-300x221.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-basics-24x18.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-basics-36x26.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-basics-48x35.png 48w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><figcaption id=\"caption-attachment-30173\" class=\"wp-caption-text\">Abb. 24: Basic C2 Funktionalit\u00e4t<\/figcaption><\/figure>\n<p>Almond RAT erm\u00f6glicht die Ausf\u00fchrung beliebiger Befehle \u00fcber eine cmd.exe-Instanz. Es hat eine eigene Implementierung f\u00fcr Verzeichniswechsel \u00fcber cd und Verzeichnisauflistungen \u00fcber OK. Der CMD-Befehl verwendet eine Tilde statt eines Sternchens, um die Teile des Befehls zu trennen.<\/p>\n<figure id=\"attachment_30174\" aria-describedby=\"caption-attachment-30174\" style=\"width: 561px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30174\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-c2-cmd.png\" alt=\"\" width=\"561\" height=\"477\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-cmd.png 671w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-cmd-300x255.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-cmd-24x20.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-cmd-36x31.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-cmd-48x41.png 48w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><figcaption id=\"caption-attachment-30174\" class=\"wp-caption-text\">Abb. 25: Ausf\u00fchren des Befehls<\/figcaption><\/figure>\n<p>Zus\u00e4tzlich zu der Funktionalit\u00e4t, Verzeichnisse und Dateien \u00fcber die Eingabeaufforderung aufzulisten, unterst\u00fctzt der RAT auch einen recht komplexen DIR*-Befehl. Er ist in der Lage, die Erreichbarkeit von Dateien zu \u00fcberpr\u00fcfen und Metadaten wie die letzte Schreibzeit einer Datei anzuzeigen.<\/p>\n<figure id=\"attachment_30176\" aria-describedby=\"caption-attachment-30176\" style=\"width: 898px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30176\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-c2-dir.png\" alt=\"\" width=\"898\" height=\"500\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir.png 1382w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-300x167.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-1024x571.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-768x428.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-24x13.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-36x20.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-dir-48x27.png 48w\" sizes=\"(max-width: 898px) 100vw, 898px\" \/><figcaption id=\"caption-attachment-30176\" class=\"wp-caption-text\">Abb. 26: Verzeichnis- und Dateilisten<\/figcaption><\/figure>\n<p>Da Bitters Hauptziel die Spionage ist, ben\u00f6tigen sie eine M\u00f6glichkeit, Daten vom System zum C2-Server zu exfiltrieren, was \u00fcber den Befehl DOWNLOAD* geschieht.<\/p>\n<p>Um weitere Malware oder andere Dateien auf dem System abzulegen, wird auch der Befehl UPLOAD* unterst\u00fctzt, der das folgende Dateinamenschema verwendet: yyyyMMdd-hhmmss_filename<\/p>\n<figure id=\"attachment_30177\" aria-describedby=\"caption-attachment-30177\" style=\"width: 911px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30177\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-c2-updown.png\" alt=\"\" width=\"911\" height=\"533\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown.png 1311w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-300x176.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-1024x599.png 1024w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-768x449.png 768w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-24x14.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-36x21.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-updown-48x28.png 48w\" sizes=\"(max-width: 911px) 100vw, 911px\" \/><figcaption id=\"caption-attachment-30177\" class=\"wp-caption-text\">Abb. 27: DOWNLOAD* und UPLOAD* Funktionen<\/figcaption><\/figure>\n<p>Wenn der RAT einen unbekannten Befehl vom Betreiber erh\u00e4lt, gibt er die Meldung XXX zur\u00fcck, um den Fehler anzuzeigen.<\/p>\n<figure id=\"attachment_30178\" aria-describedby=\"caption-attachment-30178\" style=\"width: 369px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-30178\" src=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/bitter-c2-xxx.png\" alt=\"\" width=\"369\" height=\"162\" srcset=\"https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-xxx.png 408w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-xxx-300x132.png 300w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-xxx-24x11.png 24w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-xxx-36x16.png 36w, https:\/\/testing.secuinfra.com\/wp-content\/uploads\/\/bitter-c2-xxx-48x21.png 48w\" sizes=\"(max-width: 369px) 100vw, 369px\" \/><figcaption id=\"caption-attachment-30178\" class=\"wp-caption-text\">Abb. 28: Ausnahmebehandlung im Falle eines unbekannten Befehls<\/figcaption><\/figure>\n<p>Die Hauptzwecke von Almond RATs scheinen die Entdeckung des Dateisystems, die Datenexfiltration und die M\u00f6glichkeit zu sein, weitere Tools nachzuladen bzw. die Persistenz herzustellen. Das Design der Tools scheint so angelegt zu sein, dass es schnell ge\u00e4ndert und an das aktuelle Angriffsszenario angepasst werden kann.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hosting-Infrastruktur_Netzwerkindikatoren\"><\/span>Hosting-Infrastruktur \/ Netzwerkindikatoren<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>WHOIS und DNS Records<\/h3>\n<p>Der Staging-Server f\u00fcr den Downloader und der Staging-Server f\u00fcr den RAT werden bei Host Sailor gehostet. Der Command&amp;Control-Server f\u00fcr den Downloader wird bei Namecheap gehostet und der f\u00fcr Almond RAT bei Nexeon Technologies. Abgesehen von den in diesem Bericht analysierten Samples wurden keine weiteren signifikanten Malware-Aktivit\u00e4ten mit diesen vier Dom\u00e4nen festgestellt.<\/p>\n<p><strong>Staging Server ZxxZ Downloader<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"94\"><strong>Domain<\/strong><\/td>\n<td width=\"217\"><strong>emshedulersvc[.]com<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Registrar<\/strong><\/td>\n<td width=\"217\">ENOM Inc.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Hoster<\/strong><\/td>\n<td width=\"217\">Host Sailor Ltd.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Created<\/strong><\/td>\n<td width=\"217\">10.05.2022 &#8211; 91.195.240[.]103<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Updated<\/strong><\/td>\n<td width=\"217\">12.05.2022 &#8211; 194.36.191[.]196<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>C2 Server ZxxZ Downloader<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"94\"><strong>Domain<\/strong><\/td>\n<td width=\"217\"><strong>huandocimama[.]com\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Registrar<\/strong><\/td>\n<td width=\"217\">Namecheap Inc.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Hoster<\/strong><\/td>\n<td width=\"217\">Namecheap Inc.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Created<\/strong><\/td>\n<td width=\"217\">19.08.2021 &#8211; 162.0.232[.]109<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Updated<\/strong><\/td>\n<td width=\"217\">N\/A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Staging Server dritte Stufe<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"94\"><strong>Domain<\/strong><\/td>\n<td width=\"217\"><strong>diyefosterfeeds[.]com<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Registrar<\/strong><\/td>\n<td width=\"217\">ENOM Inc.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Hoster<\/strong><\/td>\n<td width=\"217\">Host Sailor Ltd.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Created<\/strong><\/td>\n<td width=\"217\">02.02.2022 &#8211; 194.36.191[.]196<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Updated<\/strong><\/td>\n<td width=\"217\">N\/A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Almond RAT C2 Server<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"94\"><strong>Domain<\/strong><\/td>\n<td width=\"217\"><strong>64.44.131[.]109<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Hoster<\/strong><\/td>\n<td width=\"217\">Nexeon Technologies Inc.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>ASN<\/strong><\/td>\n<td width=\"217\">AS20278<\/td>\n<\/tr>\n<tr>\n<td width=\"94\"><strong>Created<\/strong><\/td>\n<td width=\"217\">27.02.2014<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bei der Untersuchung dieser DNS-Eintr\u00e4ge fiel uns auch auf, dass am 30.05.2022 ein neuer Eintrag f\u00fcr spurshipbroker[.]com unter 194.36.191[.]196 erstellt wurde. Bei dieser Domain scheint es sich um einen so genannten &#8222;Typosquat&#8220; (Nachahmung) von spurshipbrokers[.]com, einem indischen Schifffahrts- und Transportunternehmen, zu handeln. Dieser Datensatz stach zwischen scheinbar rechtm\u00e4\u00dfigem Webhosting und Typosquats f\u00fcr Bankseiten auf diesem von Bitter genutzten Webhost\/IP hervor. Auch wenn wir zu diesem Zeitpunkt keine weiteren Beweise daf\u00fcr haben, dass dies mit den Aktivit\u00e4ten von Bitter zusammenh\u00e4ngt, so passt es doch sehr gut zu der Herangehensweise der Gruppe und dem K\u00f6der mit dem Thema Marine.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yara_Regeln\"><\/span>Yara Regeln<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Den Yara-Regelsatz, den wir f\u00fcr diesen Bericht erstellt haben, finden Sie unten in unserem Github-Repository: <a  href=\"https:\/\/github.com\/SIFalcon\/Detection\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >SIFalcon\/Detection<\/a> und auf <a  href=\"https:\/\/yaraify.abuse.ch\/\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Abuse.ch Yaraify<\/a>.<\/p>\n<p>\/*<br \/>\nYara Rule Set<br \/>\nAuthor: SECUINFRA Falcon Team<br \/>\nDate: 2022-06-23<br \/>\nIdentifier: 0x03-yara_win-Bitter_T-APT-17<br \/>\nReference: &#8222;https:\/\/testing.secuinfra.com\/en\/techtalk\/whatever-floats-your-boat-bitter-apt-continues-to-target-bangladesh&#8220;<br \/>\n*\/<\/p>\n<p>\/* Rule Set &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; *\/<\/p>\n<p>rule APT_Bitter_Maldoc_Verify {<\/p>\n<p>meta:<br \/>\ndescription = &#8222;Detects Bitter (T-APT-17) shellcode in oleObject (CVE-2018-0798)&#8220;<br \/>\nauthor = &#8222;SECUINFRA Falcon Team (@SI_FalconTeam)&#8220;<br \/>\ntlp = &#8222;WHITE&#8220;<br \/>\nreference = &#8222;https:\/\/testing.secuinfra.com\/en\/techtalk\/whatever-floats-your-boat-bitter-apt-continues-to-target-bangladesh&#8220;<br \/>\ndate = &#8222;2022-06-01&#8220;<br \/>\nhash0 = &#8222;0c7158f9fc2093caf5ea1e34d8b8fffce0780ffd25191fac9c9b52c3208bc450&#8220;<br \/>\nhash1 = &#8222;bd0d25194634b2c74188cfa3be6668590e564e6fe26a6fe3335f95cbc943ce1d&#8220;<br \/>\nhash2 = &#8222;3992d5a725126952f61b27d43bd4e03afa5fa4a694dca7cf8bbf555448795cd6&#8220;<\/p>\n<p>strings:<br \/>\n\/\/ This rule is meant to be used for verification of a Bitter Maldoc<br \/>\n\/\/ rather than a hunting rule since the oleObject it is matching is<br \/>\n\/\/ compressed in the doc zip<\/p>\n<p>$xor_string0 = &#8222;LoadLibraryA&#8220; xor<br \/>\n$xor_string1 = &#8222;urlmon.dll&#8220; xor<br \/>\n$xor_string2 = &#8222;Shell32.dll&#8220; xor<br \/>\n$xor_string3 = &#8222;ShellExecuteA&#8220; xor<br \/>\n$xor_string4 = &#8222;MoveFileA&#8220; xor<br \/>\n$xor_string5 = &#8222;CreateDirectoryA&#8220; xor<br \/>\n$xor_string6 = &#8222;C:\\\\Windows\\\\explorer&#8220; xor<br \/>\n$padding = {000001128341000001128341000001128342000001128342}<\/p>\n<p>condition:<br \/>\n3 of ($xor_string*)<br \/>\nand $padding<br \/>\n}<\/p>\n<p>rule APT_Bitter_ZxxZ_Downloader {<\/p>\n<p>meta:<br \/>\ndescription = &#8222;Detects Bitter (T-APT-17) ZxxZ Downloader&#8220;<br \/>\nauthor = &#8222;SECUINFRA Falcon Team (@SI_FalconTeam)&#8220;<br \/>\ntlp = &#8222;WHITE&#8220;<br \/>\nreference = &#8220; https:\/\/testing.secuinfra.com\/en\/techtalk\/whatever-floats-your-boat-bitter-apt-continues-to-target-bangladesh&#8220;<br \/>\ndate = &#8222;2022-06-01&#8220;<br \/>\nhash0 = &#8222;91ddbe011f1129c186849cd4c84cf7848f20f74bf512362b3283d1ad93be3e42&#8220;<br \/>\nhash1 = &#8222;90fd32f8f7b494331ab1429712b1735c3d864c8c8a2461a5ab67b05023821787&#8220;<br \/>\nhash2 = &#8222;69b397400043ec7036e23c225d8d562fdcd3be887f0d076b93f6fcaae8f3dd61&#8220;<br \/>\nhash3 = &#8222;3fdf291e39e93305ebc9df19ba480ebd60845053b0b606a620bf482d0f09f4d3&#8220;<br \/>\nhash4 = &#8222;fa0ed2faa3da831976fee90860ac39d50484b20bee692ce7f0ec35a15670fa92&#8220;<\/p>\n<p>strings:<br \/>\n\/\/ old ZxxZ samples \/ decrypted strings<br \/>\n$old0 = &#8222;MsMp&#8220; ascii<br \/>\n$old1 = &#8222;SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion&#8220; ascii<br \/>\n$old2 = &#8222;&amp;&amp;user=&#8220; ascii<br \/>\n$old3 = &#8222;DN-S&#8220; ascii<br \/>\n$old4 = &#8222;RN_E&#8220; ascii<\/p>\n<p>\/\/ new ZxxZ samples<br \/>\n$c2comm0 = &#8222;GET \/&#8220; ascii<br \/>\n$c2comm1 = &#8222;profile&#8220; ascii<br \/>\n$c2comm2 = &#8222;.php?&#8220; ascii<br \/>\n$c2comm3 = &#8222;data=&#8220; ascii<br \/>\n$c2comm4 = &#8222;Update&#8220; ascii<br \/>\n$c2comm5 = &#8222;TTT&#8220; ascii<\/p>\n<p>condition:<br \/>\nuint16(0) == 0x5a4d<br \/>\nand filesize &gt; 39KB \/\/ Size on Disk\/1.5<br \/>\nand filesize &lt; 2MB \/\/ Size of Image*1.5<\/p>\n<p>and (all of ($old*)) or (all of ($c2comm*))<\/p>\n<p>}<\/p>\n<p>import &#8222;pe&#8220;<br \/>\nimport &#8222;dotnet&#8220;<\/p>\n<p>rule APT_Bitter_Almond_RAT {<\/p>\n<p>meta:<br \/>\ndescription = &#8222;Detects Bitter (T-APT-17) Almond RAT (.NET)&#8220;<br \/>\nauthor = &#8222;SECUINFRA Falcon Team (@SI_FalconTeam)&#8220;<br \/>\ntlp = &#8222;WHITE&#8220; reference = &#8220; https:\/\/testing.secuinfra.com\/en\/techtalk\/whatever-floats-your-boat-bitter-apt-continues-to-target-bangladesh&#8220;<br \/>\ndate = &#8222;2022-06-01&#8220; hash = &#8222;55901c2d5489d6ac5a0671971d29a31f4cdfa2e03d56e18c1585d78547a26396&#8220;<\/p>\n<p>strings:<br \/>\n$function0 = &#8222;GetMacid&#8220; ascii<br \/>\n$function1 = &#8222;StartCommWithServer&#8220; ascii<br \/>\n$function2 = &#8222;sendingSysInfo&#8220; ascii<br \/>\n$dbg0 = &#8222;*|END|*&#8220; wide<br \/>\n$dbg1 = &#8222;FILE&gt;&#8220; wide<br \/>\n$dbg2 = &#8222;[Command Executed Successfully]&#8220; wide<\/p>\n<p>condition:<br \/>\nuint16(0) == 0x5a4d<br \/>\nand dotnet.version == &#8222;v4.0.30319&#8220;<br \/>\nand filesize &gt; 12KB \/\/ Size on Disk\/1.5<br \/>\nand filesize &lt; 68KB \/\/ Size of Image*1.5<br \/>\nand any of ($function*)<br \/>\nand any of ($dbg*)<br \/>\n}<\/p>\n<p>rule APT_Bitter_PDB_Paths {<\/p>\n<p>meta:<br \/>\ndescription = &#8222;Detects Bitter (T-APT-17) PDB Paths&#8220;<br \/>\nauthor = &#8222;SECUINFRA Falcon Team (@SI_FalconTeam)&#8220;<br \/>\ntlp = &#8222;WHITE&#8220;<br \/>\nreference = &#8222;https:\/\/testing.secuinfra.com\/en\/techtalk\/whatever-floats-your-boat-bitter-apt-continues-to-target-bangladesh&#8220;<br \/>\ndate = &#8222;2022-06-22&#8220;<br \/>\nhash0 = &#8222;55901c2d5489d6ac5a0671971d29a31f4cdfa2e03d56e18c1585d78547a26396&#8220;<\/p>\n<p>strings:<br \/>\n\/\/ Almond RAT<br \/>\n$pdbPath0 = &#8222;C:\\\\Users\\\\Window 10 C\\\\Desktop\\\\COMPLETED WORK\\\\&#8220; ascii<br \/>\n$pdbPath1 = &#8222;stdrcl\\\\stdrcl\\\\obj\\\\Release\\\\stdrcl.pdb&#8220;<\/p>\n<p>\/\/ found by Qi Anxin Threat Intellingence Center<br \/>\n\/\/ reference: https:\/\/mp.weixin.qq.com\/s\/8j_rHA7gdMxY1_X8alj8Zg<br \/>\n$pdbPath2 = &#8222;g:\\\\Projects\\\\cn_stinker_34318\\\\&#8220;<br \/>\n$pdbPath3 = &#8222;renewedstink\\\\renewedstink\\\\obj\\\\Release\\\\stimulies.pdb&#8220;<\/p>\n<p>condition:<br \/>\nuint16(0) == 0x5a4d<br \/>\nand any of ($pdbPath*)<br \/>\n}<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Indicators_of_Compromise\"><\/span>Indicators of Compromise<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Samples<\/h3>\n<p>Alle in diesem Bericht erw\u00e4hnten Samples werden zu Verifikations- und weitergehenden Forschungszwecken \u00fcber die Plattformen MalwareBazaar und Malshare bereitgestellt.<\/p>\n<h4>Maldoc<\/h4>\n<p>Filename: Repair of different csoc cstc, china supplied system &#8211; BNS BIJOY.xlsx<br \/>\nMD5: 1bf615946ad9ea7b5a282a8529641bf6<br \/>\nSHA1: 358867f105b517624806c3315c5426803f7c42a7<br \/>\nSHA256: bc03923e3cc2895893571068fd20dd0bc626764d06a009b91dac27982e40a085<\/p>\n<p><strong>Extrahiertes oleObject:<\/strong><\/p>\n<p>MD5: a1d9e1dccfbba118d52f95ec6cc7c943<br \/>\nSHA1: 8efa4d5574a0c80733e9824ec146521385a68424<br \/>\nSHA256: 0c7158f9fc2093caf5ea1e34d8b8fffce0780ffd25191fac9c9b52c3208bc450<\/p>\n<h4>ZxxZ \/ Muuy Downloader<\/h4>\n<p>Filename: vc<br \/>\nMD5: 6e4b4eb701f3410ebfb5925db32b25dc<br \/>\nSHA1: c330ef43bbee001296c6c120cf68e4c90d078d9c<br \/>\nSHA256: 91ddbe011f1129c186849cd4c84cf7848f20f74bf512362b3283d1ad93be3e42<\/p>\n<h4>Almond RAT<\/h4>\n<p>Filename: stdrcl.exe<br \/>\nMD5: 71e1cfb5e5a515cea2c3537b78325abf<br \/>\nSHA1: bcc9e35c28430264575831e851182eca7219116f<br \/>\nSHA256: 55901c2d5489d6ac5a0671971d29a31f4cdfa2e03d56e18c1585d78547a26396<\/p>\n<p><strong>Ge\u00e4nderte Baugruppe mit entschl\u00fcsselten Zeichenfolgen:<\/strong><\/p>\n<p>MD5: d58e6f93bd1eb81eacc965d530709246<br \/>\nSHA1: a47aec515f303ae7f427d98fc69fe828fa9c6ec6<br \/>\nSHA256: d83cb82be250604b2089a1198cedd553aaa5e8838b82011d6999bc6431935691<\/p>\n<h3>Host-basierte Indikatoren<\/h3>\n<p># File paths associated with the Downloader<br \/>\nC:\\$Drw\\dsw<br \/>\nC:\\$Drw\\fsutil.exe<\/p>\n<p># Almond RAT Mutex<br \/>\nsaebamini.com SingletonApp<\/p>\n<h3>Network-basierte Indikatoren<\/h3>\n<p>emshedulersvc[.]com\/vc\/vc<br \/>\nm.huandocimama[.]com<br \/>\ndiyefosterfeeds[.]com<\/p>\n<p>91.195.240[.]103<br \/>\n194.36.191[.]196<br \/>\n162.0.232[.]109<br \/>\n64.44.131[.]109<\/p>\n<h2><span class=\"ez-toc-section\" id=\"MITRE_ATT_CK_TTPs\"><\/span>MITRE ATT&amp;CK TTPs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Erste Stufe &#8211; Initiale Kompromittierung<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"150\"><strong>Taktik<\/strong><\/td>\n<td width=\"150\"><strong>Technik<\/strong><\/td>\n<td width=\"150\"><strong>Beschreibung<\/strong><\/td>\n<td width=\"150\"><strong>Erkennbar<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Resource Development<\/td>\n<td width=\"150\">Stage Capabilities: Upload Malware (T1608.001<\/td>\n<td width=\"150\">Bitter is using legitimate webhosting services to stage malware<\/td>\n<td width=\"150\">Hosters: HostSailor, Namecheap<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Initial Access<\/td>\n<td width=\"150\">Phishing: Spearphishing Attachment (T1566.001)<\/td>\n<td width=\"150\">Bitter is distributing malicious Microsoft Office documents with military \/ naval lures<\/td>\n<td width=\"150\">Filename: Repair of different csoc cstc, china supplied system &#8211; BNS BIJOY.xlsx<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Execution<\/td>\n<td width=\"150\">Exploitation for Client Execution (T1203)<\/td>\n<td width=\"150\">Exploitation of the Microsoft Office Equation Editor via a Memory Corruption (CVE-2018-0798)<\/td>\n<td width=\"150\">OLE file with stream named: Equation Native<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3>Zwischenstufe &#8211; Herunterladen von zus\u00e4tzlichen Tools<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"85\"><strong>Taktik<\/strong><\/td>\n<td width=\"85\"><strong>Technik<\/strong><\/td>\n<td width=\"123\"><strong>Beschreibung<\/strong><\/td>\n<td width=\"308\"><strong>Erkennbar<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"85\">Defense Evasion<\/td>\n<td width=\"85\">Obfuscated Files or Information (T1027)<\/td>\n<td width=\"123\">Important strings in ZxxZ\/MuuyDownloader executables are XOR encrypted<\/td>\n<td width=\"308\">Example string: vSCbLAsUGPVbnCW<\/td>\n<\/tr>\n<tr>\n<td width=\"85\">Reconnaissance<\/td>\n<td width=\"85\">Gather Victim Host Information: Software (T1592.002)<\/td>\n<td width=\"123\">ZxxZ\/MuuyDownloader fingerprints the attacked system<\/td>\n<td width=\"308\">Requested URL: hxxp:\/\/m.huandocimama[.]com\/JvQKLsTYuMe\/xAexyBbnDxW\/profiles.php?profiles=&lt;USERNAME_HOSTNAME&gt;<\/td>\n<\/tr>\n<tr>\n<td width=\"85\">Command and Control<\/td>\n<td width=\"85\">Ingress Tool Transfer (T1105)<\/td>\n<td width=\"123\">ZxxZ\/MuuyDownloader is capable of downloading files from the C2 onto the system<\/td>\n<td width=\"308\">Command: UPLOAD*filepath, File naming scheme: yyyyMMdd-hhmmss_filename<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><\/h2>\n<h3>Finale Stufe \u2013 Spionage<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"150\"><strong>Taktik<\/strong><\/td>\n<td width=\"150\"><strong>Technik<\/strong><\/td>\n<td width=\"150\"><strong>Beschreibung<\/strong><\/td>\n<td width=\"150\"><strong>Erkennbar<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Defense Evasion<\/td>\n<td width=\"150\">Obfuscated Files or Information (T1027)<\/td>\n<td width=\"150\">Important strings in Almond RAT executables are encrypted using AES-CBC<\/td>\n<td width=\"150\">Encrypted: 4CjJPGsn5qweV7CEMgTzXtD\/2oxaXj\/Cddgsjl8tJGU=, Decrypted: 64.44.131.109<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Reconnaissance<\/td>\n<td width=\"150\">Gather Victim Host Information: Software (T1592.002)<\/td>\n<td width=\"150\">Almond RAT fingerprints the attacked system<\/td>\n<td width=\"150\">Generated Fingerprint: HOSTNAME*MAC_ADDRESS*OS_VERSION<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Command and Control<\/td>\n<td width=\"150\">Non-Standard Port (T1571)<\/td>\n<td width=\"150\">Almond RAT communicates with the C2 via a non-standard port<\/td>\n<td width=\"150\">Network port: 33638\/tcp<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Command and Control<\/td>\n<td width=\"150\">Ingress Tool Transfer (T1105)<\/td>\n<td width=\"150\">Almond RAT is capable of downloading files from the C2 onto the system<\/td>\n<td width=\"150\">Command: UPLOAD*filepath, Network Port: 33638\/tcp<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Exfiltration<\/td>\n<td width=\"150\">Exfiltration over C2 Channel (T1041)<\/td>\n<td width=\"150\">Almond RAT is capable of uploading accessible files from the system to a C2 server<\/td>\n<td width=\"150\">Command: DOWNLOAD*filepath, Network Port: 33638\/tcp<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Exfiltration<\/td>\n<td width=\"150\">Data Transfer Size Limits (T1030)<\/td>\n<td width=\"150\">Almond RAT is using a 1024 byte buffer for C2 communication and Exfiltration<\/td>\n<td width=\"150\">Network buffer: 1024 bytes<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Discovery<\/td>\n<td width=\"150\">File and Directory Discovery (T1083)<\/td>\n<td width=\"150\">Almond RAT is capable of enumerating directories and files<\/td>\n<td width=\"150\">Command: DIR*<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">Impact<\/td>\n<td width=\"150\">Data Destruction (T1485)<\/td>\n<td width=\"150\">Almond RAT is capable of deleting accessible files on the system<\/td>\n<td width=\"150\">Command: DELETE*filepath<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><\/h2>\n<h2 style=\"font-weight: 400;\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Fazit<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Die Bitter Gruppe setzt ihren Exploit-Ansatz in Asien mit thematischen K\u00f6dern und internen \u00c4nderungen fort, um bestehende Detektionen zu umgehen. Um sich vor solchen Angriffen zu sch\u00fctzen, sollten Ma\u00dfnahmen zur Erkennung und Bek\u00e4mpfung von Netzwerken und Endpunkten ergriffen werden, und h\u00e4ufig ausgenutzte Software wie Microsoft Office sollte regelm\u00e4\u00dfig aktualisiert werden. Wir werden diese Bedrohungsgruppe weiterhin beobachten und \u00fcber \u00c4nderungen ihrer Taktiken, Techniken und Verfahren berichten.<\/p>\n<p><strong>Vielen Dank, dass Sie sich die Zeit genommen haben, unseren Analysebericht zu lesen! Wenn Sie \u00fcber unsere Forschung auf dem Laufenden bleiben m\u00f6chten, sollten Sie uns auf <a  href=\"https:\/\/twitter.com\/SI_FalconTeam\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Twitter<\/a> folgen.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Bitter-Bedrohungsgruppe setzt ihren Exploit-Ansatz in Asien mit thematischen K\u00f6dern und internen \u00c4nderungen fort, um bestehende Entdeckungen zu umgehen.<\/p>\n","protected":false},"author":6,"featured_media":30128,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[68,101,66],"tags":[],"dpc_coauthors":[],"class_list":["post-30237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cyber-defense","category-netzwerk","category-techtalk"],"acf":[],"_links":{"self":[{"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/30237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/comments?post=30237"}],"version-history":[{"count":0,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/30237\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/media\/30128"}],"wp:attachment":[{"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/media?parent=30237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/categories?post=30237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/tags?post=30237"},{"taxonomy":"dpc_coauthors","embeddable":true,"href":"https:\/\/testing.secuinfra.com\/de\/wp-json\/wp\/v2\/dpc_coauthors?post=30237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}