你真的会udf提权???数据库权限到体系权限 内网学习 mysql的udf提权操纵 ...

打印 上一主题 下一主题

主题 529|帖子 529|积分 1587

我们在已经取得了数据库的账号密码过后,我们要进一步举行提取的操纵,我们mysql有4钟提权的操纵。
  
udf提权(最常用的)mof提权
启动项提权反弹shell提权操纵
怎么获取密码操纵:

   怎么获取密码,通过sql注入获取这个大家都应该知道了,另有一点就是通过翻阅文件获取比如说mysql数据库
  我们可以翻阅下面的这些文件来看账号密码,这些文件都是mysql存储账号密码的文件。
  这个是密码找到成功率最高的。
  

我们来说说mysql提权的条件:

如果这些条件都没有满足的话,你就可以放弃提权操纵了。
第一:数据库最高权限的账号密码
第二:secure-file-priv=空
这个第二点是最重要的,这个是导出的dll'文件在举行限制 空就说明是可以举行导出的
不能导出就不能举行提权的操纵,secure-file-priv=NULL这样就不能 
或者它会给你限制导出的路径举行操纵,这样你也没有办法
  1. show global variables like "secure%";
复制代码
  使用这个来举行查看的操纵,看看secure-file-priv=空
  然后我们在举行下一步,MySQL数据库默认是不支持外联的。
  那就我们就要来说说什么是外联,外联就是外部连接。那我们该怎么举行连接的操纵,我们要使用下面的下令来开启外联的功能
  如果没有开启外联的操纵我们的msf工具都不能进使用用
  1. GRANT ALL PRIVILEGES ON *.*TO'帐@'%'IDENTIFIED BY'密码'WITH GRANT OPTION;填写你得到的账号密码
复制代码
配置文件怎么改办理问题secure-file-priv=NULL 

 怎么来办理secure-file-priv=NULL的情况,因为我的是本地的操纵,以是我可以直接更改配置文件,但是在更改配置文件的时候,要注意,我们会在c盘看见2个mysql数据库的文件,一个是自己的,还要一个phpstudy的,只有phpstudy才是真的,这点要特殊的举行注意操纵。


这个才是真的我们要更改的配置文件,不要像我一样改半天假的配置文件,还问怎么不可以就是改不对secure-file-priv=NULL这个的操纵。

在实际我们怎么办????

我们在实际的时候可以上传大马来手工举行更改配置文件my.ini然后在用下令把服务举行重启的操纵。在webshell后台举行下令执行,重启服务的操纵。
   然后有人说了不支持外部联,我怎么执行这个下令???这点说得好,我们是取得了web权限的,我们使用的后门连接程序,比如说哥斯拉,蚁剑,这些,自己程序就在它的服务器上面,以是是可以举行连接操纵的。
  

然后我们就可以连接我们的第三方软件比如说navicat来举行操纵。

账号密码也就是你在取得web权限过后翻阅文件找到的,或者你通过其他的途径来找到的。
连接上了我们还要来判定mysql版本的问题。也可以在本地判定。

为什么要判定mysql版本

   在MySQL 5.1版本及以后的环境下,udf提权时需要将udf.dll导出到mysql安装目录\lib\plugin\目录下。
  在小于5.1的版本我们就在c:/windows或者system32来举行导出操纵
  
  如果目录没有的时候,我们要举行创建这个目录该怎么举行操纵 ntfs的数据流举行操纵
  在文件上传的时候使用过 ::$data
  我们在创建的时候是如果没有权限手工创建的时候,在使用下面的这个下令举行创建的操纵 
  1. select'xxx'into dumpfile 'C:\MySQL\lib\plugin::$INDEX_ALLOCATION';
复制代码
  我们要根据实际的情况来举行更改路径的操纵
  然后我们在来使用下令来看看这个目录创建好没有
  1. show variables like 'plugin%';
复制代码
 

这里看见好了,但是可能是外貌现象,我们在要我们的webshell后台看见有这个目录了才是真的好了,我就在这里被折磨了半天的操纵。
然后我们把文件目录弄好了过后,我们可以直接上工具。msf来举行提取的操纵。
msf工具的使用:

使用模块:use exploit/multi/mysql/mysql_udf_payload
这个模块是直接使用的不用像从前监听让它上线然后在举行操纵。
设置payload

RHOSTS 攻击mysql主机
LHOST 0.0.0.0 全部都可以举行访问
   执行:set username 数据库用户名
      set password 数据库密码
      set rhosts 目的主机地址
   然后我们在举行run(开始攻击)

攻击完成,我们在看看我们生成的dll文件

使用的下令是 
  1. select * from mysql.func;
复制代码
  我来说说直接生成的这个是不能进使用用的。
  

  我们要自己在来生成一个来与这个dll文件举行绑定从而举行下令的输出。
  下面来看看下令是:
  1. create function sys_eval returns string soname "SSYOuXFD.dll";进行绑定的操作
复制代码
 


然后我们就可以使用这个用户名来举行下令执行的操纵了:
 总结: 


    我们的udf提权和反弹shell提权是类似的,反弹shell就是直接执行下令来创建这些操纵,下令是写好了的通过编码举行操纵的,也是创建dll文件。与udf提权是类似的。
  在实际的提权操纵另有很多妨碍我们的,我们会遇见很多的,导致提权不成功的操纵。
  
   mysql的udf提权条件:
  1:要有数据库密码和账号
  2:secure-file-priv=空或者写入的路径各个好是我们要写的地方
    背面还会把sqlsever和orcal已经redis,postgre和使用第三方应用提权操纵一起在写一个文章。

  现在埋下伏笔:

  postgre数据库提权就是使用18年和19年的2个毛病
  其实也不能说是提权吧自己感觉,只是使用了毛病举行了任意下令执行操纵。
  



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表