0x01 命令和脚本解释器
- powershell
 - cmd
 - js
 - vb(s)
 - python
 
0x02 客户端漏洞利用
- 客户端漏洞利用
 
0x03 进程间通讯
3-1 组件对象模型
- 组件对象模型,COM 是本机 Windows 应用程序编程接口 (API) 的进程间通信 (IPC) 组件,它支持软件对象或实现一个或多个接口的可执行代码之间的交互。
 - 暴露的各种 COM 接口可被滥用以通过各种编程语言(如 C、C++、Java 和Visual Basic)调用任意执行。
 - 作用
- 收集信息
 - 持久化
 - 执行进程
 - 计划任务
 - Bypass UAC
 
 
3-2 DDE
0x04 计划任务
- 通过
schtasks程序创建计划任务 - 通过COM编程创建计划任务,C#的TaskService类NewTask方法,以及PowerShell的
Schedule.Service对象可以创建计划任务 - 图形界面(实战不适合)
 - 检测方法1(进程)
- 父进程
svchost.exe -k netsvcs -p -s Schedule,但是win10以前版本看不到-s Schedule - 在以前系统中(win7),计划任务的进程树
svchost.exe -> taskeng.exe -> [SpecialTaskProcess]
 - 而在win10系统中,不再有taskeng.exe了,在 Win7 上该进程名为:taskhost.exe,在Win8上该进程名为:taskhostex.exe。

 
 - 父进程
 - 检测方法2(文件)
- %SystemRoot%\System32\Tasks
 
 检测方法3(注册表)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule
不完全隐藏(进行全局查询查不到,但是如果知道任务名可以查到):
- SYSTEM权限下,修改注册表
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\{TaskName}的Index的值为0 - 删除%SystemRoot%\System32\Tasks 下任务对应的 XML 文件(win10不影响任务执行,以下系统影响)
 
- SYSTEM权限下,修改注册表
 完全隐藏
- 删除
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\{TaskName}\SD - 删除 %SystemRoot%\System32\Tasks 下任务对应的 XML 文件
 - 原理:因为 SD 就是安全描述符,它的作用主要是为了给操作系统提供判断来访对象的权限,但被删除后,无法判断用户是否有权限查看该任务信息,导致系统直接判断无权限查看
 
- 删除
 - Windows计划任务的进阶
 
0x05 软件部署工具
- 攻击者可能会访问并使用安装在企业网络中的第三方软件套件,从而实现执行与横向移动
 
0x06 windows 系统服务
- sc.exe创建服务
 - API创建服务
CreateService,StartService - PsExec等横向移动执行工具
 - http://hacky.ren/2021/12/24/深入剖析PsExec/
 
0x07 用户执行
- 恶意链接,图片,文件
 
0x08 Windows管理规范
0x09 常见的技术
- 命令和脚本解释器
 - API
 - 用户执行
 - 计划任务
 - 服务
 - WMI
 - 组件对象模型