一、Windows服务简介
简介:几乎所有的操作系统在启动的时候都会启动一些不需要与用户交互的进程,这些进程在Windows中就被称为服务。
学习目的:利用计算机运行的程序,在渗透测试时攻击系统。
服务的特点:①系统自动开启
②不需要和用户交互
③可长时间运行
两种程序:
进程:进行的程序
服务:后代运行的程序
服务的管理:①用命令行管理
②通过SCM管理
怎么编写服务程序:①c++ ②c#
注意服务的程序有特殊的格式(eg:在cmd.exe中不能运行)
对服务的操作:启动/停止/配服务/查服务
二、SCM服务控制管理器
SCM控件面板可通过控制面板|系统和安全|管理工具|服务访问。
Windows服务控制管理器(SCM)负责配置服务,启动和停止它们。
它显示所有配置服务的名称、说明、状态、启动类型和用户名称的列表。
三、服务的启动类型
1、自动
2、手动
3、禁止
四、三种登录方式
1)Local System(本地系统)
【【思路】】这是hacker攻击的目标,攻击时不攻击系统程序
黑客攻击Windows服务而不是系统程序,通常是因为Windows服务通常以系统权限运行,可以访问系统中的许多敏感信息,如登录凭据、文件系统、注册表、系统设置等。这使得攻击者能够利用Windows服务来获取系统的完全控制,从而控制受攻击的计算机。
另外,许多Windows服务具有漏洞,这些漏洞可以被黑客用来执行远程代码,进一步获取对系统的控制。黑客经常会寻找这些漏洞并利用它们来攻击系统。相比之下,系统程序通常更加健壮,容易维护和更新,漏洞也较少被黑客利用。
举例来说,以Local System账号运行的服务主要有:
①Windows Update(Windows更新)
②Com+ (管理基于组件对象模型(COM+)的组建的配置和跟踪
③Messenger Service(支持短信及相关功能)
④Task Scheduler(在此计算机上配置和计划自动任务)
⑤Server(支持此计算机通过网络的文件、打印、和命名管道共享)
⑥Windows Installer(添加、修改和删除作为Windows Installer 程序包(.msi、msp)提供的应用程序 )
2)Network service(网络服务)
例如:DNS服务
DNS(Domain Name System,域名系统)服务是一种将域名转换为IP地址的分布式数据库系统。它是互联网的基础设施之一,负责将用户输入的域名(例如www.example.com)解析为相应的IP地址(例如192.0.2.1),以便客户端能够访问服务器。
在DNS系统中,域名被组织成树形结构,从根域名服务器开始,一直到最终的目标域名服务器。当客户端请求解析某个域名时,它会向本地DNS服务器发出请求,如果本地DNS服务器没有缓存该域名对应的IP地址,则会向根域名服务器发出请求,根域名服务器会告诉本地DNS服务器哪些顶级域名服务器能够解析该域名,并把这些顶级域名服务器的地址返回给本地DNS服务器。本地DNS服务器会向这些顶级域名服务器发出请求,逐级向下,直到找到能够解析该域名的目标域名服务器,然后将目标域名服务器的地址和该域名对应的IP地址返回给客户端。
常见的攻击DNS服务的方法:
DNS Spoofing:黑客伪造DNS响应,将正确的IP地址替换为恶意的IP地址,从而将用户重定向到受控的网站或者提供虚假信息。
DNS Cache Poisoning:黑客通过向DNS缓存服务器发送恶意DNS响应,将错误的DNS记录缓存在DNS缓存中,导致所有向该域名请求的用户都被重定向到恶意站点。
DDoS攻击:黑客可以利用大量的机器发起DDoS攻击,从而使得DNS服务器过载,无法提供正常的服务。
DNS Tunneling:黑客利用DNS协议的数据传输能力,在DNS请求和响应中隐藏恶意代码,通过DNS协议在网络中传输数据,绕过防火墙和其他安全设备。
3)Local Service(本地服务)
Local Service账号时预设的拥有最小权限的本地账号,并在网络凭证中具有匿名的身份。
注意运行于此账号下的进程和运行于Network Service账号下的进程的区别在于运行Local Service账号下的进程只能访问允许匿名访问的网络资源。
例如:DHCP服务
DHCP(Dynamic Host Configuration Protocol)是一种自动分配网络设备IP地址、子网掩码、默认网关、DNS服务器等参数的协议。攻击DHCP服务的目的是获取被攻击网络中的IP地址,或是向攻击者控制的服务器分配可用IP地址。
DHCP服务主要用于大型网络中的计算机管理和维护。在一个DHCP网络中,一个专门的DHCP服务器被配置为为所有的客户端计算机分配网络地址和参数。客户端计算机可以通过DHCP请求请求一个IP地址,DHCP服务器响应请求并分配一个IP地址,从而实现自动网络配置的目的。这种自动化配置方式可以减轻管理员的工作负担,并提高网络的可靠性和安全性。
常见的攻击DHCP服务的方法:
DHCP Snooping欺骗攻击:攻击者在网络中发送虚假DHCP回复报文,欺骗设备向攻击者控制的DHCP服务器请求IP地址,然后将设备IP地址和MAC地址映射关系记录下来。
DHCP服务器欺骗攻击:攻击者伪装成DHCP服务器向客户端发送DHCP提供报文,将自己的IP地址和MAC地址作为提供者,并将虚假的IP地址租给客户端,使其无法正常连接网络。
DHCP服务拒绝攻击(DHCP DoS):攻击者利用各种手段占用DHCP服务器资源,导致DHCP服务无法正常提供服务,造成网络服务中断。
DHCP服务器竞争攻击:多个DHCP服务器在同一个子网中提供DHCP服务,攻击者发送虚假DHCP提供报文,争夺IP地址分配权。
五、相关的CMD命令
1)net---->只能启动停止,不能配查
net start
命令用于启动 Windows 操作系统上可用但尚未运行的服务,其语法为:
net start [service_name]
其中,[service_name]
参数为可选参数,表示要启动的服务的名称。如果未指定服务名称,则会列出所有正在运行的服务。
例如,启动 Windows 更新服务(Windows Update)的命令为:
net start wuanserv
如果成功启动服务,将会显示“服务正在启动”和“服务已经启动”等信息。
2)sc
-
sc query 服务名 ----- 查询服务
-
sc stop/start 服务名 ----- 开启/关闭服务
-
sc qc 服务名 ----- 查询服务
-
sc config/? ----- 在注册表和服务数据库中修改服务项
举例说明:修改某服务为禁用
-
sc create 服务名 type = 类型 binpath = 路径 = -----创建服务
- sc delete 服务名 ------删除服务
3)wmic service get --> 列出所有服务
-
脚本检查服务中是否有路径解析漏洞
wmic service get name,displayname,pathname,startmode,startname|findstr /i "Auto" |findstr /i /v "C:\Windows" |findstr /i /v """
本文大部分参考了https://blog.youkuaiyun.com/Z_Grant/article/details/90650111