Add Windows spec file to compile CME for Windows

main
mpgn 2020-05-10 20:06:08 +02:00
parent b796000343
commit 8931ec2300
6 changed files with 39 additions and 2 deletions

1
.gitignore vendored
View File

@ -33,6 +33,7 @@ var/
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
!crackmapexec.spec
# Installer logs
pip-log.txt

View File

@ -5,7 +5,6 @@ from gevent.lock import BoundedSemaphore
from gevent.socket import gethostbyname
from functools import wraps
from cme.logger import CMEAdapter
from cme.context import Context
sem = BoundedSemaphore(1)
global_failed_logins = 0

View File

@ -212,3 +212,6 @@ def main():
if module_server:
module_server.shutdown()
if __name__ == '__main__':
main()

View File

@ -10,6 +10,8 @@ from sys import exit
CME_PATH = os.path.expanduser('~/.cme')
TMP_PATH = os.path.join('/tmp', 'cme_hosted')
if os.name == 'nt':
TMP_PATH = os.getenv('LOCALAPPDATA') + '\\Temp\\cme_hosted'
WS_PATH = os.path.join(CME_PATH, 'workspaces')
CERT_PATH = os.path.join(CME_PATH, 'cme.pem')
CONFIG_PATH = os.path.join(CME_PATH, 'cme.conf')

View File

@ -31,7 +31,6 @@ import os
from gevent import sleep
from cme.helpers.misc import gen_random_string
from impacket import version
from impacket.dcerpc.v5.dcom.oaut import IID_IDispatch, string_to_bin, IDispatch, DISPPARAMS, DISPATCH_PROPERTYGET, \
VARIANT, VARENUM, DISPATCH_METHOD
from impacket.dcerpc.v5.dcomrt import DCOMConnection

33
crackmapexec.spec Normal file
View File

@ -0,0 +1,33 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['.\\cme\\crackmapexec.py'],
pathex=['.\\cme','.\\cme\\thirdparty\\pywerview'],
binaries=[],
datas=[('.\\cme\\protocols', 'cme\\protocols'),('.\\cme\\thirdparty', 'cme\\thirdparty'),('.\\cme\\data', 'cme\\data')],
hiddenimports=['cme.protocols.mssql.mssqlexec', 'cme.connection', 'impacket.examples.secretsdump', 'impacket.dcerpc.v5.lsat', 'impacket.dcerpc.v5.transport', 'impacket.dcerpc.v5.lsad', 'cme.servers.smb', 'cme.protocols.smb.wmiexec', 'cme.protocols.smb.atexec', 'cme.protocols.smb.smbexec', 'cme.protocols.smb.mmcexec', 'cme.protocols.smb.smbspider', 'cme.protocols.smb.passpol', 'paramiko', 'pypsrp.client', 'pywerview.cli.helpers', 'impacket.tds', 'impacket.version'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='crackmapexec',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )