Hacking Tools

DICOMHawk – A Honeypot For Secure DICOM Server Monitoring

DICOMHawk is a powerful and efficient honeypot for DICOM servers, designed to attract and log unauthorized access attempts and interactions.

Built using Flask and pynetdicom, DICOMHawk offers a streamlined web interface for monitoring and managing DICOM interactions in real-time.

Features

  • DICOM Server Simulation: Supports C-ECHO, C-FIND, and C-STORE operations to simulate a realistic DICOM server environment.
  • Logging: Detailed logging of DICOM associations, DIMSE messages, and event-specific data to track and analyze potential attacks.
  • Web Interface: A user-friendly web interface to view server status, active associations, and logs.
  • Custom Handlers: Easily extendable to support additional DICOM services and custom logging or handling requirements.

Getting Started

Prerequisites

  • Docker and Docker Compose installed on your machine
  • DCMTK tools installed on your local machine for testing

Installation

Clone the repository:

    git clone https://github.com/gtheodoridis/DICOMHawk.git
    cd dicomhawk

    Start the services with Docker Compose:

    docker-compose up -d
    1. This command starts the Flask application and a log server in detached mode. The web interface is accessible on port 5000, and the DICOM server listens on port 11112. Alternatively, port 104 is also applicable for DICOM (ACR-NEMA).

    Usage

    Access the Web Interface:

    Open a web browser and go to http://127.0.0.1:5000 to access the DICOMHawk web interface. Here, you can monitor server status, view active associations, and check the logs.

    Test the DICOM Server:

    Use DCMTK tools to interact with the DICOM server.

    • C-ECHO (DICOM Echo Test):
    echoscu 127.0.0.1 11112

    For more information click here.

    Varshini

    Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

    Recent Posts

    groupdel Command in Linux: Remove a Group and Audit Files

    The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

    11 hours ago

    wc Command in Linux: Count Lines, Words, Characters, and Bytes

    The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

    11 hours ago

    top Command in Linux: Monitor Processes and Resource Usage

    The top command in Linux provides a real-time view of running processes and system resource usage. From…

    11 hours ago

    usermod Command in Linux: Modify User Accounts and Groups

    The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

    12 hours ago

    sort Command in Linux: Sort Text, Numbers, Columns, and More

    The sort command in Linux reads lines from files or standard input and writes them to standard…

    2 days ago

    wall Command in Linux: Broadcast Messages to Logged-In Users

    The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

    2 days ago