a
    œcl_p  ã                   @   s’  d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZmZ d dlZd dlZd dlm Z  dd„ Z!dd„ Z"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-ej.ej/ej0ej1ej2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=gZ>dd„ Z?dd„ Z@dd„ ZAe@ZBe@ZCe@ZDe@ZEe@ZFe@ZGe@ZHe@ZIdd„ ZJdd„ ZKdd„ ZLe@ZMdd„ ZNdd„ eOeƒD ƒZPd d!„ ZQd"d#„ ZRd$d%„ ZSe@ZTe@ZUe@ZVe@ZWd&d'„ ZXe@ZYd(d)„ ZZe@Z[d*d+„ Z\d,d-„ Z]e@Z^e@Z_e@Z`e@Zae@Zbe@Zce@Zde@Zee@Zfe@Zge@Zhe@Zie@Zje@Zkd.d/„ Zld0d1„ Zmd2d3„ Zne@Zoe@Zpe@Zqe@Zrd4d5„ Zsd6d7„ Ztd8d9„ Zue@Zve@Zwe@Zxe@Zye@Zze@Z{e@Z|e@Z}d:d;„ Z~d<d=„ Ze@Z€d>d?„ Zd@dA„ Z‚dBdC„ ZƒdDdE„ Z„dFdG„ Z…dHdI„ Z†dJdK„ Z‡dLdM„ ZˆdNdO„ Z‰dPdQ„ ZŠdRdS„ Z‹dTdUgZŒdVdW„ Ze@ZŽdXdY„ ZdZd[„ Zd\d]„ Z‘d^d_„ Z’d`da„ Z“dbdc„ Z”ddde„ Z•dfdg„ Z–e@Z—dhdi„ Z˜e@Z™e@Zšdjdk„ Z›dldm„ Zœe@Zdndo„ Zždpdq„ ZŸdS )ré    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                 C   s   t  | ¡jS )N)ÚctypesZc_uint32Úvalue)Úv© r   ú?/usr/lib/python3/dist-packages/samba/emulate/traffic_packets.pyÚuint32*   s    r   c                 C   s*   | d u rdS t | jd ƒ}||kr&dS dS )NFr   T)r   Úargs)ZruntimeÚvalZerr32r   r   r   Úcheck_runtime_error.   s    r   c                 C   s   t d|  ƒ d S )Nz[37;41;1mWarning: %s[00m)Úprint)Úmessager   r   r   ÚwarningX   s    r   c                 C   s   dS ©NFr   ©ÚpacketÚconversationÚcontextr   r   r   Únull_packet‚   s    r%   c                 C   s8   t |j|jd}|j|j d¡tjtjB tjB d dS )N)ÚcredsÚlpZrealm)ÚdomainÚflagsT)	r   r&   r'   ZfinddcÚgetr   ZNBT_SERVER_LDAPZNBT_SERVER_DSZNBT_SERVER_WRITABLE)r"   r#   r$   Znetr   r   r   Úpacket_cldap_3†   s    ÿþÿr+   c                 C   s   |j  ¡ tkrtdƒ dS )NzQKerberos disabled but have dcerpc Alter_context_resp indicating Kerberos was usedF)Ú
user_credsÚget_kerberos_stater   r   r!   r   r   r   Úpacket_dcerpc_15²   s    r.   c                 C   s   |j  ¡ tkrtdƒ dS )NzBKerberos enabled but have dcerpc AUTH3 indicating NTLMSSP was usedF)r,   r-   r   r   r!   r   r   r   Úpacket_dcerpc_16¼   s    r/   c                 C   s   |  ¡ \}}tj ||¡ dS ©NT)Zguess_a_dns_lookupÚdnsZresolverÚquery)r"   r#   r$   ÚnameZrtyper   r   r   Úpacket_dns_0Æ   s    r4   c                 C   s   |  d¡ dS r0   )Úget_drsuapi_connection_pairr!   r   r   r   Úpacket_drsuapi_0Ò   s    
r6   c                 C   s   g | ]}d |v rt t|ƒ‘qS )ZNAME_FORMAT)Úgetattrr   )Ú.0Z_xr   r   r   Ú
<listcomp>Ø   s   ÿr9   c           	      C   sr   |  ¡ \}}t ¡ }|j|_t ¡ }d|_d|_t 	t
¡|_d|_d|_d|_d|_|g|_| |d|¡\}}dS )Nr   é   iä  i	  é   T)r5   r   ÚDsNameStringÚserverÚstrZDsNameRequest1Zformat_flagsZformat_offeredÚrandomÚchoiceÚname_formatsZformat_desiredZcodepageZlanguageÚcountÚnamesZDsCrackNames)	r"   r#   r$   ÚdrsÚhandlerC   ÚreqÚresultZctrr   r   r   Úpacket_drsuapi_12Ü   s    rH   c           	      C   sd   t  ¡ }t j|_d|_|j|_d|_t  ¡ }d 	|j
¡|_|g|_| ¡ \}}| |d|¡\}}dS )Nr   r;   zfoo/{}T)r   ZDsWriteAccountSpnRequest1Z DRSUAPI_DS_SPN_OPERATION_REPLACEZ	operationZunknown1Zuser_dnZ	object_dnrB   r<   ÚformatÚusernamer>   Z	spn_namesr5   ZDsWriteAccountSpn)	r"   r#   r$   rF   Zspn_namerD   rE   ÚlevelÚresr   r   r   Úpacket_drsuapi_13ñ   s    rM   c                 C   s"   |  ¡ \}}| |¡ |jd= dS )NéÿÿÿÿT)r5   ZDsUnbindZdrsuapi_connections)r"   r#   r$   rD   rE   r   r   r   Úpacket_drsuapi_1   s    
rO   c                 C   s@   |j  t¡ |j t¡ |j t¡ |j t¡ |j t¡ dS r    )r,   Úset_kerberos_stater   Úuser_creds_badÚmachine_credsZmachine_creds_badr&   r!   r   r   r   Úpacket_kerberos_  s    rS   c                 C   s0   | j d dkr|jddd n|jddd dS )Né   ÚsimpleT)ÚnewrU   F)ÚextraÚget_ldap_connectionr!   r   r   r   Úpacket_ldap_00  s    rY   c                 C   s   |j dd …= dS )NrN   F)Zldap_connectionsr!   r   r   r   Úpacket_ldap_2@  s    rZ   c                 C   sx   | j \}}}}}}}	|st}| ¡ }
| |¡}|d u s>|dkrT|tkrT| |||¡}|
j||t|ƒ| d¡dgd dS )NÚ ú,zpaged_results:1:1000)Z
expressionÚscopeÚattrsZcontrolsT)rW   r   rX   Zget_matching_dnZguess_search_filterÚsearchÚintÚsplit)r"   r#   r$   r]   Zdn_sigÚfilterr^   rW   ZdescZoidZsamdbZdnr   r   r   Úpacket_ldap_3G  s    
ürc   c           
      C   s\   |  ¡ }t ¡ }| d|tj¡}t ¡ }t d¡t d¡g}tj}d}	| 	|||||	¡ dS )Nr[   úThis OrganizationúDigest Authenticationr   T)
Ú get_lsarpc_named_pipe_connectionr   ÚObjectAttributeÚOpenPolicy2r   ÚSEC_FLAG_MAXIMUM_ALLOWEDZTransSidArrayÚStringÚLSA_LOOKUP_NAMES_ALLÚLookupNames)
r"   r#   r$   ÚcÚ
objectAttrÚ
pol_handleÚsidsrC   rK   rB   r   r   r   Úpacket_lsarpc_14‰  s    ÿÿrq   c                 C   st   |  ¡ }t ¡ }| d|tj¡}t ¡ }t ¡ }tdƒ}||_	|g|_
d|_t ¡ }	tj}
d}| |||	|
|¡ dS )Nr[   úS-1-5-7r;   r   T)rf   r   rg   rh   r   ri   ÚSidArrayÚSidPtrr
   Úsidrp   Únum_sidsZTransNameArrayrk   Z
LookupSids)r"   r#   r$   rm   rn   ro   rp   ru   ÚxrC   rK   rB   r   r   r   Úpacket_lsarpc_15š  s     ÿrx   c           	   
   C   s‚   |  ¡ }t ¡ }| d|tj¡}t |j¡}d}z| |||¡ W n: t	y| } z"t
|tƒsht
|tƒsh‚ W Y d }~n
d }~0 0 dS )Nr[   r;   T)rf   r   rg   rh   r   ri   r
   Ú
domain_sidZQueryTrustedDomainInfoBySidr   r   r   r   )	r"   r#   r$   rm   rn   ro   ZdomsidrK   Úerrorr   r   r   Úpacket_lsarpc_39±  s    ÿ
ÿr{   c                 C   sj   |  ¡ }t ¡ }t ¡ }tdƒ}||_|g|_d|_t ¡ }tj	}d}	tj
}
tj}| ||||	|
|¡ dS )Nrr   r;   r   T)Úget_lsarpc_connectionr   rs   rt   r
   ru   rp   rv   ZTransNameArray2rk   Ú'LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMESÚLSA_CLIENT_REVISION_2ZLookupSids3)r"   r#   r$   rm   rp   ru   rw   rC   rK   rB   Úlookup_optionsÚclient_revisionr   r   r   Úpacket_lsarpc_76Û  s    r   c           
      C   sR   |  ¡ }t ¡ }t d¡t d¡g}tj}d}tj}tj}	| ||||||	¡ dS )Nrd   re   r   T)r|   r   ZTransSidArray3rj   rk   r}   r~   ZLookupNames4)
r"   r#   r$   rm   rp   rC   rK   rB   r   r€   r   r   r   Úpacket_lsarpc_77î  s    ÿr‚   c                 C   s0   t ƒ }z|jd|jddd W n   Y n0 dS )NZANAMEé   F)ZtimeoutZ	broadcastT)r   Z
query_namer=   )r"   r#   r$   Únr   r   r   Úpacket_nbns_0ü  s    r…   c                 C   s6   |  ¡ }| ¡ \}}tƒ }| |j|j||d|¡ dS )Né   T)Úget_netlogon_connectionÚget_authenticatorr	   Znetr_LogonGetDomainInfor=   Únetbios_name)r"   r#   r$   rm   ÚauthÚsuccr2   r   r   r   Úpacket_rpc_netlogon_29#  s    ûrŒ   c                 C   sž   |  ¡ }| ¡ \}}d}|j ¡  d¡}t|ƒ}dd„ t || ¡D ƒ}	t 	¡ }
||
_
|	dd„ |D ƒ |
_|j |
¡ | |j|j ¡ |j ¡ |j||
¡ dS )Ni   z	utf-16-lec                 S   s"   g | ]}t |tƒr|nt|ƒ‘qS r   ©Ú
isinstancer`   Úord©r8   rw   r   r   r   r9   <  ó    z*packet_rpc_netlogon_30.<locals>.<listcomp>c                 S   s"   g | ]}t |tƒr|nt|ƒ‘qS r   r   r   r   r   r   r9   ?  r‘   T)r‡   rˆ   rR   Zget_passwordÚencodeÚlenÚosÚurandomr   Znetr_CryptPasswordÚlengthÚdataZencrypt_netr_crypt_passwordZnetr_ServerPasswordSet2r=   Zget_usernameZget_secure_channel_typer‰   )r"   r#   r$   rm   rŠ   r‹   ZDATA_LENZnewpassZpwd_lenZfillerÚpwdr   r   r   Úpacket_rpc_netlogon_302  s$    ùr™   c                    s(   ‡ fdd„}ˆ   |ˆ jˆ jˆ j¡ˆ _dS )Nc                    sd   ˆ   ¡ }|  ¡ }|  t¡ tˆ jˆ j| ƒ}tj}tj	}d}| 
ˆ jˆ j ¡ ||||¡ |  |¡ d S ©Nr   )r‡   r-   rP   r   Úsamlogon_logon_infor(   r‰   r   Ú$NetlogonNetworkTransitiveInformationÚNetlogonValidationSamInfo4Znetr_LogonSamLogonExr=   rR   Úget_workstation)r&   rm   Ú	old_stateÚlogonÚlogon_levelÚvalidation_levelÚ
netr_flags©r$   r   r   ÚconnectQ  s$    
þûz'packet_rpc_netlogon_39.<locals>.connectT©Zwith_random_bad_credentialsr,   rQ   Zlast_samlogon_bad©r"   r#   r$   r¥   r   r¤   r   Úpacket_rpc_netlogon_39O  s    ýÿr¨   c                 C   s^   t  ¡ }d|_t  ¡ }t j|_||_t  ¡ }t j|_| |_t  ¡ }t j|_|||g|_	t
|ƒS )Né   )r   ZAV_PAIR_LISTrB   ZAV_PAIRZMsvAvNbComputerNameZAvIdZValueZMsvAvNbDomainNameZMsvAvEOLZpairr   )Údomain_nameÚcomputer_nameÚtarget_infoZcomputernameZ
domainnameZeolr   r   r   Úsamlogon_targeto  s    r­   c           	      C   s¢   t | |ƒ}d}|jt||d}t ¡ }dd„ |D ƒ|_t ¡ |_t|d ƒ|j_	dd„ |d D ƒ|j_
t ¡ |_| ¡ \}}||jj_||jj_| ¡ |jj_|S )Ns   abcdefgh)r)   Ú	challenger¬   c                 S   s"   g | ]}t |tƒr|nt|ƒ‘qS r   r   r   r   r   r   r9     r‘   z'samlogon_logon_info.<locals>.<listcomp>Znt_responsec                 S   s"   g | ]}t |tƒr|nt|ƒ‘qS r   r   r   r   r   r   r9     r‘   )r­   Zget_ntlm_responser   r   Znetr_NetworkInfor®   Znetr_ChallengeResponseÚntr“   r–   r—   Znetr_IdentityInfoZidentity_infoZget_ntlm_username_domainrª   ÚstringZaccount_namerž   Zworkstation)	rª   r«   r&   Ztarget_info_blobr®   Zresponser    rJ   r(   r   r   r   r›     s"    
þ



r›   c                 C   s(   |  ¡ }| |jtjtjB tjB ¡ dS r0   )r‡   Znetr_DsrEnumerateDomainTrustsr=   r   ZNETR_TRUST_FLAG_IN_FORESTZNETR_TRUST_FLAG_OUTBOUNDZNETR_TRUST_FLAG_INBOUND©r"   r#   r$   rm   r   r   r   Úpacket_rpc_netlogon_40œ  s    ÿþþr²   c                    s(   ‡ fdd„}ˆ   |ˆ jˆ jˆ j¡ˆ _dS )Nc           	   
      st   ˆ   ¡ }ˆ  ¡ \}}|  ¡ }|  t¡ tˆ jˆ j| ƒ}tj	}tj
}d}| ˆ jˆ j ¡ ||||||¡ |  |¡ d S rš   )r‡   rˆ   r-   rP   r   r›   r(   r‰   r   rœ   r   Znetr_LogonSamLogonWithFlagsr=   rR   rž   )	r&   rm   rŠ   r‹   rŸ   r    r¡   r¢   r£   r¤   r   r   r¥   ©  s*    
þù	z'packet_rpc_netlogon_45.<locals>.connectTr¦   r§   r   r¤   r   Úpacket_rpc_netlogon_45§  s    ýÿr³   c                 C   s   |  ¡ }| ¡  dS r0   ©Úget_samr_contextÚ
get_handler±   r   r   r   Úpacket_samr_0Ê  s    r·   c                 C   s–   |  ¡ }| ¡ }|jd ur.| |j¡ d |_nd|jd urL| |j¡ d |_nF|jd urp| |j¡ d |_d |_n"|jd ur’| |j¡ d |_d |_dS r0   )	rµ   Úget_connectionÚuser_handleZCloseÚgroup_handleÚdomain_handleÚridsrE   ry   ©r"   r#   r$   rm   Úsr   r   r   Úpacket_samr_1Ñ  s"    



r¿   c                 C   s8   |  ¡ }| ¡ }|jd u r&t| ||ƒ | |jd¡ dS ©Nr;   T)rµ   r¸   r¹   Úpacket_samr_34ZQuerySecurityr½   r   r   r   Úpacket_samr_3è  s    
rÂ   c                 C   s:   |  ¡ }| ¡ }| ¡ }t ¡ }|j|_| ||¡|_dS r0   )	rµ   r¸   r¶   r   rj   r(   r°   ZLookupDomainry   )r"   r#   r$   rm   r¾   ÚhÚdr   r   r   Úpacket_samr_5ò  s    rÅ   c                 C   s*   |  ¡ }| ¡ }| ¡ }| |dd¡ dS ©Nr   T)rµ   r¸   r¶   ZEnumDomains©r"   r#   r$   rm   r¾   rÃ   r   r   r   Úpacket_samr_6ý  s
    rÈ   c                 C   sF   |  ¡ }| ¡ }| ¡ }|jd u r.t| ||ƒ | |tj|j¡|_dS r0   )	rµ   r¸   r¶   ry   rÅ   Z
OpenDomainr   ri   r»   rÇ   r   r   r   Úpacket_samr_7  s    
þrÉ   é   é   c                 C   sB   |  ¡ }| ¡ }|jd u r&t| ||ƒ t t¡}| |j|¡ dS r0   )rµ   r¸   r»   rÉ   r?   r@   ÚSAMR_QUERY_DOMAIN_INFO_LEVELSZQueryDomainInfo©r"   r#   r$   rm   r¾   rK   r   r   r   Úpacket_samr_8  s    

rÎ   c                 C   s:   |  ¡ }| ¡ }|jd u r&t| ||ƒ | |jdd¡ dS )Néd   r   T)rµ   r¸   r»   rÉ   ZEnumDomainAliasesr½   r   r   r   Úpacket_samr_15'  s    
rÐ   c                 C   sX   |  ¡ }| ¡ }|jd u r&t| ||ƒ t ¡ }t ¡ }|j|_|g|_	| 
|j|¡ dS r0   )rµ   r¸   r»   rÉ   r   rs   rt   ry   ru   rp   ZGetAliasMembership)r"   r#   r$   rm   r¾   rp   ru   r   r   r   Úpacket_samr_162  s    
rÑ   c                 C   sH   |  ¡ }| ¡ }|jd u r&t| ||ƒ t |j¡}| |j|g¡|_dS r0   )	rµ   r¸   r»   rÉ   r   rj   rJ   rl   r¼   )r"   r#   r$   rm   r¾   r3   r   r   r   Úpacket_samr_17A  s    
rÒ   c                 C   s^   |  ¡ }| ¡ }|jd u r&t| ||ƒ g }|jD ]}|jD ]}| |¡ q:q0| |j|¡ dS r0   )rµ   r¸   r¼   rÒ   ÚidsÚappendZ
LookupRidsr»   )r"   r#   r$   rm   r¾   r¼   ÚrÚir   r   r   Úpacket_samr_18M  s    


r×   c                 C   sB   |  ¡ }| ¡ }|jd u r&t| ||ƒ d}| |jtj|¡|_dS )Ni  T)rµ   r¸   r»   rÉ   Z	OpenGroupr   ri   rº   )r"   r#   r$   rm   r¾   Zridr   r   r   Úpacket_samr_19[  s    
þrØ   c                 C   s6   |  ¡ }| ¡ }|jd u r&t| ||ƒ | |j¡ dS r0   )rµ   r¸   rº   rØ   ZQueryGroupMemberr½   r   r   r   Úpacket_samr_25i  s    
rÙ   c                 C   sJ   |  ¡ }| ¡ }|jd u r&t| ||ƒ | |jtj|jd jd ¡|_	dS rÆ   )
rµ   r¸   r¼   rÒ   ZOpenUserr»   r   ri   rÓ   r¹   r½   r   r   r   rÁ   s  s    
þrÁ   c                 C   s<   |  ¡ }| ¡ }|jd u r&t| ||ƒ d}| |j|¡ dS rÀ   )rµ   r¸   r¹   rÁ   ZQueryUserInforÍ   r   r   r   Úpacket_samr_36  s    
rÚ   c                 C   s6   |  ¡ }| ¡ }|jd u r&t| ||ƒ | |j¡ dS r0   )rµ   r¸   r¹   rÁ   ZGetGroupsForUserr½   r   r   r   Úpacket_samr_39  s    
rÛ   c                 C   s   |  ¡ }| ¡  dS r0   r´   r±   r   r   r   Úpacket_samr_57œ  s    rÜ   c                 C   s   |  ¡ }| ¡  dS r0   r´   r±   r   r   r   Úpacket_samr_64£  s    rÝ   c                 C   s,   |  ¡ }d|j }d}d}| |||¡ dS )Nú\\zIPC$r;   T)Úget_srvsvc_connectionr=   ZNetShareGetInfo)r"   r#   r$   r¾   Ú
server_uncZ
share_namerK   r   r   r   Úpacket_srvsvc_16­  s    
rá   c                 C   s&   |  ¡ }d|j }d}| ||¡ dS )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

    rÞ   ée   T)rß   r=   ZNetSrvGetInfo)r"   r#   r$   Zsrvsvcrà   rK   r   r   r   Úpacket_srvsvc_21·  s
    
rã   ) r”   r   r?   Z	samba.netr   Zsamba.dcerpcr   r   r   r   r   r   Zsamba.dcerpc.netlogonr	   Zsamba.dcerpc.securityr
   Zsamba.netbiosr   Z	samba.ndrr   Zsamba.credentialsr   r   r   Zsambar   Zsamba.ntstatusr   r   Zdns.resolverr1   Zldbr   r   r   Z DRSUAPI_DS_NAME_FORMAT_FQDN_1779Z"DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNTZDRSUAPI_DS_NAME_FORMAT_DISPLAYZDRSUAPI_DS_NAME_FORMAT_GUIDZ DRSUAPI_DS_NAME_FORMAT_CANONICALZ%DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPALZ#DRSUAPI_DS_NAME_FORMAT_CANONICAL_EXZ(DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPALZ)DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORYZ!DRSUAPI_DS_NAME_FORMAT_DNS_DOMAINZ'DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECIDZ6DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EXZ2DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERSZ$DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGONZ4DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITEZ&DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAMEZ3DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAMEZDRSUAPI_DS_NAME_FORMAT_LIST_NCSZ#DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINSZ&DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUIDZ3DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAINZ!DRSUAPI_DS_NAME_FORMAT_LIST_ROLESZ+DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVERZ6DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITEZ+DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITEZ+DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITEZ!DRSUAPI_DS_NAME_FORMAT_LIST_SITESrA   r   r%   r+   Zpacket_cldap_5Zpacket_dcerpc_0Zpacket_dcerpc_2Zpacket_dcerpc_3Zpacket_dcerpc_11Zpacket_dcerpc_12Zpacket_dcerpc_13Zpacket_dcerpc_14r.   r/   r4   Zpacket_dns_1r6   ÚdirZNAME_FORMATSrH   rM   rO   Zpacket_drsuapi_2Zpacket_drsuapi_3Zpacket_drsuapi_4Zpacket_epm_3rS   Zpacket_ldap_rY   Zpacket_ldap_1rZ   rc   Zpacket_ldap_4Zpacket_ldap_5Zpacket_ldap_6Zpacket_ldap_7Zpacket_ldap_8Zpacket_ldap_9Zpacket_ldap_16Zpacket_lsarpc_0Zpacket_lsarpc_1Zpacket_lsarpc_2Zpacket_lsarpc_3Zpacket_lsarpc_4Zpacket_lsarpc_5Zpacket_lsarpc_6rq   rx   r{   Zpacket_lsarpc_40Zpacket_lsarpc_43Zpacket_lsarpc_44Zpacket_lsarpc_68r   r‚   r…   Zpacket_nbns_1Zpacket_rpc_netlogon_0Zpacket_rpc_netlogon_1Zpacket_rpc_netlogon_4Zpacket_rpc_netlogon_14Zpacket_rpc_netlogon_15Zpacket_rpc_netlogon_21Zpacket_rpc_netlogon_26rŒ   r™   Zpacket_rpc_netlogon_34r¨   r­   r›   r²   r³   r·   r¿   rÂ   rÅ   rÈ   rÉ   rÌ   rÎ   Zpacket_samr_14rÐ   rÑ   rÒ   r×   rØ   rÙ   rÁ   rÚ   Zpacket_samr_37rÛ   Zpacket_samr_40Zpacket_samr_44rÜ   rÝ   Zpacket_samr_68rá   rã   r   r   r   r   Ú<module>   s   å*



 #
	


