0x01 WLL加载项
- %AppData%\Microsoft\Word\STARTUP
0x02 XLL加载项
- 保存在%AppData%\Microsoft\AddIns
- XLL文件导出函数名必须为”xlAutoOpen”
- HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options “OPEN”属性,值为”/ R 任意文件名.xll”
0x03 WORD VBA模板
- 保存路径为%AppData%\Microsoft\Templates
0x04 Execel VBA模板设置屏幕保护程序
- 文件格式为”.xla”或者”.xlam”格式
- 保存路径为%appdata%\Microsoft\Excel\XLSTART
0x05 PowerPoint VBA模板
- 文件格式为”.ppam”或”.ppa”
- 保存位置为%appdata%\Microsoft\AddIns
- 设置注册表HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\PowerPoint\AddIns\<任意名字>
- 新建DWORD值 名字为”Autoload”, 值为1
- 新建String值,名字为”Path”, 值为文件路径
0x06 Office test
- HKEY_CURRENT_USER\Software\Microsoft\Office test\Special\Perf
- 新建默认名称(Default)的Key,值为文件路径
0x07 针对Word Hunt 思路
- ProcessMonitor操作设置为”IRP_MJ_DIRECTORY_CONTROL”,结果设置为”NO SUCH FILE” 可以Hunt到诸如12"C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86\EhStorShell.dll""C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86\ntshrui.dll"
- ProcessMonitor操作设置为”IRP_MJ_DIRECTORY_CONTROL”,结果设置为”NO SUCH FILE” 可以Hunt到诸如
- ProcessMonitor操作设置为”RegQueryValue” ,结果设置为”NAME NOT FOUND”,路径起始设置为”HKCU\Software\Microsoft\Office”,可以Hunt到如1HKCU\Software\Microsoft\Office\16.0\Word\Options\STARTUP-PATH
- ProcessMonitor操作设置为”RegQueryValue” ,结果设置为”NAME NOT FOUND”,路径起始设置为”HKCU\Software\Microsoft\Office”,可以Hunt到如
COM劫持思路
|
|
参考
- https://3gstudent.github.io/Use-Office-to-maintain-persistence
- https://cloud.tencent.com/developer/article/1819454
常见持久化技术简介
利用启动项(文件目录)实现持久化
12C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUpC:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup利用启动项(注册表)实现持久化
12345[1] HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run[2] HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run[3] HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx[4] HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders[...]利用Windows服务实现持久化
1[1] sc create servicename binpath ...利用计划任务实现
123[1] schtasks /create ...[2] 利用C++ COM组件实现[3] Ref:[VC++创建计划任务的若干方式] https://blog.csdn.net/chantsky/article/details/82904942利用BITS实现
12[1] 后台智能传输服务[2] bitsadmin /createLSA 身份认证包
12[1] 系统启动中,本地安全机构(LSA)会启动LSA身份认证包DLL[2]用户登入初始化程序
1234[1] windows 登录之时,winlogon.exe进程会依赖注册表加载和执行.dll文件和.exe文件。[2] HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Winlogon\Userinit 用户登录时执行的用户初始化程序[3] HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Winlogon\Shell 用户登录时执行的系统 shell[4] HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify 处理 Winlogon 事件的通知包 DLL登录脚本
12[1] windows 允许在登录到系统之时运行脚本[2] 在`HKCU\Environment`下新建名为 `UserInitMprLogonScript`的项,值为程序路径影子账户
12[1] 新建用户net user username1$ password1 /add[2] 添加到管理员组net localgroup administrators username1$ /add修改默认文件关联
12[1] 先在`HKEY_CLASS_ROOT`寻找目标的文件格式[2] 然后在`HKCR\[filetype]\shell\open\command`的默认项中添加路径设置屏幕保护程序
1234567[1] 在`HKEY_CURRENT_USER\\Control Panel\\Desktop`下添加[2] SCRNSAVE.EXE:路径[3] ScreenSaveActive = 1表示屏幕保护是启动状态,0表示表示屏幕保护是关闭状态[4] ScreenSaverTimeout = 指定屏幕保护程序启动前系统的空闲事件,单位为秒,默认为900```* WMI事件订阅
[1] EventFilter 事件筛选器
[2] EventConsumer 事件消费者
[3] FilterToConsumerBinding 绑定关系
[4] 注:微软文档有错误,所以导致一众大佬复现不了12* 辅助功能(Shift后门)
[1] 貌似windows xp 可以直接使用12* AppCert DLL
[1] 只要进程中调用CreateProcess、CreateProcessAsUser、CreateProcessWithLoginW、CreateProcessWithTokenW和WinExec函数,就会依据HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\
加载所记录的dll文件
[2] 在默认键值下添加路径即可
```