Español
Stammtisch & Café

Auf el Búsqueda después de el Personalausweis...

 
Vor etwa una Jahr Yo en un Delphiforum veces una Interessante Fage gelesen, el mich seitdem no mehr losgelassen ha:
Ist el Access Token, el Personalausweis uno Users el cada Prozess zugeordnet se, direkt änderbar?
Normalerweise es el Token sólo encima el con OpenPocessToken a erlangende Handle y el API zugänglich, d.h. uno kann auch sólo el Bereiche des Tokens ändern, en el Winows encima el Handle Zugriff erlaubt. Como aber, si uno herausfinden podría como y wo el el eigenen Prozess zugeordnete Token se en el Speicher aufhält - wäre una direkter Zugriff posible, wären el Möglichkeiten y Auswirkungen unvorstellbar!
Vor uno Tiempo Yo esta Búsqueda en marcha y en diesem Hilo se lo en el nächsten Tiempo en esta Búsqueda ir. Leider Yo heute a wenig Tiempo, en hier mehr a Carta (Geld es todos ), pero yo kann achon veces sagen, el Yo ya unos pocos interessante Sachen gefunden habe.
 
21.05.2006  
 



Antes uno algo sucht es sinnvoll se a überlegen, como el qué sucht en etwa aussehen podría. Ein wichtiger Bestandteil uno Tokens Es el Userkennung (also el SID) des Users, dessen Ausweis el Token verkörpert. Wenn Yo mich como Andreas con mi Kennwort en el Rechner einlogge, dürfte en cada Token cada Programms el Yo starte Así que el Bytefolge des SIDs de Andreas posición - eigentlich logisch.

Als Prozess, el Yo untersuchen quería, Yo Notepad ausgewählt. Notepad es una einfacher Texteditor sin viel Beiwerk - el Umfang des zugewiesenen Prozessspeichers dürfte also no muy groß ser - una Untersuchung des Prozessspeichers also no besonders largo dauern y no allzuviele Fundstellen liefern, el no para Token gehören.
TNT bietet una todo Menge Möglichkeiten, una Accountnamen en un hexadezimale SID-Bytefolge umzuwandeln - una su Yo genützt y así el SID en el Zwischenablage y später en el Función Speicher durchsuchen übertragen. El Startadresse el Búsqueda Yo en el Adresse 0.
Gefunden Yo entonces genau que aquí...

[...] 

...nämlich nada.
Ein Token scheint se also no en el Userspeicher des jeweiligen Prozesses a befinden - aber wo sucht una continuación?
In el Artikeln, el Yo encima el Token gelesen habe, war de uno Zuordnung a individual Prozessen gesprochen worden - así una Zuordnung muß sí no zwingendermaßen sólo en el Speicher des zugeordneten Prozesses stattfinden. Yo habe mich also entonces dazu entschlossen, me el Speicher otro Prozesse veces algo näher anzusehen. Als erstes Yo el Service LSASS.EXE ausgewählt. ¿Por qué gerade esta Prozess? Das ha algo con el Namensgebung a tun...
Como LSASS.EXE una Service en el Sytem-Account es, mußte Yo TNT zuerst una vez como Service starten, qué encima el Menü de TNT bastante simplemente posible es. Danach Yo me el Heaps des Prozesses listen dejar. Auch hier Yo el Startadresse el Búsqueda otra vez en 0 gesetzt - entonces ging’s los.
Bingo! Como haben wir sí ya algo...

[...] 

Weitere wichtige Bestandteile uno Tokens son el LUIDs (64-Bit Kennzahlen) el Privilegien y deren jetziger Status (Atributos).
Ein LUID läßt se relativ simplemente como hexadezimale Bytefolge de el Token-Infos-Registrierkarte herauskopieren - also hacer wir el veces. Das Privileg SeChangeNotifyPrivilege es en cada Account disponible, lo bietet se para una Búsqueda also a.

[...] 

LUIDs de Privilegien posición en el Token siempre en Verbindung con ihren Attributen, also ihrem derzeitigen Status - wir brauchen also todavía el Status des Privilegs SeChangeNotifyPrivilege =>
Standardmäßig aktiviert = SE_PRIVILEGE_ENABLED_BY_DEFAULT = $1
Aktiviert = SE_PRIVILEGE_ENABLED = $2
Zusammen wäre el entonces $3, qué uno hexadezimalen Bytefolge de 03000000 entspricht. Das, Yo en me a suchen hätte, wäre also que aquí:

[...] 

Und que aquí Yo gefunden:

[...] 

Jetzt schauen wir veces, si en el Prozess LSASS.EXE una Heapblock son, el beides enthält - el SID y el Privileg. En me es el el 592 Bytes große Heapblock con el Adresse 750992, dessen Inhalt Yo entonces como hexadezimale Bytefolge darstellen dejar habe.

[...] 

Um me todo algo näher ansehen a puede, Yo entonces el ganzen Block como hexadezimale Bytefolge en el Zwischenablage y danach en una Wordpad-Dokument kopiert. Tiempo schauen, Yo como habe...
[box:bc6ba1a7d2]
00000000FFFFFF7FFC750B0000000000B8750B0018760B00D8760B0040760B0098760B00000000000800000018760B000700000034760B000700000040760B000F00000050760B000700000060760B00070000C074760B000700000080760B00070000008C760B00070000000105000000000005150000000D7A5A338AA7323FF89FB474E80300000105000000000005150000000D7A5A338AA7323FF89FB474010200000101000000000001000000000102000000000005200000002002000001020000000000052000000021020000010300000000000505000000000000006B62000001010000000000020000000001010000000000050400000001010000000000050B00000002003400020000000000180000000010010200000000000520000000200200000000140000000010010100000000000512000000000000000000000000000000110000001700000000000000030000000800000000000000000000001100000000000000000000001200000000000000000000000C00000000000000000000001300000000000000000000001800000000000000000000001400000000000000000000001600000000000000000000000B00000000000000000000000D00000000000000000000000E00000000000000000000000A00000000000000000000000F0000000000000000000000050000000000000000000000190000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500490000010C00
[/box:bc6ba1a7d2]
Danach Yo el Schrott algo Strukturiert...
[box:bc6ba1a7d2]
00000000FFFFFF7FFC750B0000000000B8750B0018760B00D8760B0040760B0098760B00000000000800000018760B000700000034760B000700000040760B000F00000050760B000700000060760B00070000C074760B000700000080760B00070000008C760B0007000000

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

Gruppen en el Token
0105000000000005150000000D7A5A338AA7323FF89FB47401020000 => SID el Gruppe Kein
010100000000000100000000 => SID el Gruppe Jeder
01020000000000052000000020020000 => SID el Gruppe Administratoren
01020000000000052000000021020000 => SID el Gruppe Benutzer
010300000000000505000000000000006B620000
010100000000000200000000 => SID el Gruppe LOKAL
010100000000000504000000 => SID el Gruppe Interaktiv
01010000000000050B000000 => SID el Gruppe Authentifizierte Benutzer

Standard DACL
02 => Typ el Zugriffskontrollliste (ACL_REVISION)
00 => Zwei Nullbytes a Anpassung
3400 => Größe des ACLs (= 52 Bytes)
0200 => Anzahl el ACEs en el Zugriffskontrollliste (= 2)
0000 => Zwei Nullbytes a Anpassung
00 => Typ des 1.ACEs, ACE = Zugriffskontrolleintrag (= ACCESS_ALLOWED_ACE_TYPE)
00 => Flags (u.a.Vererbung) des 1.Zugriffskontrolleintrags
1800 => Größe des 1.Zugriffskontrolleintrags (=24 Bytes)
00000010 => Zugriffsmaske des 1.ACEs (GENERIC_ALL)
01020000000000052000000020020000 => SID el Gruppe Administratoren
00 => Typ des 2.Zugriffskontrolleintrags (= ACCESS_ALLOWED_ACE_TYPE)
00 => Flags (u.a.Vererbung) des 2.Zugriffskontrolleintrags
1400 => Größe des 2.Zugriffskontrolleintrags (=20 Bytes)
00000010 => Zugriffsmaske des 1.ACEs (GENERIC_ALL)
010100000000000512000000 => SID el Gruppe Sistema

00000000000000000000000011000000

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

000000000000000000000000000000000000000000000000000000000000000000000000000000000500490000010C00
[/box:bc6ba1a7d2]
Und que aquí zeigt TNT en el dazugehörigen Registrierkarte en me a:

[...] 

[...] 

[...] 

Was como es son also zweifelsfrei Tokenstrukturen uno fremden Prozesses (also no de LSASS.EXE incluso, el sí en el Sistema-Account se ejecuta)! Aber es auch el, qué una Prozess wirklich aktuell en el Augenblick zugeordnet es? Tiempo schauen...
Zum Testen Yo cada laufenden Prozess el Privileg SeSystemtimePrivilege aktiviert y me entonces angesehen, si a el hier gefundenen Estructuras algo verändert - lo tat se nichts. Was hay es, es also no una en el Augenblick una Prozess zugeordneter Token - aber qué entonces?
Mit PrivAktivate kann Yo bastante simplemente en uno laufenden Session una Prozess con el Token uno no eingeloggten Users starten. Auch esta Token Yo entonces en el Service LSASS.EXE gefunden. In el gefundenen Struktur Yo entonces el Status uno Privilegs en valor 02000000 gesetzt (= aktiviert).
Danach Yo me el Token con TNT angesehen - auch hier hatte se nichts geändert, el Privileg war weiterhin deaktiviert.
Nachdem Yo, el Login encima PrivAktivate aber wiederholt hatte, war el en el Heapblock vorher de me en 02000000 gesetzte Valor otra vez en 00000000 (= deaktiviert) zurückgesetzt worden! Der Service LSASS.EXE producido also definitiv beim Login el Token y weist ihn el gestarteten Prozess a!

Aber wo befindet se el Token después de el Zuweisung?
Folgender Abschnitt el WIN32.HLP son como evtl. algo nähere Auskunft:
[box:bc6ba1a7d2]
In the 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 en low memory (0x00 to 0x7FFFFFFF) are available to the user, and the 2 GB en high memory (0x80000000 to 0xFFFFFFFF) are reserved for the kernel.
[/box:bc6ba1a7d2].
Lo son also scheinbar oberhalb de 2GB (oberhalb el Adresse $7FFFFFFF) una más Adressbereich, el no para el User determinado es y demnach auch no sin weiteres ausgelesen voluntad kann. Im Augenblick vermute Yo, daß se el Token hay befinden - zusammen con el Sicherheitsbeschreibungen des aktuellen Prozesses y dessen Hilos (sowie más Objetos des Kernels). Wenn Yo bastante habe, dürfte uno no sin weiteres a esta Speicherbereich herankommen - tal vez hay aber auch hier una Möglichkeit, con muy, muy viel Trickserei.................................

67 kB
Kurzbeschreibung: BILD 1
Hochgeladen:17.06.2006
Ladeanzahl153
Descargar
66 kB
Kurzbeschreibung: BILD 2
Hochgeladen:17.06.2006
Ladeanzahl129
Descargar
45 kB
Kurzbeschreibung: BILD 3
Hochgeladen:17.06.2006
Ladeanzahl151
Descargar
46 kB
Kurzbeschreibung: BILD 4
Hochgeladen:17.06.2006
Ladeanzahl201
Descargar
62 kB
Kurzbeschreibung: BILD 5
Hochgeladen:17.06.2006
Ladeanzahl175
Descargar
69 kB
Kurzbeschreibung: BILD 6
Hochgeladen:17.06.2006
Ladeanzahl174
Descargar
76 kB
Kurzbeschreibung: BILD 7
Hochgeladen:17.06.2006
Ladeanzahl178
Descargar
83 kB
Kurzbeschreibung: BILD 8
Hochgeladen:17.06.2006
Ladeanzahl197
Descargar
54 kB
Kurzbeschreibung: BILD 9
Hochgeladen:17.06.2006
Ladeanzahl145
Descargar
 
17.06.2006  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.465 Views

Untitledvor 0 min.
rquindt15.09.2015

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie