内网穿透nps的魔改
字数 1260 2025-08-06 12:20:59

内网穿透工具nps的魔改与流量特征规避技术

1. 前言

nps工具是渗透测试和红蓝对抗中常用的内网穿透工具,但其默认流量特征明显,容易导致"落地秒"(即刚部署就被检测到并阻断)。本文档详细记录了对nps工具进行二次开发以规避检测的技术方法。

2. nps默认流量特征分析

2.1 客户端到服务器的流量特征

  1. TST字段:客户端会向服务器发送特定的TST字段
  2. version字段:客户端会发送version值
  3. 交互流量包:客户端与服务端之间的通信流量均为明文

2.2 服务器到客户端的流量特征

  1. 版本MD5值:服务器会向客户端发送一次版本的MD5值
  2. 后续通信:所有后续通信流量均为明文传输

3. nps魔改技术方案

3.1 特征替换技术

原理:替换明显的特征值以达到流量混淆目的

实施方法

  1. 修改客户端向服务器发送的version值
  2. 将默认的version值替换为其他特定值或随机值
  3. 确保服务端能够识别修改后的version值

3.2 免杀环境检测规避

检测点

  1. CPU检测
  2. 注册表检测
  3. 特定文件检测
  4. 内核检测

常见虚拟环境特征

  • VMware
  • Parallels Desktop

规避方法

  1. 实现环境检测功能
  2. 在检测到虚拟环境时改变行为模式或停止运行
  3. 移除或修改工具自身的特征标识

3.3 流量协议重构

原版协议问题

  1. 使用特定字段进行C/S认证
  2. 认证过程完全明文
  3. 易于分析和溯源

改进方案

  1. 重构认证交互协议
  2. 引入加密通信
  3. 修改或混淆认证过程中的特征字段
  4. 实现动态变化的认证机制

4. 魔改后检测结果

4.1 通信流量分析

  • 修改后的流量特征明显减少
  • 难以通过常规流量分析识别

4.2 安全产品检测结果

  1. 某社区沙箱:未检测到恶意行为
  2. VirusTotal:检测通过
  3. Windows Defender
    • 静态检测:通过
    • 动态检测:通过
  4. 其他安全产品
    • 数字杀毒:未检测
    • 火绒:未检测

5. 工具使用指南

5.1 服务端部署

  1. 配置文件启动
    • 修改配置文件中的相关参数
    • 确保服务端能够识别魔改后的客户端
  2. 命令行启动
    • 支持通过命令行参数进行配置
    • 可指定监听端口和其他关键参数

5.2 客户端使用

  1. 配置文件启动
    • 配置连接参数和特征值
    • 设置环境检测和行为模式
  2. 命令行启动
    • 支持通过命令行指定连接参数
    • 可动态修改部分特征值

6. 测试情况

  1. 成功规避主流安全产品检测
  2. 流量特征明显减少
  3. 在虚拟环境和真实环境中均能稳定运行
  4. 保持了原版nps的功能完整性

7. 工具获取

项目地址:https://github.com/Q16G/npsmodify

8. 注意事项

  1. 使用前请确保符合当地法律法规
  2. 仅限授权测试使用
  3. 建议在封闭测试环境中验证效果
  4. 持续关注安全产品更新,可能需要定期调整特征值

9. 后续改进方向

  1. 实现完全加密通信
  2. 增加流量伪装功能
  3. 开发动态特征变化机制
  4. 增强环境适应能力
  5. 优化性能表现

通过以上技术手段,可以有效规避nps工具的默认特征检测,提高在内网渗透测试中的隐蔽性和成功率。

内网穿透工具nps的魔改与流量特征规避技术 1. 前言 nps工具是渗透测试和红蓝对抗中常用的内网穿透工具,但其默认流量特征明显,容易导致"落地秒"(即刚部署就被检测到并阻断)。本文档详细记录了对nps工具进行二次开发以规避检测的技术方法。 2. nps默认流量特征分析 2.1 客户端到服务器的流量特征 TST字段 :客户端会向服务器发送特定的TST字段 version字段 :客户端会发送version值 交互流量包 :客户端与服务端之间的通信流量均为明文 2.2 服务器到客户端的流量特征 版本MD5值 :服务器会向客户端发送一次版本的MD5值 后续通信 :所有后续通信流量均为明文传输 3. nps魔改技术方案 3.1 特征替换技术 原理 :替换明显的特征值以达到流量混淆目的 实施方法 : 修改客户端向服务器发送的version值 将默认的version值替换为其他特定值或随机值 确保服务端能够识别修改后的version值 3.2 免杀环境检测规避 检测点 : CPU检测 注册表检测 特定文件检测 内核检测 常见虚拟环境特征 : VMware Parallels Desktop 规避方法 : 实现环境检测功能 在检测到虚拟环境时改变行为模式或停止运行 移除或修改工具自身的特征标识 3.3 流量协议重构 原版协议问题 : 使用特定字段进行C/S认证 认证过程完全明文 易于分析和溯源 改进方案 : 重构认证交互协议 引入加密通信 修改或混淆认证过程中的特征字段 实现动态变化的认证机制 4. 魔改后检测结果 4.1 通信流量分析 修改后的流量特征明显减少 难以通过常规流量分析识别 4.2 安全产品检测结果 某社区沙箱 :未检测到恶意行为 VirusTotal :检测通过 Windows Defender : 静态检测:通过 动态检测:通过 其他安全产品 : 数字杀毒:未检测 火绒:未检测 5. 工具使用指南 5.1 服务端部署 配置文件启动 : 修改配置文件中的相关参数 确保服务端能够识别魔改后的客户端 命令行启动 : 支持通过命令行参数进行配置 可指定监听端口和其他关键参数 5.2 客户端使用 配置文件启动 : 配置连接参数和特征值 设置环境检测和行为模式 命令行启动 : 支持通过命令行指定连接参数 可动态修改部分特征值 6. 测试情况 成功规避主流安全产品检测 流量特征明显减少 在虚拟环境和真实环境中均能稳定运行 保持了原版nps的功能完整性 7. 工具获取 项目地址: https://github.com/Q16G/npsmodify 8. 注意事项 使用前请确保符合当地法律法规 仅限授权测试使用 建议在封闭测试环境中验证效果 持续关注安全产品更新,可能需要定期调整特征值 9. 后续改进方向 实现完全加密通信 增加流量伪装功能 开发动态特征变化机制 增强环境适应能力 优化性能表现 通过以上技术手段,可以有效规避nps工具的默认特征检测,提高在内网渗透测试中的隐蔽性和成功率。