Powershell Remote Session: -EncodedCommand denied by BitDefender

Resolved

Powershell Remote Session: -EncodedCommand denied by BitDefender

avatar

Moin.

Beim erstellen einer Remote PowerShell Session wir die Shell mit -EncodedCommand aufgerufen.
Problem: der zentral konfigurierte BitDefender im Haus (auf dessen Konfiguration ich keinen Einfluss habe), wertet das als "schädliche Befehlszeile"... hmm...

Meine Idee: via Settings in Session der Session Konfiguration Types - Sessions - PowerShell:
den Execute mode auf command (statt encoded command) zu setzen.

Leider ändert das nichts... die Remote PowerShell Session wird trotzdem mit dem parameter -EncodedCommand aufgerufen was dann wieder den BitDefender triggert...

Was mache ich falsch?

All Comments (5)

avatar

Hallo.

Danke, dass Sie uns in dieser Angelegenheit kontaktiert haben.

Es ist möglich, dass die Option, die Sie aktualisiert haben, nur auf die Einträge PowerShell (lokal) und PowerShell Script (lokal) angewendet wird.

Ich werde dies mit dem Entwicklerteam überprüfen und mich bei Ihnen melden.

Vielen Dank für Ihre Geduld.

Mit freundlichen Grüßen,

Érica Poirier

avatar

Hallo,

Leider wirkt sich die Einstellung des Ausführungsmodus für PowerShell nur auf lokale PowerShell-Eingaben aus, nicht auf Remote-PowerShell-Sitzungen. Der Typ für Remote-PowerShell-Eingaben startet einen neuen powershell.exe- oder pwsh.exe-Prozess mit einem speziellen -EncodedCommand-Parameter, der Code enthält, um den wahren Befehl aus einem benannten Pipe zu lesen ("Secure Command"-Modus). Dieser Modus ist notwendig, um zu verhindern, dass die Anmeldedaten in den Befehlszeilenargumenten durchsickern. Selbst wenn wir dies umgehen könnten, um -Command zu verwenden, würden wir auf Probleme mit der Zeichenkodierung stoßen. Leider ist -EncodedCommand die einzige unterstützte Methode, um ein interaktives PowerShell-Terminal zu starten, bei dem ein Befehl automatisch beim Start ausgeführt wird. Ich wünschte, es gäbe einen besseren Weg, dies zu unterstützen, aber das ist nicht der Fall, es sei denn, wir beginnen damit, PowerShell zu modifizieren. Für den Moment wäre wohl die einzige Lösung, BitDefender dazu zu bringen, diese Falschmeldung nicht mehr zu markieren. Vielleicht versuchen Sie es mit PowerShell 7 (pwsh.exe) und sehen, ob BitDefender damit nicht so streng ist?

Marc-André Moreau

avatar

Moin.

Besten Dank für die zügige und umfangreiche Antwort.

Was Ihre Lösungsansätze angeht:
".... Für den Moment wäre wohl die einzige Lösung, BitDefender dazu zu bringen, diese Falschmeldung nicht mehr zu markieren. ...."
Die ist im Haus zentral verwaltet.... da werde ich keine Änderung durch drücken können. Da grassiert die Paranoia (verständlicher weise bei der Anzahl an Einschlägen im EDU Bereich).

Das mit pwsh probiere ich mal aus - besten Dank.

avatar

*Bingo*

pwsh.exe (PowerShell 7) war die Lösung.
Da schlägt BitDefender nicht an.

Damit entfallen zwar einige Windows spezifische PS commands, aber damit kann ich leben.
Zumal ich ps51 via ps 7x aufrufen kann.

Top!
Danke!

Solved!

avatar

Ich bin froh, dass es funktioniert und dass der Wechsel zu PowerShell 7 eine geeignete Lösung ist. Antivirenprogramme sind sehr streng mit der Verwendung von -EncodedCommand, weil es oft von Malware verwendet wird, aber leider ist es der einzige Weg, ein neues interaktives PowerShell-Terminal mit einem eingefügten Befehl beim Start zu starten. Hoffentlich wird pwsh.exe -EncodedCommand für eine Weile nicht markiert, da Malware dazu neigt, Windows PowerShell zu verwenden und nicht PowerShell 7 ;)

Marc-André Moreau