设为首页 收藏本站
查看: 1178|回复: 0

[经验分享] 记一次针对Centos的入侵分析

[复制链接]

尚未签到

发表于 2017-11-23 10:42:14 | 显示全部楼层 |阅读模式
  离开厂家多年,很久没有碰这类事件了。
  回顾:
  2017年9月末,接到一个朋友转述的求助信息。他一客户的服务器被黑了。服务器上所跑业务上的金额也全部被人转走了。
  朋友的客户加我后,没头没尾的问我能不能做服务器加固...(难得的长假,举国欢庆啊哪有空鸟他)。
  10月4号跟对方详细聊了下情况。大致明白缘由了。
  事件:
  1.一台阿里云上的centos服务器被黑。理由:服务器上被加了计划任务+脚本。
  2.服务器所支撑的业务(一个微信公众号)上所有的金额被黑阔批量转走(薅羊毛?)
  朋友客户的处理措施:
  1.直接把对方的脚本删了。(语音询问得知这点直接让我无语了= =)
  2.日志未备份。
  3.服务器直接下线。
  好吧,本来只是单纯的入侵行为,还不是很有兴趣。毕竟举(mei)国(kong)欢(da)庆(li)的日子。但后面说有“薅羊毛”的味道。可“薅”就“薅”吧,为什么要入侵服务器?感觉可以上面看看。
  开搞:
  又磨蹭了半天,吃完早餐就抱着电脑登上服务器了
  先last(习惯性)。即使不是我的服务器我习惯性看看有没有其他人在= =
  因为先前从对方那得知,ip来自境外。所以把last记录里的ip挑出来。去ip库查了遍(ip都在正常区域)。这有点出乎意料了...没登录过?
  猜测可能原因:
  1.对付通过爆破SSH(端口裸露在公网),然后登录。
  2.通过其他服务(MSSQL、MYSQL等)。
  3.业务系统有漏洞。(对方说是java开发的)。
  4.其他...
  初步判断:
  简单看了last记录看不到有来自其他ip的登录(除非黑阔把日志删除了)。排除1。
  业务系统由运行MYSQL,且严格限制ip。且为阿里云上的数据库服务。排除2。
  沟通后得知是java开发的,我一喜,马上问是struts2之类的框架吗? 对方巴拉巴拉一堆。 好吧没听懂= =(不是struts2)。
  端口、进程都查了。没有发现异常的地方(由于管理员在第一时间清理进程,所以对后期排查也有影响。这里也给大家在做入侵应急响应一个警示!!)。
  查下.bash_history(所以,渗透的同学请注意痕迹问题):
  感兴趣的东西不多,留意下面:+
DSC0000.png

  (上图大部分是管理员在发现被入侵后的操作。个别命令管理员自己都忘记是不是自己的操作了。)
  好吧,只能仅作参考了 = =
  查下/var/log/secure信息(Ubuntu的认证信息存放在auth中)。
DSC0001.png

  发现一大堆来自境内外的爆破信息。日志文件被分成好几个了。一个个查。
  为了方便,查了认证成功的信息:
DSC0002.png

  翻了一遍。有登录成功的ip都是正常的地区(管理员所在城市)
  看来黑阔真没登录成功过?
  不应该啊,没登录怎么写计划任务。除非就是有远程执行了....又没有struts2之类的。看来还有遗漏的地方。
  继续:
  管理员说过计划任务有问题。
  切过去看看。/var/log/下 有几份计划任务的日志。(原计划任务中的脚本文件被管理员自己删除了= =)
  翻翻计划任务看有没有什么信息。
DSC0003.png

DSC0004.png

  果然.....
  好像离真相很近了。发现脚本记录。
  再查下/var/spool/cron/下的信息(如果创建了计划任务,这里会有以该用户命令的信息。比如root):
  补充:crontab -l 查看当前用户的计划任务信息。
DSC0005.png

DSC0006.png

  欧克,那么明白了,脚本就是这个。
  本地试试看这个脚本还存不存在远程服务器上。结果直接下回来了....
DSC0007.png

  眼熟吗?有的盆友估计看到这个脚本很眼熟。
  好吧,单纯的我没有第一时间反应过来。傻乎乎的分析脚本去了(我把这脚本跟刷红包联系在一起了)。
  把文件截图一份扔给群里的胸弟,然后接着看。
  突然在etc下发现了这个。。。
DSC0008.png

  不会是未授权访问吧。。。
  马上询问管理员,有弄过redis吗? 管理员回答:有!后来改成阿里云的了
  至此大概明白怎么回事了
  真相只有一个...
  群里胸弟的反馈:这不就是挖矿的节奏嘛。
  redis未授权+挖矿+杀进程。终于说通了



1.Redis服务使用ROOT账号启动
2.Redis服务无密码认证或者使用的是弱口令进行认证
3.服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。
这里植入挖矿程序都不需要登录服务器。只需要远程写入计划任务并启动脚本就可以实现。这也就是为什么调用了root权限但是没有登录记录的原因。

至于怎么修复:请自行百度。
  至此前期工作告一段落。其实按常规的检查思路。还有很多需要检查的地方。如果端口、进程、常规日志等都没发现问题,那么就改查文件信息了(修改、创建等)直到排查出原因。
  1.管理员已将这台服务器下线。redis也停了一段时间。所以入侵行为发现也有一段时间了。只是近期发现有恶意抢微信红包才留意到服务器被黑。
  2.没错,微信红包的事还没解决....也就是说服务器被入侵和刷红包其实是两个事情两者没有必然联系(刚好时间接近)。所以在反查的时候会不自觉的将两者联系在一起。
  给管理员提了些关于限制恶意抢红包的机制。
  ------------------------------------
  -邪恶的分割线--------------------------------------------------------------
  附上些日志检查常用的命令:
  last -f /var/log/wtmp  等同与last  //查看所有的登录记录
  last -f /var/log/btmp  //只记录认证失败的信息
DSC0009.png




linux 关键的系统日志
1.   message和syslog:   记录linux系统长的系统和服务错误信息
/var/log/messages   redhat  centos  
/var/log/syslog    ubuntu

2.   auth :用来存放认证信息  如login  su
ubuntu和debian:  /var/log/auth.log
redhat centos : /var/log/secure

3.    cron:  系统定期执行计划任务时产生的日志
/var/log/cron
计划任务位置:/var/spool/cron
4.   mail :邮件日志  
/var/log/mail
5.    lastlog : 机器最后一次登录成功的时间、ip等  
/var/log/lastlog

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409801-1-1.html 上篇帖子: docker运行python3.6+flask小记 下篇帖子: linux用户管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表