
    5iO                     :   d dl Z d dlZd dlmZ  G d d          Zi ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHi dIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidji dkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddZd e                                D             Zi ddddddddddddddddddddddddddddddddddddddddŜZdƄ e                                D             Z	 G dǄ dej
                  Z G dɄ dej
                  Z G d˄ dej
                  ZdZdZdZdZdZi dd$dej        j        dd,dej        j        dej        j        dej        j        ddDdej        j        dej        j        ddܓdddej        j        dej        j        dej        j        dej        j        dej        j        dej        j        i dedej        j        dd dedededej        j        dej         j        dej!        j        dedddej"        j        dej#        j        dd*dej$        j        dd.dej%        j        ej&        j        ej'        j        ej(        j        ej)        j        ej*        j        ej+        j        ej,        j        d"d8dd
Z-d e-                                D             Z.e/dk    r4e0                    d          Z1 e2e13                                           dS dS )    N)Listc                       e Zd Zd Zed             Zed             Zedd            Zed             Zed             Z	d Z
d	 Zd
 Zd Zedd            ZdS )SIDc                 h    d | _         d | _        d | _        g | _        d | _        d | _        d | _        d S N)RevisionSubAuthorityCountIdentifierAuthoritySubAuthorityis_wellknownwellknow_namewildcard)selfs    E/home/kali/Ninja/venv/lib/python3.11/site-packages/winacl/dtyp/sid.py__init__zSID.__init__   s<    $-#$!%$ "$$$$---    c                 2    | t           v rt           |          S dS NF)well_known_sids_sid_name_mapxs    r   wellknown_sid_lookupzSID.wellknown_sid_lookup       
&&&
&q
))	r   c                 2    | t           v rt           |          S dS r   )well_known_sids_name_sid_mapr   s    r   wellknown_name_lookupzSID.wellknown_name_lookup   r   r   Fc                    | d d         dk    rt          d          t                      }||_        d|_        | dd          } |                     d          d         }|d d         dk    rt          |dd          d	          |_        nt          |          |_        |                     d          dd          D ]L}	 t          |          }n# t           $ r}|d
k    r|Y d }~nd }~ww xY w|j                            |           M|S )N   S-1-zThis is not a SID   -r      0x   T)		Exceptionr   r   r   splitintr
   r   append)sid_strr   sidtpes         r   from_stringzSID.from_string   s/   RaR[F	&	'	''##,#,ABBK'mmC!rrUd]] 122r]]3 VV3==abb!  aAAA
   4W  1	*s   ?C
C+C&&C+c                 Z    t                               t          j        |                     S r   )r   from_bufferioBytesIO)datas    r   
from_byteszSID.from_bytes6   s    	D))	*	**r   c                    t                      }t                              |                     d          dd          |_        t                              |                     d          dd          |_        t                              |                     d          dd          |_        t          |j                  D ]J}|j        	                    t                              |                     d          dd                     K|S Nr    littleF)signed   bigr   )
r   r'   r4   readr   r	   r
   ranger   r(   )buffr*   _s      r   r0   zSID.from_buffer:   s    #		!hGG#,..1x%.PP#NN499Q<<NOO#&'' S Sa3>>$))A,,5>QQRRRR	*r   c                 $   | j                             ddd          }|t          | j                                      ddd          z  }|| j                            ddd          z  }| j        D ]}||                    ddd          z  }|S r6   )r   to_byteslenr   r
   r   r+   is      r   r@   zSID.to_bytesD   s    
mQ599!s4&&q(U&CCC!t((EE(BBB! 0 0a

1h
///11	
(r   c                 @   d}| j         dk     r|t          | j                   z  }nY|d| j                             dd                                                                                              dd          z   z  }| j        D ]}|dt          |          z   z  }|S )	Nr   l        r#   r9   r:      0r!   )r
   strr@   hexupperrjustr   rB   s      r   __str__zSID.__str__L   s    !	%%D$%%%11t'00E::>>@@FFHHNNrSVWWWW1  ac!ff11	
(r   c                     t          |t                    r t          |           t          |          k    S t          |t                    rt          |           |k    S t          S r   )
isinstancer   rG   NotImplemented)r   others     r   __eq__z
SID.__eq__V   sT    s 
d))s5zz
!!% 
d))u
	r   c                 $    t          |           }|S r   )rG   )r   r   s     r   to_sddlzSID.to_sddl]   s    	$ii!	
(r   Nc                    t          |           dk    rt                              |           S | t          vrt	          d| z            t          |          }t          |t                    rt                              |          S |t	          d| z            t                              |dz   t          |          z             S )Nr"   z3%s was not found in the well known sid definitions!z.Missing domain_sid! Cant convert "%s" to a SIDr!   )rA   r   r.   sddl_name_val_mapr%   rM   rG   )sddl
domain_sidaccount_sid_vals      r   	from_sddlzSID.from_sddlk   s    YY]]
//$


###
IDP
Q
QQ&t,?#&& C???+++ELMMM??:+S-A-AABBBr   )Fr   )__name__
__module____qualname__r   staticmethodr   r   r.   r4   r0   r@   rK   rP   rR   rX    r   r   r   r      s       	 	 	   ,
   ,    ,, + + ,+   ,         C C C ,C C Cr   r   NULLzS-1-0-0EVERYONEzS-1-1-0LOCALzS-1-2-0CONSOLE_LOGONzS-1-2-1CREATOR_OWNERzS-1-3-0CREATOR_GROUPzS-1-3-1OWNER_SERVERzS-1-3-2GROUP_SERVERzS-1-3-3OWNER_RIGHTSzS-1-3-4NT_AUTHORITYzS-1-5DIALUPzS-1-5-1NETWORKzS-1-5-2BATCHzS-1-5-3INTERACTIVEzS-1-5-4SERVICEzS-1-5-6	ANONYMOUSzS-1-5-7PROXYzS-1-5-8ENTERPRISE_DOMAIN_CONTROLLERSzS-1-5-9PRINCIPAL_SELFzS-1-5-10AUTHENTICATED_USERSzS-1-5-11RESTRICTED_CODEzS-1-5-12TERMINAL_SERVER_USERzS-1-5-13REMOTE_INTERACTIVE_LOGONzS-1-5-14THIS_ORGANIZATIONzS-1-5-15IUSRzS-1-5-17LOCAL_SYSTEMzS-1-5-18LOCAL_SERVICEzS-1-5-19NETWORK_SERVICEzS-1-5-20COMPOUNDED_AUTHENTICATIONzS-1-5-21-0-0-0-496CLAIMS_VALIDzS-1-5-21-0-0-0-497BUILTIN_ADMINISTRATORSzS-1-5-32-544BUILTIN_USERSzS-1-5-32-545BUILTIN_GUESTSzS-1-5-32-546POWER_USERSzS-1-5-32-547ACCOUNT_OPERATORSzS-1-5-32-548SERVER_OPERATORSzS-1-5-32-549PRINTER_OPERATORSzS-1-5-32-550BACKUP_OPERATORSzS-1-5-32-551
REPLICATORzS-1-5-32-552ALIAS_PREW2KCOMPACCzS-1-5-32-554REMOTE_DESKTOPzS-1-5-32-555NETWORK_CONFIGURATION_OPSzS-1-5-32-556INCOMING_FOREST_TRUST_BUILDERSzS-1-5-32-557PERFMON_USERSzS-1-5-32-558PERFLOG_USERSzS-1-5-32-559"WINDOWS_AUTHORIZATION_ACCESS_GROUPzS-1-5-32-560TERMINAL_SERVER_LICENSE_SERVERSzS-1-5-32-561DISTRIBUTED_COM_USERSzS-1-5-32-562	IIS_IUSRSzS-1-5-32-568CRYPTOGRAPHIC_OPERATORSzS-1-5-32-569EVENT_LOG_READERSzS-1-5-32-573CERTIFICATE_SERVICE_DCOM_ACCESSzS-1-5-32-574RDS_REMOTE_ACCESS_SERVERSzS-1-5-32-575RDS_ENDPOINT_SERVERSzS-1-5-32-576RDS_MANAGEMENT_SERVERSzS-1-5-32-577HYPER_V_ADMINSzS-1-5-32-578ACCESS_CONTROL_ASSISTANCE_OPSzS-1-5-32-579REMOTE_MANAGEMENT_USERSzS-1-5-32-580WRITE_RESTRICTED_CODEzS-1-5-33NTLM_AUTHENTICATIONzS-1-5-64-10SCHANNEL_AUTHENTICATIONzS-1-5-64-14DIGEST_AUTHENTICATIONzS-1-5-64-21THIS_ORGANIZATION_CERTIFICATEz
S-1-5-65-1
NT_SERVICEzS-1-5-80USER_MODE_DRIVERSzS-1-5-84-0-0-0-0-0LOCAL_ACCOUNTz	S-1-5-1130LOCAL_ACCOUNT_AND_MEMBER_OF_ADMINISTRATORS_GROUPz	S-1-5-114OTHER_ORGANIZATIONz
S-1-5-1000z
S-1-15-2-1zS-1-16-0zS-1-16-4096zS-1-16-8192zS-1-16-8448zS-1-16-12288zS-1-16-16384zS-1-16-20480zS-1-16-28672zS-1-18-1zS-1-18-2zS-1-18-3zS-1-18-4zS-1-18-5zS-1-18-6)ALL_APP_PACKAGESML_UNTRUSTEDML_LOW	ML_MEDIUMML_MEDIUM_PLUSML_HIGH	ML_SYSTEMML_PROTECTED_PROCESSML_SECURE_PROCESS*AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITYSERVICE_ASSERTED_IDENTITYFRESH_PUBLIC_KEY_IDENTITYKEY_TRUST_IDENTITYKEY_PROPERTY_MFAKEY_PROPERTY_ATTESTATIONc                     i | ]\  }}||	S r]   r]   .0kvs      r   
<dictcomp>r      s    VVVA1VVVr   LOGON_IDzS-1-5-5-x-y&ENTERPRISE_READONLY_DOMAIN_CONTROLLERSzS-1-5-21-<root domain>-498ADMINISTRATORzS-1-5-21-<machine>-500GUESTzS-1-5-21-<machine>-501KRBTGzS-1-5-21-<domain>-502DOMAIN_ADMINSzS-1-5-21-<domain>-512DOMAIN_USERSzS-1-5-21-<domain>-513DOMAIN_GUESTSzS-1-5-21-<domain>-514DOMAIN_COMPUTERSzS-1-5-21-<domain>-515DOMAIN_DOMAIN_CONTROLLERSzS-1-5-21-<domain>-516CERT_PUBLISHERSzS-1-5-21-<domain>-517SCHEMA_ADMINISTRATORSzS-1-5-21-<root-domain>-518ENTERPRISE_ADMINSzS-1-5-21-<root-domain>-519GROUP_POLICY_CREATOR_OWNERSzS-1-5-21-<domain>-520READONLY_DOMAIN_CONTROLLERSzS-1-5-21-<domain>-521CLONEABLE_CONTROLLERSzS-1-5-21-<domain>-522PROTECTED_USERSzS-1-5-21-<domain>-525zS-1-5-21-<domain>-526zS-1-5-21-<domain>-527zS-1-5-21-<domain>-553zS-1-5-21-<domain>-571zS-1-5-21-<domain>-572)
KEY_ADMINSENTERPRISE_KEY_ADMINSRAS_SERVERS'ALLOWED_RODC_PASSWORD_REPLICATION_GROUP&DENIED_RODC_PASSWORD_REPLICATION_GROUPc                     i | ]\  }}||	S r]   r]   r   s      r   r   r      s    "\"\"\DAq1a"\"\"\r   c                       e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#S )$DOMAIN_ALIAS_RIDi   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i8  i9  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  N)%rY   rZ   r[   ADMINSUSERSGUESTSr   ACCOUNT_OPS
SYSTEM_OPS	PRINT_OPS
BACKUP_OPSr   r   PREW2KCOMPACCESSREMOTE_DESKTOP_USERSr   r   MONITORING_USERSLOGGING_USERSAUTHORIZATIONACCESSTS_LICENSE_SERVERS
DCOM_USERSIUSERSCRYPTO_OPERATORSCACHEABLE_PRINCIPALS_GROUPNON_CACHEABLE_PRINCIPALS_GROUPEVENT_LOG_READERS_GROUPCERTSVC_DCOM_ACCESS_GROUPr   r   r   r   r   r   DEFAULT_ACCOUNTSTORAGE_REPLICA_ADMINSDEVICE_OWNERSr]   r   r   r   r      s        
	
"'",! 
(",%''"$!+%$r   r   c                   N    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdS )DOMAIN_GROUP_RIDi   i  i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  N)rY   rZ   r[   r   r   r   	COMPUTERSCONTROLLERSCERT_ADMINSr   SCHEMA_ADMINSr   POLICY_ADMINSREADONLY_CONTROLLERSr   CDC_RESERVEDr   r   r   r]   r   r   r   r     se        
	
*4'"##r   r   c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )	SECURITY_MANDATORYr   i   i    i !  i 0  i @  i P  N)
rY   rZ   r[   UNTRUSTED_RIDLOW_RID
MEDIUM_RIDMEDIUM_PLUS_RIDHIGH_RID
SYSTEM_RIDPROTECTED_PROCESS_RIDr]   r   r   r   r   (  s4        %#r   r   i  i     	      ANAOAUBABGBOBUCACDCGzS-1-3CODADCDDDGDUEAEDHIIULALGLSLWMENONSNUPAPOPSPURCRD)
RERORSRUSASISOSUSYWDc                     i | ]\  }}||	S r]   r]   r   s      r   r   r   i  s    @@@daQ@@@r   __main__)4r1   enumtypingr   r   r   itemsr   well_known_sids_re_name_sid_mapwell_known_sids_re_sid_name_mapEnumr   r   r   DOMAIN_USER_RID_ADMINDOMAIN_USER_RID_GUESTSECURITY_LOCAL_SERVICE_RIDSECURITY_SERVER_LOGON_RIDSECURITY_NETWORK_SERVICE_RIDr   valuer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   sddl_val_name_maprY   r.   r*   printrR   r]   r   r   <module>r8     s~	   				       rC rC rC rC rC rC rC rCnT )T iT  	9T  9	T 
 9T  9T  )T  )T  )T  'T  
IT  YT  	9T  T  YT   y!T " 	9#T  T $ !9%T & J'T ( )T * Z+T , *-T . j/T 0 z1T 2 *3T 4 *5T 6 :7T 8 Z9T : 3;T < &=T > N?T @ >AT B NCT D ET  T  T F ~GT H nIT J ~KT L nMT N OT P QT R NST T ~UT V "NWT X >YT Z >[T \ &]T ^ #^_T ` >aT b ~cT d ^eT f ~gT  T  T h #^iT j ~kT l .mT n NoT p NqT r !>sT t ^uT v :wT x yT z ]{T | =}T ~ !<T @ 
AT B +CT D ;ET F 4kGT H IT  T J #!(%0:))" (gT  T  T  l  WV1M1S1S1U1UVVV #m#),H# +# 	#	#
 	"# *# )# *# -# 6# ,# 7# 3# !8# !8#  2!#" ,##$ (2(-D,C-# # # 2 #]"\4S4Y4Y4[4["\"\"\ " " " " "ty " " "H$ $ $ $ $ty $ $ $$$ $ $ $ $ $ $ $ # " (  ) .	.		%	+. . 		 	&	.
 		 	&. 		$	*. . 		%	+. 		3	9. . . 		 	&. 		#	). 		%	+. 		 	&.  			%!." 		+	1#. .$ 	"%.& 		$	*'.( ).* 	+., 	-.. 	#/.0 		#	)1.2 		&	,3.6 		3	97.8 	%9.: ;.< 		'	-=.> 		#	)?.@ A.B 		%	+C.D E.F 		.	4G. .H 
	$	*		@	F		%	+)/		'	-		&	,		$	*		[. . . ` A@&7&=&=&?&?@@@ z
|$$s{{}} r   