DICOMHawk:用于检测和记录未经授权访问尝试的蜜罐系统

摘要:关于DICOMHawkDICOMHawk是一款功能强大且高效的 DICOM 服务器蜜罐,可以帮助广大研究人员检测和记录未经授权的访问尝试,旨在吸引和记录未经授权的访问尝试和交互。

关于DICOMHawkDICOMHawk是一款功能强大且高效的 DICOM 服务器蜜罐,可以帮助广大研究人员检测和记录未经授权的访问尝试,旨在吸引和记录未经授权的访问尝试和交互。DICOMHawk 使用 Flask 和 pynetdicom 构建,提供精简的 Web 界面,用于实时监控和管理 DICOM 交互。功能介绍1、DICOM 服务器模拟:支持 C-ECHO、C-FIND 和 C-STORE 操作,以模拟真实的 DICOM 服务器环境。2、日志记录:详细记录 DICOM 关联、DIMSE 消息和事件特定数据,以跟踪和分析潜在攻击。3、Web 界面:用户友好的 Web 界面,用于查看服务器状态、活动关联和日志。4、自定义处理程序:轻松扩展以支持额外的 DICOM 服务和自定义日志记录或处理要求。工具要求1、Docker 和 Docker Compose;2、在本地机器上安装 DCMTK 工具以供测试;克隆存储库:cd dicomhawk使用 Docker Compose 启动服务:docker-compose up -d此命令以分离模式启动 Flask 应用程序和日志服务器。Web 界面可通过端口 5000 访问,DICOM 服务器可监听端口 11112。或者,端口 104 也适用于 DICOM(ACR-NEMA)。访问 Web 界面打开 Web 浏览器并转到http://127.0.0.1:5000以访问 DICOMHawk Web 界面。在这里,可以监视服务器状态、查看活动关联并检查日志:测试 DICOM 服务器使用DCMTK工具与DICOM服务器交互。

C-ECHO(DICOM echo测试)

echoscu 127.0.0.1 11112

C-FIND(DICOM 查找测试)

创建查询文件,query.dcm其内容如下:(0008,0052) CS [STUDY] # QueryRetrieveLevel(0010,0010) PN [Baggins^Frodo] # Patient's Name运行 C-FIND 命令:findscu -v -S -k QueryRetrieveLevel=STUDY -k PatientName=Baggins^Frodo 127.0.0.1 11112

C-STORE(DICOM存储测试)

要将 DICOM 文件发送到服务器,请使用以下storescu命令:storescu127.0.0.111112 path/to/your/file.dcm日志和监控DICOMHawk 提供详细的日志记录,帮助监控和分析与 DICOM 服务器的交互:1、服务器日志:访问日志以查看有关 DICOM 关联和 DIMSE 消息的详细信息。2、简化日志:查看简化日志以快速概览事件。可以通过 Web 界面或直接访问日志服务器容器内的日志文件来查看这些日志。docker-compose logs logserver自定义开发如果要更改 DICOMHawk 或扩展其功能,请修改源代码,然后重新启动服务:docker-compose downdocker-compose up -d许可证协议本项目的开发与发布遵循MIT开源许可协议。项目地址DICOMHawk:https://github.com/gtheodoridis/DICOMHawk在这里,拓宽网安边界

来源:FreeBuf

相关推荐