树莓派--搭建蜜罐
Posted kali_Ma
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派--搭建蜜罐相关的知识,希望对你有一定的参考价值。
前言
一是现在自己有本职的事情需要做。二是树莓派本身的硬件实在是有限,很多事情需要自己从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的官网,查看下安装教程
我们可以看到部署方式有很多,而且也看到了我们的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网址,可视化搜索下:
使用关键词: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)。
【备注】
-
这里的难点是:树莓派是ARMV7架构,很多镜像支持不了。
-
涉及知识点:Docker和防火墙(这个排错花了蛮久的,有时间可以探究下),这里省略。有兴趣去咱们Freebuf主页查看。
-
这里安装的HFish是上代版本,与最新有出入,一切以官方文档为准。
二、kali攻击机环境准备
这里采取倒叙的手法了,直接说我们需要安装的一些环境。上次文章,只是简单的配置了一些信息,这次用到的工具都没有进行安装,这次补上。
-
Dirseach工具安装
-
BurpSuite工具安装
这次,就仅仅补上所需的工具,剩下的内容下次会开一个新的专刊系列详细讲述的。上次的文章链接是,忘记的可以去回顾下
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. 查看效果,看到已经可以在桌面快捷方式了,并且可以启动。
【备注】
-
kali攻击环境准备主要是装了Dirsearch和BP工具
-
回顾重点:树莓派是ARMV7架构,需要考虑兼容性
-
这部分主要是参考的大佬们的文章,感谢各位大佬们
三、简单攻防演练
能坚持看到这里的,实在感谢。上述内容确实简写很多了,怕占篇幅太长了。攻防这里,简单演练下吧。毕竟咱们Freebuf站点的师傅相关文章有很多,写的也比较深入,质量比较好,我就不班门弄斧了。我这里就简单扫描下主机、敏感文件、端口啥的。做个信息搜集,看看蜜罐的效果。其实,也想要做爆破啥的,但是有的问题。一个是ssh宿主机端口和docker的问题,第二个是树莓派2B性能太差了,我用BP爆破后台的时候,Ubuntu服务器直接卡机了。如图
综上所述,我们简单搞下,意思意思。
信息搜集部分
主要就是扫描下主机与端口,没啥的。工具嘛,会用就行,主要是知道原理和攻击手法。其实,自己都可以写个工具,我就不班门弄斧了。
这里分别用了Nmap、Dirsearch、Dirbuster等工具,扫描结果发现,无法发现完整的端口情况。刚开始以为是防火墙规则给关闭了,但是实际排错中,应该是Docker网络的问题。后续没有深究了,有空挖掘下。
Nmap扫描存活主机
Nmap扫描敏感端口
发现端口扫描对比docker inspect查看容器的,不完整
爆破部分
爆破考虑到树莓派性能太差,所以就意思了一下
web后台BP爆破设置
SSH登录Hydra爆破
并没有成功,可能docker端口与宿主机的端口映射有问题,这里没有深究了。知道的师傅,求请教下。
蜜罐监控部分
ssh使用hydra爆破,由于端口原因,也没反映到蜜罐上。话不多少,还是直接看蜜罐的效果吧
仪表盘主页
监控屏
钓鱼列表
也可以设置邮件报警提醒,我这里就没设置了。自己模拟,没啥可报警的。
对接微步的接口,希望微步粑粑能够给个测试的api,我放到公网上,体验下。
四、总结与思考
总结的话语都在备注里面了,这里就不多加赘述啦!就重复一点:树莓派是ARMv7架构。被这个坑哭了!
思考:
- HFish这个检测逻辑是什么样的?我自己在测试中有感觉,但是无法验证我的正确性。不知道有无师傅解答下
- 树莓派能否像虚拟机那样,一个设备同时具备双网卡机制,一个内网,一个外网。我猜测应该可以,下一阶段折腾下
- 这两天不是log4j漏洞很火嘛,我想着反正在搭建环境,不如复现一下。充实下内容,跟大家分享下,结果,你看
又是ARMV7兼容性,嗐!玩不了了,还是放云主机吧。不得不说vulfocus的速度是真的快啊!
以上是关于树莓派--搭建蜜罐的主要内容,如果未能解决你的问题,请参考以下文章