{"id":25712,"date":"2022-03-15T08:56:50","date_gmt":"2022-03-15T07:56:50","guid":{"rendered":"https:\/\/www.secuinfra.com\/?p=25712"},"modified":"2022-03-31T09:48:42","modified_gmt":"2022-03-31T07:48:42","slug":"n-w0rm-analyse-teil-2","status":"publish","type":"post","link":"https:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-2\/","title":{"rendered":"N-W0rm Analyse (Teil 2)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 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:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-2\/#Einstiegspunkt\" >Einstiegspunkt<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-2\/#Informationssammlung\" >Informationssammlung<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-2\/#IOC\" >IOC<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-2\/#Serienuebersicht\" >Serien\u00fcbersicht<\/a><\/li><\/ul><\/nav><\/div>\n<p>Bevor wir diesen RAT eingehend analysieren, zeigen wir einen \u00dcberblick \u00fcber sein Verhalten in Form eines Diagramms. Dies kann helfen, seine innere Funktionsweise auf einer h\u00f6heren Ebene zu verstehen:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-25598 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_1.png\" alt=\"\" width=\"1300\" height=\"2564\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1.png 1300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-152x300.png 152w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-519x1024.png 519w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-768x1515.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-779x1536.png 779w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-1038x2048.png 1038w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-12x24.png 12w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-18x36.png 18w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_1-24x48.png 24w\" sizes=\"(max-width: 1300px) 100vw, 1300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Um dieses Beispiel zu analysieren, werden wir es mit dnSpy \u00f6ffnen, um es zu dekompilieren und m\u00f6glicherweise zu debuggen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Einstiegspunkt\"><\/span>Einstiegspunkt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wir beginnen mit dem Einstiegspunkt dieses RATs und analysieren seinen ausgef\u00fchrten Code, bevor wir alle m\u00f6glichen Module dieses RATs untersuchen. Um zum Einstiegspunkt zu springen, k\u00f6nnen wir mit der rechten Maustaste auf das Klassenmen\u00fc auf der linken Seite klicken und Go to Entry Point w\u00e4hlen:<\/p>\n<figure id=\"attachment_25599\" aria-describedby=\"caption-attachment-25599\" style=\"width: 713px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-25599 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_2.png\" alt=\"\" width=\"713\" height=\"550\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_2.png 713w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_2-300x231.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_2-24x19.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_2-36x28.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_2-48x37.png 48w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><figcaption id=\"caption-attachment-25599\" class=\"wp-caption-text\">Abb. 1: Erreichen des Einstiegspunkts<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>Auf diese Weise gelangen wir zur ersten aufgerufenen Funktion namens <strong>uLnqUtvIwAOVXLU.<\/strong> Zum besseren Verst\u00e4ndnis haben wir sie unten eingef\u00fcgt. Sie schl\u00e4ft zun\u00e4chst 2 Sekunden lang, bevor sie <strong>hlIinikmNYFRC.gwgzcfkYmyQKIgW()<\/strong> aufruft. Wenn diese Funktion False zur\u00fcckgibt, dann existiert der RAT, was bedeutet, dass diese Funktion wahrscheinlich einige Umgebungspr\u00fcfungen durchf\u00fchren wird. Beginnen wir damit, zu untersuchen, was der RAT pr\u00fcft.<\/p>\n<figure id=\"attachment_25600\" aria-describedby=\"caption-attachment-25600\" style=\"width: 721px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-25600 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_3.jpeg\" alt=\"\" width=\"721\" height=\"393\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_3.jpeg 721w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_3-300x164.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_3-24x13.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_3-36x20.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_3-48x26.jpeg 48w\" sizes=\"(max-width: 721px) 100vw, 721px\" \/><figcaption id=\"caption-attachment-25600\" class=\"wp-caption-text\">Abb. 2: Der Einstiegspunkt<\/figcaption><\/figure>\n<p><strong>hlIinikmNYFRC.gwgzcfkYmyQKIgW()<\/strong><\/p>\n<p>Der Inhalt der Funktion ist unten zu sehen. Der RAT versucht, einen neuen Mutex zu erstellen. Der Name des Mutex ist in der Variablen <strong>hlIinikmNYFRC.HREdkIUrRAzFBOcfZ<\/strong> zu finden und lautet 2e3fb6d0. Dies ist ein relevanter IOC.<\/p>\n<figure id=\"attachment_25601\" aria-describedby=\"caption-attachment-25601\" style=\"width: 922px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25601 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_4.jpeg\" alt=\"\" width=\"922\" height=\"141\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4.jpeg 922w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4-300x46.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4-768x117.jpeg 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4-24x4.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4-36x6.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_4-48x7.jpeg 48w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><figcaption id=\"caption-attachment-25601\" class=\"wp-caption-text\">Abb. 3: Mutex Erstellung<\/figcaption><\/figure>\n<p>Wenn die Mutex bereits erstellt wurde, ist das Ergebnis False, aber wenn die Erstellung der Mutex erfolgreich ist, ist das Ergebnis True. Abschlie\u00dfend pr\u00fcft der Einstiegspunkt, ob die Mutex bereits existiert, d.h. ob das System bereits mit diesem RAT infiziert wurde.<\/p>\n<p><strong>hlIinikmNYFRC.ATCCkfeyJnyt()<\/strong><\/p>\n<p>Wenn die Mutex-Pr\u00fcfung bestanden wurde, ruft das RAT hlIinikmNYFRC.ATCCkfeyJnyt() auf und \u00fcbergibt ein Enum. Dies ist nur ein Wrapper zum Aufruf von SetThreadExecutionState. Laut den\u00a0<a  href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/api\/winbase\/nf-winbase-setthreadexecutionstate\"  dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >Microsoft Dokumenten<\/a> bewirkt diese Funktion folgendes: &#8222;Erm\u00f6glicht es einer Anwendung, dem System mitzuteilen, dass sie in Gebrauch ist, und verhindert so, dass das System in den Ruhezustand geht oder den Bildschirm ausschaltet, w\u00e4hrend die Anwendung l\u00e4uft.&#8220;<\/p>\n<p>Zum Schluss startet der Einstiegspunkt einen neuen Thread und \u00fcbergibt die Kontrolle an <strong>hlIinikmNYFRC.fqLxpecOTiCgE<\/strong><\/p>\n<p><strong>hlIinikmNYFRC.fqLxpecOTiCgE<\/strong><\/p>\n<p>Diese Funktion beginnt mit einer Endlosschleife und ist im Wesentlichen daf\u00fcr verantwortlich, die Befehle zu erhalten und zu interpretieren. Wenn die Verbindung nicht aufgebaut oder unterbrochen wird, wird sie zur\u00fcckgesetzt. Hier erfahren wir auch die C2-Adresse, die von diesem RAT verwendet wird: <strong>nyanmoney02[.]duckdns.org<\/strong><\/p>\n<p>An dieser Stelle gibt es eine interessante Beobachtung. Wenn die Verbindung zum C2 ausf\u00e4llt, wird eine zweite C2-Adresse verwendet. Diese Ausweichadresse ist jedoch dieselbe wie die prim\u00e4re. Entweder hat der Autor der Malware also vergessen, die Failback-Adresse zu \u00e4ndern oder es handelt sich bei dieser Version des RAT nur um eine Alpha\/Beta-Version.<\/p>\n<p>Wir werden die Socket-Behandlung hier nicht eingehend analysieren, sondern uns stattdessen alle Informationen, die der RAT an seinen Operator sendet und die Funktion, die die empfangenen Befehle verarbeitet, genauer ansehen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Informationssammlung\"><\/span><strong>Informationssammlung<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wenn der RAT eine neue Verbindung herstellt oder eine neue Verbindung aufbaut, sendet er einige allgemeine Informationen \u00fcber den Host an seinen C2. Wir werden nicht jede Funktion Zeile f\u00fcr Zeile durchgehen, sondern vielmehr zusammenfassen, welche Informationen gesammelt und zur\u00fcckgesendet werden:<\/p>\n<ul>\n<li>Benutzer Dom\u00e4nenname<\/li>\n<li>Benutzername<\/li>\n<li>Anzahl der Prozessoren<\/li>\n<li>Vollst\u00e4ndiger Name des Betriebssystems<\/li>\n<li>Ist der Benutzer Administrator?<\/li>\n<li>Version des RAT (das analysierte RAT hat die Version v0.3.8)<\/li>\n<li>Liste der installierten Antivirenprodukte mit Hilfe einer WMI-Abfrage<\/li>\n<li>Letzte Schreibzeit des RAT auf der Festplatte<\/li>\n<li>Pfad des RATs auf der Festplatte<\/li>\n<li>Module<\/li>\n<\/ul>\n<p>Bevor wir alle verf\u00fcgbaren Module erl\u00e4utern, werden wir zun\u00e4chst die Vorverarbeitung der empfangenen Daten betrachten.<\/p>\n<figure id=\"attachment_25602\" aria-describedby=\"caption-attachment-25602\" style=\"width: 763px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25602 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_5.jpeg\" alt=\"\" width=\"763\" height=\"120\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_5.jpeg 763w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_5-300x47.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_5-24x4.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_5-36x6.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_5-48x8.jpeg 48w\" sizes=\"(max-width: 763px) 100vw, 763px\" \/><figcaption id=\"caption-attachment-25602\" class=\"wp-caption-text\">Abb. 4: Vorverarbeitung der empfangenen Daten<\/figcaption><\/figure>\n<p>Bevor ein Modul ausgef\u00fchrt wird, wird eine weitere Funktion aufgerufen und die Eingabe wird aufgeteilt. Die Funktion GYZswDqNcBskynCV() ist daf\u00fcr verantwortlich, die Zeichenkette &#8222;received&#8220; an ihr C2 zu senden und f\u00fcr 1 Sekunde zu schlafen. Als n\u00e4chstes wird die Eingabe durch ein hartkodiertes Trennzeichen, n\u00e4mlich &#8222;|NW|&#8220;, geteilt. Der erste Wert in dieser Liste ist der Schl\u00fcssel bzw. das Modul, das ausgef\u00fchrt werden soll. Alle weiteren Daten werden als Parameter f\u00fcr das gew\u00e4hlte Modul verwendet. Wir werden nun alle Module im Detail erkl\u00e4ren.<\/p>\n<p><strong>runFile<\/strong><\/p>\n<figure id=\"attachment_25603\" aria-describedby=\"caption-attachment-25603\" style=\"width: 922px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25603 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_6.jpeg\" alt=\"\" width=\"922\" height=\"666\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6.jpeg 922w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6-300x217.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6-768x555.jpeg 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6-24x17.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6-36x26.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_6-48x35.jpeg 48w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><figcaption id=\"caption-attachment-25603\" class=\"wp-caption-text\">Abb. 5: Modul runFile<\/figcaption><\/figure>\n<p>Dieses Modul ist weiter in mehrere Optionen unterteilt. Der RAT kann Bin\u00e4rdateien direkt im Speicher ausf\u00fchren oder die Daten zun\u00e4chst auf die Festplatte schreiben und von dort aus ausf\u00fchren. Wenn die \u00fcbergebene Datei ein PowerShell-Skript war, werden die typischen Argumente verwendet. Wenn array[3] wahr ist, l\u00f6scht sich der RAT schlie\u00dflich selbst.<\/p>\n<p><strong>runUrl<\/strong><\/p>\n<p>Dieses Modul ist dem vorherigen sehr \u00e4hnlich, au\u00dfer dass der Operator eine URL \u00fcbergibt und der RAT die Datei selbst herunterl\u00e4dt und ausf\u00fchrt.<\/p>\n<p><strong>Plugin<\/strong><\/p>\n<p>Hier kann der Operator weitere Plugins in dieses .NET-Binary laden und damit die Funktionalit\u00e4t erweitern.<\/p>\n<p><strong>Schlie\u00dfen<\/strong><\/p>\n<p>Dieses Modul tut, was der Name sagt. Es schlie\u00dft die Mutex und den TcpClient und beendet sich dann.<\/p>\n<p><strong>Neu starten<\/strong><\/p>\n<p>Der Aufruf dieses Moduls schlie\u00dft ebenfalls zuerst die Mutex und den TcpClient und legt dann eine Batch-Datei im Verzeichnis %temp% an.<\/p>\n<figure id=\"attachment_25604\" aria-describedby=\"caption-attachment-25604\" style=\"width: 242px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25604 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_7.jpeg\" alt=\"\" width=\"242\" height=\"99\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_7.jpeg 242w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_7-24x10.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_7-36x15.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_7-48x20.jpeg 48w\" sizes=\"(max-width: 242px) 100vw, 242px\" \/><figcaption id=\"caption-attachment-25604\" class=\"wp-caption-text\">Abb. 6: Temp Batch Skript<\/figcaption><\/figure>\n<p>Nach dem Start der Batchdatei beendet sich das Programm selbst.<\/p>\n<p><strong>del<\/strong><\/p>\n<p>Dieses Modul l\u00f6scht den RAT und schlie\u00dft den Mutex und TcpClient.<\/p>\n<p><strong>ps1<\/strong><\/p>\n<p>F\u00fchrt die angegebene ps1-Datei aus.<\/p>\n<p><strong>url<\/strong><\/p>\n<p>Hier wird der Inhalt einer \u00fcbergebenen URL heruntergeladen. Es scheint jedoch nichts zu passieren, wenn die Anfrage erfolgreich war.<\/p>\n<figure id=\"attachment_25605\" aria-describedby=\"caption-attachment-25605\" style=\"width: 1422px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25605 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_8.jpeg\" alt=\"\" width=\"1422\" height=\"330\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8.jpeg 1422w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-300x70.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-1024x238.jpeg 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-768x178.jpeg 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-24x6.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-36x8.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_8-48x11.jpeg 48w\" sizes=\"(max-width: 1422px) 100vw, 1422px\" \/><figcaption id=\"caption-attachment-25605\" class=\"wp-caption-text\">Figure 7: Modul url (dekompiliert mit DnSpy)<\/figcaption><\/figure>\n<p>Um zu \u00fcberpr\u00fcfen, dass es sich nicht nur um eine fehlerhafte Dekompilierung handelt, habe ich meine Ergebnisse mit ILSpy \u00fcberpr\u00fcft. Das Ergebnis ist mehr oder weniger dasselbe. Entweder ist diese Methode nicht fertig oder sie wird nur verwendet, um zu \u00fcberpr\u00fcfen, ob eine Verbindung besteht (vielleicht f\u00fcr Sandbox-Tests?).<\/p>\n<figure id=\"attachment_25606\" aria-describedby=\"caption-attachment-25606\" style=\"width: 1422px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25606 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_9.jpeg\" alt=\"\" width=\"1422\" height=\"309\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9.jpeg 1422w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-300x65.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-1024x223.jpeg 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-768x167.jpeg 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-24x5.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-36x8.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_9-48x10.jpeg 48w\" sizes=\"(max-width: 1422px) 100vw, 1422px\" \/><figcaption id=\"caption-attachment-25606\" class=\"wp-caption-text\">Abb. 8: Modul url (dekompiliert mit ILSpy)<\/figcaption><\/figure>\n<p><strong>killer<\/strong><\/p>\n<p>Diese Funktion tut, was sie sagt &#8211; sie t\u00f6tet eine Menge Dinge.<\/p>\n<p>Zuerst durchl\u00e4uft sie alle Prozesse und wendet einige Pr\u00fcfungen auf den Namen des Prozesses an. Wenn das Attribut &#8222;FileName&#8220; des Prozesses eine der folgenden Pr\u00fcfungen erf\u00fcllt und das Fenster des Prozesses nicht sichtbar ist, wird der n\u00e4chste Block eingegeben:<\/p>\n<ul>\n<li>der Pfad enth\u00e4lt &#8222;wscript.exe&#8220;<\/li>\n<li>der Pfad enth\u00e4lt den Benutzerprofilpfad (d.h. C:\\Users\\&lt;USER&gt;)<\/li>\n<li>der Pfad enth\u00e4lt den Common Application Data Path (d. h. C:\\ProgramData).<\/li>\n<\/ul>\n<p>Wenn diese \u00dcberpr\u00fcfungen zutreffen, wird der Prozess beendet, das Programm wird gel\u00f6scht und das Programm wird aus den Registrierungsschl\u00fcsseln Run und RunOnce entfernt, die sich unter den folgenden Pfaden befinden:<\/p>\n<ul>\n<li>Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\\\Run<\/li>\n<li>Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\\\RunOnce<\/li>\n<\/ul>\n<p>Nach der Iteration durch alle Prozesse sendet der RAT die Anzahl der get\u00f6teten Prozesse an seinen C2.<\/p>\n<figure id=\"attachment_25607\" aria-describedby=\"caption-attachment-25607\" style=\"width: 1241px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25607 size-full\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/nw0rm_pt2_10.jpeg\" alt=\"\" width=\"1241\" height=\"561\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10.jpeg 1241w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-300x136.jpeg 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-1024x463.jpeg 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-768x347.jpeg 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-24x11.jpeg 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-36x16.jpeg 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/nw0rm_pt2_10-48x22.jpeg 48w\" sizes=\"(max-width: 1241px) 100vw, 1241px\" \/><figcaption id=\"caption-attachment-25607\" class=\"wp-caption-text\">Abb. 9: Modul killer<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"IOC\"><\/span><strong>IOC <\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Memory<\/strong><\/p>\n<p>Mutex: 2e3fb6d0<\/p>\n<p><strong>Network <\/strong><\/p>\n<p>nyanmoney02[.]duckdns.org<\/p>\n<p>Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.100 Safari\/537.36<\/p>\n<p>Port: 9031<\/p>\n<p><strong>Yara <\/strong><\/p>\n<p>Eine vollst\u00e4ndige Yara-Regel finden Sie hier -&gt; <a  href=\"https:\/\/github.com\/SIFalcon\/Detection\/blob\/main\/Yara\/RAT\/n-w0rm.yar\"  target=\"_blank\" rel=\"noopener\" dpc-external=\"true\"  target=\"_blank\"  rel=\"nofollow\" >SECUINFRA Falcon Team Git<\/a><\/p>\n<div class=\"fazit\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Serienuebersicht\"><\/span>Serien\u00fcbersicht<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/n-w0rm-analyse-teil-1\/\">N-W0rm Analyse Teil 1\u00a0<\/a><\/p>\n<p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wir beginnen mit dem Einstiegspunkt dieses RATs und analysieren seinen ausgef\u00fchrten Code, bevor wir alle m\u00f6glichen Module dieses RATs untersuchen. <\/p>\n","protected":false},"author":6,"featured_media":27266,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[79,80,66],"tags":[],"dpc_coauthors":[],"class_list":["post-25712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-forensics","category-incident-response","category-techtalk"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/25712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/comments?post=25712"}],"version-history":[{"count":0,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/25712\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/media\/27266"}],"wp:attachment":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/media?parent=25712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/categories?post=25712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/tags?post=25712"},{"taxonomy":"dpc_coauthors","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/dpc_coauthors?post=25712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}