Zitat von
freakfly:
Ich bin am Computer angemeldet als Benutzer "David".
David startet ein Programm, dieses Programm (start.exe) startet dann ein anderes Programm (Daten.exe) mittels
CreateProcessWithLogonW unter dem Benutzer "Software".
Programm start.exe beendet sich nach 30 Sekunden selber.
Das Programm Daten.exe soll nun ein Programm starten, mit den Rechten des angemeldeten Benutzers in dem jetztigen Fall "David". Es kann aber sein, dass morgen ein anderer Benutzer angemeldet ist!
Dann würde ich so vorgehen:
start.exe startet Daten.exe per CreateProcessWithLogonW und erhält daraufhin ein Prozess-
Handle des neuen Prozesses. Über dieses
Handle kann start.exe nun sein Token per DuplicateHandle an Daten.exe vererben. Daten.exe kann dieses Token dann benutzen um einen neuen Prozess unter diesem Security-Kontext zu starten.