Skip to content

file area #13 · utilz · 1996 forever

H0N3YP0T-AUD1T0R

Multi-protocol decoy fingerprinter / lab util · Python 3.10+ · MIT · “dialing in…”

.______________________________________________________________________________.
|  :: RELEASE ........ v0.5.0                                                  |
|  :: TYPE ........... Multi-Protocol Decoy Fingerprinter                      |
|  :: DISKS .......... 0 · pure electrons · no floppies harmed                 |
|  :: PROTECTION ..... NONE · MIT · spread the sauce                           |
|  :: PYPI ........... pypi.org/project/honeypot-auditor                       |
|  :: REPO ........... github.com/mziqudhd92/honeypot-auditor                  |
|------------------------------------------------------------------------------|
|  "warez? nah. headers. we trade banners, not bins."                          |
|  "if it answers any password, it ain't production — it's a lure."            |
|  "respect the sysop. probe only what you own. leave no STOR behind."         |
'------------------------------------------------------------------------------'

-=[ WHAT IS THIS ]=-

honeypot-auditor asks one rude question:

Does this IP behave like a low-interaction honeypot, or like something that might actually bill someone for downtime?

Passive intel plus active, non-destructive probes across the usual decoy faces. Outputs a weighted Honeyscore (0–100%), Rich console table, and JSON report.

[ BASIC ]  Shodan · Nmap NSE · 16 protocol engines · 4 detection strategies each
[ DEEP  ]  +6 cross-protocol behavioral axes (shell · OS · stack · FSM · co-tenancy · temporal)
           (flag: --deep · more intrusive · same authorization rules)

“elite? nah. just consistent timeouts and an honest --confirm-authorized.”

-=[ LIVE DEMOS ]=-

>>> COWRIE ON :2222 · DEEP AUDIT <<<
Animated terminal demo: honeypot-auditor deep scan against Cowrie SSH on port 2222 scoring Suspected Honeypot
“cowrie said yes to every password. the shell lied about sleep. egress went quiet — SUSPECTED.” — some random BBS elite, ’96
>>> DIONAEA BUFFET · FTP/HTTP/SMB <<<
Animated terminal demo: honeypot-auditor deep scan against Dionaea multi-protocol stack scoring Confirmed Honeypot
“PASV handed me a private IP. STOR vanished. nginx forgot the Date — that’s a stage.” — file area #13 · no call waiting

-=[ INSTALLATION ]=-

python3 -m venv .venv && source .venv/bin/activate
pip install honeypot-auditor
pip install "honeypot-auditor[full]"    # + nmap impacket shodan scapy
honeypot-auditor --version
Read more
InstallUnlocks
pip install honeypot-auditorCore probes (Paramiko + Requests + stdlib)
pip install "honeypot-auditor[full]"+ Nmap · SMB/Impacket · Shodan SDK · Scapy · deep telnet

-=[ QUICKSTART / COMMANDS ]=-

# help · figlet header + Rich options
honeypot-auditor --help

# local lab · default = IANA + docker/lab ports (22 and 2222, …)
honeypot-auditor --target 127.0.0.1 --skip-nmap

# go deep · six extra detection axes · still no exploits
honeypot-auditor --target 127.0.0.1 --skip-nmap --deep

# subnet sweep · IPv4 CIDR up to /24 · parallel (Shodan skipped per host)
honeypot-auditor --target 192.168.1.0/24 --skip-nmap --scan-concurrency 16 \
  --confirm-authorized --output subnet-audit.json

# internet-facing · need explicit ack
honeypot-auditor --target 203.0.113.10 --confirm-authorized --output report.json

# extra SSH port (in addition to 22 and 2222)
honeypot-auditor --target HOST -p 22 --confirm-authorized --deep --skip-nmap

-=[ CLI FLAGS ]=-

The CLI is built on Rich — colored help, a figlet header on --help, and a live progress bar while probes run in parallel. Most flags tune a single audit: which ports to hit, how deep to go, timeouts, and where to write JSON.

For analysis, use -v / --verbose. The default view is the score panel only; verbose mode prints the strategy breakdown, per-protocol matrix, full indicator table, why-this-score notes, and run metadata — the fastest way to understand what fired and why.

Read more
FlagDescription
-h, --help, /help, /?Rich-styled options + figlet H-AUDITOR header
--versionPrint version and exit
--targetIP, hostname, or IPv4 CIDR (max /24, 254 hosts)
--confirm-authorizedRequired when any scanned IP is public (host or subnet)
--presetboth (default: IANA + lab), iana, or docker-research
-p, --portOnly these TCP ports (nmap-style; repeatable or 22,2222). Omit for full preset
--portsPer-protocol override (ssh=2222,ftp=9); map unused faces to =9 to skip
-v, --verboseStrategy breakdown, per-protocol matrix, indicator table, why-this-score, run notes
--deepShell semantics, OS coherence, HASSH/TCP stack, FSM fuzz, co-tenancy, temporal (incl. concurrent-load latency)/egress
--safe-modeHandshake-only; disables deep shell/path probes
--profileaudit (default), blend (browser mimesis), safe
--proxySOCKS5 egress (socks5h:// remote DNS preferred)
--passive-firstShodan before active; skip active when passive score high
--osint-onlyShodan only — no TCP probes
--dual-stackResolve A+AAAA and compare IPv4 vs IPv6 results
--jitterFraction of timeout as max random delay (e.g. 0.3)
--jitter-msRandom delay range before probes (e.g. 50-500)
--max-concurrentGlobal socket concurrency budget (default 32)
--seedRNG seed for blend profile TLS/UA rotation
--preset deception-auditBlue-team QA preset (both ports + deep)
--format sarifExport SARIF 2.1.0 for DevSecOps pipelines
check-sigValidate declarative signature pack offline
-n, --with-nmapRun Nmap -sV / NSE phase (slow; off by default)
--shodan-keyShodan API key (or set SHODAN_API_KEY); skipped per-host on subnet scans
--scan-concurrencyParallel hosts for CIDR scans (default 8)
--timeoutSocket timeout in seconds (default 3)
--outputJSON path (default honeypot-audit-<ip>.json; subnet → combined summary + hosts)

-=[ STRATEGIES ]=-

Honeyscore adds triggered category weights from the table below. Different categories stack — e.g. static signature (20%) plus state non-persistence (25%) = 45%.

Multi-protocol corroboration is how deny-all buffets score without Shodan or any-password: when basic tells fire on more than one protocol, each protocol beyond the first adds +5%, capped at +35%. Example: telnet static tell + ftp state tell → 20 + 25 + 5 = 50% Suspected.

Basic mode category weights:

CategoryWeight
Shodan intel25%
Arbitrary auth30%
State non-persistence25%
Static signature20%
Co-tenancy15%
Read more

The protocol table shows how many of the three probe strategies (arbitrary auth · state non-persistence · static signature) are active per face — up to 3. Shodan and co-tenancy are host-level, not counted in that column.

Co-tenancy (15%) fires when ≥5 protocol lures hit and another tell already corroborates — not on multi-face research stacks alone.

--deep adds five behavioral categories on top of the basic weights:

Deep categoryWeight
Shell execution semantics18%
Cross-artifact OS coherence15%
HASSH / TCP stack fingerprint12%
Protocol FSM conformance12%
Temporal / latency behavior10%

Deep co-tenancy probes (Modbus, SNMP, DNS, IPP, POP) count responsive IT lures but still require corroboration before they contribute to the co-tenancy category.

VERDICT BANDS:
  [##########----------]  < 30%   LIKELY REAL HOST
  [################----]  30-59%  SUSPECTED HONEYPOT
  [####################]  >= 60%  CONFIRMED HONEYPOT

-=[ SUPPORTED PROTOCOLS / PORTS ]=-

16 protocol engines in the current version. Each uses up to 3 probe strategies (arbitrary auth · state non-persistence · static signature). The Strategies column is how many of those three are active for that protocol in this release — not Shodan, co-tenancy, or individual indicator checks (33 active strategy slots across all protocols).

Default preset (--preset both) probes IANA well-known ports and common lab/docker aliases on the same faces. Restrict with -p 22 / --port 22,2222 (nmap-style). Override a protocol with --ports ssh=2222. Map unused faces to a closed port (ftp=9) so skips do not inflate the score. Closed faces are skipped, not scored.

Read more
ProtocolDefault ports (iana · lab)Strategies
SSH22 · 22223
Telnet23 · 23233
FTP21 · 21213
SMTP25 · 25253
Redis6379 · 63793
SMB445 · 14452
VNC5900 · 50002
MySQL3306 · 33062
Postgres5432 · 54322
RDP3389 · 33892
MSSQL1433 · 14332
MongoDB27017 · 270172
HTTP80 / 443 · 80811
SIP5060 · 50601
Git9418 · 94181
HTTP proxy3128 · 80801

-p maps well-known extras the same way: 443/8443 → HTTP (TLS), 8080/3128 → HTTP proxy, 139 → SMB, 5061 → SIP, 5000/5901 → VNC. Unknown numbers are probed as SSH.

--deep adds cross-protocol behavioral axes on top of the basic strategies above. Shodan Honeyscore and Nmap NSE (-n / --with-nmap) are optional intel layers, not protocol engines.

-=[ AGENTS · AEO · GEO · SEO ]=-

Machine-readable entry points so search engines, answer engines, and coding agents can recommend and operate the tool without scraping noise:

# Prefer these URLs over HTML scraping:
https://mziqudhd92.github.io/honeypot-auditor/llms.txt
https://mziqudhd92.github.io/honeypot-auditor/agents.md

-=[ RESPONSIBLE USE ]=-

.------------------------------------------------------------------------------.
|  NFO · READ BEFORE YOU DIAL                                                  |
|------------------------------------------------------------------------------|
|  Authorized targets ONLY. Lab boxes. Decoys you own. Sensors you run.        |
|  Permission on paper (or in ticket).                                         |
|                                                                              |
|  Scanning random /16 because Shodan said "interesting" = YOU are the bait.   |
'------------------------------------------------------------------------------'

Defensive research. Authorized testing. Lab sandboxes. Your sensors. Your tickets.

Vuln reports → SECURITY.md

“greetz to the elite · no greetz to the lame · hang up clean.”