| |
|
|
| allô Profaner...
Folgender Code (NT/2000/XP) bringt chez mir beim Starten qui EXE sous einem Usernamen avec eingeschränkten Rechten une Fehlermeldung. si je qui EXE sous einem Adminprofile starte, hauts halbwegs hin. Eingelogt habe je mich selbst comme Admin avec ausreichenden Rechten (aucun 1314 Fehlermeldung). quoi fais je faux??? KompilierenMarqueSéparationDEF @LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @LogonUser(6) !"advapi32","LogonUserA"
DEF @CreateProcessAsUser(11) !"advapi32","CreateProcessAsUserA"
DEF @SetLastError(1) !"kernel32","SetLastError"
DEF @GetLastError(0) !"kernel32","GetLastError" Liefert letzten API Fehler.
DEF @ZeroMemory(2) ! "Kernel32","RtlZeroMemory"
DEF @CloseHandle(1) !"kernel32","CloseHandle" Schließt ein Handle (Programm).
Declare Protokoll&,FEHLER&,DOMAIN$,SID_Size#,lpStartupInfo#,lpProcessInformation#
Declare lpCommandLine#,DOMAINNAME_SIZE_ADDR#
Declare SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,Attribut#,ALLPRIVS#,COUNT#,SID#
DIM DOMAIN#,256
DIM SID#,800
DIM SID_Size#,4
DIM DOMAINNAME_SIZE_ADDR#,4
DIM SID_TYPE_INDICATOR#,256
Proc StartWithUserRights
@ADDSTRING(Protokoll&,"Start der Prozedur zum Impersonifizieren anderer User")
Parameters PUSERNAME$,PPASSWORT$,PPROGRAMM$
Declare UserHandle&,UserHandle#
DIM UserHandle#,4
CLEAR SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,SID#,DOMAINNAME_SIZE_ADDR#
Long SID_Size#,0=800
LONG DOMAINNAME_SIZE_ADDR#,0=255
LET Fehler&=@LookupAccountName(0,@addr(PUSERNAME$),SID#,SID_Size#,DOMAIN#,DOMAINNAME _SIZE_ADDR#,SID_TYPE_INDICATOR#)
@ADDSTRING(Protokoll&,"Fehler LookupAccountName: "+@str$(Fehler&))
LET DOMAIN$=@STRING$(DOMAIN#,0)
@ADDSTRING(Protokoll&,"Domain: "+DOMAIN$)
@SetLastError(0)
LET FEHLER&=@LogonUser(@addr(PUSERNAME$),@ADDR(DOMAIN$),@ADDR(PPASSWORT$),2,0,UserHa ndle#)
@ADDSTRING(Protokoll&,"Fehler LogonUser: "+@str$(Fehler&))
@ADDSTRING(Protokoll&,"Letzter API Fehler: "+@str$(@GetLastError()))
Let UserHandle&=@LONG(UserHandle#,0)
@ADDSTRING(Protokoll&,"UserHandle: "+@str$(UserHandle&))
Dim lpStartupInfo#,68
ZeroMemory(lpStartupinfo#,68)
Long lpStartupInfo#,0=68
Dim lpProcessInformation#,16
Dim lpCommandLine#,@len(PPROGRAMM$)+1
ZeroMemory(lpProcessInformation#,16)
String lpCommandLine#,0=PPROGRAMM$
LET FEHLER&=@CreateProcessAsUser(UserHandle&,0,lpCommandLine#,0,0,0,0,0,0,lpStartupI nfo#,lpProcessInformation#)
@ADDSTRING(Protokoll&,"Fehler CreateProcessAsUser: "+@str$(Fehler&))
@ADDSTRING(Protokoll&,"Letzter API Fehler: "+@str$(@GetLastError()))
LET FEHLER&=@CloseHandle(UserHandle&)
@ADDSTRING(Protokoll&,"Fehler CloseHandle: "+@str$(Fehler&))
Dispose UserHandle#
Dispose lpStartupInfo#
Dispose lpProcessInformation#
Dispose lpCommandLine#
@ADDSTRING(Protokoll&,"Ende der Prozedur zum Impersonifizieren anderer User")
ENDPROC
CLS
LET Protokoll&=@createlistbox(%HWND,"",10,10,600,400)
StartWithUserRights @INPUT$("Bitte einen Usernamen eingeben: ","Login Name?",""),@INPUT$("Bitte das Passwort dazu eingeben: ","Passwort?",""),,@LoadFile$("EXE auswählen","*.EXE")
Dispose DOMAIN#
Dispose SID_Size#
Dispose DOMAINNAME_SIZE_ADDR#
Dispose SID_TYPE_INDICATOR#
Dispose SID#
/../funktionsreferenzen/XProfan/waitinput/'>Waitinput
|
|
|
| |
|
|
|
| allô Andreas...
je crois DuplikateTokenEx ist qui Solution pour dein Problem.... |
|
|
| |
|
|
|
| allô Andreas...
JA GENAU. cela doit es son! Besten Dank, Andreas...
|
|
|
| |
|
|
|
Frank Abbing | Hi,
je crois, tu as ici un Thema angesprochen, cela qui breite majorité plutôt scheut. tout autor qui Selbstgespräche? |
|
|
| |
|
|
|
| Quelque chose comme habe je ehrlichgesagt aussi encore pas erlebt - AH c'est vraie tranchant - je crois mais sur diesem région es Du ici qui Profi weshalb Dir malheureusement bisher niemand half. (<-- aider konnte, geholfen hatte, ... )
Salve, iF |
|
|
| |
|
|
|
| allô son beiden...
je hab mir seulement la fois une leinen Amusement gegönnt, à Unterhaltung quelque chose anzuregen. suis avec cela déjà un petite un peu plus, hab qui Solution mais toujours pas komplett.
je suis im Augenblick dabei, Privaktivate quelque chose trop erweitern. cela Hinzufügen de Privilegien trop bestehenden Accounts habe je déjà incorporé (fonctionne bestens). Privaktivate wird bientôt alors bestehende Privilegien aktivieren et pas vorhandene Privilegien hinzufügen könen. je voudrais entier volontiers encore une RunAs Funktion avec einbauen - là hakt es mais im Augenblick encore comment on voit. aussi une Funktion zum Knacken de Login Passwörter schwebt mir im Augenblick im tête herum, pour wird Profan mais wohl trop lente son.
avec cela, cela Je ne grandiose einer weiterhelfen peux, habe je eigentlich déjà gerechnet. Weltweit sommes trop diesem Thema à peine irgendwelche vernünftigen Artikel et Postings pour trouver. qui meisten hatten là irgendwelche Fragen le Sujets Privilegien et impersonifizieren de Usern qui aucun vernünftig répondre konnte. chez vielen Quelltexten pourrait je comme Débutant sogar déjà dire, wohin es là hakt, sans überhaupt qui Programmiersprache trop peut, dans qui qui Voir le texte source geschrieben wurde...
cela qui breite majorité cet Thema scheut, finde je très tant pis, là cet Sachen wohl qui eigentliche Grund sommes, pourquoi 2000 et XP sur NT-technologie basieren... |
|
|
| |
|
|
|
| là peux je seulement dire wir freuen uns déjà sur une höllisch-gute PCU .
si Du magst - à cause de qui Andeutung Profan wäre là trop lente - bau je Dir pour cet Unterfunktion ne DLL. Muddu seulement oui c'est ca dire quoi qui 1faire soll. Dank Frank Abbings Datengenerator könntest ensuite cet ca. 4kb grand dll simple dans deine PCU 1faire et on devrait aucun DLL mitführen.
Salve, iF |
|
|
| |
|
|
|
| Ok, Problem ist gelöst. si qui une API pas veux, pourquoi pas la fois une neue Testen?
Es lag im Endeffekt doch pas à DouplicateTokenEx, je hatte wohl déjà une PrimaryToken, mais es lag et liegt wohl direct à CreateProcessAsUser. là scheint es mir irgendwo à Zugriffsberechtigung trop manquer et es peux c'est pourquoi ne...aucune vernünftiges la fenêtre erzeugt volonté. suis maintenant trop CreateProcessWithLogonW übergeschwenkt - haut super hin et ist très simple trop handhaben.
j'ai la fois sous [...] une Vorabversion de PrivAktivate 2.1 hochgeladen. quoi mir ici sous anderem encore pas si bien comme: - Vorhandene Privilegien volonté pas angezeigt - si Privilegien manquer, sieht on ca seulement im Ablaufprotokoll
trop qui Passwortgeschichte: j'ai selbst déjà à une MSAM32 DLL gedacht - sommes mais im Augenblick seulement Hirngespinste. Über vernünftige Wörterbücher devrait cela ganze sur jeden le cas trop régulariser son. qui l'affaire ist eigentlich assez primitiv et sur Anfängerniveau - on braucht seulement sur cela Rumpelstilzchenprinzip nachzufragen - Windows gibt brav et artig toujours qui richtige Antwort. Alzuviele Privilegien dürften également pour pas nötig son... |
|
|
| |
|
|