Open beta

Find the services
your scanner missed.

An AI agent fingerprints the open ports Nessus and nmap leave as unknown. It interacts with the service, researches it, and returns the exact software and version. It augments your existing scan.

80.8%
services identified under obfuscation
10.5×
more than Nessus & Rapid7 IVM
52
real services in the benchmark
exploitsynth scan 10.20.4.7SCANNING
$ exploitsynth scan 10.20.4.7 --ports 2222,8443,33060,6380,50000,9929
6 ports open · banners masked · 3 agents working · per-port budget 5:00
PORTSTATESERVICECONF
:2222doneOpenSSH 8.2p1HIGH
:8443donenginx 1.25.3HIGH
:330600:46researching MySQL X·
:63801:28probing handshake·
:500002:22fetching banners·
:9929queuedwaiting for agent·
Built by offensive-security practitioners
650+ client engagements
5,000+ reports delivered
DEF CON speaker
20+ public 0-days
Published agent research · HackSynth
// the visibility gap

Real networks don't look like the textbook.

Signature scanners fingerprint confidently on paper. In the field, the moment a service stops announcing itself they go quiet, and quiet reads as "nothing here."

  • ::Masked and stripped banners, so there is no signature left to match against.
  • >_Services on non-standard ports, behind proxies and load balancers that hide what they really are.
  • ?!Reported as "unknown", then dropped from the report or chased down by hand for hours.
$ nmap -sV 10.20.4.7 · signature scan
:2222unknown
:8443unknown
:33060unknown
:6380tcpwrapped
:80Apache httpd 2.4.10
:50000unknown
:9929unknown
services on this host6 of 7 unidentified
// how it works

An agent that does what a human would.

For every unidentified port, the agent runs the same loop a pentester runs by hand. Just faster, and on every port at once.

01 / PROBE

Interact with the service

Sends protocol-aware probes, completes handshakes, reads cert chains and error behaviour. Not just a banner grab.

02 / RESEARCH

Look it up on the web

Cross-references the observed behaviour against documentation, advisories and source to pin the software and version.

03 / IDENTIFY

Return auditable evidence

Service, version, a confidence rating and the sources it used, so you can trust it or check its work.

// the benchmark

We obfuscated a network, then compared the scanners.

52 legacy services behind a proxy that masks banners and shuffles ports, exactly what real environments do. Same hosts, same open ports, ExploitSynth side by side with Rapid7 IVM and Nessus Pro.

Vulnerable target · ground truth
:13002Redis 3.2.0
:13005nginx 1.8.1
:13008MySQL 5.6.27
:13011Cassandra 2.0.14
:13014Memcached 1.4.22
:13017RethinkDB 2.1.1
Obfuscating proxy
× strips version strings
× rewrites banners
× shuffles port numbers
× generic error pages
Observers · same view in
Rapid7 IVM7.7%
signature lookup, blind once masked
Nessus Pro7.7%
signature lookup, blind once masked
ExploitSynth80.8%
interactive agent, sees through it
52
Docker containers, real outdated software
80
ports exposed across them
3
scanners compared: Rapid7 IVM, Nessus, ExploitSynth
Target ground truthRapid7 IVM 0 / 6Nessus Pro 0 / 6ExploitSynth 6 / 6
:13002Redis 3.2.0unknowntcpwrappedRedis 3.2.0
:13005nginx 1.8.1unknownunknownnginx 1.8.1
:13008MySQL 5.6.27unknownunknownMySQL 5.6.27
:13011Cassandra 2.0.14tcpwrappedunknownCassandra 2.0.14
:13014Memcached 1.4.22unknownunknownMemcached 1.4.22
:13017RethinkDB 2.1.1unknownunknownRethinkDB 2.1.1
Rapid7 IVM & Nessus: 7.7% of services identified under obfuscation ExploitSynth: 80.8% of services identified under obfuscation
// fits your engagement

Drops into the workflow you already run.

Import & continue

Extend your existing scan

Feed in your Nessus or nmap export. ExploitSynth re-scans only the ports it left unidentified.

import.sh
$ exploitsynth scan --nessus engagement.nessus --project acme
[*] parsed 1,204 ports · 38 left unidentified by Nessus
[*] scanning the 38 gaps
✓ 34 / 38 now identified · report written to acme/
CLI-first

Live in your terminal

Every unidentified port gets its own agent, all working in parallel. Progress and per-port timeouts stream to your terminal as each result lands.

recon
$ exploitsynth scan 10.20.4.7 --ports 2222,8443,33060
:2222 done   OpenSSH 8.2p1  HIGH
:8443 done   nginx 1.25.3   HIGH
:33060 0:46  ▓▓▓░░ researching MySQL X
REST API

Wire it into your pipeline

Prefer to automate it? The same engine is available as a REST API, so ExploitSynth folds straight into your own tooling and pipelines.

api
$ curl -X POST https://scan.exploitsynth.com/api/v1/scan \
   -H "Authorization: Bearer sk_…" \
   -d '{"targets":[{"ip":"10.20.4.7","ports":[2222,8443]}]}'
{ "ok": true, "scan_ids": ["a1b2c3d4-…"] }
// exploitsynth labs

A working lab for every CVE worth proving.

A growing library of reproducible CVE sandboxes from the CISA KEV catalog. Each one is a containerised environment where the exploit is already proven to work, so you can validate a finding on a mock target in minutes, with no VM hunting.

Browse the labs →
CVE-2024-4577PHP-CGI argument injectionVALIDATED
CVE-2021-41773Apache HTTP Server path traversalVALIDATED
CVE-2017-9805Apache Struts REST RCEVALIDATED
CVE-2023-32315Openfire auth bypassVALIDATED
// the team

Built by pentesters who got tired of missing things.

Two decades in offensive security and autonomous-agent research. We automate the repetitive parts so experts can focus on the creative ones.

TS
Tamás Szakály
Lead Penetration Tester

15+ years of pentesting across industries and the full spectrum of security assessments. Three-time DEF CON presenter, with multiple discovered 0-days.

  • Public 0-days: NetCharts, MDaemon, D-Link, ClamAV, ManageEngine, Garmin, Maple, Mathematica, MATLAB, Unitrends
  • Non-public: VMware, NetIQ, Quest KACE
LM
Lajos Muzsai
Lead Developer

Cybersecurity AI-agent researcher at Eötvös Loránd University, focused on autonomous red-team agents.

  • HackSynth: LLM agent and evaluation framework for autonomous penetration testing
  • RL for LLM agents on cryptographic CTF challenges
// request credits

See what your scanner missed.

Open beta. Register for free and claim credits to test out the scanner agent.