SC命令的通信过程是如何进行的
前言:作为SC命令通信过程的学习笔记
什么是服务
Microsoft Windows 服务(过去称为 NT 服务)允许用户创建可在其自身的 Windows 会话中长时间运行的可执行应用程序。 这些服务可在计算机启动时自动启动,可以暂停和重启,并且不显示任何用户界面。 这些功能使服务非常适合在服务器上使用,或者需要长时间运行的功能(不会影响在同一台计算机上工作的其他用户)的情况。 还可以在与登录用户或默认计算机帐户不同的特定用户帐户的安全性上下文中运行服务。
SC通信流程(135端口开放的情况)
win10: 192.168.0.108
win2012 192.168.4.139
win10 执行命令 sc \\192.168.4.139 create "Windows Update" binPath="cmd /c whoami" DisplayName="Windows UpdateA" start=auto
这里需要注意下,win10事先需要模拟相关的令牌凭证,要不然无法进行远程操作的,我这里是通过runas来实现模拟令牌,也可以通过mimikatz等工具,原理都是一样的。

通信过程如下:
1、基于135的相关协商操作
2、基于高位端口的NTLM认证
3、创建远程服务操作

SC通信流程(135端口不开放的情况)
我这里先在win2012上创建一条禁止135入站的规则,然后继续来做测试,如下图所示

win10 执行命令 sc \\192.168.4.139 create "Windows Update" binPath="cmd /c whoami" DisplayName="Windows UpdateA" start=auto
可以发现同样是可以的,但是花费的时间会比直接135的时间长

可以来看下相关的数据包,最明显的特点就是,先是通信135端口,然后继续通信445端口,那么这种情况也就是如果135无法进行通信,那么才会尝试去通信445端口
135端口的通信过程如下

445端口的通信过程如下

特征:
1、sc 会先链接 135 端口协商RPC,然后链接高端口进行身份认证,进行会话。如果 135 并未开放或 RPC 不可用,则 sc 会通过 445 进行数据交互。

浙公网安备 33010602011771号