SSH蜜罐:kippo的详细介绍

SSH蜜罐:kippo的详细介绍

什么是SSH蜜罐:kippo?

Kippo是一个SSH蜜罐,它模拟了一个SSH服务器,并记录了尝试登录的用户的所有操作。Kippo的目的是在没有实际系统的情况下引诱攻击者访问一个虚假的系统。在攻击者尝试登录之后,Kippo记录了所有的输入和输出,并以易于阅读的方式呈现出来。

Kippo的安装步骤

Kippo的安装相对较简单,只需几步即可完成。

步骤1:下载Kippo

可以从该仓库下载最新版本的Kippo源码。

$ git clone https://github.com/desaster/kippo.git

步骤2:安装依赖

Kippo依赖于Python-twisted、Python-pycrypto、Python-zope.interface。在安装Kippo之前,请确保这三个包已经安装在系统中。

$ sudo apt-get install python-twisted python-pycrypto python-zope.interface

步骤3:配置Kippo

Kippo需要一些配置文件来运行:

cp kippo.cfg.dist kippo.cfg

修改kippo.cfg文件中的监听IP和端口信息:

[honeypot]
listen_address = 0.0.0.0
listen_port = 2222

步骤4:运行Kippo

$ twistd -y kippo.tac -l log/kippo.log --pidfile kippo.pid

示例

示例1:尝试登录并查看记录

在运行Kippo后,使用ssh客户端连接到机器的IP地址和端口2222,然后尝试使用任何帐户密码进行身份验证。Kippo将记录登录尝试并将其保存到log/tty/目录下。以下是一个示例:

$ ssh root@IP地址 -p 2222
root@IP地址's password:
zheshiceshipwd

登录失败,Kippo将记录以下信息:

[2014-11-11 08:35:53+0800] SSHService SSH session started
[2014-11-11 08:35:53+0800] avatar session closed
[2014-11-11 08:35:53+0800] avatar Conch closed connection (None)
[2014-11-11 08:35:53+0800] input EOFReceived
[2014-11-11 08:35:53+0800] log Closed shell.transport.session.conn.transport.getPeer().host.
[2014-11-11 08:35:53+0800] log Closed transport.session.conn.transport mapping.
[2014-11-11 08:35:53+0800] SSHService SSH session closed

示例2:查看日志

log/kippo.log中查看完整日志:

[...]
2014-11-11 08:33:15+0800 [SSHService ssh-connection on HoneyPotTransport,10,0.0.0.0] bad login attempt [zheshiceshipwd] (admin)
2014-11-11 08:33:23+0800 [SSHService ssh-connection on HoneyPotTransport,11,0.0.0.0] bad login attempt [password] (admin)
2014-11-11 08:33:41+0800 [SSHService ssh-connection on HoneyPotTransport,12,0.0.0.0] bad login attempt [ubuntu] (admin)
2014-11-11 08:34:02+0800 [SSHService ssh-connection on HoneyPotTransport,13,0.0.0.0] bad login attempt [test] (admin)
2014-11-11 08:34:11+0800 [SSHService ssh-connection on HoneyPotTransport,14,0.0.0.0] bad login attempt [test123] (admin)
2014-11-11 08:34:16+0800 [SSHService ssh-connection on HoneyPotTransport,15,0.0.0.0] bad login attempt [password] (admin)
[...]

综合评价

Kippo是一个功能齐全、易于安装的SSH蜜罐。它具有记录所有攻击者输入和输出的能力,并以易于阅读的方式呈现出来。此外,它还提供了许多管理和配置选项,以及一个二进制log格式的完整日志。需要注意的是,在生产系统中安装Kippo可能会导致安全隐患,应当谨慎使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH蜜罐:kippo的详细介绍 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 详解在Python中把.GIF转换成.BMP

    下面是在Python中将.GIF转换为.BMP格式的完整攻略: 1. 安装Pillow库 在Python中,我们需要使用第三方库来处理图像。Pillow是一个非常常用的图像处理库,可以轻松地执行图像格式转换、缩放、剪切和滤镜等操作。在终端中使用以下命令安装Pillow库: pip install pillow 2. 创建一个Python文件 接下来,在你的编…

    python-answer 2023年3月25日
    00
  • 如何在Python中把NumPy数组转换为字典

    将NumPy数组转换为字典可以使用Python内置的dict()函数来实现,按照以下步骤即可完成操作: 步骤一:引入NumPy模块 在转换之前,需要先引入NumPy模块,使用以下代码: import numpy as np 步骤二:定义NumPy数组 接下来,需要定义一个NumPy数组,使用以下代码: arr = np.array([[1, 2], [3, …

    python-answer 2023年3月25日
    00
  • Python学习之集合的常用方法总结

    以下是“Python学习之集合的常用方法总结”的完整攻略。 1. 集合的常用方法 在Python中,集合是一种无序、不重复的数据类型。集合中元素必须不可变的,例如数字、字符串、元组。下面介绍几个常用的集合方法。 1.1 add方法 add()方法用于向集合中添加元素。示例如下: my_set = {1, 2, 3} my_set.add(4) print(m…

    python 2023年5月13日
    00
  • python中re.findall函数实例用法

    在Python中,re模块提供了许多用于正则表达式操作的函数,其中re.findall()函数用于在字符串中查找所有匹配的子字符串,并返回一个列表。本文将详细介绍re.findall()函数的使用方法和示例。 re.findall()函数的基本用法 re.findall()函数用于在字符串中查找所有匹配的子字符串,并返回一个列表。以下是一个例: import…

    python 2023年5月14日
    00
  • 浅谈Python协程

    浅谈Python协程 什么是协程 协程是一种非常轻量级的线程,也称为微线程或者用户空间线程。协程与线程不同的是,线程由操作系统进行调度,而协程是程序员自行调度,因此切换的代价更低。 协程中包含多个协程对象,每个协程对象都应该包含一个状态机,也就是说,协程只有在切换时才会保存和恢复状态。 Python中的协程是通过asyncio库来实现的,asyncio是Py…

    python 2023年5月18日
    00
  • python输出数学符号实例

    针对“python输出数学符号实例”的问题,我来给您详细讲解一下完整攻略。 1. 支持数学符号的Python库 Python中有一些库可以支持输出数学符号,如: sympy LaTeX Mathplotlib 这些库可以帮助我们输出各种数学符号、公式以及图表等。 2. 使用sympy库输出数学符号 sympy库是Python中一个功能非常强大的数学库,支持各…

    python 2023年6月5日
    00
  • Python远程方法调用实现过程解析

    要实现Python远程方法调用,通常有以下几个步骤: 定义RPC服务接口:在服务端,需要定义RPC服务接口,包括接口名称、方法列表、方法参数和返回值参数。RPC服务接口的定义可以使用Python自带的RPC框架XML-RPC、JSON-RPC、Pyro等。 实现RPC服务接口:在服务端,需要实现RPC服务接口,即实现RPC服务接口定义中的方法列表。 启动RP…

    python 2023年6月2日
    00
  • 总结的几个Python函数方法设计原则

    下面我来详细讲解一下“总结的几个Python函数方法设计原则”的完整攻略。 标题 在阐述这个问题之前,我们先来看一下什么是函数方法设计原则。 正文 函数方法设计原则 函数是程序中有用的编程结构,它可以把一段代码作为独立的单元进行封装和调用。而函数方法设计就是为了让我们写出高质量、易于维护的函数。 在Python中,函数和方法的设计原则也是一样的,我们可以总结…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部