o
    Žõ±j|  ã                   @   s.   d dl Z d dlZdd„ Zedkreƒ  dS dS )é    Nc            *   
   C   sÀ  dd l } dd l}ddlm} ddlm} ddlm} ddlm	} ddl
m} ddlm} ddlm} dd	lm}	 dd
lm}
 ddlm} |ƒ |ƒ |ƒ |ƒ |ƒ |	ƒ |ƒ |
ƒ |ƒ g	}zddlm} | |ƒ ¡ W n ty| } z
t|ƒ W Y d }~nd }~ww | jdd�}|jddddd� |jdd�}d|_d|_|j ddd�}| ¡ }d|_d|_|D ]}| !||¡ q«|j ddd�}|jddgd� |jdd d!d"d#� |jd$d%d� |jd&d'd(d� |j d)d*d�}|jdd+d,gd� |jd-d.d!d/d#� |j d0d1d�}|jdd+d2gd� |j d3d3d�}|j d4d4d�}|j d5d5d�}| "¡ }|j#dk�r1t$j%t$j&d6� | 't$j&¡ n$|j#d7k�rEt$j%t$j(d6� | 't$j(¡ nd8|j# }t$j%|d6� | 'd7¡ |D ]}| )|¡ �qW|j*dk�r"|j+dk�r¢|j,dk�r dd9l-m.} |ƒ }d:}|j/d u�r†|j/}|j0d u�r�|j0}nt1j2d; }|j3|||j4d<� d S d S |j+d)k�ràdd9l-m.} |j,d+k�rÉ|ƒ }| 5|j6¡D ]	} tt7| ƒƒ �q½d S |j,d,k�rÞ|ƒ }| 8¡ }!tt7|!ƒƒ d S d S |j+d0k�rdd=l9m:}" |j,d+k�r	|"ƒ }#|# ;¡ }$|$D ]}tt7|$| ƒƒ �qûd S |j,d2k�r |"ƒ }#|# <¡ }%tt7|%ƒƒ d S d S d S |j*d3k�r4dd>l=m>}& t|&ƒ d S |j*d4k�rFdd?l=m?}' t|'ƒ d S |j*d5k�r^dd@l=m@}(mA}) t|)ƒ t|(ƒ d S d S )ANr   )Úlogger)ÚCryptoCMDHelper)ÚLDAPCMDHelper)ÚKerberosCMDHelper)ÚLSACMDHelper)ÚRegistryCMDHelper)ÚRemoteCMDHelper)ÚDPAPICMDHelper)ÚRDPCMDHelper)ÚParsersCMDHelper)ÚSMBCMDHelperz3Pure Python implementation of Mimikatz --and more--)Údescriptionz-vz	--verboseÚcount)ÚactionÚdefaultÚcommands)ÚhelpTÚcommandÚlivezGet secrets from live machineÚmoduleÚprocessz&Process creating/manipulation commandsÚcmdÚcreate)Úchoicesz-iz--interactiveÚ
store_truez Spawns a new interactive process)r   r   z--sidz$Impersonate given SID in new processz-cz	--cmdlinez(The process to execute. Default: cmd.exeÚtokenz$Token creating/manipulation commandsÚlistÚcurrentz-fz--forcezCTries to list as many tokens as possible without SE_DEBUG privilegeÚusersz#User creating/manipulation commandsÚwhoamiÚversionÚbannerÚlogo)Úlevelé   é   )ÚProcessManipulatorzS-1-5-18ÚComSpec)Ú
target_sidÚcmdlineÚinteractive)ÚLiveMachine)Ú__version__)Ú
__banner__)Ú__logo__Ú__logo_color__)BÚargparseÚglobÚpypykatzr   Úpypykatz.utils.crypto.cmdhelperr   Úpypykatz.ldap.cmdhelperr   Úpypykatz.kerberos.cmdhelperr   Úpypykatz.lsadecryptor.cmdhelperr   Úpypykatz.registry.cmdhelperr   Úpypykatz.remote.cmdhelperr   Úpypykatz.dpapi.cmdhelperr	   Úpypykatz.rdp.cmdhelperr
   Úpypykatz.parsers.cmdhelperr   Úpypykatz.smb.cmdhelperr   ÚappendÚ	ExceptionÚprintÚArgumentParserÚadd_argumentÚadd_subparsersÚrequiredÚdestÚ
add_parserÚadd_argsÚ
parse_argsÚverboseÚloggingÚbasicConfigÚINFOÚsetLevelÚDEBUGÚexecuter   r   r   Ú*pypykatz.commons.winapi.processmanipulatorr&   Úsidr)   ÚosÚenvironÚcreate_process_for_sidr*   Úlist_all_tokensÚforceÚstrÚget_current_token_infoÚpypykatz.commons.winapi.machiner+   Ú
list_usersÚget_current_userÚpypykatz._versionr,   r-   r.   r/   )*r0   r1   r   r   r   r   r   r   r   r	   r
   r   Ú
cmdhelpersr   ÚeÚparserÚ
subparsersÚ
live_groupÚlive_subparsersÚhelperÚlive_subparser_process_groupÚlive_subparser_token_groupÚlive_subparser_users_groupÚversion_groupÚbanner_groupÚ
logo_groupÚargsr#   r&   ÚpmrP   r)   ÚtiÚ
token_infor+   Úlmr   Úuserr,   r-   r.   r/   © ro   ú„/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pypykatz/__main__.pyÚmain
   sÚ   (€þ


òüÿô	ýrq   Ú__main__)rQ   rI   rq   Ú__name__ro   ro   ro   rp   Ú<module>   s    
ÿ