
    Idp                     P   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 Z!d Z"ejF                  ejH                  ejJ                  ejL                  ejN                  ejP                  ejR                  ejT                  ejV                  ejX                  ejZ                  ej\                  ej^                  ej`                  ejb                  ejd                  ejf                  ejh                  ejj                  ejl                  ejn                  ejp                  ejr                  ejt                  ejv                  ejx                  ejz                  gZ>d Z?d Z@d ZAe@ZBe@ZCe@ZDe@ZEe@ZFe@ZGe@ZHe@ZId ZJd ZKd ZLe@ZMd ZN eOe      D  cg c]  } d| v r	 ePe|        c} ZQd ZRd ZSd ZTe@ZUe@ZVe@ZWe@ZXd ZYe@ZZd Z[e@Z\d Z]d Z^e@Z_e@Z`e@Zae@Zbe@Zce@Zde@Zee@Zfe@Zge@Zhe@Zie@Zje@Zke@Zld Zmd Znd Zoe@Zpe@Zqe@Zre@Zsd  Ztd! Zud" Zve@Zwe@Zxe@Zye@Zze@Z{e@Z|e@Z}e@Z~d# Zd$ Ze@Zd% Zd& Zd' Zd( Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0d1gZd2 Ze@Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Ze@Zd; Ze@Ze@Zd< Zd= Ze@Zd> Zd? Zyc c} w )@    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                 @    t        j                  |       j                  S )N)ctypesc_uint32value)vs    ?/usr/lib/python3/dist-packages/samba/emulate/traffic_packets.pyuint32r   *   s    ??1###    c                 F    | yt        | j                  d         }||k(  ryy)NFr   T)r   args)runtimevalerr32s      r   check_runtime_errorr"   .   s)    7<<?#E|r   c                      t        d| z         y )Nz[37;41;1mWarning: %s[00m)print)messages    r   warningr&   X   s    	
2g
>?r   c                      yNF packetconversationcontexts      r   null_packetr.      s    r   c                     t        |j                  |j                        }|j                  |j                  j	                  d      t
        j                  t
        j                  z  t
        j                  z         y)N)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`    
GMMgjj
1CJJgjjnnW-))''(--.  0 r   c                 \    |j                   j                         t        k(  rt        d       y)NzQKerberos 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                 \    |j                   j                         t        k(  rt        d       y)NzBKerberos enabled but have dcerpc AUTH3 indicating NTLMSSP was usedF)r=   r>   r   r&   r*   s      r   packet_dcerpc_16rA      s,     ,,.2CC . 	/r   c                 j    |j                         \  }}t        j                  j                  ||       yNT)guess_a_dns_lookupdnsresolverquery)r+   r,   r-   namertypes        r   packet_dns_0rJ      s+    ,,.KD%LLtU#r   c                 &    |j                  d       yrC   )get_drsuapi_connection_pairr*   s      r   packet_drsuapi_0rM      s    ''-r   NAME_FORMATc                 h   |j                         \  }}t        j                         }|j                  |_        t        j
                         }d|_        d|_        t        j                  t              |_        d|_        d|_        d|_        d|_        |g|_        |j!                  |d|      \  }}y)Nr      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_12rf      s    557KC  "EEI

 
 
"CCC|4CCLCLCCICI$$VQ4MVSr   c                 ^   t        j                         }t         j                  |_        d|_        |j
                  |_        d|_        t        j                         }dj                  |j                        |_        |g|_        |j                         \  }}|j                  |d|      \  }}y)Nr   rQ   zfoo/{}T)r   DsWriteAccountSpnRequest1 DRSUAPI_DS_SPN_OPERATION_REPLACE	operationunknown1user_dn	object_dnr^   rR   formatusernamerT   	spn_namesrL   DsWriteAccountSpn)	r+   r,   r-   rc   spn_namera   rb   levelress	            r   packet_drsuapi_13ru      s    

+
+
-C<<CMCLOOCMCI##%H??7#3#34HLJCM779MS&((C8LUCr   c                 f    |j                         \  }}|j                  |       |j                  d= y)NT)rL   DsUnbinddrsuapi_connections)r+   r,   r-   ra   rb   s        r   packet_drsuapi_1rz      s1    779MS&LL##B'r   c                 :   |j                   j                  t               |j                  j                  t               |j                  j                  t               |j
                  j                  t               |j                  j                  t               yr(   )r=   set_kerberos_stater   user_creds_badmachine_credsmachine_creds_badr0   r*   s      r   packet_kerberos_r     sn     ))*;<--.?@,,->?001BCMM$$%67r   c                 v    | j                   d   dk(  r|j                  dd       y|j                  dd       y)N   simpleT)newr   F)extraget_ldap_connectionr*   s      r   packet_ldap_0r   0  sB    ||A("##T#:  	##U#;r   c                 "    |j                   dd = y)Nrw   F)ldap_connectionsr*   s      r   packet_ldap_2r   @  s     	  %r   c                 "   | j                   \  }}}}}}}	|st        }|j                         }
|j                  |      }||dk(  r|t        k7  r|j	                  |||      }|
j                  ||t        |      |j                  d      dg       y)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>||4UFFE5$'')E		 	 	(B 	&B,EZ,?,,UFB?	LL"5z{{3'12	  4
 r   c                 X   |j                         }t        j                         }|j                  d|t        j
                        }t        j                         }t        j                  d      t        j                  d      g}t        j                  }d}	|j                  |||||	       y)Nr   This OrganizationDigest Authenticationr   T)
 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_   rs   r^   s
             r   packet_lsarpc_14r     s    002A$$&JsJ'@@BJ DZZ+,ZZ/02E$$EEMM*eT5%8r   c                    |j                         }t        j                         }|j                  d|t        j
                        }t        j                         }t        j                         }t        d      }||_	        |g|_
        d|_        t        j                         }	t        j                  }
d}|j                  |||	|
|       y)Nr   S-1-5-7rQ   r   T)r   r   r   r   r   r   SidArraySidPtrr   sidr   num_sidsTransNameArrayr   
LookupSids)r+   r,   r-   r   r   r   r   r   xr_   rs   r^   s               r   packet_lsarpc_15r     s    002A$$&JsJ'@@BJ <<>D
**,C	ACGDIDM E$$EELLT5%7r   c                 f   |j                         }t        j                         }|j                  d|t        j
                        }t	        j                  |j                        }d}	 |j                  |||       y# t        $ r+}t        |t              st        |t              s Y d }~yd }~ww xY w)Nr   rQ   T)r   r   r   r   r   r   r   
domain_sidQueryTrustedDomainInfoBySidr   r"   r   r   )	r+   r,   r-   r   r   r   domsidrs   errors	            r   packet_lsarpc_39r     s     	002A$$&JsJ'@@BJ g001FE	%%j&%@    #5*IJ+E3KLs   (A< <	B0!B++B0c                 n   |j                         }t        j                         }t        j                         }t	        d      }||_        |g|_        d|_        t        j                         }t        j                  }d}	t        j                  }
t        j                  }|j                  ||||	|
|       y)Nr   rQ   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_   rs   r^   lookup_optionsclient_revisions               r   packet_lsarpc_76r     s    %%'A<<>D
**,C	ACGDIDM!E$$EE@@N//OMM$ue^_Mr   c                 0   |j                         }t        j                         }t        j                  d      t        j                  d      g}t        j                  }d}t        j
                  }t        j                  }	|j                  ||||||	       y)Nr   r   r   T)r   r   TransSidArray3r   r   r   r   LookupNames4)
r+   r,   r-   r   r   r_   rs   r^   r   r   s
             r   packet_lsarpc_77r     s~    %%'A DZZ+,ZZ/02E$$EE@@N//ONN5$unoNr   c                 f    t               }	 |j                  d|j                  dd       y#  Y yxY w)NANAME   F)timeout	broadcastT)r   
query_namerS   )r+   r,   r-   ns       r   packet_nbns_0r     s8    A	Wgnna5I s   , 0c                     |j                         }|j                         \  }}t               }|j                  |j                  |j
                  ||d|       y)N   T)get_netlogon_connectionget_authenticatorr
   netr_LogonGetDomainInforS   netbios_name)r+   r,   r-   r   authsuccrG   s          r   packet_rpc_netlogon_29r   #  sX    '')A,,.LT4')Egnn%22""#% r   c                    |j                         }|j                         \  }}d}|j                  j                         j	                  d      }t        |      }t        j                  ||z
        D 	cg c]  }	t        |	t              r|	n
t        |	      ! }
}	t        j                         }||_        |
|D 	cg c]  }	t        |	t              r|	n
t        |	      ! c}	z   |_        |j                  j                  |       |j!                  |j"                  |j                  j%                         |j                  j'                         |j(                  ||       yc c}	w c c}	w )Ni   z	utf-16-leT)r   r   r~   get_passwordencodelenosurandom
isinstancer   ordr   netr_CryptPasswordlengthdataencrypt_netr_crypt_passwordnetr_ServerPasswordSet2rS   get_usernameget_secure_channel_typer   )r+   r,   r-   r   r   r   DATA_LENnewpasspwd_lenr   fillerpwds               r   packet_rpc_netlogon_30r   2  s1   '')A,,.LT4H ##00299+FG'lG<>JJxRYGY<Z[qJq#&qCF2[F[

%
%
'CCJgNjC0c!f<NNCH55c:gnn &33@@B%33KKM%22"!#  \ Os   4$E:$E#c                 ~    fd}j                  |j                  j                  j                        _        y)Nc                    j                         }| j                         }| j                  t               t	        j
                  j                  |       }t        j                  }t        j                  }d}|j                  j                  j                  j                         ||||       | j                  |       y Nr   )r   r>   r|   r   samlogon_logon_infor3   r   r   $NetlogonNetworkTransitiveInformationNetlogonValidationSamInfo4netr_LogonSamLogonExrS   r~   get_workstation)r0   r   	old_statelogonlogon_levelvalidation_level
netr_flagsr-   s          r   connectz'packet_rpc_netlogon_39.<locals>.connectQ  s    ++- ,,.	  !23#GNN$+$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     ` r   packet_rpc_netlogon_39r  O  sC    ,. 	++G,3,>,>,3,B,B,3,E,E	G 
 r   c                 t   t        j                         }d|_        t        j                         }t         j                  |_        ||_        t        j                         }t         j                  |_        | |_        t        j                         }t         j                  |_        |||g|_	        t        |      S )N   )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3L&L"J//JO"J
//
CCH"L#6KK  r   c                    t        | |      }d}|j                  t        ||      }t        j                         }|D cg c]  }t        |t              r|n
t        |      ! c}|_        t        j                         |_
        t        |d         |j                  _        |d   D cg c]  }t        |t              r|n
t        |      ! c}|j                  _        t        j                         |_        |j!                         \  }}	|	|j                  j"                  _        ||j                  j&                  _        |j)                         |j                  j*                  _        |S c c}w c c}w )Ns   abcdefgh)r4   	challenger  nt_response)r  get_ntlm_responser   r   netr_NetworkInfor   r   r   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   r   ro   r3   s
             r   r   r     s4   &{MBI&&-A1:3C ' EH %%'EHQR1
1c 21A>REO"99;EHh}56EHHOHPQ^H_`1
1c 21A>`EHHM"446E88:Xv.4E##*.6E$$+.3.C.C.EE##*L S as   $E+($E0c                     |j                         }|j                  |j                  t        j                  t        j
                  z  t        j                  z         yrC   )r   netr_DsrEnumerateDomainTrustsrS   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                 ~    fd}j                  |j                  j                  j                        _        y)Nc           
         	j                         }	j                         \  }}| j                         }| j                  t               t        	j                  	j                  |       }t        j                  }t        j                  }d}|j                  	j                  	j                  j                         ||||||       | j                  |       y r   )r   r   r>   r|   r   r   r3   r   r   r   r   netr_LogonSamLogonWithFlagsrS   r~   r   )
r0   r   r   r   r   r   r   r   r   r-   s
            r   r   z'packet_rpc_netlogon_45.<locals>.connect  s    ++-002t ,,.	  !23#GNN$+$8$8$)+ CC#>>
	%%gnn&-&;&;&K&K&M&*&*&1&+&6&0	2 	  +r   Tr   r  s     ` r   packet_rpc_netlogon_45r.    sC    ,4 	++G,3,>,>,3,B,B,3,E,E	G 
 r   c                 D    |j                         }|j                          yrC   get_samr_context
get_handler)  s       r   packet_samr_0r3          "ALLNr   c                    |j                         }|j                         }|j                  #|j                  |j                         d |_        y|j                  #|j                  |j                         d |_        y|j
                  *|j                  |j
                         d |_        d |_        y|j                  )|j                  |j                         d |_        d |_        yrC   )	r1  get_connectionuser_handleClosegroup_handledomain_handleridsrb   r   r+   r,   r-   r   ss        r   packet_samr_1r>    s      "A	A 	}} 	  
	#	  
	$	 
 	 
		r   c                     |j                         }|j                         }|j                  t        | ||       |j	                  |j                  d       yNrQ   T)r1  r6  r7  packet_samr_34QuerySecurityr<  s        r   packet_samr_3rC    sI      "A	A}}v|W5OOAMM1%r   c                     |j                         }|j                         }|j                         }t        j                         }|j
                  |_        |j                  ||      |_        yrC   )	r1  r6  r2  r   r   r3   r  LookupDomainr   )r+   r,   r-   r   r=  hds          r   packet_samr_5rH    sT      "A	A	A

A~~AH>>!Q'ALr   c                     |j                         }|j                         }|j                         }|j                  |dd       yNr   T)r1  r6  r2  EnumDomainsr+   r,   r-   r   r=  rF  s         r   packet_samr_6rM    s<      "A	A	AMM!Qr   c                     |j                         }|j                         }|j                         }|j                  t	        | ||       |j                  |t        j                  |j                        |_        yrC   )	r1  r6  r2  r   rH  
OpenDomainr   r   r:  rL  s         r   packet_samr_7rP    sf      "A	A	A||flG4ll1#+#D#D#$<<1AO r         c                     |j                         }|j                         }|j                  t        | ||       t	        j
                  t              }|j                  |j                  |       yrC   )r1  r6  r:  rP  rX   rY   SAMR_QUERY_DOMAIN_INFO_LEVELSQueryDomainInfor+   r,   r-   r   r=  rs   s         r   packet_samr_8rW    sZ      "A	AflG4MM78Eaoou-r   c                     |j                         }|j                         }|j                  t        | ||       |j	                  |j                  dd       y)Nd   r   T)r1  r6  r:  rP  EnumDomainAliasesr<  s        r   packet_samr_15r[  '  sM      "A	AflG4a0r   c                 0   |j                         }|j                         }|j                  t        | ||       t	        j
                         }t	        j                         }|j                  |_        |g|_	        |j                  |j                  |       yrC   )r1  r6  r:  rP  r   r   r   r   r   r   GetAliasMembership)r+   r,   r-   r   r=  r   r   s          r   packet_samr_16r^  2  su      "A	AflG4<<>D::<CllCGDI$/r   c                     |j                         }|j                         }|j                  t        | ||       t	        j
                  |j                        }|j                  |j                  |g      |_        yrC   )	r1  r6  r:  rP  r   r   ro   r   r;  )r+   r,   r-   r   r=  rH   s         r   packet_samr_17r`  A  sc      "A	AflG4::g&&'D]]1??TF3AFr   c                    |j                         }|j                         }|j                  t        | ||       g }|j                  D ]$  }|j                  D ]  }|j                  |        & |j                  |j                  |       yrC   )r1  r6  r;  r`  idsappend
LookupRidsr:  )r+   r,   r-   r   r=  r;  ris           r   packet_samr_18rg  M  s      "A	Avv~v|W5DVV  	AKKN	 LL$'r   c                     |j                         }|j                         }|j                  t        | ||       d}|j	                  |j                  t
        j                  |      |_        y)Ni  T)r1  r6  r:  rP  	OpenGroupr   r   r9  )r+   r,   r-   r   r=  rids         r   packet_samr_19rk  [  s`      "A	AflG4
C[[!)!B!B!$&AN r   c                     |j                         }|j                         }|j                  t        | ||       |j	                  |j                         yrC   )r1  r6  r9  rk  QueryGroupMemberr<  s        r   packet_samr_25rn  i  sI      "A	A~~v|W5q~~&r   c                 
   |j                         }|j                         }|j                  t        | ||       |j	                  |j
                  t        j                  |j                  d   j                  d         |_	        yrJ  )
r1  r6  r;  r`  OpenUserr:  r   r   rb  r7  r<  s        r   rA  rA  s  sk      "A	Avv~v|W5JJq'@@ vvay}}Q/1AM r   c                     |j                         }|j                         }|j                  t        | ||       d}|j	                  |j                  |       yr@  )r1  r6  r7  rA  QueryUserInforV  s         r   packet_samr_36rs    sN      "A	A}}v|W5EOOAMM5)r   c                     |j                         }|j                         }|j                  t        | ||       |j	                  |j                         yrC   )r1  r6  r7  rA  GetGroupsForUserr<  s        r   packet_samr_39rv    sI      "A	A}}v|W5q}}%r   c                 D    |j                         }|j                          yrC   r0  r)  s       r   packet_samr_57rx    r4  r   c                 D    |j                         }|j                          yrC   r0  r)  s       r   packet_samr_64rz    r4  r   c                 p    |j                         }d|j                  z   }d}d}|j                  |||       y)N\\zIPC$rQ   T)get_srvsvc_connectionrS   NetShareGetInfo)r+   r,   r-   r=  
server_unc
share_namers   s          r   packet_srvsvc_16r    s=    %%'A'..(JJEj*e4r   c                 j    |j                         }d|j                  z   }d}|j                  ||       y)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}  rS   NetSrvGetInfo)r+   r,   r-   srvsvcr  rs   s         r   packet_srvsvc_21r    s8    $ **,F'..(JE
U+r   )r   r   rX   	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_ALTSECID6DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX2DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS$DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON4DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE&DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME3DRSUAPI_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_GUID3DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN!DRSUAPI_DS_NAME_FORMAT_LIST_ROLES+DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER6DRSUAPI_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_SITESrZ   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_FORMATSrf   ru   rz   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.  r3  r>  rC  rH  rM  rP  rT  rW  packet_samr_14r[  r^  r`  rg  rk  rn  rA  rs  packet_samr_37rv  packet_samr_40packet_samr_44rx  rz  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       
  
  
 
 037| ( B& $ (*      
 
	 
 
. 
        ".2  
      & 
 $ # # 
 % $ $  % 
4 % @!$6 F. "#B  
		   (s   J#