基于Docker快速搭建蜜罐Dionaea(30)
实验目的
1. 快速搭建Dionaea蜜罐
2. 使用Nmap扫描测试Dionaea蜜罐
预备知识
1. 初步认识Dionaea
dionaea,中文的意思即捕蝇草,是否形容蜜罐很形象?dionaea是nepenthes(猪笼草)的发展和后续,更加容易被部署和使用。何谓蜜罐?引诱攻击者发起攻击,并能记录攻击者的活动信息。蜜罐一般分为两种类型:高交互式蜜罐和低交互式蜜罐。
低交互式蜜罐只是模拟出了真正操作系统的一部分,例如模拟一个FTP服务。虽然低交互式蜜罐容易建立和维护,但模拟可能不足以吸引攻击者,还可能导致攻击者绕过系统发起攻击,从而使蜜罐在这种情况下失效。
高交互式蜜罐是一部装有真正操作系统,并可完全被攻破的系统。与攻击者进行交互的是一部包含了完整服务的真实系统。用于网络安全的高交互式蜜罐提供了真实操作系统的服务和应用程序,使其可以获得关于攻击者更可靠的信息。但是部署和维护起来十分困难,而且被攻破的系统可能会被用来攻击互联网上其他的系统,这必须承担很高的风险。所以我们主要来研究今天我们的主题低交互式蜜罐dionaea。
2. 本实验参考资料
详细部署dionaea低交互式蜜罐和记录分析:http://www.91ri.org/7527.html
蜜罐快速搭建:http://www.91ri.org/12248.html
Dockefile文件下载:http://drops.wooyun.org/wp-content/uploads/2015/01/dionaeaui.zip
3. 小提示
试验中如果机器卡住了,请点击右侧实验列表的主机图标重新连接。
实验环境
网络拓扑图见下:
Server: 带Docker的服务器,IP随机
实验机切换可能会造成访问不到,所以在服务端运行程序时建议加上 nohup ,保证程序一直在后台进程里。语法:nohup command &
Client:xp-sp3,IP随机,装有Nmap
实验任务一
任务描述:快速搭建Dionaea蜜罐
特别说明:本实验环境已经安装好docker 1.5
1、启动Docker服务
systemctl start docker
systemctl status docker
2、查看docker镜像
docker images
我们需要用到 dionaea 这个镜像的 IMAGE ID
3、启动Dionaea容器
输入下面的命令后按回车,启动Dionaea容器
docker run -i -p 80:80 -p 135:135 -p 443:443 -p 445:445 -p 1433:1433 -p 3306:3306 -p 5060:5060 -p 5061:5061 -p 8080:8080 -t 1cb271eb746b
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-p:端口映射,格式为:主机(宿主)端口:容器端口,把服务器的端口映射到启动的Dionaea容器中的服务端口上

此时,Dionaea蜜罐已经成功运行,然后只需等待攻击者对其进行攻击测试。
当然,因为我们是以交互模式运行的Dionaea容器,因此,容器运行过程中的所有信息都会输出在命令行终端,通常我们不会想看到这些输出,因此可以把容器运行在后台。
到这里其实一个蜜罐已经运行完成了,之后你关闭连接坐等别人打就行了。如果你觉得这样看不爽,没关系,接着来。
4、启动带Web界面的Dionaea
(1)先按 Ctrl+c 停止掉之前的docker容器。执行一下两条命令做一下清理
docker ps -a
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
(2)以后台方式运行Dionaea
docker run -d -p 80:80 -p 135:135 -p 443:443 -p 445:445 -p 1433:1433 -p 3306:3306 -p 5060:5060 -p 5061:5061 -p 8080:8080 -t 1cb271eb746b
-d:后台运行容器,并返回容器ID
(3)进入刚刚启动的Dionaea容器环境
docker exec -it $(docker ps -a -q) bash
如图所示,成功进入Dionaea容器。
(4)启动Dionaea的Web服务
cd DionaeaFR-master
python2.7 manage.py collectstatic
nohup python2.7 manage.py runserver 0.0.0.0:8080 &
ps -elf | grep python2.7
5、浏览器打开Dionaea的Web界面
输入exit退出容器,返回到服务端终端,查看IP地址:
ip addr
注意:这里的IP地址,是随机的,可能与我当前查看的IP地址不同,请使用自己命令查看到的IP地址。
然后切换到客户端机器,在客户端上使用火狐浏览器(开始-所有程序里面)以如下形式访问Web界面:
http://ip:8080
实验任务二
任务描述:使用Nmap扫描测试
1、在客户端上使用Nmap扫描服务端
先把刚刚打开的Dionaea Web页面最小化,然后打开桌面上的Nmap,填写目标服务器IP,运行如下:
2、刷新Dionaea Web页面
可以发现Web页面有了数据记录
点击左边的Connections,即可看到连接扫描的来源IP、扫描的协议、目的端口等等信息
3、查看Nmap扫描结果
发现扫描得到的结果,正是Dionaea容器所映射的服务端口
实验截图:










相关文章:
基于Docker快速搭建蜜罐Dionaea(30)
实验目的 1. 快速搭建Dionaea蜜罐 2. 使用Nmap扫描测试Dionaea蜜罐预备知识1. 初步认识Dionaea dionaea,中文的意思即捕蝇草,是否形容蜜罐很形象?dionaea是nepenthes(猪笼草)的发展和后续,更加容易被部署和…...
WP_Query 的所有参数及其讲解和实用案例
WP_Query 是 WordPress 提供的一个强大的查询工具,用于获取与当前页面或文章相关的内容。下面是 WP_Query 的所有参数及其讲解:author: 查询特定作者的文章。可以是作者 ID、作者登录名或作者昵称。实用案例:查询作者为 "John Smith&quo…...
100个网络运维工作者必须知道的小知识!(上)
1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI参考模型的层次是什么? 有7个OSI层:物理层,数据链路层,网络层,传输…...
Python如何获取大量电影影评,做可视化演示
前言 《保你平安》今天上映诶,有朋友看过吗,咋样啊 这是我最近比较想看的电影了,不过不知道这影评怎么样,上周末的点映应该是有蛮多人看的吧,可以采集采集评论看过的朋友发出来的评论,分析分析 这周刚好…...
【C语言】详讲qsort库函数
qsort函数介绍具体作用qsort函数是一种用于对不同类型数据进行快速排序的函数,排序算法有很多最常用的冒泡排序法仅仅只能对整形进行排序,qsort不同,排序类型不受限制,qsort函数的底层原理是一种快速排序.基本构造qsort( void* arr, int sz, int sizeof, cmp_code);…...
SEO技术风口来了|SEO能否抓住全球约93%的网络用户?
开篇词作者/出品人 | 美洽 SEO 流量专家 白桦为什么要做一个 SEO 专栏?在一部分人眼中,SEO(搜索引擎优化)已经是老掉牙的玩意儿,在这个信息爆炸的年代,它似乎已经无法承担吸引流量的主要作用。但ÿ…...
mxnet版本与numpy,requests等都不兼容问题
简介 跟着李沐学AI时遇到的mxnet环境问题。 问题 使用pip install mxnet时会重新安装相匹配的numpy和requests,而这新安装的这两个版本不满足d2l所需的版本。 然后报错: ERROR: pips dependency resolver does not currently take into account all …...
逆向分析——壳
你脑海中的壳是什么 壳在自然界是动物的保护壳,软件同样有保护壳,为了防止破解 也许大海给贝壳下的定义是珍珠,也许时间给煤炭下的定义是钻石 ——沙与沫 壳的由来 在DOS时代,壳一般指的是磁盘加密软件中的一段加密程序 后来发展…...
为 Argo CD 应用程序指定多个来源
在 Argo CD 2.6 中引入多源功能之前,Argo CD 仅限于管理来自 单个 Git 或 Helm 存储库 的应用程序。用户必须将每个应用程序作为 Argo CD 中的单个实体进行管理,即使资源存储在多个存储库中也是如此。借助多源功能,现在可以创建一个 Argo CD 应用程序,指定存储在多个存储库…...
verilog specify语法
specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由specify开始,到endspecify结束&…...
CMake编译学习笔记
CMake学习笔记CMake编译概述CMake学习资源CMake编译项目架构cmake指令CMakeList基础准则CMakeList编写项目构建cmake_minimum_required() 和 project()set()find_package()add_executable()aux_source_directory()连接库文件include_directories()和target_include_directories…...
Day913.反向代理和网关是什么关系 -SpringBoot与K8s云原生微服务实践
反向代理和网关是什么关系 Hi,我是阿昌,今天学习记录的是关于反向代理和网关是什么关系的内容。 一、反向代理 反向代理 是一种网络技术,用于将客户端的请求转发到一个或多个服务器上,并将响应返回给客户端。与正向代理不同&am…...
IT行业就业趋势显示:二季度平均月薪超8千
我国的IT互联网行业在近些年来规模迅速扩大,技能和技术水平也明显提升,目前IT互联网行业已经成为社会发展中新型产业的重要组成部分,行业的人才队伍也在不断的发展壮大,选择进入入互联网行业工作的人也越来越多。 根据58同城前段…...
【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)
简介 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端…...
C#:Krypton控件使用方法详解(第十四讲) ——kryptonSeparator
今天介绍的Krypton控件中的kryptonSeparator。下面介绍控件的外观属性如下图所示:Cursor属性:表示鼠标移动过该控件的时候,鼠标显示的形状。属性值如下图所示:DrawMoveIndicator属性:表示确定移动分隔符时是否绘制移动…...
Java的jar包打包成exe应用
将springboot项目使用maven打出的jar包,打成windows平台下exe应用程序包(自带jre环境)。 工具:1、exe4j 2、Inno Setup 工具放到网盘,链接:https://pan.baidu.com/s/1ZHX8P7u-7GBxaC6uaIC8Ag 提取码&#x…...
Latex学习笔记
Latex 学习笔记 快速入门 编译软件: TeX Live TexStudio, Ctex, 线上: Overleaf第一个示例代码: \documentclass{article} % 设置文档使用的文档类 % 导言区 \title{my first Latex document} \author{Jclian91} \date{\today} \begin{document} % 正文区\maket…...
【c++复习】C++的基础知识(常用关键字、缺省参数、函数重载、引用)
C基础写在开头C基础常用关键字using namespace流插入和流提取操作符内联函数(inline)宏auto关键字 (c11nullptr (c11缺省参数函数重载引用写在开头 C基础部分我想介绍如下几个关键点: 常见关键字命名空间的定义和使用缺省参数函数重载引用、指针和引用的区别内联函…...
Docker入门建议收藏 第二部分
二、Docker 容器技术与虚拟机的区别 Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机。 虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在…...
蓝桥杯三月刷题 第7天
文章目录💥前言😉解题报告💥三角回文数🤔一、思路:😎二、代码:💥数数🤔一、思路:😎二、代码:💥数组切分🤔一、思路:😎二、…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
