利用树莓派构建低成本分布式蜜罐系统

微步在线
• 阅读 1627

逛论坛发现一个很有意思的利用树莓派构建低成本分布式蜜罐系统的文,共享下

正文:

博主所在的是制造业,具体行业就不说了,公司在全国10个省会和直辖市有售后处2个省份有分公司,员工流动性很大,有时候客户来也要连网,关键是没有访客网络,IT就5个人负责网络建设,之前在网络安全唯一的投入是防火墙,最近老板要求加强内部网络安全感知,重点是:不加人,还没预算!

具体做事

在同学群里面问了下,在大厂搬砖的同学建议先找个免费蜜罐试试,github不知道最近为啥上不去了,在搜狗上找到一个国人做的蜜罐hfish,官网logo有点海王的感觉。

利用树莓派构建低成本分布式蜜罐系统

奇怪的是安装了默认捕捉不到任何攻击,看了文档才发现还要下载服务包和部署节点,这里不看文档真的不知道。头疼,让我那里找机器装节点。。。乱点界面猛然发现支持arm,拿出自己吃灰的2个树莓派做小白鼠的确可以跑起来,过了一周,看程序还在跑还挺稳定。。。

考虑办事处面积不大员工也不多,考虑用树莓派做蜜罐部署主机,在淘宝上看了下3B系列的260块一片,如果买12个店主还大方承诺送了12张8G sd卡,再加上12个USB电源插头和USB线,成本大概300*12块。为避免广告嫌疑,我就不截图了,大家到淘宝上找很多。

给老大看了下方案和我自己弄的实验环境,觉得可行,但让我只买10个树莓派只给办事处,考虑到分公司人多机器多,把2个分公司的树莓派换成公司淘汰的台式机,保证稳定还能降低成本(老大就是老大!)

说干就干,淘宝下单快递到了拆箱就不说了,需要提醒各位,千万不要买杂牌子的sd卡,我收货后才发现送的8g卡读写速度很不稳定!最后加钱换了sandisk 16g,耽误了好几天!

先用NOOBS给sd卡装系统,插入10张sd卡到树莓派并启动,web登录控制端生成一句话安装命令,下面是重点!是我从老大那里用一杯奶茶学来的绝技,使用SecureCRT在多台主机上一次性批量执行命令:

利用树莓派构建低成本分布式蜜罐系统

利用树莓派构建低成本分布式蜜罐系统

哈哈,刚执行完有些节点就已经上线了,给各个节点分门别类配置了模板,感觉很有成就感。

利用树莓派构建低成本分布式蜜罐系统

装好以后同事们都过来围观,在公司试运行几天觉得没问题了,发给各地分公司,告诉他们只要插电源和网线就行,别的不用管。

没几天分公司的节点陆陆续续都上线了,下面是真实内网捕获记录:

利用树莓派构建低成本分布式蜜罐系统

下面是真实的互联网云环境捕获记录:

利用树莓派构建低成本分布式蜜罐系统

跑了一段时间老大还比较满意,分公司的两个pc节点也上线了,在云上也部署了一个linux节点,云节点遭受的攻击明显比内网多,攻击方法也比较多样,在观察下。

Hfish支持配置信箱给自己发告警邮件,我用腾讯邮箱配成功了,在公司信箱里做了规则,来信会分配到指定目录。

利用树莓派构建低成本分布式蜜罐系统

威胁情报是干啥的没配,好像没什么影响。

Ps:后来知道是干啥的了,去这个网站注册一个账号给一个key,填上去在管理界面可以显示攻击IP别人已经识别的信息,发现只有在云环境有用,内网没用。

已知问题

强烈建议看下文档!好几次卡住了,看了文档才知道怎么回事。

1、登录端口在4433,一开始以为是80,怎么也打不开,程序安装的时候也没提示!登录用的https挺好,但是不知道为什么浏览器显示一个NET::ERR_CERT_AUTHORITY_INVALID错误,搜了下说是SSL证书问题,不太懂,反正点继续访问就行。 利用树莓派构建低成本分布式蜜罐系统

2、出厂默认用户名密码是admin/HFish2021,另外浏览器无法记录登录用户名密码,每次都要输入。

3、新装的管理端一定要去服务管理页面更新下,不知道是我网络问题还是hfish网络问题,个别时候会出现错误,多更新几次就行了。 利用树莓派构建低成本分布式蜜罐系统

4、管理端本身没有蜜罐能力,必须要装节点,不过我发现节点可以和管理端装在一台机器上。

5、节点装好了必须要配置模板,因为节点要应用模板才可以启动蜜罐服务。

利用树莓派构建低成本分布式蜜罐系统

6、一个节点只能模拟五个蜜罐。

基本就这些吧。

2021.09.10 更新

终于实现了全国12个办公区的分布式蜜罐系统搭建设想!在总公司部署一台控制端,使用树莓派+淘汰PC安装节点端,其中办公区分别模拟员工办公笔记本路由器,打印机部署响应的服务,后续计划增加云主机,模拟OA,SSH,网页邮件登录口,数据库几个常见服务,上线第一天就发现若干内网扫描,基本都是销售电脑,大部分是病毒,有两个比较严重是勒索软件,幸好发现的早。

Ps:发现hfish扫描感知页面数据不区分被扫描和蜜罐主机主动发出的请求,加了官方群,别人告知是个bug。

2021.9.24 更新

发现公网上SSH攻击极多,4天收集了差不多4000个去重的弱密码组合,用python处理下格式,然后去排查了一下内部系统弱密码,发现一堆123456,包括OA、财务、CRM系统,一通扯皮,最后也没完全搞定,深刻的理解了安全的本质是安全意识!不怕神一样的对手,就怕猪一样的队友!!!

利用树莓派构建低成本分布式蜜罐系统

2021.10.8 更新

历时4周,今天终于把蜜罐系统初步搞定了,用了10台树莓派和两台淘汰的PC机,整个蜜罐系统覆盖12个办事处,基本工作日每天能抓5-20个病毒木马,个别勒索软件,感觉自己的辛苦没白费。稍微复盘下这四周的工作,其中踩了很多坑,回头看感受颇深,首先是有问题多看文档自己搜,这样解决的问题记忆才深刻(感谢老大不厌其烦的指导),其次是以后要多关注社区产品,其实有很多社区免费产品做的还是不错的,至少在进步;打造这个蜜罐系统一共花费了3800块钱,包括10片树莓派、10套USB电源+电源线+亚克力外壳+sd卡;另外,还有一个意外的收获,就是学会了如何向大老板申请项目和经费,简单的说就是从大老板的角度出发,一定要开篇就几句话讲清楚你要做的这个东西能解决公司什么疑难杂症!然后简述下方案和成本,最好是调研多个方案,让大老板做选择题!最后才是介绍实现细节,这个部分甚至都可以忽略!职场做事和学校做学问真的有很大区别!

目前照猫画虎根据hfish官网文档施展乾坤大挪移(ctrl+c代码)在定做一个公司内部系统的web蜜罐,隐约觉得能做很多事情~ 想用python写一个webhook联动公司的防火墙,哎,看书去了。

文章转载自博客园@SecRookie 侵删

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
微步在线
微步在线
Lv1
见到你的一瞬间,就像走了很远的路,终于到家了
文章
3
粉丝
0
获赞
0