穿透防火墙的数据传输方法

通常,在我们为目标主机安放好了后门需要将数据传输出去时,主机上的防火墙都会让我们遇到一些不大不小的麻烦。如果为我们自己的进程开一个端口(甚至是新建套接字),那么大部分的防火墙都会将其拦截。

  通常,在我们为目标主机安放好了后门需要将数据传输出去时,主机上的防火墙都会让我们遇到一些不大不小的麻烦。如果为我们自己的进程开一个端口(甚至是新建套接字),那么大部分的防火墙都会将其拦截。有什么方法能“穿透”这些防火墙呢?

  下面我为您介绍一种“洞穿”防火墙小规模传输重要数据的方法。不过,不推荐您在其它情况下使用该方法。

  其实我的思路很简单,既然防火墙会拦截未验证进程而放行已验证进程的数据传输,那我们就将其它进程中允许数据传输的套接字句柄拿为已用。具体过程如下:

  1、找出目标进程;

  2、找出SOCKET句柄;

  2、用DuplicateHandle()函数将其SOCKET转换为能被自己使用;

  3、用转换后的SOCKET进行数据传输。

  上面的过程写的很简单,但是实现起来还存在一些问题(后面再做讨论)。另外,从上面的实现方法中也可以看到一些很难控制的地方,比如在目标进程的SOCKET不能是TCP,只能是UDP,因为TCP的句柄已经跟外面建立了连接。同时,针对不同系统不同进程我们也很难定位一个稳定的进程SOCKET。

  看到这么多“麻烦”,你有点泄气了对不对?不要着急,再想一想,其实我们有一条真正通向罗马的“黄金大道”。我们都知道只要一台计算机联上了网络,那么有一种数据传输是肯定不会被拦截的,不错,就是DNS!你能想像域名解析数据都被拦截所造成的后果吗?既然DNS是不会被拦的,而且它又是UDP传输,我们就从它“开刀”。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值