利用icmp隧道构建ssh通信

本文介绍了一种利用ICMP协议构建SSH通信的方法。通过在边界机B上部署ptunnel服务端,实现从攻击机A绕过防火墙限制,间接访问内网机C的过程。具体步骤包括:1. 在B上启动ptunnel服务;2. A配置ptunnel参数指向B,并指定本地监听端口及C的地址和端口;3. 通过A建立到C的SSH连接。

利用icmp隧道构建ssh通信

A:192.168.16.144
B:192.168.16.137
C:192.168.16.142
A是攻击机,B是边界,C是内网机。A和B之间有防火墙。现在通过配置后使A可以ssh访问到C。
1.B上配置:
ptunnel -s开启ptunnel服务端模式
在这里插入图片描述
2.A上配置:
ptunnel -p 192.168.16.137 -lp 2019 -da 192.168.16.142 -dp 22
-p:指向跳板机的地址
-lp:指向本地监听端口
-da:指向受害机地址
-dp:指向连接的受害机的端口
在这里插入图片描述
ssh -p 2019 Cuser@127.0.0.1建立连接。
3.数据包情况
在这里插入图片描述

### 隧道协议详解 #### 定义与基本原理 隧道协议是一种在网络层之间创建虚拟路径的技术,用于封装一种网络协议的数据包到另一种网络协议中传输。这种技术使得不同类型的网络能够相互通信并传递数据,即使这些网络本身并不直接兼容。 #### 常见的隧道协议及其应用 - **SMB (Server Message Block)** 协议可以用来构建文件共享和服务请求的服务模型。当涉及到跨网络的安全访问时,可以通过SMB协议来建立安全通道,实现远程主机之间的通信和资源管理[^1]。 - **ICMP (Internet Control Message Protocol)** 通常被用作诊断工具的一部分,比如ping命令;然而,在某些情况下也可以作为载体来携带其他形式的有效负载,形成所谓的ICMP隧道。 - **DNS Tunneling** 利用了域名系统的查询机制来进行隐蔽通讯或者绕过防火墙限制的一种方法。一旦建立了这样的隧道,攻击者可以从外部服务器向内部受控机器发起SSH会话等操作[^2]。 - **IPv6 over IPv4** 是指在一个纯IPv4环境中部署IPv6节点的方法之一。为了确保双栈设备能识别出嵌套于IPv4中的IPv6分组,需要将IPv4头部的Protocol字段设为特定值(即41),指示后续内容应按照IPv6处理[^3]。 #### 技术特点 隧道协议的一个重要特性是可以保持长时间连接而不必频繁重建TCP链接,这得益于HTTP/1.1版本之后引入的支持持久连接的功能,从而降低了每次交互带来的额外负担,并提高了整体性能效率[^4]。 ```python import socket def create_tunnel(src_ip, dst_ip): """ 创建一个简单的模拟隧道 """ try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind((src_ip, 0)) sock.connect((dst_ip, 80)) # 使用HTTP端口为例 print(f"Tunnel established between {src_ip} and {dst_ip}") except Exception as e: print(e) create_tunnel('192.168.1.1', '192.168.10.2') ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值