HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/samba/tests/__pycache__/auth_log_samlogon.cpython-310.pyc
o

�/a��@s�dZddlZddlZddlmZddlZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZmZddlmZddlmZmZGd
d�dejjj�Z dS)z5
    Tests auth logging tests that exercise SamLogon
�N)�SamDB)�Credentials�DONT_USE_KERBEROS�CLI_CRED_NTLMv2_AUTH)�ntlmssp�netlogon)�AS_SYSTEM_MAGIC_PATH_TOKEN)�ndr_pack)�system_session)�delete_force)�UF_WORKSTATION_TRUST_ACCOUNT�UF_PASSWD_NOTREQD)�SEC_CHAN_WKSTA��EVT_ID_SUCCESSFUL_LOGON�EVT_LOGON_NETWORKcs@eZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Z�ZS)�AuthLogTestsSamLogoncsttt|���tj��|_t�|_t	|j|jd�|_
tjd|_
d|_d|_t|_|j
��|_d|j|jf|_dS)N)�session_info�lp�DOMAIN�SamLogonTest�
abcdefghijzcn=%s,cn=users,%s)�superr�setUp�samba�tests�env_loadparmrr
�sessionr�ldb�os�environ�domain�netbios_name�machinepassr�
remoteAddress�	domain_dn�base_dn�samlogon_dn��self��	__class__��?/usr/lib/python3/dist-packages/samba/tests/auth_log_samlogon.pyr.s�

�zAuthLogTestsSamLogon.setUpcs tt|���t|j|j�dS)N)rr�tearDownrrr'r(r*r,r-r.>szAuthLogTestsSamLogon.tearDowncCs�dd�}|rd|}nd}d|jd�d�}|j�|jdd|jtttB�|d	��t	�}|�
|���|�t
�|�|j�|�|jd
�t�d||��|�}d}t��}	d
|	_t��}
tj|
_|j|
_t��}tj|_|j|_t��}tj|_|
||g|	_t|	�}
|jt||
d�}d}tj}t j!j�"�}dd�|D�|_#t�$�|_%t&|d�|j%_'dd�|dD�|j%_(t j!j�)�|_*|�+�\}}||j*j,_-||j*j._-|�/�|j*j0_-t j!jj1}|�2t3j4d|�/�||||�}|\}}}|�5||�}||�dS)NcSs\|ddko-|dddko-|dddko-|dddko-|dd	tko-|dd
tkS)N�type�Authentication�serviceDescription�SamLogon�authDescription�network�passwordType�NTLMv2�eventId�	logonTyper)�msgr,r,r-�isLastExpectedMessageDs���
���zBAuthLogTestsSamLogon._test_samlogon.<locals>.isLastExpectedMessagez
[schannel,%s]z
[schannel]�"z	utf-16-le�computerz%s$)�dn�objectclass�sAMAccountName�userAccountControl�
unicodePwd�$z
ncalrpc:%ssabcdefgh�)�flags�	challenge�target_inforcS�"g|]
}t|t�r|nt|��qSr,��
isinstance�int�ord��.0�xr,r,r-�
<listcomp>�s�z7AuthLogTestsSamLogon._test_samlogon.<locals>.<listcomp>�nt_responsecSrGr,rHrLr,r,r-rO�s���SERVER)6r#�encoder�addr'r"�strrr
r�guess�get_loadparm�set_secure_channel_typer�set_password�set_usernamerr�AV_PAIR_LIST�count�AV_PAIR�MsvAvNbDomainName�AvIdr!�Value�MsvAvNbComputerName�MsvAvEOL�pairr	�get_ntlm_responser�$NetlogonNetworkTransitiveInformationr�dcerpc�netr_NetworkInforE�netr_ChallengeResponse�nt�len�length�data�netr_IdentityInfo�
identity_info�get_ntlm_username_domain�domain_name�string�account_name�get_workstation�workstation�NetlogonValidationSamInfo4�netr_LogonSamLogonExrr �waitForMessages)r)�binding�creds�
checkFunctionr:�utf16pw�
machine_creds�
netlogon_connrErF�
domainname�computername�eol�target_info_blob�response�
netr_flags�logon_level�logon�usernamer!�validation_level�result�
validation�
authoritative�netr_flags_out�messagesr,r,r-�_test_samlogonBs�


�

���

�


�
z#AuthLogTestsSamLogon._test_samlogoncCs�|�|�}d}|�|t|�d�|d}|�d|d�|�d|dd�|�d|dd	�|�d
|dd�|�|�|dd��dS)
N�z/Did not receive the expected number of messagesr�
Authorizationr/zDCE/RPCr1�ncalrpc�authType�NONE�transportProtection�	sessionId)�remove_netlogon_messages�assertEqualri�
assertTrue�is_guid)r)r��expected_messagesr9r,r,r-�samlogon_check�s
�
�z#AuthLogTestsSamLogon.samlogon_checkc
Csb|j|��td�}z|�d||j�WdSty0}z|�dt|��WYd}~dSd}~ww)N)�template�kerberos_state�SEALzUnexpected exception: )�insta_creds�get_credentialsrr�r��	Exception�failrT)r)rx�er,r,r-�test_ncalrpc_samlogon�s
� ��z*AuthLogTestsSamLogon.test_ncalrpc_samlogon)	�__name__�
__module__�__qualname__rr.r�r�r��
__classcell__r,r,r*r-r,s[r)!�__doc__�samba.testsrr�samba.samdbr�samba.tests.auth_log_base�samba.credentialsrrr�samba.dcerpcrr�samba.dcerpc.dcerpcr�	samba.ndrr	�
samba.authr
r�
samba.dsdbrr
�samba.dcerpc.miscr�samba.dcerpc.windows_event_idsrrr�
auth_log_base�AuthLogTestBaserr,r,r,r-�<module>s