format of authorization data in a win2k ticket

Matt Chapman matty at cifs.org
Thu Sep 23 00:38:08 GMT 1999


On Wed, Sep 22, 1999 at 01:06:40PM +1000, Assar Westerlund wrote:
> 
> I did some testing with Heimdal against a Windows 2000 rc1 KDC and
> after having managed to a client on the w2k-box to authenticate to my
> server I got ahold of an encrypted ticket with the extra authorization
> data in it.  The entire contents of the authorization data that I got
> is available at <http://www.sics.se/~assar/add-ticket>.

Hi Assar,

Very nice... here's my preliminary decode of this. The body is a
USER_INFO_3 structure (or similar); there are some undecoded bytes
before it and what seems to be a Kerberos implementation related structure
after it.

Anyone feel like doing some guesswork?

	Matt


-- 
Matthew "Austin" Chapman
SysAdmin, Developer, Samba Team Member
-------------- next part --------------
// AuthorizationData from Win2000 RC1 KDC

// ASN.1 header
0000000: 3082 031a 3082 0316
0000008: a004 0202 0080 a182
0000010: 030c 0482 0308

// Microsoft data (octet-stream)
0000016: 0400 0000 // count?
         0000 0000 
000001e: 0100 0000 6802 0000 4800 0000 0000 0000 }
         0a00 0000 2400 0000 b002 0000 0000 0000 } ??
         0600 0000 1400 0000 d802 0000 0000 0000 }
         0700 0000 1400 0000 f002 0000 0000 0000 }

         0110 0800 cccc cccc 5802 0000 0000 0000 // ?
         40f2 // ??

0000070: 6700                // uint16 info_level; // guess

// USER_INFO_3-like (USER_INFO_103?) structure
0000072: 30f2 92af 4403 bf01 // NTTIME logon_time;
000007a: ffff ffff ffff ff7f // NTTIME logoff_time;
0000082: ffff ffff ffff ff7f // NTTIME kickoff_time;
000008a: 206b 2e1d b6f2 be01 // NTTIME pass_last_change_time;
0000092: 206b 2e1d b6f2 be01 // NTTIME pass_can_change_time;
000009a: ffff ffff ffff ff7f // NTTIME pass_must_change_time;
00000a2: 1a00 1a00 e8f8 0900 // UNIHDR hdr_user_name;
00000aa: 0000 0000 04f9 0900 // UNIHDR hdr_full_name;
00000b2: 0000 0000 04f9 0900 // UNIHDR hdr_logon_script;
00000ba: 0000 0000 04f9 0900 // UNIHDR hdr_profile_path;
00000c2: 0000 0000 04f9 0900 // UNIHDR hdr_home_dir;
00000ca: 0000 0000 04f9 0900 // UNIHDR hdr_dir_drive;
00000d2: 0b00                // uint16 logon_count;
00000d4: 0000                // uint16 bad_pw_count;           
00000d6: f401 0000           // uint32 user_id;
00000da: 0102 0000           // uint32 group_id;
00000de: 0000 0000           // uint32 num_groups;
00000e2: 0000 0000           // uint32 buffer_groups;
00000e6: 2000 0000           // uint32 user_flgs;
00000ea: 0000 0000 0000 0000 // uint8 user_sess_key[16];
00000f2: 0000 0000 0000 0000
00000fa: 0c00 0e00 04f9 0900 // UNIHDR hdr_logon_srv;
0000102: 0600 0800 14f9 0900 // UNIHDR hdr_logon_dom;
000010a: 1cf9 0900           // uint32 buffer_dom_id;
000010e: 0000 0000 0000 0000 // uint8 padding[40]; 
0000116: 1002 0000 0000 0000 //  ?? does this mean something?
000011e: 0000 0000 0000 0000
0000126: 0000 0000 0000 0000
000012e: 0000 0000 0000 0000
0000136: 0500 0000           // uint32 num_global_groups;
000013a: 34f9 0900           // uint32 buffer_global_groups;
000013e: 0000 0000 0000 0000 //  ?? no idea
0000146: 0000 0000 
000014a: 0d00 0000 0000 0000 // UNISTR2 uni_user_name;
0000152: 0d00 0000 4100 6400
000015a: 6d00 6900 6e00 6900
0000162: 7300 7400 7200 6100
000016a: 7400 6f00 7200 0000
0000172: 0000 0000 0000 0000 // UNISTR2 uni_full_name;
000017a: 0000 0000
000017e: 0000 0000 0000 0000 // UNISTR2 uni_logon_script;
0000186: 0000 0000
000018a: 0000 0000 0000 0000 // UNISTR2 uni_profile_path;
0000192: 0000 0000
0000196: 0000 0000 0000 0000 // UNISTR2 uni_home_dir;
000019e: 0000 0000
00001a2: 0000 0000 0000 0000 // UNISTR2 uni_dir_drive;
00001aa: 0000 0000 
00001ae: 0700 0000 0000 0000 // UNISTR2 uni_logon_srv;
00001b2: 0600 0000 5400 4500
00001ba: 5200 4d00 4900 5400
00001c2: 0400 0000 0000 0000 // UNISTR2 uni_logon_dom;
00001ca: 0300 0000 4600 4f00
00001d2: 4f00 0000
00001d6: 0400 0000 0104 0000 // DOM_SID2 dom_sid;
00001de: 0000 0005 1500 0000
00001e6: b644 e423 f89f b474
00001f2: 16c0 ea32
00001f6: 0500 0000           // uint32 num_global_groups2;
00001fa: 5cf9 0900 0700 0000 // GLOBAL_GROUP group[0];
0000202: 78f9 0900 0700 0000 // GLOBAL_GROUP group[1];
000020a: 94f9 0900 0700 0000 // GLOBAL_GROUP group[2];
0000212: b0f9 0900 0700 0000 // GLOBAL_GROUP group[3];
000021a: ccf9 0900 0700 0000 // GLOBAL_GROUP group[4];
0000222: 0500 0000 0105 0000 // DOM_SID2 group_sid[0];
000022a: 0000 0005 1500 0000
0000232: b644 e423 f89f b474
000023a: 16c0 ea32 0602 0000
0000242: 0500 0000 0105 0000 // DOM_SID2 group_sid[1];
000024a: 0000 0005 1500 0000
0000252: b644 e423 f89f b474
000025a: 16c0 ea32 0002 0000
0000262: 0500 0000 0105 0000 // DOM_SID2 group_sid[2];
000026a: 0000 0005 1500 0000
0000272: b644 e423 f89f b474
000027a: 16c0 ea32 0702 0000
0000282: 0500 0000 0105 0000 // DOM_SID2 group_sid[3];
000028a: 0000 0005 1500 0000
0000292: b644 e423 f89f b474
000029a: 16c0 ea32 0802 0000
00002a2: 0500 0000 0105 0000 // DOM_SID2 group_sid[4];
00002aa: 0000 0005 1500 0000
00002b2: b644 e423 f89f b474
00002ba: 16c0 ea32 0102 0000

00002c2: 0000 0000           // unknown
00002c6: 80ec b561 7603 bf01 // NTTIME ticket_expiry_time; // guess
00002ce: 1a00 4100 6400 6d00 // BUFFER4 krb5_user_name;
00002d6: 6900 6e00 6900 7300
00002de: 7400 7200 6100 7400
00002e6: 6f00 7200 
00002ea: 0000 0000 76ff ffff // unknown
00002f2: 3c7f f138 ae11 cdb0 // uint8 crypt1[16]; // ??
00002fa: 9153 4b17 da8a 5593
0000302: 0000 0000 76ff ffff // unknown
000030a: a886 4dbc daf8 15fe // uint8 crypt2[16]; // ??
0000312: 8250 9229 6a09 e654
000031a: 0000 0000           // unknown


More information about the samba-technical mailing list