01阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面
02红队实战技术SCM
在红队渗透测试或模拟攻击中,利用 Windows 服务控制管理器进行远程代码执行是一种高效且隐蔽的方式。本文将通过代码解析的形式,详细介绍如何通过调用 SCM 的相关接口实现恶意服务的创建与启动,探讨这种方法的技术细节及应用场景。
2.1 函数介绍
服务控制管理器是 Windows 操作系统的核心组件,负责管理系统中的所有服务,包括创建、启动、停止和删除服务等操作。利用服务控制管理器的功能,攻击者可以在目标主机上注册恶意服务并将其作为持久化机制或远程代码执行入口。主要用到的两个 API 函数是:
OpenSCManager:打开服务控制管理器,获取管理服务的权限。
CreateService:在服务控制管理器中注册新的服务。
其中,OpenSCManager 用于打开指定主机的服务控制管理器,函数签名如下所示。
[DllImport("advapi32.dll")]
public static extern ServiceControlHandle OpenSCManager(
string lpMachineName,
string lpSCDB,
NativeMethods.SCM_ACCESS scParameter
);
这里lpMachineName:目标计算机的名称,通常表示本地计算机。scParameter参数&#x