AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi JWSCL: Prozess von Dienst starten im Benutzerkontext
Thema durchsuchen
Ansicht
Themen-Optionen

JWSCL: Prozess von Dienst starten im Benutzerkontext

Ein Thema von Zacherl · begonnen am 9. Mai 2011 · letzter Beitrag vom 10. Mai 2011
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 12:40
Hallo,

ich habe folgenden Code gefunden, welcher einen Prozess mit erhöhten Rechten aus einem Dienst heraus startet:
http://www.delphipraxis.net/793777-post29.html

Dies funktioniert soweit wunderbar, bis auf eine kleine Sache. Der Neue Prozess läuft im SYSTEM Kontext. Problemstellung ist ein unsigniertes Autostart Programm, welches zwingend Adminstratorrechte benötigt ohne UAC Fenster zu starten. Auf eingeschränkten Konten muss dies nicht funktionieren.

Kenne mich auf dem Gebiet nicht besonders aus, aber ist es irgendwie möglich das Token so zu modifizieren / zu erstellen, dass der vom Service gestartete Child Prozess im Kontext des angemeldeten Benutzers ausgeführt wird?

Bisher entdeckte Probleme beim SYSTEM Kontext waren, z.b. falsche Rückgabe von GetUserName(). Gut, das ist bisher nichts Großartiges, aber ich vermute es könnten da durchaus noch weitere Probleme anfallen.

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#2

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 12:50
Das geht ja auch schon fast in diese Richtung
http://www.delphipraxis.net/160220-%...st-heraus.html
und von da kommt man dann hierhin
http://www.delphipraxis.net/109191-p...ich-mal-3.html
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 12:55
Das ist ja der Code, den ich gefunden habe und verwende

Hier wird zwar der Environment Block mit allen Benutzerpfaden wie %userprofile% und so weiter schön übernommen, bloß läuft der Child Prozess im SYSTEM Kontext und nicht in dem des Benutzers.

Sagen wir mal so: Wenn mir jemand, der sich auskennt, mit hoher Wahrscheinlichkeit vorraussagen kann, dass ich außer mit GetUserName() keine weiteren großartigen Probleme haben werde, dann bin ich auch zufrieden mit der jetzigen Lösung
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 13:08
Falsche Beutzerordner, falscher Registry Hive, falsche Benutzerrechte, ... Eben alles was dir mit einem falschen Benutzer passiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 13:23
Falsche Beutzerordner, falscher Registry Hive, falsche Benutzerrechte, ... Eben alles was dir mit einem falschen Benutzer passiert.
Okay dann muss ich auf jeden Fall eine andere Lösung finden. Irgendwie muss es ja schließlich möglich sein den Prozess zwar UAC elevated aber im richtigen Benutzerkontext zu starten.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 15:33
Also die angegebenen Funktionen bringen bei mir eine Anwendung zu Tage, die (WinXP) als Administrator (bin ich) läuft aus einem Dienst, der eindeutig unter System läuft. Außerdem stimmt bei mir auch der Environment-Block (Dienst schreibt den nämlich richtig in eine Log-Datei). Den Reg-Hive hab ich noch nicht getestet, aber da das auch unter Win7 läuft, denke ich mal, dass mein Code funktioniert hat.

Irgendwie muss es ja schließlich möglich sein den Prozess zwar UAC elevated aber im richtigen Benutzerkontext zu starten.
Das sollte das schwerere sein. Hat die Anwendung das richtige Manifest?


Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz