sachen als anderer user ausführen - runas
-
hallo,
es gibt ja unter windows die möglichkeit programme unter einem
anderen benutzter auszuführen.
(per "Ausführen als" oder per "runas" in der konsole)gibt es eine möglichkeit in einem C programm eine funktion oder einen
befehl (ohne system...) als anderer user auszuführen?vieleciht eine api funktion?
also man müsste dieser funktion dann natürlich das passort übergeben etc...
danke, Babelduo
-
Welches Passwort hat eigentlich der Benutzer "System"...? Ist das immer das Administratorpasswort oder hat er keines...? - Ich meine... wie funktionieren denn die Viren, die immer als System laufen? - Die machen das bestimmt auch nicht mit "system()" oder so.
Nur mal so als Denkanstoß

-
[msdn]RunProcessWithLogonW[/msdn]
Und Viren, die auf dem Systemkonto laufen, sind mir nicht bekannt. Wie sollten sie das auch machen?
-
Indem sie Sicherheitslücken ausnutzen...!? o.O
Ich weiß den Namen nicht, aber ich glaube zumindest mal einen draufgehabt zu haben, der genau dies tat... lief als System und hat ein paar nette Effekte erzeugt, irgendwie in der Registry rumgefummelt, sodass ich sie nichtmehr aufrufen konnte, regedit ging nichtmehr, etc.EDIT:
msdn.microsoft.com schrieb:
Results for: RunProcessWithLogonW
Sorry, no results were found.
-
CreateProcessWithLogonW
-
so hallo und danke erstmal!
ich habe leider noch nicht so viel ahnung vom winapi-programmieren
und habe mir mal folgenden code zusammengereihmt:... int lol; lol=CreateProcessWithLogonW(L"test",NULL,L"test",LOGON_NETCREDENTIALS_ONLY, NULL,NULL, CREATE_DEFAULT_ERROR_MODE, NULL,L"C:\\winnt\\system32\\cmd.exe", NULL, NULL); printf("%i\n",lol); ...das problem wie man schon ahnen kann, es passiert nichts - und
in lol steht immer 0.das passwort meines users test ist tatsächlich test
also dort
kann nicht der fehler liegen!ich hoffe ihr könnt mir helfen!
danke schonmal!
Babel
-
Ich weiß nicht ob das ein Schreibfehler ist oder ob ich da ne Wissenslücke habe,
aber wieso schreibst du vor jede String-Konstante ein 'L' ?....
Hab nachgeschaut. Ich denke man macht das eher so vor den Strings. Ob das der Fehler ist weiß ich nicht.
...
CreateProcessWithLogonW( (LPCWSTR) "lpUsername", ... , ... );danke.
-
(LPCWSTR) ist nur ein cast, wenn du aber den String in Unicode willst muss man ein L vorstellen

-
flenders schrieb:
(LPCWSTR) ist nur ein cast, wenn du aber den String in Unicode willst muss man ein L vorstellen


Das ist neu für mich. Vielen Dank. Wieder 0,01% Prozent schlauer.mfg