freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

99+

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

树莓派·安全专刊:搭建蜜罐HFish
我爱可乐柠檬Tea 2021-12-13 18:01:34 307978

似曾旧日,老朋友们,我这个翻车怪,又与大家见面了!这次可能是树莓派·安全专刊的最后一期了,本来想将这个系列做更多的内容,形成一个大的系列。奈何现实因素有二:一是现在自己有本职的事情需要做。二是树莓派本身的硬件实在是有限,很多事情需要自己从0到1进行构建。综合这两个因素,这个系列一定短暂缺更,等有时间了,再将这个系列深入研究下。

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

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

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

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

你看,我很早就说这是一个系列了吧。本来,可以分为一篇文章进行记录,但是,我想边做边记录点,这样自己也能及时消化吸收些新的东西。当然,这样的缺点就是显得文章好像没什么内容点深的东西,没啥大的干货。其实不然,很多东西,你只看到我最后记录了完整的结果,你没看到我是如何从0到1,如何中间排错,如何get新技能了。这些才是深层次的干货,没放出来的原因很简单,我太懒了!主要每次调试完,真的一点都不想记录了。而且,也怕东西写的多了,没有节奏性逻辑性,索性直接放完整过程了。这次的第三期也会是这个风格,很多无关主逻辑的东西可能会略掉,想要知道详细的,可以评论下@我。

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

  • Ubuntu服务器环境准备

  • kali攻击机环境准备

  • 简单攻防演练

  • 总结与思考

成功效果图

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

1639383653_61b702658d52c239841b2.png!small?1639383663407

再来一个设备合照

1639383672_61b7027854d94bfe1fb66.png!small?1639383676981

一、Ubuntu服务器环境准备

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

HFish的安装

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

第一步:docker拉取HFish镜像

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

HFish官网
1639383940_61b70384427fc39550edb.png!small?1639383941066我们可以看到部署方式有很多,而且也看到了我们的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

1639384118_61b7043618124e70ca0e5.png!small?1639384118392

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

dockerhub仓库网址

1639384250_61b704bad8ab174ffa030.png!small?1639384251054

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

1639384341_61b70515aa40d8d0c558f.png!small?1639384341868

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

1639384422_61b705663111150fbd917.png!small?1639384422172

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

1639384584_61b706082882ef4856845.png!small?1639384584204

经过我的实际测试,这个是可以用的。我当时觉得,如果这个还不可以的话,我就自己构建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

1639384985_61b70799c857c2e11976b.png!small?1639384986061

第三步:查看运行情况

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

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

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

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

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

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

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

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

主界面

1639385336_61b708f85c3b9f5ee4662.png!small?1639385336500

监控屏

1639385360_61b7091030fb1b0f25b88.png!small?1639385360609

其他的信息就不看了,虽然比不上最新版本的。但是该有的都有了,包括对接微步在线的接口(可惜要付费,原谅我是个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

1639386459_61b70d5b5bde6481f8bca.png!small?1639386459892

第二步:apt安装

suo apt-get install dirsearch

1639386758_61b70e8687cf41508d4a7.png!small?1639386759373

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

Burpsuite的安装

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

  • jdk环境安装

  • BP的安装与破解

jdk环境安装

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

1639386827_61b70ecbbe845f1040817.png!small?1639386828262

第一步:下载jdk

这里又要强调:树莓派是ARMV7,属于32位的。所以找到32位的对应下载,官网的需要Orancle账号,挺麻烦的,我这里放一个免登陆的下载链接ARM-jdk下载1639386954_61b70f4abac8af88aedd9.png!small?1639386954840第二步:解压文件并拷贝去相关位置接下来,将文件拷贝到kali主机,并解压,移动到相关位置

# 1.解压下载的文件tar -xzvf jdk-8u212-linux-arm32-vfp-hflt.tar.gz # 2.移动文件mv ./jdk1.8.0_212 /opt

1639387001_61b70f79e7f754e846ac0.png!small?1639387002073

第三步:配置环境变量

# 1.vim编辑文件.bashrcvim ~/.bashrc# 2. 写入的内容JAVA_HOME=/usr/local/jdk1.8.0_201PATH=$PATH:$HOME/bin:$JAVA_HOME/binexport JAVA_HOMEexport PATH# 3. 加载环境变量source ~/.bashrc

1639387053_61b70fadb50256b16d388.png!small?1639387054136

第四步:安装注册jdk

# 进入到刚刚复制到文件的/opt/jdk1.8.0_212目录下执行cd /opt/jdk1.8.0_212/# 执行下列注册信息,每个多执行几遍。因为会出现提示啥的,不用管,继续执行上条指令,直到没消息update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_212/bin/java 1update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_212/bin/javac 1update-alternatives --set java /opt/jdk1.8.0_212/bin/javaupdate-alternatives --set javac /opt/jdk1.8.0_212/bin/javac

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

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

java -version

1639387149_61b7100d42c43fc09a8d9.png!small?1639387149567

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. 进入该目录cd /usr/bin#  2. 运行激活程序java -jar burp-loader-keygen.jar

然后就出现了下面界面,点击run1639387198_61b7103e42bb7c20c481a.png!small?1639387202420上述操作完成以后,就会出现启动了BP,我们等待加载完成。这里会卡很久,树莓派硬件性能导致的。1639387217_61b710513c461f9696b6f.png!small?1639387221432接着,出现新界面,将License内容复制到该新出现的框中,点击Next。(注意kali的复制快捷键与其他系统的区别)1639387254_61b71076d2aa5943cefeb.png!small?1639387259202下来会出现选择激活方式的界面,我们选择手动激活1639387281_61b710913d07fdcc51cf6.png!small?1639387281781

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

按照图中所示操作即可。

1639387299_61b710a3d911e8015d384.png!small?1639387310955

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

1639387321_61b710b95fe0560dec3dd.png!small?1639387321656

第四步:设置快捷启动

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

vim /usr/bin/burpsuite# 2. 写入的内容#!/bin/shjava -Xbootclasspath/p:/usr/bin/burp-loader-keygen.jar -jar /usr/bin/burpsuite_pro_v1.7.37.jar# 3. 赋权sudo chmod +x burpsuite

2. 设置桌面快捷方式

# 1. 进入桌面快捷方式目录cd /usr/share/applications# 2. 编辑快捷方式vim kali-burpsuite.desktop# 3. 写入以下内容[Desktop Entry]Name=burpsuiteEncoding=UTF-8Exec=sh -c "/usr/bin/burpsuite"Icon=kali-burpsuiteStartupNotify=falseTerminal=faLseType=ApplicationCategories=03-webapp-analysis;03-06-web-application-proxies;X-Kali-Package=burpsuite

1639387375_61b710efcb721fb7c5296.png!small?16393873761583. 查看效果,看到已经可以在桌面快捷方式了,并且可以启动。1639387390_61b710fedb9ec3a6c3bd5.png!small?1639387391347

【备注】

  1. kali攻击环境准备主要是装了Dirsearch和BP工具

  2. 回顾重点:树莓派是ARMV7架构,需要考虑兼容性

  3. 这部分主要是参考的大佬们的文章,感谢各位大佬们

三、简单攻防演练

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

信息搜集部分

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

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

Nmap扫描存活主机1639387720_61b71248700004f3ca09a.png!small?1639387722372

Nmap扫描敏感端口

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

1639387740_61b7125c2a26e7704c732.png!small?1639387742006

1639387771_61b7127b371edbd3dd905.png!small?1639387771469

爆破部分

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

web后台BP爆破设置

1639387894_61b712f61313480bb3471.png!small?1639387894224

SSH登录Hydra爆破

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

1639389267_61b718530888ddee5cbc3.png!small?1639389268860

蜜罐监控部分

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

仪表盘主页

1639387939_61b713234698c588b2162.png!small?1639387939814

1639387952_61b7133075a1086a3be6e.png!small?1639387952785

监控屏

1639387975_61b71347334aca5837e1c.png!small?1639387977629

钓鱼列表

1639388036_61b713840889873261b11.png!small?1639388036358

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

1639388082_61b713b226272fcddfbf0.png!small?1639388082281

对接微步的接口,希望微步粑粑能够给个测试的api,我放到公网上,体验下。
1639388133_61b713e52902b1c9fa6b7.png!small?1639388133396

【备注】

  1. 这个部分写的比较粗糙,考虑站内师傅们,技术比我强。我就不班门弄斧了

  2. 这个地方很多协议都没测试,因为实际测试中,有些测试不是很顺利,希望有师傅带带

  3. 下次尝试下最新的版本,结合一下集群化部署+微步在线的威胁情报

  4. 有机会想学习下这个蜜罐的深层面的东西,到时候再分享出来

四、总结与思考

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

思考:

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

1639388616_61b715c8dcd1bf4b7fbb9.png!small?1639388617114

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

OK,行文至此,老规矩,放参考链接了,再次感谢各位师傅、大佬的文章帮助。这里放的是部分啦,怕太多大家看得眼花缭乱。

各位,下期见,ZOOM Peace!

# web安全 # 树莓派 # 蜜罐
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 我爱可乐柠檬Tea 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
安全学习之路
我爱可乐柠檬Tea LV.2
这家伙太懒了,还未填写个人描述!
  • 3 文章数
  • 3 关注者
树莓派专刊---搭建kali环境
2021-12-29
树莓派·安全专刊---搭建Ubuntu-Server环境
2021-12-08
文章目录