darkzonesd
Goto Top

Restart Kiosk MSEdge bei nicht Ausführung

Moin Moin Zusammen,

ich bin gerade dabei ein Terminal bei uns mit Scheduled Tasks zu versehen die Edge im Kiosk-Mode aufrufen. Ich habe mir eine .lnk Datei gebastelt die mir die richtige Webseite gibt mit ihren Argumenten.
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --kiosk www.MeineWebsite.com --edge-kiosk-type=fullscreen  
Ich möchte nun aber alle 5 Minuten testen ob Edge geöffnet ist, das funktioniert in der Theorie auch.. nur nicht in der Realität.. Die Task die ich erstelle zum ermitteln ob edge läuft sieht so aus:
    
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "invoke-command -scriptblock {if (!(Get-Process msedge)){ Start-ScheduledTask -TaskName 'TEST'}else {return}}"  
    $t1 = New-ScheduledTaskTrigger -Daily -At 01:00
    $t2 = New-ScheduledTaskTrigger -Once -At 01:00 `
        -RepetitionInterval (New-TimeSpan -Minutes 15) `
        -RepetitionDuration (New-TimeSpan -Hours 23 -Minutes 55)
    $t1.Repetition = $t2.Repetition
    $principal = New-ScheduledTaskPrincipal -UserId "$env:USERDOMAIN_ROAMINGPROFILE\$env:USERNAME"  
    $settings = New-ScheduledTaskSettingsSet
    $task = New-ScheduledTask -Action $action -Principal $principal -Trigger $t1 -Settings $settings
    Register-ScheduledTask "CheckForEdge" -InputObject $task  
Die funktioniert soweit, nur leider ist Edge ja anscheinend nie wirklich "aus".. Weshalb es auch nie die Kondition erfüllt.
edge
So sieht es aus wenn ich kein Browser Fenster in Edge offen habe..

Meine Frage ist nun, kann ich spezifisch prüfen ob Edge www.MeineWebsite.com geöffnet hat? Oder es auf anderen Wegen Überprüfen?

Viele Grüße

Flo

Content-ID: 72978246156

Url: https://administrator.de/contentid/72978246156

Ausgedruckt am: 23.11.2024 um 22:11 Uhr

DarkZoneSD
Lösung DarkZoneSD 06.09.2023 aktualisiert um 10:26:55 Uhr
Goto Top
So ich habe die Lösung für das Problem, nämlich ist diese nicht Edge zu benutzen face-smile

Mit Google Chrome funktioniert es wesentlich besser da es keine versteckten Prozesse gibt ( bis jetzt zumindest )..

Falls jemand an dem Skript interessiert ist, man gibt in der Eingabeaufforderung eine URL ein und den Namen der Aufgabe ein und das Skript erstellt dann 2 Tasks mit dem jetzigen angemeldeten Benutzer und eine .lnk Datei auf die Website, die eine Task wird alle 5 Minuten ausgeführt zum schauen ob die Instanz noch ausgeführt wird, die andere Aufgabe ruft lediglich die .lnk Datei auf.

Vorraussetzung ist natürlich das Chrome installiert ist, das ganze sollte aber auch mit jedem Chrome basierten Browser funktionieren indem man einfach:
$TargetFile = "C:\Program Files\Google\Chrome\Application\chrome.exe"  
Durch den gewünschten Browser ersetzt..

Die Variable zum ausführen des Browsers kann mit beliebigen Chromium Switches ausgeführt werden um das gewünschte Ergebnis zu erhalten. Eine Liste für alle Chromium Switche gibt es hier.
    $Shortcut.Arguments = " --kiosk $URL --edge-kiosk-type=fullscreen --force-device-scale-factor=1.3"  

$folderpath = "$env:Appdata\Tasks"  
if (!(Test-Path $folderpath -PathType Container)){
    New-Item -ItemType Directory -Force -Path $folderpath        
}

$URL = Read-Host -Prompt "Enter URL"  
$TaskName = Read-Host -Prompt "Enter the name of the task"  
Write-Host $URL
Write-Host $TaskName
Write-Host $folderpath

$TargetFile = "C:\Program Files\Google\Chrome\Application\chrome.exe"  
$ShortcutFile = "$folderpath\$TaskName.lnk"  
$WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
    $Shortcut.TargetPath = $TargetFile
    $Shortcut.Arguments = " --kiosk $URL --edge-kiosk-type=fullscreen --force-device-scale-factor=1.3"  
    $Shortcut.Save()
   
    $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "invoke-command -scriptblock {invoke-item '$ShortcutFile'}"  
    $trigger = New-ScheduledTaskTrigger -AtLogOn
    $principal = New-ScheduledTaskPrincipal -UserId "$env:USERDOMAIN_ROAMINGPROFILE\$env:USERNAME"  
    $settings = New-ScheduledTaskSettingsSet
    $task = New-ScheduledTask -Action $action -Principal $principal -Trigger $trigger -Settings $settings
    Register-ScheduledTask "KIOSK\$TaskName" -InputObject $task  

    $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "invoke-command -scriptblock {if (!(Get-Process chrome)){ Start-ScheduledTask -TaskName 'KIOSK\$TaskName'}}"  
    $t1 = New-ScheduledTaskTrigger -Daily -At 01:00
    $t2 = New-ScheduledTaskTrigger -Once -At 01:00 `
        -RepetitionInterval (New-TimeSpan -Minutes 15) `
        -RepetitionDuration (New-TimeSpan -Hours 23 -Minutes 55)
    $t1.Repetition = $t2.Repetition
    $principal = New-ScheduledTaskPrincipal -UserId "$env:USERDOMAIN_ROAMINGPROFILE\$env:USERNAME"  
    $settings = New-ScheduledTaskSettingsSet
    $task = New-ScheduledTask -Action $action -Principal $principal -Trigger $t1 -Settings $settings
    Register-ScheduledTask "KIOSK\RepeatCheck-$TaskName" -InputObject $task  

Viele Grüße

Flo
DerWoWusste
DerWoWusste 06.09.2023 um 10:36:14 Uhr
Goto Top
Hi.

Ich empfehle Assigned Access dazu zu nutzen. Da kann das Kiosk nicht geschlossen werden.
DarkZoneSD
DarkZoneSD 06.09.2023 um 12:54:54 Uhr
Goto Top
Moin,

das mach ich jetzt noch Danke für die Anmerkung.

Grüße face-smile
Max2020
Max2020 06.09.2023 um 13:59:41 Uhr
Goto Top
Ich habe bei uns MS Edge als Shell in Vollbildmodus gestartet.
Wenn es geschlossen wird, dann startet es nochmal neu.

Configure a custom shell using PowerShell
DarkZoneSD
DarkZoneSD 06.09.2023 um 21:23:14 Uhr
Goto Top
Zitat von @DerWoWusste:

Hi.

Ich empfehle Assigned Access dazu zu nutzen. Da kann das Kiosk nicht geschlossen werden.

funktioniert bis jetzt super, habe bis jetzt auch keine Exploits dafür gefunden (Alt+F4, Win+Ctrl, Alt+Tab, Alt+Shift+Tab) scheinen alle nichts zu tun.

Wirkt besser als das Skript und kommt ja auch direkt von MS..

Da der PC an sich verschlossen ist und das Keyboard und die Maus der einzige zugriff auf das System ist sollte es nun (theoretisch) sicher sein, oder gibt es noch andere Exploits? Habe per GPO lokale benutzerkonten bei der Anmeldung versteckt damit man nicht an den lokalen Admin Namen kommt.

Grüße
DerWoWusste
DerWoWusste 07.09.2023 um 09:05:51 Uhr
Goto Top
gibt es noch andere Exploits?
Mir sind keine bekannt. Du kannst dein Glück ja versuchen mit einer Googlesuche nach "assigned access umgehen", aber es sieht nicht so aus, als wäre da was öffnetlich bekannt.
DarkZoneSD
DarkZoneSD 07.09.2023 um 09:57:49 Uhr
Goto Top
Mir sind keine bekannt. Du kannst dein Glück ja versuchen mit einer Googlesuche nach "assigned access umgehen", aber es sieht nicht so aus, als wäre da was öffnetlich bekannt.
Scheint als gäbe es doch ein paar Exploits, die sogar ohne Admin PW funktionieren. Erfordert einen sehr Erfahrenen Angreifer aber das wäre ja bei so einem Angriff zu erwarten.. Assigned Access Kiosk - Breakout

Gibt einem noch keinen richtigen Access da man die CMD nur mit normalen User Rechte hat. Damit kann man aber schon genug Unfug anstellen. Man kann das ganze aber verhindern indem man den Explorer komplett blockt.

User Configuration > Administrative Templates > Windows Components > Windows Explorer > Prevent access to drives from My Computer

Also kann man wie fast immer sagen, die richtige Konfiguration macht es sicher face-smile

Grüße

Florian
DerWoWusste
DerWoWusste 07.09.2023 um 10:06:04 Uhr
Goto Top
Mein Gott, was hast Du da ausgegraben...
Der Breakout braucht Adminrechte, um zu funktionieren!
DarkZoneSD
DarkZoneSD 07.09.2023 aktualisiert um 10:18:40 Uhr
Goto Top
Wird im hinteren teil auch ohne Credentials ausgeführt..

Wie gesagt, kann man mit den richtigen Policies unterbinden.
DerWoWusste
DerWoWusste 07.09.2023 um 10:41:52 Uhr
Goto Top
Oh weia. Danke dafür. Ich hatte den Rotbart schon abgestempelt, sorry.
Das spricht mal wieder Bände wie grunddämlich MS arbeitet.

Ich würde dir empfehlen, entweder den Explorer zu sperren und/oder die user-writable locations mit Applocker-Deny-Regeln zu belegen.
DarkZoneSD
DarkZoneSD 07.09.2023 aktualisiert um 11:27:56 Uhr
Goto Top
Oh weia. Danke dafür. Ich hatte den Rotbart schon abgestempelt, sorry.
Verständlich wenn man jemanden sieht der einen Breakout mit dem Admin PW macht..

Er hat aber tatsächlich interessante Videos, vorallem zum Thema Malware - Reverse Engineering, die sind das anschauen Wert face-smile
Das spricht mal wieder Bände wie grunddämlich MS arbeitet.
Ich war bis zur Entdeckung dieses Videos auch sehr überrascht darüber wie solide sich das Kiosk angefühlt hat. Naja wohl doch mehr Schein als Sein..
Ich würde dir empfehlen, entweder den Explorer zu sperren und/oder die user-writable locations mit Applocker-Deny-Regeln zu belegen.
Werde ich demnächst machen.

Wäre es Angemessen darüber einen Informationsbeitrag zu machen für die Kollegen? Ich denke ich werde einen Info-Beitrag erstellen damit es einfacher ist zu finden, mit Wegen um diesen Breakout zu umgehen..

Grüße

Florian
DerWoWusste
DerWoWusste 07.09.2023 um 11:46:37 Uhr
Goto Top
Wäre es Angemessen darüber einen Informationsbeitrag zu machen für die Kollegen? I
Auf jeden. Ich werde den verlinken, wo ich kann.
DarkZoneSD
DarkZoneSD 07.09.2023 um 12:32:18 Uhr
Goto Top
Nicht so schnell, scheint (zumindest in der 22H2) gefixed zu sein. Ich werden mal ein paar Rechner mit 21H1, etc. aufsetzen um das mal zu prüfen.

Grüße
DarkZoneSD
DarkZoneSD 07.09.2023 um 15:11:23 Uhr
Goto Top
Zitat von @DerWoWusste:

Wäre es Angemessen darüber einen Informationsbeitrag zu machen für die Kollegen? I
Auf jeden. Ich werde den verlinken, wo ich kann.

FYI Breakout Exploit - Windows 10 Kiosk

Grüße