Français
Stammtisch & le café

sur qui cherche pour dem carte d'identité...

 
avant etwa einem l'an habe je dans einem Delphiforum la fois une Interessante Fage gelesen, qui mich seitdem pas plus losgelassen hat:
Ist qui Access Token, qui carte d'identité eines Users qui chaque Prozess zugeordnet wird, direct änderbar?
normalement ist qui Token seulement sur cela avec OpenPocessToken trop erlangende Handle et qui API zugänglich, d.h. il peut aussi seulement qui Bereiche des Tokens changement, sur qui Winows sur cela Handle Zugriff erlaubt. comment mais, si on herausfinden pourrait comment et wohin qui dem eigenen Prozess zugeordnete Token sich im grenier aufhält - wäre un direkter Zugriff possible, wären qui Opportunités et Auswirkungen unvorstellbar!
avant einer Zeit habe je cet cherche begonnen et dans diesem Fil soll es dans qui prochain Zeit um cet cherche aller. malheureusement habe je aujourd'hui trop wenig Zeit, um ici plus trop écrivons (argent ist alle ), mais je peux achon la fois dire, le moi bereits un paire interessante Sachen trouvé habe.
 
21.05.2006  
 



Bevor on quelque chose cherchez ist es sinnvoll sich trop überlegen, comment cela quoi on cherchez dans etwa air pourrait. un wichtiger Bestandteil eines Tokens ist qui Userkennung (alors qui SID) des Users, dessen Ausweis qui Token verkörpert. si je mich comme Andreas avec meinem Kennwort dans den calculateur einlogge, pourrait dans chaque Token chaque Programms le moi starte alors qui Bytefolge des SIDs de Andreas stehen - eigentlich logisch.

comme Prozess, den je untersuchen voulais, habe je Notepad ausgewählt. Notepad est un einfacher Texteditor sans viel Beiwerk - qui périphérie des zugewiesenen Prozessspeichers pourrait alors pas très grand son - une Untersuchung des Prozessspeichers alors pas besonders longtemps dauern et pas allzuviele Fundstellen liefern, qui pas zum Token gehören.
TNT bietet une ganze la quantité Opportunités, une Accountnamen dans un hexadezimale SID-Bytefolge umzuwandeln - une en habe je genützt et avec cela den SID dans qui Zwischenablage et später dans qui Funktion grenier fouiller übertragen. qui Startadresse qui cherche habe je sur qui Adresse 0.
trouvé habe je ensuite oui c'est ca que voici...

[...] 

...nämlich gar pas.
un Token scheint sich alors pas im Userspeicher des jeweiligen Prozesses trop befinden - mais wohin cherchez on ensuite?
dans den Artikeln, qui je sur den Token gelesen habe, était de einer Zuordnung le individuel Prozessen gesprochen worden - so une Zuordnung doit oui pas zwingendermaßen seulement im grenier des zugeordneten Prozesses stattfinden. j'ai mich bon alors en supplément entschlossen, mir den grenier anderer Prozesse la fois quelque chose näher anzusehen. comme erstes habe Je l' Service LSASS.EXE ausgewählt. pourquoi justement cette Prozess? cela hat quelque chose avec qui Namensgebung trop 1faire...
là LSASS.EXE un Service im Sytem-Account ist, mußte je TNT d'abord einmal comme Service starten, quoi sur cela menu de TNT droite simple possible ist. après habe je mir qui Heaps des Prozesses listen laisser. aussi ici habe je qui Startadresse qui cherche wieder sur 0 gesetzt - ensuite ging’s à l'attaque.
Bingo! là avons wir oui déjà la fois quoi...

[...] 

Weitere wichtige Bestandteile eines Tokens sommes qui LUIDs (64-Bit Kennzahlen) qui Privilegien et en jetziger Status (Attribute).
un LUID läßt sich relativ simple comme hexadezimale Bytefolge aus qui Token-Infos-Registrierkarte herauskopieren - alors faisons cela la fois. cela Privileg SeChangeNotifyPrivilege ist dans chaque Account vorhanden, es bietet sich pour une cherche alors à.

[...] 

LUIDs de Privilegien stehen im Token toujours dans liaison avec ihren Attributen, alors ihrem derzeitigen Status - wir brauchen alors encore den Status des Privilegs SeChangeNotifyPrivilege =>
Standardmäßig aktiviert = SE_PRIVILEGE_ENABLED_BY_DEFAULT = $1
Aktiviert = SE_PRIVILEGE_ENABLED = $2
Zusammen wäre cela ensuite $3, quoi einer hexadezimalen Bytefolge de 03000000 entspricht. cela, quoi je chez mir trop chercher hätte, wäre alors que voici:

[...] 

et que voici habe je trouvé:

[...] 

maintenant regarder wir la fois, si es im Prozess LSASS.EXE une Heapblock gibt, qui beides contient - den SID et cela Privileg. chez mir ist cela qui 592 Bytes grand Heapblock avec qui Adresse 750992, dessen le contenu je mir ensuite comme hexadezimale Bytefolge représenter laisser habe.

[...] 

Um mir cela ganze quelque chose näher regarder trop peut, habe je ensuite den ganzen Block comme hexadezimale Bytefolge dans qui Zwischenablage et après dans un Wordpad-Dokument kopiert. la fois regarder, quoi je là habe...
[box:bc6ba1a7d2]
00000000FFFFFF7FFC750B0000000000B8750B0018760B00D8760B0040760B0098760B00000000000800000018760B000700000034760B000700000040760B000F00000050760B000700000060760B00070000C074760B000700000080760B00070000008C760B00070000000105000000000005150000000D7A5A338AA7323FF89FB474E80300000105000000000005150000000D7A5A338AA7323FF89FB474010200000101000000000001000000000102000000000005200000002002000001020000000000052000000021020000010300000000000505000000000000006B62000001010000000000020000000001010000000000050400000001010000000000050B00000002003400020000000000180000000010010200000000000520000000200200000000140000000010010100000000000512000000000000000000000000000000110000001700000000000000030000000800000000000000000000001100000000000000000000001200000000000000000000000C00000000000000000000001300000000000000000000001800000000000000000000001400000000000000000000001600000000000000000000000B00000000000000000000000D00000000000000000000000E00000000000000000000000A00000000000000000000000F0000000000000000000000050000000000000000000000190000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500490000010C00
[/box:bc6ba1a7d2]
après habe Je l' Schrott quelque chose Strukturiert...
[box:bc6ba1a7d2]
00000000FFFFFF7FFC750B0000000000B8750B0018760B00D8760B0040760B0098760B00000000000800000018760B000700000034760B000700000040760B000F00000050760B000700000060760B00070000C074760B000700000080760B00070000008C760B0007000000

0105000000000005150000000D7A5A338AA7323FF89FB474E8030000 => SID des ausführenden Users (Andreas)

Gruppen im Token
0105000000000005150000000D7A5A338AA7323FF89FB47401020000 => SID qui Gruppe ne...aucune
010100000000000100000000 => SID qui Gruppe chacun
01020000000000052000000020020000 => SID qui Gruppe Administratoren
01020000000000052000000021020000 => SID qui Gruppe Benutzer
010300000000000505000000000000006B620000
010100000000000200000000 => SID qui Gruppe LOKAL
010100000000000504000000 => SID qui Gruppe Interaktiv
01010000000000050B000000 => SID qui Gruppe Authentifizierte Benutzer

Standard DACL
02 => Typ qui Zugriffskontrollliste (ACL_REVISION)
00 => deux Nullbytes zur Anpassung
3400 => Taille des ACLs (= 52 Bytes)
0200 => Nombre de ACEs dans qui Zugriffskontrollliste (= 2)
0000 => deux Nullbytes zur Anpassung
00 => Typ des 1.ACEs, ACE = Zugriffskontrolleintrag (= ACCESS_ALLOWED_ACE_TYPE)
00 => Flags (u.a.hérédité) des 1.Zugriffskontrolleintrags
1800 => Taille des 1.Zugriffskontrolleintrags (=24 Bytes)
00000010 => Zugriffsmaske des 1.ACEs (GENERIC_ALL)
01020000000000052000000020020000 => SID qui Gruppe Administratoren
00 => Typ des 2.Zugriffskontrolleintrags (= ACCESS_ALLOWED_ACE_TYPE)
00 => Flags (u.a.hérédité) des 2.Zugriffskontrolleintrags
1400 => Taille des 2.Zugriffskontrolleintrags (=20 Bytes)
00000010 => Zugriffsmaske des 1.ACEs (GENERIC_ALL)
010100000000000512000000 => SID qui Gruppe System

00000000000000000000000011000000

Privilegien im Token
1700000000000000 => chez mir LUID des Privilegs SeChangeNotifyPrivilege
03000000 => Aktiviert et standardmäßig aktiviert
0800000000000000 => chez mir LUID des Privilegs SeSecurityPrivilege
00000000 => deaktiviert
1100000000000000 => chez mir LUID des Privilegs SeBackupPrivilege
00000000 => deaktiviert
1200000000000000 => chez mir LUID des Privilegs SeRestorePrivilege
00000000 => deaktiviert
0C00000000000000 => chez mir LUID des Privilegs SeSystemtimePrivilege
00000000 => deaktiviert
1300000000000000 => chez mir LUID des Privilegs SeShutdownPrivilege
00000000 => deaktiviert
1800000000000000 => chez mir LUID des Privilegs SeRemoteShutdownPrivilege
00000000 => deaktiviert
1400000000000000 => chez mir LUID des Privilegs SeDebugPrivilege
00000000 => deaktiviert
1600000000000000 => chez mir LUID des Privilegs SeSystemEnvironmentPrivilege
00000000 => deaktiviert
0B00000000000000 => chez mir LUID des Privilegs SeSystemProfilePrivilege
00000000 => deaktiviert
0D00000000000000 => chez mir LUID des Privilegs SeProfileSingleProcessPrivilege
00000000 => deaktiviert
0E00000000000000 => chez mir LUID des Privilegs SeIncreaseBasePriorityPrivilege
00000000 => deaktiviert
0A00000000000000 => chez mir LUID des Privilegs SeLoadDriverPrivilege
00000000 => deaktiviert
0F00000000000000 => chez mir LUID des Privilegs SeCreatePagefilePrivilege
00000000 => deaktiviert
0500000000000000 => chez mir LUID des Privilegs SeIncreaseQuotaPrivilege
00000000 => deaktiviert
1900000000000000 => chez mir LUID des Privilegs SeUndockPrivilege
00000000 => deaktiviert
0900000000000000 => chez mir LUID des Privilegs SeTakeOwnershipPrivilege
00000000 => deaktiviert

000000000000000000000000000000000000000000000000000000000000000000000000000000000500490000010C00
[/box:bc6ba1a7d2]
et que voici zeigt TNT dans qui dazugehörigen Registrierkarte chez mir à:

[...] 

[...] 

[...] 

quoi là steht sommes alors zweifelsfrei Tokenstrukturen eines fremden Prozesses (alors pas de LSASS.EXE selbst, qui oui im System-Account fonctionne)! mais ist es aussi cela, quoi einem Prozess wirklich aktuell im Augenblick zugeordnet ist? la fois regarder...
Zum Testen habe je chez chaque laufenden Prozess cela Privileg SeSystemtimePrivilege aktiviert et mir ensuite angesehen, si sich à den ici gefundenen Strukturen quelque chose modifié - es acte sich rien. quoi là steht, ist alors pas un im Augenblick einem Prozess zugeordneter Token - mais quoi ensuite?
avec PrivAktivate peux je droite simple dans einer laufenden Session une Prozess avec dem Token eines pas eingeloggten Users starten. aussi cette Token habe je ensuite im Service LSASS.EXE trouvé. dans qui gefundenen Struktur habe je ensuite den Status eines Privilegs sur la valeur 02000000 gesetzt (= aktiviert).
après habe je mir den Token avec TNT angesehen - aussi ici hatte sich rien geändert, cela Privileg était weiterhin deaktiviert.
après que Je l' Login sur PrivAktivate mais wiederholt hatte, était qui im Heapblock auparavant de mir sur 02000000 gesetzte Wert wieder sur 00000000 (= deaktiviert) zurückgesetzt worden! qui Service LSASS.EXE erzeugt alors définitif beim Login den Token et weist ihn dem gestarteten Prozess trop!

mais wohin est sich qui Token pour qui Zuweisung?
Folgender paragraphe qui WIN32.HLP gibt là peut-être. quelque chose nähere Auskunft:
[box:bc6ba1a7d2]
dans le Microsoft® Win32® application programming interface (API), each process has its own 32-bit virtual address space that enables addressing up to 4 gigabytes (GB) of memory. The 2 GB dans low memory (0x00 to 0x7FFFFFFF) sont available to le user, and le 2 GB dans high memory (0x80000000 to 0xFFFFFFFF) sont reserved for le kernel.
[/box:bc6ba1a7d2].
il y a alors scheinbar au-dessus de de 2GB (au-dessus de qui Adresse $7FFFFFFF) une weiteren Adressbereich, qui pas pour den User bestimmt ist et donc aussi pas sans weiteres ausgelesen volonté peux. Im Augenblick vermute je, qui sich qui Token là befinden - zusammen avec den Sicherheitsbeschreibungen des aktuellen Prozesses et dessen Threads (sowie weiteren Objekte des Kernels). si je droite habe, pourrait on pas sans weiteres à cette Speicherbereich herankommen - peut-être gibt es mais aussi ici une Possibilité, avec très, très viel Trickserei.................................

67 kB
Kurzbeschreibung: BILD 1
Hochgeladen:17.06.2006
Downloadcounter153
Download
66 kB
Kurzbeschreibung: BILD 2
Hochgeladen:17.06.2006
Downloadcounter129
Download
45 kB
Kurzbeschreibung: BILD 3
Hochgeladen:17.06.2006
Downloadcounter151
Download
46 kB
Kurzbeschreibung: BILD 4
Hochgeladen:17.06.2006
Downloadcounter201
Download
62 kB
Kurzbeschreibung: BILD 5
Hochgeladen:17.06.2006
Downloadcounter175
Download
69 kB
Kurzbeschreibung: BILD 6
Hochgeladen:17.06.2006
Downloadcounter174
Download
76 kB
Kurzbeschreibung: BILD 7
Hochgeladen:17.06.2006
Downloadcounter178
Download
83 kB
Kurzbeschreibung: BILD 8
Hochgeladen:17.06.2006
Downloadcounter197
Download
54 kB
Kurzbeschreibung: BILD 9
Hochgeladen:17.06.2006
Downloadcounter145
Download
 
17.06.2006  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.468 Views

Untitledvor 0 min.
rquindt15.09.2015

Themeninformationen

cet Thema hat 1 participant:

unbekannt (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie