AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Habe ich etwas davon wenn ich den Admin-Login weiß?

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

Ein Thema von Der schöne Günther · begonnen am 31. Mär 2015 · letzter Beitrag vom 9. Apr 2015
Antwort Antwort
Seite 1 von 2  1 2   
Der schöne Günther

Registriert seit: 6. Mär 2013
5.963 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

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

  Alt 31. Mär 2015, 19:23
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
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.637 Beiträge
 
Delphi 5 Professional
 
#2

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

  Alt 31. Mär 2015, 19:42
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.497 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 31. Mär 2015, 20:18
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.963 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

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

  Alt 31. Mär 2015, 20:48
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.
CreateProcessAsUser sieht schon einmal gut aus, mal sehen ob ich damit weiterkomme.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

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

  Alt 1. Apr 2015, 10:38
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
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.963 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

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

  Alt 1. Apr 2015, 11:22
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...
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.637 Beiträge
 
Delphi 5 Professional
 
#7

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

  Alt 1. Apr 2015, 13:35
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
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.963 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

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

  Alt 2. Apr 2015, 11:21
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.

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

Schade.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

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

  Alt 2. Apr 2015, 11:28
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.

CreateProcessAsUser , CreateProcessWithLogOnW , die alle gehen an sich. Aber Adminrechte können sie dem neuen Prozess auch nicht verschaffen. Das geht nur über 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.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

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

  Alt 2. Apr 2015, 12:48
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.
Das ist doch der Sinn des UAC Dialogs, den Benutzer zu sagen das ein Prog. Adminrechte haben zu wollen.


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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf