快捷搜索:  网络  CVE  渗透  后门  扫描  木马  黑客  as

基于Docker的蜜罐平台搭建:T-Pot 17.10

*

这几年随着威胁情报的成熟,蜜罐手艺被关注的越来越多,也渐形成低交互、中交互、高交互等交互程度的各类蜜罐,数据库黑客,从web营业蜜罐、ssh应用蜜罐、收集协定栈蜜罐到体系主机型蜜罐的各功能型蜜罐。小到一个word文档的蜜标,到一个体系级的服务蜜罐,再到多功能蜜罐组成的蜜网,大到包含流控制重定向分布式蜜网组成的蜜场。

随着捏造化手艺的发铺,种种捏造蜜罐也得到发铺,可以通过捏造机来完成高交互蜜罐,和通过docker完成的营业型蜜罐,再也不像是从前需要昂贵硬件设备的部署支撑,这也大大缩小了蜜罐的部署成本,一台主机就可以完成全部集数据控制,数据拿获以及数据阐发于一体多功能多蜜罐高交互蜜网的系统架构。也已经产生了一些不错的开源蜜罐产品或项目,譬如 MHN(当代蜜网)、HoneypotProject。 MHN 当代蜜网简化了蜜罐的部署,集成了多种蜜罐的装置脚本,可以快速部署、使用,也可以快速的从节点网络数据。国外也有很多公司做基于蜜罐的诈骗手艺产品创新。

蜜罐高保真高质量的数据集把安全人员从从前海量日记阐发的繁琐过程中解脱出来,对于蜜罐的连接走访都是攻击信息,并且再也不像从前的特征阐发具有一定的滞后性,可以用于拿获新型的攻击以及要领。前段时间作者就通过高交互蜜罐拿获了ssh自动化爆破工具,能够针对全部互联网进行爆破尝试,并能够自动识别某些低交互蜜罐。

现在各功能蜜罐这么多,虽然MHN简化了各蜜罐的部署过程,但照样需要手动装置多个体系sensor来完成多个不同蜜罐。在蜜罐的研究过程中,有没有一个提供能更简单方便的平台完成我们对蜜罐的研究与使用。

以上内容摘录自 Freebuf.com 失路之人 的文章 T-Pot多蜜罐平台:让蜜罐完成更简单

他的文章先容了T-Pot16.10,目前该蜜罐已更新到T-Pot17.10。装置一次体系,就可以轻松使用内里多种蜜罐, 并且提供优越的可视化。 官方英文先容:http://dtag-dev-sec.github.io/mediator/feature/2017/11/07/t-pot-17.10.html

本文对T-Pot17.10进行简要先容,并讲讲我在装置该平台时遇到的坑以及坑以及坑,希翼对人人有帮助。

T-Pot17.10开源多蜜罐平台

基于Docker的蜜罐平台搭建:T-Pot17.10

T-Pot17.10基于Ubuntu Server 16.04.x LTS的一个蜜罐平台。 蜜罐程序和正在使用的其他支持组件使用docker进行了容器化。 我们可以在同一台设备上运行多个蜜罐进程,每一个蜜罐占用的空间较小并制约在蜜罐本人的环境中运行。

该平台的架构图以下:

基于Docker的蜜罐平台搭建:T-Pot17.10

在T-Pot17.10中,作者将docker容器化后的蜜罐、ELK数据日记平台、几个治理工具整合了到一个平台中。

总结来说,该平台整合了下列docker容器:

conpot:低交互工控蜜罐,提供一系列通用工业控制协定, 能够摹拟复杂的工控基础举措措施。

cowrie:基于kippo更改的中交互ssh蜜罐, 可以对暴力攻击账号暗码等记录,并提供伪造的文件体系环境记录黑客操作举动, 并保存通过wget/curl下载的文件和通过SFTP、SCP上传的文件。

dionaea:Dionaea是运行于Linux上的一个应用程序,将程序运行于收集环境下,它开放Internet常见服务的默认端口,当有外来连接时,摹拟正常服务给予反馈,同时记录下出入收集数据流。收集数据流经由检测模块检测后按类别进行处理,要是有 shellcode 则进行仿真执行;程序会自动下载 shellcode 中指定或后续攻击命令指定下载的恶意文件。

elasticpot:摹拟elastcisearch RCE漏洞的蜜罐,通过伪造函数在/,/search, /nodes的要求上归应懦弱ES实例的JSON格式新闻。

elk-stack:ELK架构,可以同时完成日记网络、日记搜索以及日记阐发的功能。

emobility:Kibana可视化的插件,能确立更美观的Dashboard。

ewsposter:数据阐发工具ewsposter,将蜜罐数据进行关联。

glastopf:低交互型Web应用蜜罐, Glastopf蜜罐它能够摹拟成千上万的web漏洞,针对攻击的不同攻击手段来归应攻击者,然后从对目标Web应用程序的攻击过程中网络数据。它的目标是针对自动化漏洞扫描/行使工具,通过对漏洞行使方式进行回类,针对某一类的行使方式返归对应的合理效果,以此完成低交互。

honeytrap:观察针对TCP或UDP服务的攻击,作为一个守护程序摹拟一些知名的服务,并能够阐发攻击字符串,执行相应的下载文件指令。

mailoney:SMTP的蜜罐。

netdata:web端设备性能的实时监控工具。

portainer:web端docker容器治理工具。

rdpy:python搭建的遥程桌面蜜罐。

spiderfoot:web端的一个自动化爬虫工具。

suricata & p0f:收集安全监控引擎以及指纹识别体系。

vnclowpot:vnc服务的低交互蜜罐。

Wetty:web端的SSH控制台。

美观的统计界面

Kibana DashBoard 界面图:

基于Docker的蜜罐平台搭建:T-Pot17.10

ES head 界面图:基于Docker的蜜罐平台搭建:T-Pot17.10

Netdata 性能监控界面图:基于Docker的蜜罐平台搭建:T-Pot17.10

Docker治理界面图:基于Docker的蜜罐平台搭建:T-Pot17.10

SpiderFoot界面图:

基于Docker的蜜罐平台搭建:T-Pot17.10

监听的端口

T-Pot17.10蜜罐平台监听了大部分常见的端口,进行蜜罐数据的拿获。

具体的docker端口映照以下图所示:

基于Docker的蜜罐平台搭建:T-Pot17.10

装置与设置流程

该平台需要餍足硬件请求: T-Pot 装置需要最少4G 内存, 64G 磁盘空间, 并且联网。

官网提供了两种T-Pot的装置方式,这里默认在捏造机环境装置。在物理机上装置类似。

一、ISO镜像收集装置。直接丢进捏造机即可。

2、捏造机装置好Ubuntu Server 16.04.x LTS后,运行官网提供的自动装置shell脚本即可。

这里强烈建议使用第二种方式进行装置。首要缘故起因是该平台需要从Ubuntu源、github以及docker等仓库下载文件。要是收集不稳,很大概率会失败。

ISO是收集装置的镜像,除非保障本人收集很流利,否则基本上会装置失败。就算装置成功,耗费的时间也遥大于装置好Ubuntu以后再装置T-Pot17.10平台。

并且自动装置脚本就算装置失败了,还可以重新运行脚本,容错性较大。还可以将已执行的代码注释掉,大大提高装置的效劳。也方便追踪装置进度。

所以强烈建议使用自动装置脚本进行装置。自己偷懒用ISO装置,装了一个晚上,照样不完备的体系。

自动装置shell脚本 install.sh

虽然说自动装置shell脚本的装置方式比较简单,然则坑照样很多的。

譬如删除nginx服务器的默认页面,要是第一次装置不成功,第二次装置就会因为nginx默认页面而报错。

自己一最先每一次运行install.sh还要touch创建3个文件。

下面先先容下具体流程。

基本流程

一、预备普通用户,并为普通用户创建公私钥,用于密钥登录。

以普通用户z为例

创建RSA密钥对

z@ubuntu:~$ ssh-keygen -t rsa

添加公钥

z@ubuntu:~$ cat /home/z/.ssh/id_rsa.pub >> /home/z/.ssh/authorized_keys

保存私钥/home/z/.ssh/id_rsa 文件,用于后面的登录。

z@ubuntu:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/z/.ssh/id_rsa):
Created directory '/home/z/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/z/.ssh/id_rsa.
Your public key has been saved in /home/z/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ZEVXpFGTbX+e/RoGkF/XxN9McBKt7MUvaZxAZ7XL/Tw z@ubuntu
The key's randomart image is:
+---[RSA 2048]----+
|         .o o+OO+|
|         . o.o+=O|
|       o o..+.B*|
|       o   o..+.@|
|       S   o+ B*|
|             .Bo=|
|             .oE+|
|             . .o|
|             .. |
+----[SHA256]-----+

z@ubuntu:~$ ls -la ./.ssh
total 16
drwx------ 2 z z 4096 Oct 26 14:56 .
drwxr-xr-x 4 z z 4096 Oct 26 14:56 ..
-rw------- 1 z z 1766 Oct 26 14:56 id_rsa
-rw-r--r-- 1 z z 390 Oct 26 14:56 id_rsa.pub
z@ubuntu:~$ cat /home/z/.ssh/id_rsa.pub >> /home/z/.ssh/authorized_keys

2、以root用户运行install.sh,以后按提示操作即可。

装置中遇到的坑以及坑以及坑

一、要是装置失败,需要重新装置,需要删除install.sh产生的日记文件:install.err以及install.log,才能再次运行脚本。

2、apt-get install 下载一些必要软件时链接失败。

解决要领:更新apt源。自己改为了163源。

三、python更新pip后,报没找到main函数错。

解决要领:重启装置脚本或在运行install.sh之前先更新好pip。

四、脚本执行过一次nginx已删除默认页面后,再次运行显示无默认页面,报错退出。

解决要领:新建这三个文件。简单粗暴然则麻烦。

touch /etc/nginx/sites-enabled/default
touch /etc/nginx/sites-available/default
touch /usr/share/nginx/html/index.html  

五、pip install 装置docker-compose或elasticsearch-curator因收集问题失败。

这个问题自己曾经尝试用清华源来解决,效果失败了。清华源中没有这两个包。

解决要领:运行install.sh前先装置好docker-compose以及elasticsearch-curator

pip install docker-compose==1.16.1
pip install elasticsearch-curator==5.2.0

要是收集其实太差,没法下载,下载装置包进行装置:

pip install docker_compose-1.16.1-py2.py3-none-any.whl
pip install elasticsearch-curator-5.2.0-py2.py3-none-any.whl

自己在装置过程中遇到了以上坑,这些坑以及KVM的端口转发折腾了我两天多。这些坑或许有更好的解决要领,然则自己能力有限,基本使用了最为简单粗暴的解决办法。

针对中国区修改install.sh

针对以上坑以及坑以及坑,自己对install.sh脚本进行了修改,添加了中国源,基本解决以上要领。谢谢https://github.com/n3uz/t-pot-autoinstall提供的加速思路,n3uz大牛未更新到17.10版本,自己根据他的思路进行了17.10版本install.sh脚本的修改。

git链接以下:https://github.com/Panjks/t-pot-autoinstall

由于elasticsearch-curator的whl文件找不到了,所以提供了库的源代码。

小白第一次发文,表述不清之处请各位大佬指出。

*

您可能还会对下面的文章感兴趣: