美文网首页
2019-08-08

2019-08-08

作者: 留白_bb77 | 来源:发表于2019-08-08 23:41 被阅读0次

    pr提权

    提权利用的漏洞

    Microsoft Windows RPCSS服务隔离本地权限提升漏洞

    RPCSS服务没有正确地隔离 NetworkService 或 LocalService 帐号下运行的进程,本地攻击者可以利用令牌劫持的方式获得权限提升。成功利用此漏洞的攻击者可以完全控制受影响的系统,攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。

    BUGTRAQ  ID: 34443 

    CVE(CAN) ID: CVE-2009-0079

    发布日期:2009-04-14 

    更新日期:2009-04-24

    受影响系统: 

    Microsoft Windows XP x64 SP2 

    Microsoft Windows XP x64 

    Microsoft Windows XP SP3 

    Microsoft Windows XP SP2 

    Microsoft Windows Server 2003 SP2 

    Microsoft Windows Server 2003 SP1

    也就是说只有Windows Server 2003和windows xp系统能够使用 pr 提权。

    UDF为User Defined Function用户自定义函数,也就是支持用户自定义函数的功能。这里的自定义函数要以dll形式写成mysql的插件,提供给mysql来使用。也就是说我们可以通过编写dll文件来实现我们需要的功能

    在MYSQL 4.1以前的版本中,可以将所有的DLL文件里面的任何函数都注册到MYSQL里面以供MYSQL调用。无论这个DLL在什么位置,函数的声明是什么样的。

    在MYSQL 4.1及以后的版本中,对UDF函数进行了限制,只有实现了一个特定接口的函数才可以被成功注册到MYSQL中,这样就防止了通过MYSQL非法调用系统的DLL。

    在MYSQL5.0以后,对注册的DLL的位置有了限制,创建函数的时候,所对应的DLL不能包含/或者\,简单的理解就是不能是绝对路径。 所以我们将DLL上传到包含在PATH这个环境变量内的目录中来跳过这个限制(运行echo %path%可以查看可写目录,例如:C:\WINDOWS\udf.dll或C:\WINDOWS\system32\udf.dll),或者放到盘符的根目录下通过c:udf.dll这种形式的写法来跳过限制。

    Mysql5.1及以上版本,必须将DLL文件上传到mysql安装目录下的lib\plugin文件夹下才能创建自定义的函数。默认情况下’plugin’文件夹并不存在,可能就是为了防止通过into dumpfile将DLL来写到这个文件夹。可以用命令show variables like '%plugin%'查看是否存在plugin文件夹。可以在webshell中手工创建lib、plugin文件夹,

    在 sqlmap\udf\mysql\windows\32目录下存放着lib_mysqludf_sys.dll_

    sqlmap\udf\mysql\windows\64目录下为64位的lib_mysqludf_sys.dll_

    sqlmap 中 自带 的shell 以及一些二进制文件,为了防止被误杀都经过异或方式编码,不能直接使用的。

    可以利用sqlmap 自带的解码工具cloak.py

    目录 sqlmap\extra\cloak\cloak.py 对 sqlmap\udf\mysql\windows\32\lib_mysqludf_sys.dll_ 解码后,再直接利用

    攻击者可以利用lib_mysqludf_sys提供的函数执行系统命令。

    函数:

    sys_eval,执行任意命令,并将输出返回。

    sys_exec,执行任意命令,并将退出码返回。

    sys_get,获取一个环境变量。

    sys_set,创建或修改一个环境变量。

    相关文章

      网友评论

          本文标题:2019-08-08

          本文链接:https://www.haomeiwen.com/subject/wjwxjctx.html