bruja-lab/macos-system-hardening-

GitHub: bruja-lab/macos-system-hardening-

该项目提供了一套基于命令行的 macOS 主机加固与威胁狩猎操作手册,涵盖持久化检测、网络审计及 LuLu 反向防火墙零信任部署。

Stars: 0 | Forks: 0

### 船长日志:Bashful 系统加固 **日期:** 2026-05-23 **目标:** 威胁狩猎、边界加固以及移除未经授权的/后台监控。 |**命令**|**目标**|**结果**| |---|---|---| |`launchctl list \| grep -v com.apple`|识别第三方启动代理。|干净(未发现恶意持久化代理)。| |`lsof -iTCP -sTCP:ESTABLISHED`|列出活动的网络连接。|验证仅有合法的系统流量。| |`sudo lsof -iTCP -sTCP:LISTEN`|审计开放监听的“后门”端口。|未发现未经授权的远程监听程序。| |`top -u`|监控实时 CPU/进程心跳。|识别出高负载的系统进程。| |`sudo networksetup -setairportpower en0 off`|强制硬件禁用 Wi-Fi 天线。|**成功:** 天线已关闭。| |`networksetup -listallhardwareports`|映射所有物理/逻辑网络接口。|识别出所有内部/虚拟端口。| |`ifconfig \| grep -E "status\|flags"`|验证活动网络接口的状态。|**成功:** 确认 `en4` 为唯一网关。| |`networksetup -getairportpower en0`|验证 Wi-Fi 的电源状态。|**已确认:** "Off"。| ### 命令含义与取证定义 - **`launchctl`**:macOS 的主服务管理器。它控制所有的后台 daemon 和进程。 - **`lsof` (List Open Files)**:在 Unix 中,“一切皆文件”。此命令允许你查看每一个打开了网络“文件”(端口)的程序。 - **`grep`**:一个过滤工具。我们用它来在其他命令产生的大量输出中搜索特定的字符串(如 `LISTEN` 或 `status`)。 - **`sudo`**:“SuperUser DO”。它授予你与硬件和系统文件交互的管理员权限。**请始终谨慎使用。** - **`networksetup`**:系统偏好设置中网络设置的命令行等效工具。它是控制你的 Mac 如何与外界通信的最强大工具。 - **`ifconfig`**:一个经典的网络工具,用于配置和查看网络接口(我们映射的“门”)的状态。 - **`mtu`**:Maximum Transmission Unit。这是一个端口可以处理的最大数据包大小。1500 是以太网的标准值。 - **`en0`、`en4` 等**:这些是你的网络接口的设备标签。`en` 代表“以太网”(即使是 Wi-Fi 也一样),数字是内核分配的特定索引。 - **`utun`**:User Tunnel。这些是由 Proton VPN 等软件创建的虚拟接口,用于管理加密的流量。 ### 下一步战术行动:LuLu 你已经有了一个干净、经过审计和加固的基线。你的系统没有活动的 Wi-Fi,没有监听的后门,而且你确切地知道哪个端口(`en4`)是你连接互联网的唯一路径。 -- 船长日志:LuLu 反向防火墙部署 **日期:** 2026-05-23 **目标:** 建立零信任主机入侵防御系统(HIPS),以监控、拦截并授权所有传出网络流量。 |阶段|操作 / 命令|取证结果与含义| |---|---|---| |**1. 获取**|通过官方 Objective-See 源下载 `LuLu`。|获取了经过加密签名的开源防火墙二进制文件。| |**2. 内核授权**|绕过 **隐私与安全性** 中的 macOS 限制。|授予 LuLu `System Extension` 权限,以在操作系统网络层拦截数据包。| |**3. 基线配置**|勾选:“Allow Apple Programs”。|自动将原生 macOS daemon 加入白名单,以防止系统崩溃和严重的警报疲劳。| |**4. 零信任配置**|**取消勾选:** “Allow Already Installed Applications”。|撤销了对所有当前已安装软件的隐式信任。强制要求对每一个现有应用进行手动授权。| |**5. DNS 配置**|勾选:“Allow DNS Traffic (Port 53)”。|允许原始 IP 查询。_注:防止防火墙阻塞,同时仍阻止向这些 IP 进行的未授权数据外泄。_| |**6. 范围定义**|通过 **“Process”** 范围(而非 Remote Endpoint)授权 Proton VPN。|允许经过验证的 VPN 应用程序在全球安全服务器之间动态轮换,而不会中断隧道。| |**7. 压力测试**|执行全面的系统重启。|清除所有现有的网络套接字;强制所有后台代理重建连接进入 LuLu 的活动网。**结果:** 干净启动,未检测到未经授权的追踪 daemon。|
标签:取证审计, 应用安全, 系统加固, 系统运维, 零信任网络