SSH蜜罐cowrie实战
admin
2023-01-31 06:45:26
0
背景

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

在梳理被黑的服务器时发现,有一台服务器的防火墙是关了的(也许是被黑后关的,也许是一直都是关了人为疏忽)。既然没有特别好的思路,那我们目前就先设定这台服务器是最先被黑的,因为他防火墙关了,然后被作为跳板陆续黑了其他机器,如果这个假设成立的话,那就是说我们常用的密码已经被外界所收录,为了证明这一个假设,我们需要一些工具。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格式日志,运行了才一个晚上就马上发现问题了,具体日志内容部分如下

SSH蜜罐cowrie实战

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

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

var/lib/cowrie/tty/1b54104347e987372b323bc6701625889cc01b8de2ce13bc9a297f1f620b5140



相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...