commit
72e42e9b75
|
@ -0,0 +1,33 @@
|
||||||
|
name: Build ZippApps
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Building Python ZipApp on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
|
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: NetExec set up python on ${{ matrix.os }}
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
- name: Build Python ZipApp with Shiv
|
||||||
|
run: |
|
||||||
|
pip install shiv
|
||||||
|
python build_collector.py
|
||||||
|
- name: Upload nxc ZipApp
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nxc-zipapp-${{ matrix.os }}-${{ matrix.python-version }}
|
||||||
|
path: bin/nxc
|
||||||
|
- name: Upload nxcdb ZipApp
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nxcdb-zipapp-${{ matrix.os }}-${{ matrix.python-version }}
|
||||||
|
path: bin/nxcdb
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: Build Binaries
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Building Binary on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
|
python-version: ["3.11"]
|
||||||
|
#python-version: ["3.8", "3.9", "3.10", "3.11"] # for binary builds we only need one version
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: NetExec set up python on ${{ matrix.os }}
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
- name: Build Native Binary
|
||||||
|
run: |
|
||||||
|
pip install pyinstaller
|
||||||
|
pip install .
|
||||||
|
pyinstaller netexec.spec
|
||||||
|
- name: Upload Windows Binary
|
||||||
|
if: runner.os == 'windows'
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nxc.exe
|
||||||
|
path: dist/nxc.exe
|
||||||
|
- name: Upload Nix/OSx Binary
|
||||||
|
if: runner.os != 'windows'
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nxc-${{ matrix.os }}
|
||||||
|
path: dist/nxc
|
|
@ -1,45 +0,0 @@
|
||||||
name: NetExec Build Binaries
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: NetExec Tests on ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
|
||||||
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: NetExec set up python on ${{ matrix.os }}
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
- name: Build binaries with Shiv
|
|
||||||
run: |
|
|
||||||
pip install shiv
|
|
||||||
python build_collector.py
|
|
||||||
- name: Build Windows binary
|
|
||||||
if: runner.os == 'windows'
|
|
||||||
run: |
|
|
||||||
pip install pyinstaller
|
|
||||||
pip install .
|
|
||||||
pyinstaller netexec.spec
|
|
||||||
- name: Upload nxc binary
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: nxc-${{ matrix.os }}-${{ matrix.python-version }}
|
|
||||||
path: bin/nxc
|
|
||||||
- name: Upload nxcdb binary
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: nxcdb-${{ matrix.os }}-${{ matrix.python-version }}
|
|
||||||
path: bin/nxcdb
|
|
||||||
- name: Upload netexec binary (Windows)
|
|
||||||
if: runner.os == 'windows'
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: netexec-${{ matrix.os }}
|
|
||||||
path: dist/netexec.exe
|
|
104
netexec.spec
104
netexec.spec
|
@ -13,57 +13,57 @@ a = Analysis(
|
||||||
('./nxc/modules', 'nxc/modules')
|
('./nxc/modules', 'nxc/modules')
|
||||||
],
|
],
|
||||||
hiddenimports=[
|
hiddenimports=[
|
||||||
'impacket.examples.secretsdump',
|
'impacket.examples.secretsdump',
|
||||||
'impacket.dcerpc.v5.lsat',
|
'impacket.dcerpc.v5.lsat',
|
||||||
'impacket.dcerpc.v5.transport',
|
'impacket.dcerpc.v5.transport',
|
||||||
'impacket.dcerpc.v5.lsad',
|
'impacket.dcerpc.v5.lsad',
|
||||||
'impacket.dcerpc.v5.gkdi',
|
'impacket.dcerpc.v5.gkdi',
|
||||||
'impacket.dcerpc.v5.rprn',
|
'impacket.dcerpc.v5.rprn',
|
||||||
'impacket.dpapi_ng',
|
'impacket.dpapi_ng',
|
||||||
'impacket.tds',
|
'impacket.tds',
|
||||||
'impacket.version',
|
'impacket.version',
|
||||||
'impacket.ldap.ldap',
|
'impacket.ldap.ldap',
|
||||||
'nxc.connection',
|
'nxc.connection',
|
||||||
'nxc.servers.smb',
|
'nxc.servers.smb',
|
||||||
'nxc.protocols.smb.wmiexec',
|
'nxc.protocols.smb.wmiexec',
|
||||||
'nxc.protocols.smb.atexec',
|
'nxc.protocols.smb.atexec',
|
||||||
'nxc.protocols.smb.smbexec',
|
'nxc.protocols.smb.smbexec',
|
||||||
'nxc.protocols.smb.mmcexec',
|
'nxc.protocols.smb.mmcexec',
|
||||||
'nxc.protocols.smb.smbspider',
|
'nxc.protocols.smb.smbspider',
|
||||||
'nxc.protocols.smb.passpol',
|
'nxc.protocols.smb.passpol',
|
||||||
'nxc.protocols.mssql.mssqlexec',
|
'nxc.protocols.mssql.mssqlexec',
|
||||||
'nxc.helpers.bash',
|
'nxc.helpers.bash',
|
||||||
'nxc.helpers.bloodhound',
|
'nxc.helpers.bloodhound',
|
||||||
'nxc.helpers.msada_guids',
|
'nxc.helpers.msada_guids',
|
||||||
'paramiko',
|
'paramiko',
|
||||||
'pypsrp.client',
|
'pypsrp.client',
|
||||||
'pywerview.cli.helpers',
|
'pywerview.cli.helpers',
|
||||||
'pylnk3',
|
'pylnk3',
|
||||||
'pypykatz',
|
'pypykatz',
|
||||||
'masky',
|
'masky',
|
||||||
'msldap',
|
'msldap',
|
||||||
'msldap.connection',
|
'msldap.connection',
|
||||||
'lsassy',
|
'lsassy',
|
||||||
'lsassy.dumper',
|
'lsassy.dumper',
|
||||||
'lsassy.parser',
|
'lsassy.parser',
|
||||||
'lsassy.session',
|
'lsassy.session',
|
||||||
'lsassy.impacketfile',
|
'lsassy.impacketfile',
|
||||||
'dns',
|
'dns',
|
||||||
'dns.name',
|
'dns.name',
|
||||||
'dns.resolver',
|
'dns.resolver',
|
||||||
'dploot',
|
'dploot',
|
||||||
'dploot.triage',
|
'dploot.triage',
|
||||||
'dploot.triage.rdg',
|
'dploot.triage.rdg',
|
||||||
'dploot.triage.vaults',
|
'dploot.triage.vaults',
|
||||||
'dploot.triage.browser',
|
'dploot.triage.browser',
|
||||||
'dploot.triage.credentials',
|
'dploot.triage.credentials',
|
||||||
'dploot.triage.masterkeys',
|
'dploot.triage.masterkeys',
|
||||||
'dploot.triage.backupkey',
|
'dploot.triage.backupkey',
|
||||||
'dploot.triage.wifi',
|
'dploot.triage.wifi',
|
||||||
'dploot.lib.target',
|
'dploot.lib.target',
|
||||||
'dploot.lib.smb',
|
'dploot.lib.smb',
|
||||||
'pyasn1_modules.rfc5652',
|
'pyasn1_modules.rfc5652',
|
||||||
'unicrypto.backends.pycryptodomex',
|
'unicrypto.backends.pycryptodomex',
|
||||||
],
|
],
|
||||||
hookspath=['./nxc/.hooks'],
|
hookspath=['./nxc/.hooks'],
|
||||||
runtime_hooks=[],
|
runtime_hooks=[],
|
||||||
|
@ -85,7 +85,7 @@ exe = EXE(
|
||||||
a.zipfiles,
|
a.zipfiles,
|
||||||
a.datas,
|
a.datas,
|
||||||
[],
|
[],
|
||||||
name='netexec',
|
name='nxc',
|
||||||
debug=False,
|
debug=False,
|
||||||
bootloader_ignore_signals=False,
|
bootloader_ignore_signals=False,
|
||||||
strip=False,
|
strip=False,
|
||||||
|
|
BIN
nxc/data/nxc.ico
BIN
nxc/data/nxc.ico
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 37 KiB |
Loading…
Reference in New Issue