ATT&CK 执行

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]
      mark
    • 而在win10系统中,不再有taskeng.exe了,在 Win7 上该进程名为:taskhost.exe,在Win8上该进程名为:taskhostex.exe。
      mark
  • 检测方法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不影响任务执行,以下系统影响)
  • 完全隐藏

    • 删除HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\{TaskName}\SD
    • 删除 %SystemRoot%\System32\Tasks 下任务对应的 XML 文件
    • 原理:因为 SD 就是安全描述符,它的作用主要是为了给操作系统提供判断来访对象的权限,但被删除后,无法判断用户是否有权限查看该任务信息,导致系统直接判断无权限查看
  • windows 计划任务隐藏新姿势分享

  • Windows计划任务的进阶

0x05 软件部署工具

  • 攻击者可能会访问并使用安装在企业网络中的第三方软件套件,从而实现执行与横向移动

0x06 windows 系统服务

0x07 用户执行

  • 恶意链接,图片,文件

0x08 Windows管理规范

0x09 常见的技术

  • 命令和脚本解释器
  • API
  • 用户执行
  • 计划任务
  • 服务
  • WMI
  • 组件对象模型