千家信息网

SSH蜜罐cowrie实战

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,背景最近有一批服务器被黑,而且数量较多,影响也很大。我们的服务器基本上都是做了防火墙策略,同时密码也比较复杂的,目前还没有特别好的思路去排查(因为我们之前都没有做好相关的日志收集或者预先准备好手段,导
千家信息网最后更新 2025年01月21日SSH蜜罐cowrie实战
背景

最近有一批服务器被黑,而且数量较多,影响也很大。我们的服务器基本上都是做了防火墙策略,同时密码也比较复杂的,目前还没有特别好的思路去排查(因为我们之前都没有做好相关的日志收集或者预先准备好手段,导致出问题后能够做的东西不多,而且被黑的机器基本都被替换了系统命令,能做的就更加少了)。

在梳理被黑的服务器时发现,有一台服务器的防火墙是关了的(也许是被黑后关的,也许是一直都是关了人为疏忽)。既然没有特别好的思路,那我们目前就先设定这台服务器是最先被黑的,因为他防火墙关了,然后被作为跳板陆续黑了其他机器,如果这个假设成立的话,那就是说我们常用的密码已经被外界所收录,为了证明这一个假设,我们需要一些工具。SSH蜜罐就是最好的证明手段,SSH蜜罐有很多,考察了一番后,最终选择了cowrie,其实也不是说它就是同类产品最好的,就是看了一下GitHub发现都有保持更新,而其他类型的有的对上一次更新已经是几年前的了。


cowrie介绍

http://www.cowrie.org/ 官网,说真的这个网页做得真不行,能看的东西很少或者做得很隐蔽我没能找到吧。
https://github.com/cowrie/cowrie 这个是代码托管GitHub地址,内容还算可以。
总体来讲,我们这次所需要用的是一个SSH蜜罐,何谓SSH蜜罐,通俗的讲,就是用程序模拟一个SSH端口服务,让***以为是真的SSH服务连接上来,然后收集相关信息比如:IP、登录所用的账号、登录上来之后做了什么操作等等。
cowrie做得比较丰富,它可以跟mysql、elk等对接,可以做详细的******数据分析,本篇只针对我们的被黑案例使用cowrie做验证,所以只介绍最基础实用的方法,详细的跟第三方系统对接暂不介绍。


cowrie安装

cowrie的安装方法也是有点隐晦,没有直接访问GitHub地址就显示出来,需要自己手动访问GitHub地址的INSTALL.md文件,地址是 https://github.com/cowrie/cowrie/blob/master/INSTALL.md

官方介绍安装的环境应该是Ubuntu,我们所使用的环境是centos 7.0,不过大同小异,下面贴上具体的安装步骤方法,只参考了官方的部分步骤,没有全部执行。

安装配置cowrie

  1. #安装git python-virtualenv沙盒 gcc等

  2. yum install -y git python-virtualenv bzip2-devel libffi-devel gcc


  3. #升级libcurl,要不等下git clone代码可能会出错

  4. yum update -y nss curl libcurl


  5. #创建一个cowrie用户用于运行cowrie,不直接用root运行,这样比较安全

  6. adduser cowrie

  7. passwd cowrie

  8. #输入密码,之后就切换过去cowrie账号

  9. su - cowrie


  10. #git 拉cowrie代码下来

  11. git clone http://github.com/cowrie/cowrie


  12. #成功后进入cowrie目录

  13. cd cowrie


  14. #cowrie依赖python的 virtualenv沙盒,支持python2、python3,我们使用的centos 7.0 默认是python 2.7,所以我们就用2.7的版本初始化

  15. virtualenv --python=python2 cowrie-env


  16. #激活

  17. source cowrie-env/bin/activate


  18. #先更新pip

  19. pip install --upgrade pip


  20. #更新完pip后就轮到安装cowrie依赖的python库,这里需要gcc编译库所以之前预先已经安装好了gcc

  21. pip install --upgrade -r requirements.txt


  22. #一切顺利的话,现在就开始配置cowrie文件和启动cowrie了

  23. #先复制一份cowrie的配置文件和模拟SSH的root账号


  24. #我们使用默认自带的配置文件,默认监听模拟SSH端口是 2222,这里如果要改成22的话还需要额外的工作,因为运行在沙盒里面,监听22端口需要提权,这里有点麻烦,我们就使用默认的2222端口,等下用iptable的端口转发来把22端口转发到2222去,这样比较简单

  25. cp etc/cowrie.cfg.dist etc/cowrie.cfg


  26. #创建一个模拟SSH root账号文件,因为我们要验证是不是我们的内部密码泄露出去了,所以我们就把自己怀疑泄密的root密码写上去,只有这些root密码才能登录上我们的SSH蜜罐

  27. cat etc/userdb.txt

  28. #内容如下(还支持正则、匹配等特性,这里暂时用不上):

  29. root:x:怀疑泄露密码1

  30. root:x:怀疑泄露密码2

  31. root:x:怀疑泄露密码3


  32. #配置好之后,我们现在就开始启动cowrie

  33. bin/cowrie start


  34. #顺利启动之后,使用以下命令可以看到在运行的进程,使用stop则关闭cowrie

  35. bin/cowrie status

配置防火墙策略

  1. #现在cowrie的工作已经完成,接下来是把SSH端口22转发到cowrie蜜罐端口2222,在此之前,我们先把默认的正常SSH服务端口从22改成其他端口,比如7997

  2. vim /etc/ssh/sshd_config


  3. #修改端口

  4. Port 7997


  5. #把selinux关了,要不然修改ssh端口重启ssh服务会失败

  6. setenforce 0

  7. service ssh restart


  8. #放开22 2222 tcp端口,让外面所有人都可以访问,加入iptable规则

  9. -A INPUT -p tcp --dport 22 -j ACCEPT

  10. -A INPUT -p tcp --dport 2222 -j ACCEPT


  11. #最后一步端口转发

  12. iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

测试

#现在我们验证一下cowrie是否正常服务ssh root@cowrie地址#输入user.txt以外密码,如果是登录失败那就正常#输入user.txt里面内置的密码,能够登录就正常
分析

cowrie运行日志放在沙盒内部的 var/log/cowrie里面,默认有两种格式,log是普通日志格式,json则是json格式日志,运行了才一个晚上就马上发现问题了,具体日志内容部分如下

可以看到,外面真的有***用我们这个内部密码成功登陆上来了,下面那串则是这个***登录后所做的操作,就是下载一个后门软件执行后删除,跟我们预先设定的一致。
这里还把***的pl文件都保存起来了,放在沙盒的

var/lib/cowrie/downloads/2438c584311c439b585075c68c443e2e96b43a826aaf42643d7808d436df3731
命令行终端输入的日志记录放在沙盒的

var/lib/cowrie/tty/1b54104347e987372b323bc6701625889cc01b8de2ce13bc9a297f1f620b5140



端口 密码 服务 蜜罐 就是 文件 日志 登录 运行 配置 地址 服务器 账号 防火墙 更新 输入 防火 代码 内容 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哪家券商app服务器最好 服务器怎么知道网页已经关闭 城阳区商城软件开发外包公司 网络安全技术专业人才 数据库提示没有启用数据源 购物软件开发平台 荣耀路由器改打印服务器 护苗网络安全课班会 苏州网络公司软件开发 软件开发和数据分析哪个好 酒泉市网络安全和信息化培训班 计算机3级网络技术 周跃 如何推广网络安全课 微信数据库怎么恢复 河南推进网络安全工作综述 进口以太网串口服务器公司 软件开发顶岗实习报告第二周 长沙新米网络技术有限公司 贵阳网络安全知识竞答 万网 服务器管理工具 网络安全与执法大队 常用服务器系统 网络安全处罚小组打电话 服务器维修多久可以好 跨数据库检索平台 济宁网络安全渗透工程师招聘 自动化报表数据库设计 奉贤区服务器精密空调多少钱 河南乐橙网络技术有限公司 四川亿度互联网科技有限公司
0