首页 > 其他分享 >【待做】利用文件建立TCP连接隧道绕过防火墙

【待做】利用文件建立TCP连接隧道绕过防火墙

时间:2024-08-22 19:28:19浏览次数:5  
标签:5000 -- 主机 防火墙 TCP dat 绕过 连接

原创 二进制空间安全

声明:
二进制空间安全公众号文章中的技术只做研究之用,禁止用来从事非法用途,如有使用文章中的技术从事非法活动,一切后果由使用者自负,与本公众号无关。

1.摘要

File-Tunnel是一款用C#编写的通过文件建立TCP连接隧道的开源项目, 该程序启动一个TCP监听器, 当收到连接时, 它将TCP数据写入文件中。
相应的另一个程序读取该文件,并建立TCP连接以转发这些TCP数据。为了避免共享文件无限增长,当文件大小超过10MB时会进行清理。

开源地址:

https://github.com/fiddyschmitt/File-Tunnel

2.绕过防火墙

当一台主机A想要连接到主机B,但两者之间有防火墙, 且两台主机都可以访问共享文件夹,如图:

【主机A】:

在主机A上,可以利用文件建立TCP连接隧道,命令如下:

ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"

该命令监听5000端口上的连接, 当收到连接后, 会通过文件隧道转发到127.0.0.1:3389端口。

【主机B】:

主机B上执行以下命令:

ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"

现在在主机A上, 客户端将连接到127.0.0.1:5000, 它将被转发到远程服务器。

以下是文件隧道运行时的状态:

3.通过RDP建立TCP隧道

假设现在场景是要连接到远程服务: 192.168.1.50:8888, 但只能使用RDP访问主机B。

在主机A上, 运行以下命令:

ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"

然后运行RDP客户端并确保共享本地驱动器,如图:

在主机B中执行以下命令:

ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"

现在在主机 A 上,可以成功连接到127.0.0.1:5000 ,它将被转发到192.168.1.50:8888

文件隧道程序最新版本下载地址:

https://github.com/fiddyschmitt/File-Tunnel/releases/tag/v2.2.1

4.其它功能

-L参数可以多次使用, 通过一条隧道可以转发多个端口。

要使其他计算机能够使用隧道,可以指定绑定地址0.0.0.0 。例如:-L 0.0.0.0:5000:192.168.1.50:3389允许网络上的任何计算机连接到隧道并连接到 192.168.1.50:3389

使用-R进行远程转发。例如:-R 5000:10.0.0.50:6000指示远程端侦听端口 5000,当收到连接时,通过隧道将其转发并通过本地计算机转发到 10.0.0.50:6000。这将允许你与其他计算机共享在本地计算机上运行的服务器。

读取和写入文件不必位于同一文件夹甚至服务器中。

标签:5000,--,主机,防火墙,TCP,dat,绕过,连接
From: https://www.cnblogs.com/o-O-oO/p/18374559

相关文章

  • linux防火墙ufw以及iptables
    1,直到服务器被攻击了,才知道防火墙的重要性问题不大,被攻击了也就是cpu被别人跑满,账号密码被换掉而已。。。所以防火墙还是比较重要的,尤其是公网ip的防火墙2,ufw这个是ubuntu入门级别的防火墙了,使用方法比较简单,ubuntu系统自带,常用指令:sudoapt-getinstallufw#安装ufwsu......
  • 本地ip防火墙 txt ip脚本自己填 论行不带空格的带回车的
    ///////////////////////////////////////////////////////////编译release’发布版本‘#include<Windows.h>#include<stdlib.h>#pragmacomment(lib,"WS2_32.lib")#include<corecrt_wstdlib.h>#include<iostream>#include<stdio.......
  • 浅谈TCP和UDP协议的区别
    **传输模式**TCP协议:数据流(DataStream)--没有消息边界,比如服务端给客户端发来2048字节大小的数据,而客户端设置的一次最大接收大小为1024,这时候就意味着还有1024没能接收过来,要再接收一次。所以容易出现粘包的情况。所谓粘包,就是数据都粘在一起了。UDP协议:数据报(Da......
  • 网络编程UDP、TCP
    1UDP通信客户端UDPClientpublicclassUDPClient{publicstaticvoidmain(String[]args)throwsIOException{//获取本地服务器地址InetAddressserver_address=InetAddress.getLocalHost();//创建数据报套接字以连接到服务器......
  • 深入理解 TCP 协议与网络通信
    1.什么是TCP网络分层?TCP网络分层是指将计算机网络的通信过程分为不同的层次,每一层都承担特定的功能。通常,网络分为四个主要层次:应用层、传输层、网络层和链路层。这种分层结构使得网络协议的设计和实现更加清晰,便于维护和扩展。生活案例帮助记忆想象一下,网络就像一个快......
  • Goby 漏洞发布|泛微 e-cology v10 appThirdLogin 权限绕过漏洞【漏洞复现】
    漏洞名称:泛微e-cologyv10appThirdLogin权限绕过漏洞EnglishName:Weavere-cologyv10appThirdLoginPermissionBypassVulnerabilityCVSScore:7.5漏洞描述:泛微新一代数字化运营构建平台E10,是基于原eteams平台之上全新研发,同时融合了原E9产品的所有功能,最终研发出全新......
  • 【TCP】核心机制:滑动窗口、流量控制和拥塞控制
    文章目录滑动窗口窗口滑动滑动窗口丢包流量控制拥塞控制窗口大小变化过程滑动窗口有一类算法题,就是通过滑动窗口的思想来解决的,算法中的“滑动窗口”借鉴自TCP的滑动窗口TCP是要保证可靠传输的==>代价,降低了传输的效率(重传,确认重传等操作)TCP希望能在可靠传输......
  • TCP通信之经典问题解决
    先看下面的代码,研究下执行后会出现什么?服务端:fromsocketimport*ip_port=('127.0.0.1',8003)buffer_size=1024sock_server=socket(AF_INET,SOCK_STREAM)sock_server.bind(ip_port)sock_server.listen(5)whileTrue:print('服务端建立连接...')conn,addr=soc......
  • TCP,UDP,Socket,Http网络编程面试题 47道
    1.什么是网络编程        1.网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另......
  • Windows 上使用 PowerShell 设置防火墙规则和端口转发; Windows 上配置端口转发,将 3389
    在PowerShell中配置Windows防火墙的端口转发涉及几个步骤。首先,你需要确保你有足够的权限来进行这些操作(通常需要管理员权限)。以下是如何在PowerShell中配置端口转发的示例步骤:1. 打开PowerShell以管理员身份运行PowerShell。你可以右键点击PowerShell图标,选择“以管......