百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

树莓派--搭建蜜罐

nanshan 2024-11-19 07:44 21 浏览 0 评论

前言

一是现在自己有本职的事情需要做。二是树莓派本身的硬件实在是有限,很多事情需要自己从0到1进行构建。综合这两个因素,这个系列一定短暂缺更,等有时间了,再将这个系列深入研究下。

在此,我们再来梳理一下我们的思路:

我们将树莓派3B+刷成了kali系统,作为攻击机

我们将树莓派2B刷成了Ubuntu-Server系统,当做环境机

本次内容:在环境机上部署安全设备,简单攻防演练下

很多东西,你只看到我最后记录了完整的结果,你没看到我是如何从0到1,如何中间排错,如何get新技能了。这些才是深层次的干货,没放出来的原因很简单,我太懒了!主要是每次调试完,真的一点都不想记录了。而且,也怕东西写得多了,没有节奏性逻辑性,索性直接放完整过程了。

这次的第三期也会是这个风格

言归正传,接下来开始老规矩,先看成果图,然后进行罗列本文大纲:

  • Ubuntu服务器环境准备
  • kali攻击机环境准备
  • 简单攻防演练
  • 总结与思考

成功效果图

先来个全家福,又是万能马赛克

再来一个设备合照

【一>所有资源关注我,私信回复“资料”获取<一】
1、200份很多已经买不到的绝版电子书
2、30G安全大厂内部的视频资料
3、100份src文档
4、常见安全面试题
5、ctf大赛经典题目解析
6、全套工具包
7、应急响应笔记
8、网络安全学习路线

一、Ubuntu服务器环境准备

这里的环境准备,主要是讲解如何安装蜜罐–HFish。其实,蜜罐系统有很多,这次我选取了国人自研的HFish,有兴趣的可以移步微步在线查看更多(20年被微步在线收购了),这里不加赘述了。在介绍安装步前,简单说点,我们这个是要依托上一篇的环境,所以不知道如何树莓派安装Ubuntu和后续安装docker之类的,请去我的主页查看上篇链接。上篇文章反复强调一点,设备主机是树莓派2B,是ARMV7架构指令集的。这里继续强调一遍。因为,我在实际测试环境中,因为这个架构的问题,很多事情都解决不了。具体请看步骤:

HFish的安装

这里采用的是docker的安装方式,其实Hfish官网给出了多种安装方式,至于为啥采用了Docker的方式,原因有很多。最主要的一条:树莓派2B是ARMV7架构指令集的,各位看官,继续往下看,您就懂了!

第一步:docker拉取HFish镜像

首先,我们打开Hfish的官网,查看下安装教程

HFish官网

我们可以看到部署方式有很多,而且也看到了我们的docker部署方式,我们看下错误的安装教程

# 简单说明下:这里是将拉取镜像和执行一同进行了,# 拉取的镜像名称为:threatbook/hfish-server:latest# -v是挂载宿主机数据卷、-itd选取后台静默运行 # -name是容器命名 -network设置网络模式 --privileged是设置容器的权限内容docker run -itd --name hfish \-v /usr/share/hfish:/usr/share/hfish \--network host \--privileged=true \threatbook/hfish-server:latest

你看,这里又一次出现了我反复强调的内容点了吧:树莓派2B是ARMV7架构指令集的。系统兼容性不匹配,没办法了,我们不要在终端用docker search搜索了,直接去dockerhub网址,可视化搜索下:

dockerhub仓库网址

使用关键词:hfish搜查,出现了关键词。但是出现的第一个排名最高的,是上一代版本的Hfish,也是不支持ARMV7的,第三个更新时间最快的,就是我们上面下载的。至于这个镜像之间的关系,大家有兴趣自己去摸索啦,这里就不展开了。我们这里直接给出解决方法:在左边侧栏,直接选中架构为ARM系列的。记住ARM64和ARM还是有区别的(有兴趣可以去看看底层指令集区别,这里不加赘述):

然后,你就会看到如下界面,帮你筛选好了,我们点进去,看下详情

可以看到,这是一个一千年前的镜像了。也算是官方的一款镜像了,Overview还是比较详细的。

经过我的实际测试,这个是可以用的。我当时觉得,如果这个还不可以的话,我就自己构建armv7版本的镜像了。谢天谢地,还有现成的可以用。所以,正确的步骤为:

# 拉取镜像docker pull threatbook/hfish-arm32v7

第二步:运行容器

接下来,就是运行容器了。刚刚的详情页面也清楚地讲述了安装方式,我们按照步骤就行。这里我采用的是单机部署,因为集群化的话,树莓派设备吃紧啊!无奈,当然,有金主赞助一波,我给你整个树莓派的kube集群化系统,也不是不行。

# 运行容器# 说明:# 1\. 第一个22ssh端口我映射到宿主机的24,防止宿主机的端口冲突;记住-p格式 宿主机端口:容器端口# 2\. 数据卷挂载我的是:/mnt/logs:/opt。建议挂载,后期修改配置文件方便docker run -d --name hfish -p 21:21 -p 24:22 -p 23:23 -p 69:69 -p 3306:3306 -p 5900:5900 -p 6379:6379 -p 7879:7879 -p 8080:8080 -p 8081:8081 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 9200:9200 -p 11211:11211 --restart=always threatbook/hfish-arm32v7:latest

第三步:查看运行情况

这里查看方式,分为两种:一个是在docker运行状态查看,另一个是实际生产测试查看。首先是docker查看

# 查看容器是否运行docker ps# 查看容器日志docker logs -f --tail 100 hfish

可以看到服务正常运行了,我们来看下实际测试:访问ip:9001能否打开(文档中说得很清楚,这个是后台管理界面)。这里我在测试的时候,发现了无法访问。具体原因是ubuntu的防火墙没开,这里我们直接将所有端口开放(实际生产中,千万不要这么做,很危险)

# 我这里设备防火墙是iptables,没有安装ufw,所以给出了ipatbles的配置# 1\. 开放所有端口iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPT# 2. 暂时保存,必须要有这步,不然规则没建立iptables-save# 3. 查看规则iptables -L

防火墙的知识,不赘述。无论你是iptables、ufw、firewall-cmd都差不多,按照教程来就行。来,我们继续访问该管理界面:

访问规则是:ip+9001端口,我这里是192.168.1.103:9001

用户名和密码应该是该镜像代码里写死的,我查看配置文件和修改启动方式,都没有该更改密码的选项。原版的账户是:admin,密码是:=HFish@2020=

登入系统后,查看下大致情况

主界面

监控屏

其他的信息就不看了,虽然比不上最新版本的。但是该有的都有了,包括对接微步在线的接口(可惜要付费,原谅我是个poor person)。

【备注】

  1. 这里的难点是:树莓派是ARMV7架构,很多镜像支持不了。
  2. 涉及知识点:Docker和防火墙(这个排错花了蛮久的,有时间可以探究下),这里省略。有兴趣去咱们Freebuf主页查看。
  3. 这里安装的HFish是上代版本,与最新有出入,一切以官方文档为准。

二、kali攻击机环境准备

这里采取倒叙的手法了,直接说我们需要安装的一些环境。上次文章,只是简单的配置了一些信息,这次用到的工具都没有进行安装,这次补上。

  • Dirseach工具安装
  • BurpSuite工具安装

这次,就仅仅补上所需的工具,剩下的内容下次会开一个新的专刊系列详细讲述的。上次的文章链接是,忘记的可以去回顾下

树莓派专刊—搭建kali环境

Dirsearch安装

这个是什么工具,不多做赘述,只要记住:信息搜集的时候会用到。网上的安装方法都是直接从github上拉取,然后本地解压,进行运行。这种方式太麻烦了,还需要配置bash等复杂操作。我这里直接忽略踩雷的过程,给出apt安装的方式

第一步:增加软件源

为什么是增加清华源,而不是科大或者其他源,是因为我自己实际测试过得出的。

vim /etc/apt/source.list# 增加以下清华源deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-freedeb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

第二步:apt安装

suo apt-get install dirsearch

安装完成,直接给你傻瓜化配置好的。直接使用就可以的,不用第一种那种很麻烦的运行方式。上述简单测试下,是可以直接用的。

Burpsuite的安装

BP这个工具就不用介绍了,神器!由于树莓派ARMv7的架构和硬件性能的原因,kali安装出来的是不带burpsuite的,需要自己手动安装。并且也没有具备jdk,无论是openjdk还是orancle的jdk都没有。为了后续的破解注册机方便,我们还是直接安装orancle家的jdk8吧。所以步骤分为两步:

  • jdk环境安装
  • BP的安装与破解

jdk环境安装

篇幅原因,这里我也不放出自己的翻车记录了,反正也排错了。放出翻车记录,翻车原因还是反复强调的那个点。

第一步:下载jdk

这里又要强调:树莓派是ARMV7,属于32位的。所以找到32位的对应下载,官网的需要Orancle账号,挺麻烦的,我这里放一个免登陆的下载链接ARM-jdk下载

第二步:解压文件并拷贝去相关位置接下来,将文件拷贝到kali主机,并解压,移动到相关位置

# 1.解压下载的文件

第三步:配置环境变量

# 1.vim编辑文件.bashrc

第四步:安装注册jdk

# 进入到刚刚复制到文件的/opt/jdk1.8.0_212目录下执行

其中注册的时候,多执行几遍,有提示忽略,继续执行。

第五步:查看是否安装成功

java -version

BP的安装与破解

第一步:下载BP安装包与破解文件

wget https://www.iculture.cc/software/tools/Burp_Suite_Pro_v1.7.37_Loader_Keygen.zip

第二步:解压并拷贝至相关目录

sudo cp -r burp-loader-keygen.jar burpsuite_pro_v1.7.37.jar /usr/bin

第三步:BP激活

# 1. 进入该目录

然后就出现了下面界面,点击run

上述操作完成以后,就会出现启动了BP,我们等待加载完成。这里会卡很久,树莓派硬件性能导致的。

接着,出现新界面,将License内容复制到该新出现的框中,点击Next。(注意kali的复制快捷键与其他系统的区别)

下来会出现选择激活方式的界面,我们选择手动激活

然后就会让你继续完善激活码信息,跟激活Navicat差不多。

按照图中所示操作即可。

最后,点击Next,就会告诉你激活成功了

第四步:设置快捷启动

1. 在/usr/bin目录下,新建burpsuite,写入以下内容,并赋权

vim /usr/bin/burpsuite

2. 设置桌面快捷方式

# 1\. 进入桌面快捷方式目录

3. 查看效果,看到已经可以在桌面快捷方式了,并且可以启动。

【备注】

  1. kali攻击环境准备主要是装了Dirsearch和BP工具
  2. 回顾重点:树莓派是ARMV7架构,需要考虑兼容性
  3. 这部分主要是参考的大佬们的文章,感谢各位大佬们

三、简单攻防演练

能坚持看到这里的,实在感谢。上述内容确实简写很多了,怕占篇幅太长了。攻防这里,简单演练下吧。毕竟咱们Freebuf站点的师傅相关文章有很多,写的也比较深入,质量比较好,我就不班门弄斧了。我这里就简单扫描下主机、敏感文件、端口啥的。做个信息搜集,看看蜜罐的效果。其实,也想要做爆破啥的,但是有的问题。一个是ssh宿主机端口和docker的问题,第二个是树莓派2B性能太差了,我用BP爆破后台的时候,Ubuntu服务器直接卡机了。如图

综上所述,我们简单搞下,意思意思。

信息搜集部分

主要就是扫描下主机与端口,没啥的。工具嘛,会用就行,主要是知道原理和攻击手法。其实,自己都可以写个工具,我就不班门弄斧了。

这里分别用了Nmap、Dirsearch、Dirbuster等工具,扫描结果发现,无法发现完整的端口情况。刚开始以为是防火墙规则给关闭了,但是实际排错中,应该是Docker网络的问题。后续没有深究了,有空挖掘下。

Nmap扫描存活主机

Nmap扫描敏感端口

发现端口扫描对比docker inspect查看容器的,不完整

爆破部分

爆破考虑到树莓派性能太差,所以就意思了一下

web后台BP爆破设置

SSH登录Hydra爆破

并没有成功,可能docker端口与宿主机的端口映射有问题,这里没有深究了。知道的师傅,求请教下。

蜜罐监控部分

ssh使用hydra爆破,由于端口原因,也没反映到蜜罐上。话不多少,还是直接看蜜罐的效果吧

仪表盘主页

监控屏

钓鱼列表

也可以设置邮件报警提醒,我这里就没设置了。自己模拟,没啥可报警的。

对接微步的接口,希望微步粑粑能够给个测试的api,我放到公网上,体验下。

四、总结与思考

总结的话语都在备注里面了,这里就不多加赘述啦!就重复一点:树莓派是ARMv7架构。被这个坑哭了!

思考:

  1. HFish这个检测逻辑是什么样的?我自己在测试中有感觉,但是无法验证我的正确性。不知道有无师傅解答下
  2. 树莓派能否像虚拟机那样,一个设备同时具备双网卡机制,一个内网,一个外网。我猜测应该可以,下一阶段折腾下
  3. 这两天不是log4j漏洞很火嘛,我想着反正在搭建环境,不如复现一下。充实下内容,跟大家分享下,结果,你看

又是ARMV7兼容性,嗐!玩不了了,还是放云主机吧。不得不说vulfocus的速度是真的快啊!

相关推荐

F5负载均衡器如何通过irules实现应用的灵活转发?

F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...

映射域名到NAS

前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...

转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...

SpringBoot应用中使用拦截器实现路由转发

1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...

公司想搭建个网站,网站如何进行域名解析?

域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...

域名和IP地址什么关系?如何通过域名解析IP?

一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...

分享网站域名301重定向的知识

网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

ForwardEmail免费、开源、加密的邮件转发服务

ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...

使用CloudFlare进行域名重定向

当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

SEO浅谈:网站域名重定向的三种方式

在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...

花生壳出现诊断域名与转发服务器ip不一致的解决办法

出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...

涨知识了!带你认识什么是域名

1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...

域名被跳转到其他网站是怎么回事

当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...

取消回复欢迎 发表评论: