Skip to content

Commit 5e89a1f

Browse files
committed
Fix Kerberos parsing after KB5068222
1 parent 90c5ff4 commit 5e89a1f

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

scapy/layers/kerberos.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
LEShortEnumField,
103103
LEShortField,
104104
LongField,
105+
MayEnd,
105106
MultipleTypeField,
106107
PacketField,
107108
PacketLenField,
@@ -113,12 +114,12 @@
113114
StrFieldUtf16,
114115
StrFixedLenEnumField,
115116
XByteField,
116-
XLEIntField,
117117
XLEIntEnumField,
118+
XLEIntField,
118119
XLEShortField,
120+
XStrField,
119121
XStrFixedLenField,
120122
XStrLenField,
121-
XStrField,
122123
)
123124
from scapy.packet import Packet, bind_bottom_up, bind_top_down, bind_layers
124125
from scapy.supersocket import StreamSocket, SuperSocket
@@ -905,7 +906,9 @@ class LSAP_TOKEN_INFO_INTEGRITY(Packet):
905906
0x00005000: "Protected process",
906907
},
907908
),
908-
XStrFixedLenField("MachineID", b"", length=32),
909+
MayEnd(XStrFixedLenField("MachineID", b"", length=32)),
910+
# KB 5068222 - still waiting for [MS-KILE] update (oct. 2025)
911+
XStrFixedLenField("PermanentMachineID", b"", length=32),
909912
]
910913

911914

@@ -4891,7 +4894,8 @@ def GSS_Init_sec_context(
48914894
adType="KERB-AUTH-DATA-TOKEN-RESTRICTIONS",
48924895
adData=KERB_AD_RESTRICTION_ENTRY(
48934896
restriction=LSAP_TOKEN_INFO_INTEGRITY(
4894-
MachineID=bytes(RandBin(32))
4897+
MachineID=bytes(RandBin(32)),
4898+
PermanentMachineID=bytes(RandBin(32)),
48954899
)
48964900
),
48974901
),

0 commit comments

Comments
 (0)