+
    4Ssibo  ã                   ó`  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt ^ RIt^ RIt^ RIH t  R t!R t"]PF                  ]PH                  ]PJ                  ]PL                  ]PN                  ]PP                  ]PR                  ]PT                  ]PV                  ]PX                  ]PZ                  ]P\                  ]P^                  ]P`                  ]Pb                  ]Pd                  ]Pf                  ]Ph                  ]Pj                  ]Pl                  ]Pn                  ]Pp                  ]Pr                  ]Pt                  ]Pv                  ]Px                  ]Pz                  .t>R t?R t@R tA]@tB]@tC]@tD]@tE]@tF]@tG]@tH]@tIR tJR tKR tL]@tMR tN]O! ]4       U u. uF  p RV 9   g   K  ]P! ]V 4      NK  	  up tQR tRR tSR tT]@tU]@tV]@tW]@tXR tY]@tZR t[]@t\R t]R t^]@t_]@t`]@ta]@tb]@tc]@td]@te]@tf]@tg]@th]@ti]@tj]@tk]@tlR tmR tnR to]@tp]@tq]@tr]@tsR  ttR! tuR" tv]@tw]@tx]@ty]@tz]@t{]@t|]@t}]@t~R# tR$ t€]@t�R% t‚R& tƒR' t„R( t…R) t†R* t‡R+ tˆR, t‰R- tŠR. t‹R/ tŒ^^.t�R0 tŽ]@t�R1 t�R2 t‘R3 t’R4 t“R5 t”R6 t•R7 t–R8 t—]@t˜R9 t™]@tš]@t›R: tœR; t�]@tžR< tŸR= t R# u up i )>é    N)ÚNet)ÚsecurityÚdrsuapiÚnbtÚlsaÚnetlogonÚntlmssp)Únetr_WorkstationInformation)Údom_sid)ÚNode)Úndr_pack)ÚCLI_CRED_NTLMv2_AUTHÚMUST_USE_KERBEROSÚDONT_USE_KERBEROS)ÚNTSTATUSError)ÚNT_STATUS_OBJECT_NAME_NOT_FOUNDÚNT_STATUS_NO_SUCH_DOMAIN)Ú
SCOPE_BASEc                 óB   € \         P                  ! V 4      P                  # )N)ÚctypesÚc_uint32Úvalue)Úvs   &Ú?/usr/lib/python3/dist-packages/samba/emulate/traffic_packets.pyÚuint32r   *   s   € Ü�?Š?˜1Ó×#Ñ#Ð#ó    c                 óZ   € V f   R# \        V P                  ^ ,          4      pW!8X  d   R# R# )NFT)r   Úargs)ÚruntimeÚvalÚerr32s   && r   Úcheck_runtime_errorr"   .   s'   € Ø‚Ùä�7—<‘< •?Ó#€EØ„|Ùár   c                 ó*   € \        R V ,          4       R# )z[37;41;1mWarning: %s[00mN)Úprint)Úmessages   &r   Úwarningr&   X   s   € Ü	Ð
2°gÕ
>Ö?r   c                 ó   € R # ©F© ©ÚpacketÚconversationÚcontexts   &&&r   Únull_packetr.   ‚   s   € Ùr   c                 ó  € \        VP                  VP                  R 7      pVP                  VP                  P	                  R4      \
        P                  \
        P                  ,          \
        P                  ,          R7       R# ))ÚcredsÚlpÚrealm)ÚdomainÚflagsT)	r   r0   r1   ÚfinddcÚgetr   ÚNBT_SERVER_LDAPÚNBT_SERVER_DSÚNBT_SERVER_WRITABLE)r+   r,   r-   Únets   &&& r   Úpacket_cldap_3r;   †   s`   € ä
�G—M‘M g§j¡jÔ
1€CØ‡J�J�g—j‘j—n‘n WÓ-Ü×)Ñ)Ü×'Ñ'õ(ä×-Ñ-õ.ð ô 0ñ r   c                 ób   € VP                   P                  4       \        8X  d   \        R 4       R# )zQKerberos disabled but have dcerpc Alter_context_resp indicating Kerberos was usedF)Ú
user_credsÚget_kerberos_stater   r&   r*   s   &&&r   Úpacket_dcerpc_15r?   ²   s,   € ð ×Ñ×,Ñ,Ó.Ô2CÔCÜð /ô 	0ár   c                 ób   € VP                   P                  4       \        8X  d   \        R 4       R# )zBKerberos enabled but have dcerpc AUTH3 indicating NTLMSSP was usedF)r=   r>   r   r&   r*   s   &&&r   Úpacket_dcerpc_16rA   ¼   s,   € ð ×Ñ×,Ñ,Ó.Ô2CÔCÜð .ô 	/ár   c                 óh   € VP                  4       w  r4\        P                  P                  W44       R # ©T)Úguess_a_dns_lookupÚdnsÚresolverÚquery)r+   r,   r-   ÚnameÚrtypes   &&&  r   Úpacket_dns_0rJ   Æ   s'   € à×,Ñ,Ó.�K€DÜ‡L�L×Ñ�tÔ#Ùr   c                 ó(   € VP                  R 4       R # rC   )Úget_drsuapi_connection_pairr*   s   &&&r   Úpacket_drsuapi_0rM   Ò   s   € à×'Ñ'¨Ô-Ùr   ÚNAME_FORMATc                 ól  € VP                  4       w  r4\        P                  ! 4       pVP                  Vn        \        P
                  ! 4       p^ Vn        ^Vn        \        P                  ! \        4      Vn        RVn        RVn        ^ Vn        ^Vn        V.Vn        VP!                  V^V4      w  rxR# )r   iä  i	  T)rL   r   ÚDsNameStringÚserverÚstrÚDsNameRequest1Úformat_flagsÚformat_offeredÚrandomÚchoiceÚname_formatsÚformat_desiredÚcodepageÚlanguageÚcountÚnamesÚDsCrackNames)	r+   r,   r-   ÚdrsÚhandler]   ÚreqÚresultÚctrs	   &&&      r   Úpacket_drsuapi_12rd   Ü   s™   € à×5Ñ5Ó7�K€Cä× Ò Ó"€EØ—‘€E„Iä
×
 Ò
 Ó
"€CØ€CÔØ€CÔÜŸš¤|Ó4€CÔØ€C„LØ€C„LØ€CÔØ€C„IØ�€C„Ià×$Ñ$ V¨Q°Ó4�M€VÙr   c                 ó`  € \         P                  ! 4       p\         P                  Vn        ^ Vn        VP
                  Vn        ^Vn        \         P                  ! 4       pRP                  VP                  4      Vn        V.Vn        VP                  4       w  rVVP                  V^V4      w  rxR# )r   zfoo/{}T)r   ÚDsWriteAccountSpnRequest1Ú DRSUAPI_DS_SPN_OPERATION_REPLACEÚ	operationÚunknown1Úuser_dnÚ	object_dnr\   rP   ÚformatÚusernamerR   Ú	spn_namesrL   ÚDsWriteAccountSpn)	r+   r,   r-   ra   Úspn_namer_   r`   ÚlevelÚress	   &&&      r   Úpacket_drsuapi_13rs   ñ   sŒ   € ä
×
+Ò
+Ó
-€CÜ×<Ñ<€C„MØ€C„LØ—O‘O€C„MØ€C„IÜ×#Ò#Ó%€HØ—?‘? 7×#3Ñ#3Ó4€H„LØ�J€C„MØ×7Ñ7Ó9�M€SØ×(Ñ(¨°°CÓ8�L€UÙr   c                 óf   € VP                  4       w  r4VP                  V4       VP                  R R# )é   Téÿÿÿÿ)rL   ÚDsUnbindÚdrsuapi_connections)r+   r,   r-   r_   r`   s   &&&  r   Úpacket_drsuapi_1ry      s/   € à×7Ñ7Ó9�M€SØ‡L�L�ÔØ×#Ñ# BÐ'Ùr   c                 ó<  € VP                   P                  \        4       VP                  P                  \        4       VP                  P                  \        4       VP
                  P                  \        4       VP                  P                  \        4       R # r(   )r=   Úset_kerberos_stater   Úuser_creds_badÚmachine_credsÚmachine_creds_badr0   r*   s   &&&r   Úpacket_kerberos_r     sn   € ð ×Ñ×)Ñ)Ô*;Ô<Ø×Ñ×-Ñ-Ô.?Ô@Ø×Ñ×,Ñ,Ô->Ô?Ø×Ñ×0Ñ0Ô1BÔCØ‡M�M×$Ñ$Ô%6Ô7Ùr   c                 ó†   € V P                   ^,          R8X  d   VP                  RRR7       R# VP                  RRR7       R# )é   ÚsimpleT)Únewr‚   F)ÚextraÚget_ldap_connectionr*   s   &&&r   Úpacket_ldap_0r†   0  sB   € à‡|�|�A…˜(Ô"à×#Ñ#¨°TÐ#Ô:ñ ð 	×#Ñ#¨°UÐ#Ô;Ùr   c                 ó$   € VP                   RR1 R# )ru   NFrv   )Úldap_connectionsr*   s   &&&r   Úpacket_ldap_2r‰   @  s   € ð 	× Ñ  ¡Ð%Ùr   c                 ó4  € V P                   w  r4rVrxp	V'       g   \        pVP                  4       p
VP                  V4      pVe   VR8X  d   V\        8w  d   VP	                  WdV4      pV
P                  VV\        V4      VP                  R4      R.R7       R# )NÚ Ú,zpaged_results:1:1000)Ú
expressionÚscopeÚattrsÚcontrolsT)r„   r   r…   Úget_matching_dnÚguess_search_filterÚsearchÚintÚsplit)r+   r,   r-   rŽ   Údn_sigÚfilterr�   r„   ÚdescÚoidÚsamdbÚdns   &&&         r   Úpacket_ldap_3rœ   G  s–   € ð 8>·|±|Ñ4€U�F 5°ßÜˆà×'Ñ'Ó)€EØ	×	 Ñ	  Ó	(€Bð 	Š˜& Bœ,¨E´ZÔ,?Ø×,Ñ,¨U¸BÓ?ˆà	‡L�L�Ø"Ü˜5“zØ—{‘{ 3Ó'Ø1Ð2ð	 ô 4ñ
 r   c                 ó^  € VP                  4       p\        P                  ! 4       pVP                  R V\        P
                  4      p\        P                  ! 4       p\        P                  ! R4      \        P                  ! R4      .p\        P                  p^ p	VP                  WWWhV	4       R# )r‹   úThis OrganizationúDigest AuthenticationT)
Ú get_lsarpc_named_pipe_connectionr   ÚObjectAttributeÚOpenPolicy2r   ÚSEC_FLAG_MAXIMUM_ALLOWEDÚTransSidArrayÚStringÚLSA_LOOKUP_NAMES_ALLÚLookupNames)
r+   r,   r-   ÚcÚ
objectAttrÚ
pol_handleÚsidsr]   rq   r\   s
   &&&       r   Úpacket_lsarpc_14r¬   ‰  sŽ   € à×0Ñ0Ó2€Aä×$Ò$Ó&€JØ—‘˜s JÜ'×@Ñ@óB€Jô ×ÒÓ€DÜ�ZŠZÐ+Ó,Ü�ZŠZÐ/Ó0ð2€Eä×$Ñ$€EØ€EØ‡M�M�* T°%Ô8Ùr   c                 óš  € VP                  4       p\        P                  ! 4       pVP                  R V\        P
                  4      p\        P                  ! 4       p\        P                  ! 4       p\        R4      pW‡n	        V.Vn
        ^Vn        \        P                  ! 4       p	\        P                  p
^ pVP                  WVWšV4       R# )r‹   úS-1-5-7T)r    r   r¡   r¢   r   r£   ÚSidArrayÚSidPtrr   Úsidr«   Únum_sidsÚTransNameArrayr¦   Ú
LookupSids)r+   r,   r-   r¨   r©   rª   r«   r±   Úxr]   rq   r\   s   &&&         r   Úpacket_lsarpc_15r¶   š  s¢   € à×0Ñ0Ó2€Aä×$Ò$Ó&€JØ—‘˜s JÜ'×@Ñ@óB€Jô �<Š<‹>€DÜ
�*Š*‹,€Cä�	Ó€AØ„GØ�€D„IØ€D„MÜ×ÒÓ €EÜ×$Ñ$€EØ€Eà‡L�L� 5°Ô7Ùr   c                 óˆ  € VP                  4       p\        P                  ! 4       pVP                  R V\        P
                  4      p\        P                  ! VP                  4      p^p VP                  WVV4       R#   \         d9   p\        T\        4      '       g   \        T\        4      '       g   h  Rp?R# Rp?ii ; i)r‹   NT)r    r   r¡   r¢   r   r£   r   Ú
domain_sidÚQueryTrustedDomainInfoBySidr   r"   r   r   )	r+   r,   r-   r¨   r©   rª   Údomsidrq   Úerrors	   &&&      r   Úpacket_lsarpc_39r¼   ±  sª   € ð 	×0Ñ0Ó2€Aä×$Ò$Ó&€Jà—‘˜s JÜ'×@Ñ@óB€Jô ×Ò˜g×0Ñ0Ó1€FØ€EðØ	×%Ñ% j¸%Ô@ñ øô ô ô # 5Ô*I×JÒJÜ+¨EÔ3K×LÒLØûÙûðús   Á*A> Á>CÂ	-B<Â<Cc                 ón  € VP                  4       p\        P                  ! 4       p\        P                  ! 4       p\	        R 4      pWen        V.Vn        ^Vn        \        P                  ! 4       p\        P                  p^ p	\        P                  p
\        P                  pVP                  WGW‰W«4       R# )r®   T)Úget_lsarpc_connectionr   r¯   r°   r   r±   r«   r²   ÚTransNameArray2r¦   Ú'LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMESÚLSA_CLIENT_REVISION_2ÚLookupSids3)r+   r,   r-   r¨   r«   r±   rµ   r]   rq   r\   Úlookup_optionsÚclient_revisions   &&&         r   Úpacket_lsarpc_76rÅ   Û  sŒ   € à×%Ñ%Ó'€AÜ�<Š<‹>€DÜ
�*Š*‹,€Cä�	Ó€AØ„GØ�€D„IØ€D„MÜ×ÒÓ!€EÜ×$Ñ$€EØ€EÜ×@Ñ@€NÜ×/Ñ/€OØ‡M�M�$˜u¨^ÔMÙr   c                 ó2  € VP                  4       p\        P                  ! 4       p\        P                  ! R 4      \        P                  ! R4      .p\        P                  p^ p\        P
                  p\        P                  p	VP                  WTWgW‰4       R# )rž   rŸ   T)r¾   r   ÚTransSidArray3r¥   r¦   rÀ   rÁ   ÚLookupNames4)
r+   r,   r-   r¨   r«   r]   rq   r\   rÃ   rÄ   s
   &&&       r   Úpacket_lsarpc_77rÉ   î  sx   € à×%Ñ%Ó'€AÜ×ÒÓ €DÜ�ZŠZÐ+Ó,Ü�ZŠZÐ/Ó0ð2€Eä×$Ñ$€EØ€EÜ×@Ñ@€NÜ×/Ñ/€OØ‡N�N�5 ¨nÔNÙr   c                 ój   € \        4       p VP                  R VP                  ^RR7       R#     R# ; i)ÚANAMEF)ÚtimeoutÚ	broadcastT)r   Ú
query_namerQ   )r+   r,   r-   Úns   &&& r   Úpacket_nbns_0rÐ   ü  s8   € ä‹€AðØ	�‰�W˜gŸn™n°aÀ5ˆÔIñ øðØÙús   Œ- ­2c                 ó²   € VP                  4       pVP                  4       w  rE\        4       pVP                  VP                  VP
                  VV^V4       R# )é   T)Úget_netlogon_connectionÚget_authenticatorr
   Únetr_LogonGetDomainInforQ   Únetbios_name)r+   r,   r-   r¨   ÚauthÚsuccrG   s   &&&    r   Úpacket_rpc_netlogon_29rÙ   #  sV   € à×'Ñ'Ó)€AØ×,Ñ,Ó.�L€TÜ'Ó)€Eà×Ñ˜gŸn™nØ%×2Ñ2Ø"Ø"ØØ#ô%ñ r   c                 óN  € VP                  4       pVP                  4       w  rER pVP                  P                  4       P	                  R4      p\        V4      p\        \        P                  ! Wh,
          4      4      p	\        P                  ! 4       p
WŠn        V	\        V4      ,           V
n        VP                  P                  V
4       VP                  VP                  VP                  P!                  4       VP                  P#                  4       VP$                  VV
4       R# )i   z	utf-16-leT)rÓ   rÔ   r}   Úget_passwordÚencodeÚlenÚlistÚosÚurandomr   Únetr_CryptPasswordÚlengthÚdataÚencrypt_netr_crypt_passwordÚnetr_ServerPasswordSet2rQ   Úget_usernameÚget_secure_channel_typerÖ   )r+   r,   r-   r¨   r×   rØ   ÚDATA_LENÚnewpassÚpwd_lenÚfillerÚpwds   &&&        r   Úpacket_rpc_netlogon_30rí   2  sê   € à×'Ñ'Ó)€AØ×,Ñ,Ó.�L€TØ€Hð ×#Ñ#×0Ñ0Ó2×9Ñ9¸+ÓF€GÜ�'‹l€GÜ”2—:’:˜hÕ0Ó1Ó2€FÜ
×
%Ò
%Ó
'€CØ„JØœ˜W›Õ%€C„HØ×Ñ×5Ñ5°cÔ:Ø×Ñ˜gŸn™nð &×3Ñ3×@Ñ@ÓBØ%×3Ñ3×KÑKÓMØ%×2Ñ2Ø"Ø!ô#ñ r   c                 ó‚   a€ V3R  lpSP                  VSP                  SP                  SP                  4      Sn        R# )c                 óŠ  <€ SP                  4       pV P                  4       pV P                  \        4       \	        SP
                  SP                  V 4      p\        P                  p\        P                  p^ pVP                  SP                  SP                  P                  4       VVVV4       V P                  V4       R# ©r   N)rÓ   r>   r{   r   Úsamlogon_logon_infor3   rÖ   r   Ú$NetlogonNetworkTransitiveInformationÚNetlogonValidationSamInfo4Únetr_LogonSamLogonExrQ   r}   Úget_workstation)r0   r¨   Ú	old_stateÚlogonÚlogon_levelÚvalidation_levelÚ
netr_flagsr-   s   &      €r   ÚconnectÚ'packet_rpc_netlogon_39.<locals>.connectQ  s¬   ø€ Ø×+Ñ+Ó-ˆð ×,Ñ,Ó.ˆ	Ø× Ñ Ô!2Ô3ä# G§N¡NØ$+×$8Ñ$8Ø$)ó+ˆô ×CÑCˆÜ#×>Ñ>ÐØˆ
Ø	×Ñ˜wŸ~™~Ø&×4Ñ4×DÑDÓFØ*Ø$Ø/Ø)ô	+ð 	× Ñ  Ö+r   T©Úwith_random_bad_credentialsr=   r|   Úlast_samlogon_bad©r+   r,   r-   rû   s   &&f r   Úpacket_rpc_netlogon_39r  O  sC   ø€ õ,ð. 	×+Ñ+¨GØ,3×,>Ñ,>Ø,3×,BÑ,BØ,3×,EÑ,Eó	Gð Ôñ
 r   c                 óv  € \         P                  ! 4       p^Vn        \         P                  ! 4       p\         P                  Vn        Wn        \         P                  ! 4       p\         P                  Vn        Wn        \         P                  ! 4       p\         P                  Vn        WCV.Vn	        \        V4      # )é   )r	   ÚAV_PAIR_LISTr\   ÚAV_PAIRÚMsvAvNbComputerNameÚAvIdÚValueÚMsvAvNbDomainNameÚMsvAvEOLÚpairr   )Údomain_nameÚcomputer_nameÚtarget_infoÚcomputernameÚ
domainnameÚeols   &&    r   Úsamlogon_targetr  o  sˆ   € Ü×&Ò&Ó(€KØ€KÔÜ—?’?Ó$€LÜ×3Ñ3€LÔØ&Ôä—’Ó"€JÜ×/Ñ/€J„OØ"Ôä
�/Š/Ó
€CÜ×Ñ€C„HØ"°#Ð6€KÔä�KÓ Ð r   c                 ód  € \        W4      pR pVP                  \        VVR7      p\        P                  ! 4       p\        V4      Vn        \        P                  ! 4       Vn        \        VR,          4      VP                  n
        \        VR,          4      VP                  n        \        P                  ! 4       Vn        VP                  4       w  rxW†P                  P                  n        WvP                  P"                  n        VP%                  4       VP                  P&                  n        V# )s   abcdefgh)r4   Ú	challenger  Únt_response)r  Úget_ntlm_responser   r   Únetr_NetworkInforÞ   r  Únetr_ChallengeResponseÚntrÝ   râ   rã   Únetr_IdentityInfoÚidentity_infoÚget_ntlm_username_domainr  ÚstringÚaccount_namerõ   Úworkstation)	r  r  r0   Útarget_info_blobr  Úresponser÷   rm   r3   s	   &&&      r   rñ   rñ   �  sî   € ä& {ÓBÐà€Ià×&Ñ&Ô-AØ1:Ø3Cð 'ó E€Hô ×%Ò%Ó'€Eä˜y›/€E„OÜ"×9Ò9Ó;€E„HÜ˜h }Õ5Ó6€E‡H�H„OÜ˜x¨Õ6Ó7€E‡H�H„Mä"×4Ò4Ó6€EÔà×8Ñ8Ó:Ñ€XØ.4×Ñ×#Ñ#Ô*Ø.6×Ñ×$Ñ$Ô+Ø.3×.CÑ.CÓ.E€E×Ñ×#Ñ#Ô*à€Lr   c                 óÎ   € VP                  4       pVP                  VP                  \        P                  \        P
                  ,          \        P                  ,          4       R # rC   )rÓ   Únetr_DsrEnumerateDomainTrustsrQ   r   ÚNETR_TRUST_FLAG_IN_FORESTÚNETR_TRUST_FLAG_OUTBOUNDÚNETR_TRUST_FLAG_INBOUND©r+   r,   r-   r¨   s   &&& r   Úpacket_rpc_netlogon_40r(  œ  sO   € à×'Ñ'Ó)€AØ×#Ñ#Ø�‰Ü×*Ñ*Ü×)Ñ)õ	*ä×(Ñ(õ	)ô*ñ
 r   c                 ó‚   a€ V3R  lpSP                  VSP                  SP                  SP                  4      Sn        R# )c           
      ó²  <€ S	P                  4       pS	P                  4       w  r#V P                  4       pV P                  \        4       \        S	P                  S	P                  V 4      p\        P                  p\        P                  p^ pVP                  S	P                  S	P                  P                  4       VVVVVV4       V P                  V4       R# rð   )rÓ   rÔ   r>   r{   r   rñ   r3   rÖ   r   rò   ró   Únetr_LogonSamLogonWithFlagsrQ   r}   rõ   )
r0   r¨   r×   rØ   rö   r÷   rø   rù   rú   r-   s
   &        €r   rû   Ú'packet_rpc_netlogon_45.<locals>.connect©  sÂ   ø€ Ø×+Ñ+Ó-ˆØ×0Ñ0Ó2‰ˆð ×,Ñ,Ó.ˆ	Ø× Ñ Ô!2Ô3ä# G§N¡NØ$+×$8Ñ$8Ø$)ó+ˆô ×CÑCˆÜ#×>Ñ>ÐØˆ
Ø	×%Ñ% g§n¡nØ&-×&;Ñ&;×&KÑ&KÓ&MØ&*Ø&*Ø&1Ø&+Ø&6Ø&0ô	2ð 	× Ñ  Ö+r   Trý   r   s   &&f r   Úpacket_rpc_netlogon_45r-  §  sC   ø€ õ,ð4 	×+Ñ+¨GØ,3×,>Ñ,>Ø,3×,BÑ,BØ,3×,EÑ,Eó	Gð Ôñ
 r   c                 óF   € VP                  4       pVP                  4        R # rC   ©Úget_samr_contextÚ
get_handler'  s   &&& r   Úpacket_samr_0r2  Ê  ó   € à× Ñ Ó"€AØ‡L�L„NÙr   c                 óî  € VP                  4       pVP                  4       pVP                  e%   VP                  VP                  4       R Vn        R# VP                  e%   VP                  VP                  4       R Vn        R# VP
                  e,   VP                  VP
                  4       R Vn        R Vn        R# VP                  e*   VP                  VP                  4       R Vn        R Vn        R# ©NT)	r0  Úget_connectionÚuser_handleÚCloseÚgroup_handleÚdomain_handleÚridsr`   r¸   ©r+   r,   r-   r¨   Úss   &&&  r   Úpacket_samr_1r>  Ñ  sÊ   € à× Ñ Ó"€AØ	×ÑÓ€Að 	‡}�}Ò Ø	�‰�—‘ÔØˆŒñ ð 
�‰Ò	#Ø	�‰�—‘ÔØˆŒñ ð 
�‰Ò	$Ø	�‰�—‘Ô ØˆŒØˆŒñ
 ð	 
�‰Ò	Ø	�‰�—‘ÔØˆŒØˆŒÙr   c                 ó²   € VP                  4       pVP                  4       pVP                  f   \        WV4       VP	                  VP                  ^4       R# r5  )r0  r6  r7  Úpacket_samr_34ÚQuerySecurityr<  s   &&&  r   Úpacket_samr_3rB  è  sG   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡}�}ÒÜ�v¨WÔ5Ø‡O�O�A—M‘M 1Ô%Ùr   c                 óÞ   € VP                  4       pVP                  4       pVP                  4       p\        P                  ! 4       pVP
                  Vn        VP                  WV4      Vn        R # rC   )	r0  r6  r1  r   r¥   r3   r  ÚLookupDomainr¸   )r+   r,   r-   r¨   r=  ÚhÚds   &&&    r   Úpacket_samr_5rG  ò  sR   € à× Ñ Ó"€AØ	×ÑÓ€AØ	�‰‹€AÜ�
Š
‹€AØ�~‰~€A„HØ—>‘> !Ó'€A„LÙr   c                 óŒ   € VP                  4       pVP                  4       pVP                  4       pVP                  V^ ^ 4       R# )r   T)r0  r6  r1  ÚEnumDomains©r+   r,   r-   r¨   r=  rE  s   &&&   r   Úpacket_samr_6rK  ý  s<   € à× Ñ Ó"€AØ	×ÑÓ€AØ	�‰‹€AØ‡M�M�!�Q˜ÔÙr   c                 óú   € VP                  4       pVP                  4       pVP                  4       pVP                  f   \	        WV4       VP                  V\        P                  VP                  4      Vn        R# r5  )	r0  r6  r1  r¸   rG  Ú
OpenDomainr   r£   r:  rJ  s   &&&   r   Úpacket_samr_7rN    sd   € à× Ñ Ó"€AØ	×ÑÓ€AØ	�‰‹€AØ‡|�|ÒÜ�f¨GÔ4à—l‘l 1Ü#+×#DÑ#DØ#$§<¡<ó1€A„Oñ r   c                 óæ   € VP                  4       pVP                  4       pVP                  f   \        WV4       \        P
                  ! \        4      pVP                  VP                  V4       R# r5  )r0  r6  r:  rN  rV   rW   ÚSAMR_QUERY_DOMAIN_INFO_LEVELSÚQueryDomainInfo©r+   r,   r-   r¨   r=  rq   s   &&&   r   Úpacket_samr_8rS    sX   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡�ÒÜ�f¨GÔ4Ü�MŠMÔ7Ó8€EØ×Ñ�a—o‘o uÔ-Ùr   c                 ó´   € VP                  4       pVP                  4       pVP                  f   \        WV4       VP	                  VP                  ^d^ 4       R# r5  )r0  r6  r:  rN  ÚEnumDomainAliasesr<  s   &&&  r   Úpacket_samr_15rV  '  sK   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡�ÒÜ�f¨GÔ4à×Ñ˜Ÿ™¨¨aÔ0Ùr   c                 ó8  € VP                  4       pVP                  4       pVP                  f   \        WV4       \        P
                  ! 4       p\        P                  ! 4       pVP                  Vn        V.Vn	        VP                  VP                  V4       R# r5  )r0  r6  r:  rN  r   r¯   r°   r¸   r±   r«   ÚGetAliasMembership)r+   r,   r-   r¨   r=  r«   r±   s   &&&    r   Úpacket_samr_16rY  2  ss   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡�ÒÜ�f¨GÔ4ä�<Š<‹>€DÜ�:Š:‹<€CØ�l‰l€C„GØ�€D„IØ×Ñ˜Ÿ™¨$Ô/Ùr   c                 óþ   € VP                  4       pVP                  4       pVP                  f   \        WV4       \        P
                  ! VP                  4      pVP                  VP                  V.4      Vn        R# r5  )	r0  r6  r:  rN  r   r¥   rm   r§   r;  )r+   r,   r-   r¨   r=  rH   s   &&&   r   Úpacket_samr_17r[  A  sa   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡�ÒÜ�f¨GÔ4ä�:Š:�g×&Ñ&Ó'€DØ�]‰]˜1Ÿ?™?¨T¨FÓ3€A„FÙr   c                 ó$  € VP                  4       pVP                  4       pVP                  f   \        WV4       . pVP                   F'  pVP                   F  pVP                  V4       K  	  K)  	  VP                  VP                  V4       R# r5  )r0  r6  r;  r[  ÚidsÚappendÚ
LookupRidsr:  )r+   r,   r-   r¨   r=  r;  ÚrÚis   &&&     r   Úpacket_samr_18rb  M  st   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡v�v‚~Ü�v¨WÔ5Ø€DØ�VŒVˆØ—”ˆAØ�K‰K˜ŽNó ñ ð ‡L�L�—‘ $Ô'Ùr   c                 óÞ   € VP                  4       pVP                  4       pVP                  f   \        WV4       RpVP	                  VP                  \
        P                  V4      Vn        R# )Ni  T)r0  r6  r:  rN  Ú	OpenGroupr   r£   r9  )r+   r,   r-   r¨   r=  Úrids   &&&   r   Úpacket_samr_19rf  [  s^   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡�ÒÜ�f¨GÔ4à
€CØ—[‘[ §¡Ü!)×!BÑ!BØ!$ó&€A„Nñ r   c                 ó°   € VP                  4       pVP                  4       pVP                  f   \        WV4       VP	                  VP                  4       R# r5  )r0  r6  r9  rf  ÚQueryGroupMemberr<  s   &&&  r   Úpacket_samr_25ri  i  sG   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡~�~ÒÜ�v¨WÔ5Ø×Ñ�q—~‘~Ô&Ùr   c                 ó  € VP                  4       pVP                  4       pVP                  f   \        WV4       VP	                  VP
                  \        P                  VP                  ^ ,          P                  ^ ,          4      Vn	        R# r5  )
r0  r6  r;  r[  ÚOpenUserr:  r   r£   r]  r7  r<  s   &&&  r   r@  r@  s  si   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡v�v‚~Ü�v¨WÔ5Ø—J‘J˜qŸ™Ü'×@Ñ@Ø Ÿv™v a�yŸ}™}¨QÕ/ó1€A„Mñ r   c                 ó¶   € VP                  4       pVP                  4       pVP                  f   \        WV4       ^pVP	                  VP                  V4       R# r5  )r0  r6  r7  r@  ÚQueryUserInforR  s   &&&   r   Úpacket_samr_36rn    sL   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡}�}ÒÜ�v¨WÔ5Ø€EØ‡O�O�A—M‘M 5Ô)Ùr   c                 ó°   € VP                  4       pVP                  4       pVP                  f   \        WV4       VP	                  VP                  4       R# r5  )r0  r6  r7  r@  ÚGetGroupsForUserr<  s   &&&  r   Úpacket_samr_39rq  �  sG   € à× Ñ Ó"€AØ	×ÑÓ€AØ‡}�}ÒÜ�v¨WÔ5Ø×Ñ�q—}‘}Ô%Ùr   c                 óF   € VP                  4       pVP                  4        R # rC   r/  r'  s   &&& r   Úpacket_samr_57rs  œ  r3  r   c                 óF   € VP                  4       pVP                  4        R # rC   r/  r'  s   &&& r   Úpacket_samr_64ru  £  r3  r   c                 óx   € VP                  4       pR VP                  ,           pRp^pVP                  WEV4       R# )ú\\zIPC$T)Úget_srvsvc_connectionrQ   ÚNetShareGetInfo)r+   r,   r-   r=  Ú
server_uncÚ
share_namerq   s   &&&    r   Úpacket_srvsvc_16r|  ­  s;   € à×%Ñ%Ó'€AØ˜'Ÿ.™.Õ(€JØ€JØ€EØ×Ñ�j¨eÔ4Ùr   c                ór   € VP                  4       pRVP                  ,           p^epVP                  WE4       R# )a  NetSrvGetInfo

FIXME: Level changed from 102 to 101 here, to bypass Windows error.

Level 102 will cause WERR_ACCESS_DENIED error against Windows, because:

    > If the level is 102 or 502, the Windows implementation checks whether
    > the caller is a member of one of the groups previously mentioned or
    > is a member of the Power Users local group.

It passed against Samba since this check is not implemented by Samba yet.

refer to:

    https://msdn.microsoft.com/en-us/library/cc247297.aspx#Appendix_A_80

rw  T)rx  rQ   ÚNetSrvGetInfo)r+   r,   r-   Úsrvsvcrz  rq   s   &&&   r   Úpacket_srvsvc_21r€  ·  s6   € ð$ ×*Ñ*Ó,€FØ˜'Ÿ.™.Õ(€JØ€EØ
×Ñ˜Ô+Ùr   )¡rß   r   rV   Ú	samba.netr   Úsamba.dcerpcr   r   r   r   r   r	   Úsamba.dcerpc.netlogonr
   Úsamba.dcerpc.securityr   Úsamba.netbiosr   Ú	samba.ndrr   Úsamba.credentialsr   r   r   Úsambar   Úsamba.ntstatusr   r   Údns.resolverrE   Úldbr   r   r"   Ú DRSUAPI_DS_NAME_FORMAT_FQDN_1779Ú"DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNTÚDRSUAPI_DS_NAME_FORMAT_DISPLAYÚDRSUAPI_DS_NAME_FORMAT_GUIDÚ DRSUAPI_DS_NAME_FORMAT_CANONICALÚ%DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPALÚ#DRSUAPI_DS_NAME_FORMAT_CANONICAL_EXÚ(DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPALÚ)DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORYÚ!DRSUAPI_DS_NAME_FORMAT_DNS_DOMAINÚ'DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECIDÚ6DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EXÚ2DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERSÚ$DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGONÚ4DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITEÚ&DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAMEÚ3DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAMEÚDRSUAPI_DS_NAME_FORMAT_LIST_NCSÚ#DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINSÚ&DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUIDÚ3DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAINÚ!DRSUAPI_DS_NAME_FORMAT_LIST_ROLESÚ+DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVERÚ6DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITEÚ+DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITEÚ+DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITEÚ!DRSUAPI_DS_NAME_FORMAT_LIST_SITESrX   r&   r.   r;   Úpacket_cldap_5Úpacket_dcerpc_0Úpacket_dcerpc_2Úpacket_dcerpc_3Úpacket_dcerpc_11Úpacket_dcerpc_12Úpacket_dcerpc_13Úpacket_dcerpc_14r?   rA   rJ   Úpacket_dns_1rM   ÚdirÚgetattrÚNAME_FORMATSrd   rs   ry   Úpacket_drsuapi_2Úpacket_drsuapi_3Úpacket_drsuapi_4Úpacket_epm_3r   Úpacket_ldap_r†   Úpacket_ldap_1r‰   rœ   Úpacket_ldap_4Úpacket_ldap_5Úpacket_ldap_6Úpacket_ldap_7Úpacket_ldap_8Úpacket_ldap_9Úpacket_ldap_16Úpacket_lsarpc_0Úpacket_lsarpc_1Úpacket_lsarpc_2Úpacket_lsarpc_3Úpacket_lsarpc_4Úpacket_lsarpc_5Úpacket_lsarpc_6r¬   r¶   r¼   Úpacket_lsarpc_40Úpacket_lsarpc_43Úpacket_lsarpc_44Úpacket_lsarpc_68rÅ   rÉ   rÐ   Úpacket_nbns_1Úpacket_rpc_netlogon_0Úpacket_rpc_netlogon_1Úpacket_rpc_netlogon_4Úpacket_rpc_netlogon_14Úpacket_rpc_netlogon_15Úpacket_rpc_netlogon_21Úpacket_rpc_netlogon_26rÙ   rí   Úpacket_rpc_netlogon_34r  r  rñ   r(  r-  r2  r>  rB  rG  rK  rN  rP  rS  Úpacket_samr_14rV  rY  r[  rb  rf  ri  r@  rn  Úpacket_samr_37rq  Úpacket_samr_40Úpacket_samr_44rs  ru  Úpacket_samr_68r|  r€  )Ú_xs   0r   Ú<module>rÚ     sÃ  ðó$ 
Û Û å ß G× GÝ =Ý )Ý Ý ÷ñ õ
  ÷ó Û Ý ò$òð ×,Ñ,Ø×.Ñ.Ø×*Ñ*Ø×'Ñ'Ø×,Ñ,Ø×1Ñ1Ø×/Ñ/Ø×4Ñ4Ø×5Ñ5Ø×-Ñ-Ø×3Ñ3Ø×BÑBØ×>Ñ>Ø×0Ñ0Ø×@Ñ@Ø×2Ñ2Ø×?Ñ?Ø×+Ñ+Ø×/Ñ/Ø×2Ñ2Ø×?Ñ?Ø×-Ñ-Ø×7Ñ7Ø×BÑBØ×7Ñ7Ø×7Ñ7Ø×-Ñ-ð7€ò>@òTòð €ð €ð €ð €àÐ ð Ð ð
 Ð ð
 Ð ò
òòð €ò
ñ 03°7¬|ó (©|¨Ø  BÑ&ô %‘˜ Ö$©|ñ (€òò*òð Ð ð Ð ð Ð ð
 €ò
	ð €ò
ð €ò
òð. €ð
 €ð €à€à€à€à€à€ð €ð €ð €ð €ð €ð €òò"ò.ð2 Ð ð
 Ð ð Ð ð Ð òò&òð €ð
 $Ð à#Ð à#Ð ð
 %Ð à$Ð à$Ð ð %Ð ò
òð4 %Ð òò@!ò$ò6ò òFòò.òòòð "# B Ð òð €ò
òò	òòòò	òð €òð €à€òòð €òôùò(s   Ç	J+ÇJ+