Malware Trojan.DNSChanger umgeht Powershell-Restrictionen

Noch eine kurze Sicherheitsinfo: Eine Schadsoftware mit dem Namen Trojan.DNSChanger kann die Sicherheitseinstellungen der Powershell unter Windows umgehen.


Anzeige

Normalerweise verhindert PowerShell mit den Standardvorgabe die Ausführung von PS-Scripten (siehe mein Artikel PowerShell-Skripte lassen sich nicht ausführen). Die Ausführungsregeln für PowerShell-Scripte ist standardmäßig auf “Restricted” gesetzt. Allerdings ist die PowerShell eine potentielle Schwachstelle, wie ich vor längerer Zeit im Artikel Windows PowerShell als Einfallstor für Malware ausgeführt habe.

Nun wurde eine Malware mit dem Namen Trojan.DNSChanger entdeckt, die sich die PowerShell zunutze macht und die PowerShell-Restriktionen umgeht. Darauf weist Malwarebytes in diesem Blog-Beitrag hin. Die Autoren des Blog-Beitrags weisen darauf hin, dass es möglich ist, ein PowerShell-Script so zu verschlüsseln (encoden), dass es wie ein einzelner Befehl aussieht. Adware zum Ändern der DNS-Einstellungen sieht meist so aus.

powershell.exe -nologo -executionpolicy bypass -noninteractive -windowstyle hidden –EncodedCommand {very long string}

Die jetzt entdeckte Adware verwendet die Aufgabenplanung zur Ausführung, wobei ein Zufallsname und eine zufällige ClassID zur Ausführung des PowserShell-Befehls verwendet wird. Details zu dieser Malware finden sich in diesem Malwarebytes Blog-Beitrag.


Anzeige

Dieser Beitrag wurde unter Sicherheit, Virenschutz, Windows abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

3 Kommentare zu Malware Trojan.DNSChanger umgeht Powershell-Restrictionen

  1. Dekre sagt:

    @Danke lieber Herr Born für diesen Beitrag,
    Ich möchte noch einmal auf diesen Beitrag hinweisen. Ich lese fast täglich die Blog-Info von Malwarebytes, muss aber auch zugeben. dass ich – eben laienhaft – nicht ganz so viel verstehe. Aus gegebenem Anlass hatte ich vor ca. 10 Tagen mal einem PCs mit diversen Scannern untersucht. Ich darf ausdrücklich auf die Links verweisen. Ich bin gerade dabei das aufzuarbeiten, weil es mir heute wieder wie “Schuppen aus den Augen viel”. Es geht um die Regedit-Einstellung:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\”ExecutionPolicy”

    Ich arbeite es auf und melde mich hierzu mit den entsprechenden Resultaten. Vielleicht kann mir dann auch nach Einstellung ein mehr Wissender mit Powershell mehr Klarheit bringen.

    • Dekre sagt:

      Hier nun mein Beitrag:

      Aus gegebenem Anlass habe ich bei einem PC neben den installierten Antiviren- und Antimalwarescanner (MSE, Emsisoft Emergency Kit, Malwarebytes Antimalware, HitmanPro) mehrere Antivirentools durchlaufen lassen, so:
      # Microsoft Defender Offline,
      # Avira EU-Cleaner,
      # Kaspersky Virus Removal Tool (KVRT),
      # Norton Power Eraser (NPE) mit der Option „Scan auf Risiken“ und „Rootkit-Scan“.

      KVRT lieferte 1 false positiv Meldung und NPE mehrere (wegen Bürosoftware). Der NPE hat aber darüber hinaus den Reg-Eintrag

      Registrierungsschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\”ExecutionPolicy”

      als „bösartig“ aufgelistet. In der Regedit war der Parameter auf „Unrestricted“ gesetzt. Zu den Schlüsseln siehe auch obiger Link zum Blogbeitrag von Malwarebytes mit dortigen Link auf die TechNet Bibliothek. Ich habe dann händisch den Schlüssel auf „Restricted“ gesetzt. Eine neue Suche mit NPE lieferte dann keinen Fund mehr.

      Bei einem weiteren PC war der Reg-Eintrag ebenfalls auf „Unrestricted“ gesetzt. NPE fand diesen auch aus bösartig und ich stelle dann auf „Restricted“ um. Bei einem dritten PC waren die Schlüssel so nicht vorhanden.

      Ich denke, der Schlüssel sollte auf „Resticted“ als Standard-Ausführungsrichtlinie stehen.

      Frage: Ist Jemanden das auch aufgefallen und ist das so richtig?

      • ein-leser sagt:

        Bei mir unter Win7 x64 SP1 Home Premium ist das nicht der Fall.
        Unter “…\PowerShell\1\ShellIds\Microsoft.PowerShell\” befindet sich kein “ExecutionPolicy“ Wert. Nur unter “…\PowerShell\1\ShellIds\ScriptedDiagnostics”. Dieser steht allerdings auf Resticted.

        Du kannst das ganze auch via Powershell und diesen Befehl prüfen wie dein aktueller Status ist:
        mittels “Get-ExecutionPolicy”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.