Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
serviceDetector — 检测远程主机上是否(盲测)安装了某服务和/或(若该服务暴露了命名管道)是否正在运行,全程无需使用本地管理员权限。 | Kitploit
工具/GitHubGitHub/tothi/servicedetector
侦察信息收集网络安全渗透测试红队
GitHubtothi/servicedetector

serviceDetector

检测远程主机上是否(盲测)安装了某服务和/或(若该服务暴露了命名管道)是否正在运行,全程无需使用本地管理员权限。

查看仓库
241272年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

serviceDetector

在无需使用本地管理员权限的情况下,检测远程机器上是否安装了某个服务(盲检测)和/或该服务是否正在运行(如果其暴露了命名管道)。

关于

更详细地说,运行此脚本会远程连接到目标 SMB 服务(445/tcp),并执行以下操作:

  1. 通过 [MS-LSAT] RPC 调用 LsarLookupNames() 检查指定的服务是否已安装。 无需使用特权帐户,但只能进行“盲”查询(无法列出服务,只能查询特定服务的状态)。

  2. 检查目标上是否存在指定的 命名管道。服务(进程)可能会暴露其特有的命名管道,这些管道可被非特权用户看到。因此,检查特定服务特有的命名管道可以帮助我们推断特定服务是否正在运行。

安装

这是一个独立的 Python 脚本,使用 Impacket,无需安装任何东西。 已在最新的 Kali 和 Arch Linux 上,使用官方最新版 Impacket(0.10.0 和 0.9.24)以及 Python(3.9 和 3.10)进行过测试。

配置

要检查的服务、服务名称以及服务特有的命名管道均在 conf 文件夹下的 JSON 配置文件中指定(或者使用 CSV 文件——如果这样更顺手的话,这是我后来才意识到的方式 :),因此也提供了一个自定义的 csv2json 转换器)。要理解该格式,请参阅附带的示例。

包含的配置文件:

  • edr.json(以及 edr.csv):常见的 AV/EDR 服务和命名管道
  • webclient.json(以及 webclient.csv):用于检测目标上的 WebClient 和 Print Spooler (对我最喜欢的 HTTP → LDAP NTLM 中继计算机接管攻击 很有用)。
  • psexec.json (以及 psexec.csv: 用于检测未清理的 Impacket PsExec 服务是否正在运行,以实现 使用非特权域用户的 SYSTEM RCE。

用例可以通过添加更多的服务/命名管道来扩展,EDR 配置还很不完整,欢迎自行添加。

脚本使用 JSON 配置格式,但后来我意识到编写 CSV 更加方便,因此附带了 csv2json.py 脚本,用于将 CSV 转换为 JSON。

运行工具

针对单个目标运行以枚举 AV/EDR 服务(或其他任何内容)非常简单:

root@kitploit:~
./serviceDetector.py -conf conf/edr.json evil.corp/johndoe:[email protected]

也支持 Kerberos 身份验证(KRB5CCNAME 环境变量指向 ccache 文件):

root@kitploit:~
./serviceDetector.py -conf conf/edr.json -k -no-pass server.ecorp.local

要高效地对多个目标运行,GNU parallel 非常有用:

root@kitploit:~
cat targets.txt | parallel -j 50 ./serviceDetector.py evil.corp/johndoe:Passw0rd1@{}

请注意,在批量运行之前,先对单个目标进行测试,以防止帐户被锁定(例如在密码拼写错误的情况下)。

Opsec 注意事项:请注意,并发地大规模登录不同目标可能会触发 SOC 警报。

致谢

这里使用的两种技术并非新事物。

  1. [MS-LSAT] RPC 调用 LsarLookupNames() 此前已被 Vincent Le Toux(@mysmartlogon)在出色的 PingCastle 工具的 Antivirusscanner 模块中使用。

  2. 这种用于检测正在运行服务的命名管道方案受到了 Lee Christensen(@tifkin_)的这条推文 的启发,当时他用这种方法来检测 WebClient 服务。 这种用于 AV/EDR 检测的技术也曾被 NSA 的 NamedPipeTouch 工具使用(该工具由 Shadow Brokers 组织泄露)。

下载工具