github patrickhener/goshs v2.0.5

5 hours ago

What's new in v2.0.5

LDAP Collaborator Server

New ldapserver package providing a lightweight LDAP server for credential capture and attack scenarios:

  • Simple bind capture — logs DN and cleartext passwords
  • SASL PLAIN capture — decodes and logs SASL PLAIN credentials
  • NTLM hash capture — full NetNTLMv2 challenge-response exchange with inline hash cracking (built-in default wordlist + optional --ldap-wordlist file), hashcat-format output
  • JNDI/Log4Shell mode (--ldap-jndi) — responds to any search with a javaNamingReference entry, turning goshs into a Log4Shell exploitation endpoint
  • LDAPS support — use -s -ss (self-signed) or -s -sc/-sk (custom cert) to serve LDAP over TLS; port auto-switches from 389 to 636
  • WebSocket UI — all events (bind, search, NTLM) stream live to the LDAP collaborator tab with cracked-password badges
  • Webhook integration — bind/search/NTLM events forwarded to Discord/Slack/etc.

New CLI flags: --ldap, --ldap-port, --ldap-jndi, --ldap-jndi-base, --ldap-wordlist

Reverse Shell Catcher (Windows support)

The interactive shell catcher now builds and runs on Windows (previously stub-only). Build constraints have been dropped and the package is fully cross-platform.

Testing

  • ldapserver: 27 new tests covering BER protocol parsing, response builders, plain TCP and TLS session integration, SASL binds, JNDI search responses, and the NewLDAPServer constructor
  • catcher: 29 new tests covering session lifecycle, concurrent close, manager start/stop/kill, connection acceptance, broadcast notifications, and ensureCRLF
  • Fixed a bug where catcher.Listener reported Port: 0 when using OS-assigned ports

Other changes

  • Bumped github.com/google/go-github to v85.0.0 (#154)
  • Simplified cleanup logic in integration tests (#156, @alexandear)
  • README updated with LDAP collaborator and catcher documentation

Don't miss a new goshs release

NewReleases is sending notifications on new releases.