Skip to content

Sync with upstream Pennyw0rth/NetExec (536 commits) - #7

Merged
Mercury0 merged 538 commits into
mainfrom
upstream-sync-2026-10-15
Oct 15, 2026
Merged

Mercury0 merged 538 commits into
mainfrom
upstream-sync-2026-10-15

Conversation

@aconite33

@aconite33 aconite33 commented Oct 15, 2026 •

Copy link
Copy Markdown

Summary

  • Syncs BLS fork with upstream Pennyw0rth/NetExec, pulling in 536 new commits
  • Preserves BLS-specific customizations: impacket/BloodHound.py/oscrypto forks, stealth_label config, SMBv1 check
  • Adopts upstream's certipy-nxc PyPI package fix (replaces broken certipy-ad git dependency)
  • Adopts upstream CI improvements: pinned GitHub Actions, astral-sh/setup-uv, Python 3.14 test matrix
  • Merges upstream features: sanitize_path_component, Win2025+ atexec fix, DC detection, guest account check, display_dc/skip_self/exclude_hosts config options, sharing violation logging, new modules (rclone, shadow-creds, tombstone, resetnightmare)

Conflict Resolution

Conflicts were resolved in 14 files, keeping BLS changes over upstream where they diverged:

  • pyproject.toml: Kept BLS impacket/bloodhound/oscrypto forks; took upstream's certipy-nxc and uv config
  • nxc/config.py & nxc.conf: Merged BLS stealth_label with upstream's new config options
  • nxc/protocols/smb.py: Kept both FILE_READ_ATTRIBUTES (BLS) and FILE_READ_DATA (upstream); merged config imports
  • CI workflows: Adopted upstream's pinned actions and setup-uv approach
  • Lockfiles: Took upstream's poetry.lock and uv.lock as base

Test plan

  • Verify pip install . / uv sync completes without errors
  • Run nxc smb 127.0.0.1 to confirm module loading
  • Verify stealth_label functionality still works
  • Run ruff lint check: uv run ruff check . --preview
  • Test certipy-find against AD CS lab

NeffIsBack and others added 30 commits August 24, 2026 10:00
Add AGENTS.md file for guiding LLM agents
…the scan

A VNC server that completes the TCP connect and then stops responding during the
RFB handshake left `await self.conn.connect()` outstanding forever, with no
output and no error. On one engagement a single host held a run for the full
hour its external timeout allowed, and nothing was scanned in that time.

The target timeout alone does not cover this: the connect succeeds, so the hang
is in the handshake that follows. RDP already bounds the equivalent call with
`asyncio.wait_for` and exposes `--rdp-timeout`; VNC now does the same through
`--vnc-timeout`, which is also passed to RDPTarget.

A timeout is reported as a timeout rather than as a rejected password, because
nothing was authenticated. It is caught as `asyncio.TimeoutError`, which is only
an alias of the builtin from Python 3.11 and this project supports 3.10.

Claude-Session: https://claude.ai/code/session_01BrqBUZro8vxfBMGniTyfDV
…-timeout

fix(vnc): bound the connection so an unresponsive server cannot hang the scan
NeffIsBack and others added 24 commits October 2, 2026 19:11
Signed-off-by: BepuSun <bepu.business@gmail.com>
Only mark RDP hosts Pwn3d when a real session actually opens
…ity-final

[Draft] Fix RDP command execution reliability
The Pennyw0rth/Certipy fork, synced with ly4k/Certipy main (incl. Pennyw0rth#348), is now published on PyPI as certipy-nxc 5.1.0.post1. The fork keeps Python 3.11 support and allows impacket 0.14.0.dev. uv.lock overrides exclude-newer for certipy-nxc so it can be locked right after publishing. Fixes pip/pipx installs, which failed after the fork was renamed.

Tested certipy-find against an AD CS lab on Python 3.11 and 3.13.
@github-actions

Copy link
Copy Markdown

It looks like the PR template may not have been filled out. The following sections appear to be missing:

  • Description

  • Type of change

  • Setup guide for the review

  • Checklist

Please edit your PR description to include them. The template helps reviewers understand and test your changes. Thanks!

Merge upstream main while preserving BLS-specific customizations:
- Keep BLS impacket, BloodHound.py, and oscrypto forks
- Keep stealth_label config and mark_stealth functionality
- Adopt upstream's certipy-nxc PyPI package (fixes broken certipy-ad git dep)
- Adopt upstream's CI improvements (pinned actions, setup-uv, Python 3.14)
- Adopt upstream's sanitize_path_component, Win2025+ atexec fix, DC detection,
  guest account check, display_dc, skip_self, exclude_hosts, and other features
@aconite33
aconite33 force-pushed the upstream-sync-2026-10-15 branch from 54aabf3 to 9ad4964 Compare October 15, 2026 21:29
Remove unused `os` import in rdp.py and extra blank line in smb.py.
@Mercury0
Mercury0 merged commit e8bc438 into main Oct 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.