暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

树莓派·安全专刊---搭建蜜罐Hfish

小徐同学爱学习 2021-12-12
913
似曾旧日,老朋友们,我这个翻车怪,又与大家见面了!

之前一直没有搞清楚群发和发布的区别,导致文章都查看不了。现在已经全部修改,可以在公众号正常查看了,并且将之前的坑全部填上了。欢迎大家前去垂阅,如有错误的地方,恳请各位及时指点一番。

这次应该、可能、也许是树莓派·安全专刊的最后一期了,本来想将这个系列做更多的内容,形成一个大的系列。奈何现实因素有二:一是现在这个时间点了,有更重要的事情需要去做。二是树莓派本身的硬件实在是有限,很多事情不是无法完成,就是需要下很大的力气。综合这两个因素,这个系列一定短暂缺更,等有时间了,再将这个系列深入研究下。

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

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

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

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


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

言归正传,接下来开始老规矩,先看成功效果图,然后进行罗列本文大纲:
  • Ubuntu服务器环境准备

  • kali攻击机环境准备

  • 简单攻防演练

  • 总结与思考


成功效果图

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

再来一个设备合照


一、Ubuntu服务器环境准备

这里的环境准备,主要是讲解如何安装蜜罐--HFish。其实,蜜罐系统有很多,这次我选取了国人自研的HFish,有兴趣的可以移步微步在线查看更多(20年被微步在线收购了),这里不加赘述了。在介绍安装步前,简单说点,我们这个是要依托上一篇的环境,所以不知道如何树莓派安装Ubuntu和后续安装docker之类的,请看上篇链接

树莓派·安全专刊---搭建Ubuntu-Server环境

祖穆师傅,公众号:小徐同学爱学习树莓派·安全专刊---搭建Ubuntu-Server环境
上篇文章反复强调一点,设备主机是树莓派2B,是ARMV7架构指令集的。这里继续强调一遍。因为,我在实际测试环境中,因为这个架构的问题,很多事情都解决不了。具体请看步骤:


HFish的安装

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


第一步:docker拉取HFish镜像

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

HFish官网

hifish.io


我们可以看到部署方式有很多,而且也看到了我们的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仓库网址

    https://hub.docker.com/

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

    然后,你就会看到那个唯一的链接,点进去,我们看下详情

    可以看到,这是一个一年前的镜像了。经过我的实际测试,这个是可以用的。我当时觉得,如果这个还不可以的话,我就自己构建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 ACCEPT
            iptables -P FORWARD ACCEPT
            iptables -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环境

            祖穆师傅,公众号:小徐同学爱学习树莓派·安全专刊---搭建kali环境

            Dirsearch安装

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


            第一步:增加软件源

            为什么是增加清华源,而不是科大或者其他源,是因为我自己实际测试过得出的。
              vim /etc/apt/source.list
              # 增加以下清华源
              deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
              deb-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位的对应下载

                下载armv7的jdk地址

                https://www.oracle.com/java/technologies/javase-jdk8-downloads.html


                第二步:解压文件并拷贝去相关位置
                接下来,将文件拷贝到kali主机,并解压,移动到相关位置
                  # 1.解压下载的文件
                  tar -xzvf jdk-8u212-linux-arm32-vfp-hflt.tar.gz 
                  # 2.移动文件
                  mv ./jdk1.8.0_212 /opt


                  第三步:配置环境变量

                    # 1.vim编辑文件.bashrc
                    vim ~/.bashrc


                    # 2. 写入的内容
                    JAVA_HOME=/usr/local/jdk1.8.0_201
                    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
                    export JAVA_HOME
                    export PATH


                    # 3. 加载环境变量
                    source ~/.bashrc


                    第四步:安装注册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 1
                      update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_212/bin/javac 1
                      update-alternatives --set java /opt/jdk1.8.0_212/bin/java
                      update-alternatives --set javac /opt/jdk1.8.0_212/bin/javac
                      其中注册的时候,多执行几遍,有提示忽略,继续执行。


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

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

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

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

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

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

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

                              按照图中所示操作即可。

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


                              第四步:设置快捷启动

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

                                vim usr/bin/burpsuite


                                # 2. 写入的内容
                                #!/bin/sh
                                java -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=burpsuite
                                  Encoding=UTF-8
                                  Exec=sh -c "/usr/bin/burpsuite"
                                  Icon=kali-burpsuite
                                  StartupNotify=false
                                  Terminal=faLse
                                  Type=Application
                                  Categories=03-webapp-analysis;03-06-web-application-proxies;
                                  X-Kali-Package=burpsuite

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


                                  【备注】

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

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

                                  3. 多学学linux不坏



                                  三、简单攻防演练

                                  看到这里的,都是强者。上述其实已经简写很多了,怕占篇幅太长了。攻防这里,简单演练下吧。毕竟这个展开的可以讲好几期,这里就简单扫描下主机、敏感文件、端口啥的。做个信息搜集,看看蜜罐的效果。其实,也想要做爆破啥的,但是有的问题。一个是ssh宿主机端口和docker的问题,第二个是树莓派2B性能太差了,我用BP爆破后台的时候,Ubuntu服务器直接卡机了。综上所述,我们简单搞下。


                                  信息搜集部分

                                  主要就是扫描下主机与端口,没啥的。工具嘛,会用就行,主要是知道原理和攻击手法。其实,自己都可以写个工具,遍历字典罢了。

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

                                  Nmap扫描存活主机

                                  Nmap扫描敏感端口

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


                                  爆破部分

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

                                  web后台BP爆破设置


                                  蜜罐监控部分

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

                                  监控大屏

                                  仪表盘

                                  钓鱼列表

                                  【备注】

                                  1.  这个部分确实写的比较粗糙了,见谅

                                  2. 这个地方很多协议都没测试,因为实际测试中,发现了这个蜜罐的一个逻辑吧,特别是扫描和爆破的时候。

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

                                  4. 多学多练吧,扎实基础!


                                  四、总结与思考

                                  总结呢,写到这儿,感觉也没啥可说的了。大部分都在备注里面了,真的就是多学多练,扎实基础。然后这个系列先暂时告一段落了,要忙自己本职的事情了。
                                  思考呢,就像穿山甲到底说了啥?下次揭晓吧!(可能是下一个系列哦)


                                  PS:这两天不是log4j漏洞很🔥嘛,我想着反正在搭建环境,不如复现一下。充实下内容,跟大家分享下,结果,你看

                                  又是ARMV7兼容性,嗐!玩不了了!

                                  OK,行文至此,老规矩,放参考链接了

                                  Kali重新安装JAVA环境为JDK1.8.0-251

                                  https://blog.csdn.net/qq_43968080/article/details/105586109?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link

                                  Kali linux安装burpsuite pro专业版教程

                                  https://www.iculture.cc/cybersecurity/pig=205

                                  HFish-ARMV7官方docker安装教程

                                  https://hub.docker.com/r/threatbook/hfish-arm32v7

                                  HFish仓库介绍

                                  https://github.com/hacklcx/HFish

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

                                  https://www.helloworld.net/p/5636195425

                                  ARMv7和ARMv8的区别

                                  https://blog.csdn.net/weixin_40535588/article/details/104365786

                                  各位,下期见,ZOOM Peace!


                                  文章转载自小徐同学爱学习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                  评论