Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Habe ich etwas davon wenn ich den Admin-Login weiß? (https://www.delphipraxis.net/184506-habe-ich-etwas-davon-wenn-ich-den-admin-login-weiss.html)

Der schöne Günther 31. Mär 2015 18:23

Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Folgendes Szenario:
  • Eine Kiosk-Anwendung liegt im Autostart eines Kontos ohne Adminrechte
  • Auf dem Rechner existiert ein lokales Admin-Konto dessen Zugangsdaten nicht allgemein bekannt sind, sich aber aus der Kundennummer ergeben
  • Die Kiosk-Anwendung soll nun eine Oberfläche bieten um Netzwerk-Adapter-Einstellungen zu ändern. Für diese Änderung braucht man administrative Rechte.

Meine Frage:
Bringt es mir etwas, die Zugangsdaten für das Admin-Konto zu wissen? Sprich: Kann meine Anwendung diese Änderung vornehmen ohne dass jemand vor Ort auf einem UAC-Dialog das Passwort eingeben muss?


Ich weiß, es gibt tausende Treffer zu "Run application without UAC prompt"- Aber auf mein Szenario finde ich ehrlich nichts passendes :oops:

Dalai 31. Mär 2015 18:42

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1295615)
Bringt es mir etwas, die Zugangsdaten für das Admin-Konto zu wissen? Sprich: Kann meine Anwendung diese Änderung vornehmen ohne dass jemand vor Ort auf einem UAC-Dialog das Passwort eingeben muss?

Eindeutig ja. Programme wie RunAs Professional und RunAsSpc helfen dabei, beliebige Programme als Admin auszuführen. Beide Programme hinterlegen die Credentials und Angaben über das zu startende Programm in speziellen verschlüsselten Dateien, ohne dass dem ausführenden Nutzer die Zugangsdaten bekannt sein müssten. Alternativ kann man sowas natürlich auch selber schreiben, d.h. Zugangsdaten irgendwo verschlüsselt ablegen und bei Bedarf das externe Programm via passender API-Funktion aufrufen (CreateProcessAsUser müsste das sein).

MfG Dalai

himitsu 31. Mär 2015 19:18

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Alternativ läuft ein entsprechend abgesicherter Service mit den nötigen Rechten und via IPC nimmt die Benutzeranwendung Kontakt auf und lässt den Anderen die Änderungen vornehmen.
So gibt es nirgendwo die Zugangsdaten zum OS, sondern nur die zum Service. (zum automatischen Entschlüsseln muß ja irgendwo der Schlüssel unverschlüsselt rumliegen)

Der schöne Günther 31. Mär 2015 19:48

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Ja, "sauber" wäre es mit einem Service. Aber das ist momentan leider keine Option. Drittanbieter-Tools leider auch nicht.
Dass das Adminkonto super-geheim wäre ist auch nicht der Fall, um Verschlüsselung bzw. Speicherung dieser super-sensiblen Daten muss sich somit auch keiner Sorgen machen.

Es geht mehr oder weniger nur darum, dass ich das Windows Tool "netsh" ohne UAC-Fenster dazwischen einmal aufrufen möchte.
Delphi-Quellcode:
CreateProcessAsUser
sieht schon einmal gut aus, mal sehen ob ich damit weiterkomme.

Memnarch 1. Apr 2015 09:38

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Ja das geht. Schau dir unter anderem auch LogonUserW an ;)
Habe auf meiner Firma für uns eine Prozess-Komponennte geschrieben, die auch LoginDaten benutzen kann. Das klappt wunderbar :twisted:

Der schöne Günther 1. Apr 2015 10:22

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Hallo-

Vielleicht habe ich es bislang falsch gemacht, aber Login als irgendjemand- Klar, das geht. Ich kannte z.B. bislang nur ImpersonateLoggedOnUser.

Aber damit erhalte ich ja nicht "Elevation". Das geht nicht nachträglich, das weiß ich. Aber ich könnte doch einen anderen Prozess mit erhöhten Rechten starten. Vielleicht übersehe ich in euren vorgeschlagenen Befehlen ja nur einen Parameter. Ich suche weiter...

Dalai 1. Apr 2015 12:35

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Nun, spätestens mit dem standardmäßig deaktivierten Administratorkonto geht das, denn dieses unterliegt nicht der UAC Approval. D.h. wenn ein Prozess unter diesem Konto ausgeführt wird, bekommt er automatisch Adminrechte. Aber IIRC müsste das auch mit anderen Adminkonten funktionieren.

MfG Dalai

Der schöne Günther 2. Apr 2015 10:21

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Ich noch einmal-

Ich gebe jetzt wohl auf- Es scheint keinen Weg zu geben, eine Anwendung mit Admin-Rechten auszuführen ohne den UAC-Dialog. Selbst wenn man das Passwort für einen Admin-Account hinterlegt hat.

Delphi-Quellcode:
CreateProcessAsUser
,
Delphi-Quellcode:
CreateProcessWithLogOnW
, die alle gehen an sich. Aber Adminrechte können sie dem neuen Prozess auch nicht verschaffen. Das geht nur über
Delphi-Quellcode:
ShellExecute
, und das macht immer den UAC-Dialog auf.

Schade. :-(

franktron 2. Apr 2015 10:28

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1295948)
Ich noch einmal-

Ich gebe jetzt wohl auf- Es scheint keinen Weg zu geben, eine Anwendung mit Admin-Rechten auszuführen ohne den UAC-Dialog. Selbst wenn man das Passwort für einen Admin-Account hinterlegt hat.

Delphi-Quellcode:
CreateProcessAsUser
,
Delphi-Quellcode:
CreateProcessWithLogOnW
, die alle gehen an sich. Aber Adminrechte können sie dem neuen Prozess auch nicht verschaffen. Das geht nur über
Delphi-Quellcode:
ShellExecute
, und das macht immer den UAC-Dialog auf.

Schade. :-(

Das ist doch der Sinn des UAC Dialogs, den Benutzer zu sagen das ein Prog. Adminrechte haben zu wollen.

Wenn das nicht so wäre könnte Viren ja machen was sie wollten.

p80286 2. Apr 2015 11:48

AW: Habe ich etwas davon wenn ich den Admin-Login weiß?
 
Zitat:

Zitat von Dalai (Beitrag 1295778)
D.h. wenn ein Prozess unter diesem Konto ausgeführt wird, bekommt er automatisch Adminrechte. Aber IIRC müsste das auch mit anderen Adminkonten funktionieren.

Jedenfalls nich immer und in jedem Fall. Mußte gerade einen Updatedurchführen und war dementsprechend als Admin eingeloggt. Trotzdem mußte ich einer Anwendung ein "RunasAdnin" mitgeben.
Zitat:

Zitat von franktron (Beitrag 1295955)
Das ist doch der Sinn des UAC Dialogs, den Benutzer zu sagen das ein Prog. Adminrechte haben zu wollen.

:thumb:

Manchmal fragt man sich schon, warum das eine oder andere Programm unbedingt AdminRechte benötigt. Aber das ist ja wohl eher die Schuld der Programmierer und nicht von MS.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz