MikeRicketts/LinuxSurface
GitHub: MikeRicketts/LinuxSurface
LinuxSurface 是一款纯只读的 Windows 安全审计脚本,用于枚举和评估系统中 Linux/POSIX 收敛性功能(如 sudo、WSL、OpenSSH、开发者模式等)带来的攻击面风险。
Stars: 0 | Forks: 0
# LinuxSurface




**一个针对“Linux 收敛性”攻击面的只读 Windows 审计工具。**
现代 Windows 悄然引入了越来越多的 Linux/POSIX 功能——`sudo.exe`、
开发者模式、WSL、内置 OpenSSH、`curl`/`tar`、非管理员符号链接。每一项功能
都很便利,同时每一项也都打开了以 Windows 为中心的监控通常难以察觉的
攻击面。LinuxSurface 会枚举主机上已启用的功能,并将其报告为
一个按优先级排列的、通俗易懂的风险全貌——只需一条命令,且不会对系统进行任何
更改。
` 指定)。
- **JSON**(`-Json`) — 包含主机信息、各项检查证据和
摘要的完整结构化结果,可用于自动化处理或供其他工具接入。
## 安全性 — 只读保证
作为一款被动审计工具,在授权评估期间,可安全地运行于生产环境和第三方机器上。
- **它只进行读取。** 读取注册表值、文件元数据 + Authenticode 签名
以及服务/功能状态。它绝不会在宿主机上进行写入、修改、删除、启用、
禁用、启动、停止或执行任何操作 —— 包括在错误处理路径中也是如此。
- **它绝不会运行其检测的二进制文件。** `sudo.exe`、`ssh`、`wsl.exe`
等程序仅通过文件元数据进行检测,从不被调用。
- **仅使用只读 cmdlet:** `Get-ItemProperty`、`Test-Path`、`Get-Item`、
`Get-Service`、`Get-WindowsOptionalFeature`、`Get-AppxPackage`、
`Get-WindowsCapability`、`Get-AuthenticodeSignature`。绝不包含任何位置的 `Set-*`、`Remove-*`、
`Enable-*`、`Disable-*`、`Start-*`、`Stop-*` 或 `Invoke-Expression`。
- **它唯一写入的内容是其自身的报告**,且仅在你主动要求时
(`-Html` / `-Json -OutputPath`)才会生成。绝不会写入被审计系统的注册表、
服务或任务中。
- **安全失效。** 每一项检查都包裹在 `try/catch` 中;缺失某项功能或
发生权限错误时,会报告明确的状态,而不是直接导致程序崩溃。
有两项检测在策略上偏保守,报告中也对此作出了说明:
`SeCreateSymbolicLinkPrivilege` 是从开发者模式推断出来的,而不是
从安全策略中导出的(因为导出操作会写入文件);此外,OpenSSH
“正在监听”是根据 `sshd` 服务状态推断出来的,而不是通过实时套接字查询得出。
## 许可证
[MIT](LICENSE)
Example run on a host with several convergence features enabled.
标签:AI合规, HTTP工具, IPv6, Libemu, PowerShell, 搜索语句(dork), 配置检查