让域名拦截永远闭嘴!过域名拦截全思路! -电脑资料

域名拦截一直都是大家头疼的事情.

下面从原理给出拦截方法和绕过方法.

防火墙或者拦截方式也无非下面五种:

1.函数拦截

2.DNS查询信息拦截

3.反向DNS域名服务器信息拦截

4.网络协议封包拦截

5.DNS,IP等查询信息黑名单强制拦截

6.入侵检测式协议分析

7.等等...

绕行方法:

1.直接通过ip地址连接

2.通过其他DNS查询函数获取IP地址

(dnsapi.dll模块的DnsQuery_A函数,Winsock2.0的getaddrinfo函

数)

3.路由器DNS服务器查询(利用路由器的DNS缓存来查询)

4.手工构造DNS查询封包(Icmp等模块来直接查询)或者IPv6...

5.cmd.exe,whois.exe,ping.exe等函数来查询

6.通过HTTP,FTP等来读取IP地址(也就是所谓的qq空间,微博,二级域名

上线)

7.代理连接(socks4\a,5,http proxy,反向代理,Tor隧道.)

8.利用外部域名服务器查询(比如说提交给web版的whois查询,域名解析服务)

9.等等...

或许还有其他方法,但是可能性和实现难度都过于高,所以可能性不大.

下面来具体解析一下思路

[1].函数拦截:

已知的域名查询信息方法.绝大部分主要是采用

ws2_32.dll,wsock32.dll模块

gethostbyname函数来获取DNS的IP地址然后通过ip地址进行连接.

可以采用1,2,3,4,5,6,7,8的方法来绕行

[2].DNS查询信息拦截:

不管调用什么Api最终都要变成DNS查询包.

于是就可以针对这种包来进行数据查询(DNS查询包是公开的而且无加密)

hook还是底层驱动拦截发送的DNS查询信息进行拦截.

可以采用3,4,5,6,7,8方法绕行

3可以绕行是因为查询在路由器上而不是本机所以可以查询,

网关拦截似乎就没有办法了

[3].反向DNS域名服务器信息拦截:

由于为了加强上线性能,大部分DNS上线都可以通过封包得出域名解析服务器

比如xxx.3322.org域名是绑定到3322的域名解析服务器上的.

所以当进行连接的时候直接查询这个IP是否被绑定过在3322的域名解析服务器上采用5,6,7,8是可以绕行的

[4].网络协议封包拦截:

这种拦截方式可能是360主要采用的方法.比如对付gh0st等协议.

所以不少人采用修改头部信息和信息结构来绕行.

gh0st的协议有着明显的特征,所以很容易找到固定模式,

拦截即可.不过由于开发者的一些技术还是不负责任等行为,导致拦截不够准确.

绕行方法:

1.大家常用的调整包结构(无非就是改改头部特征,改一下结构信息)

2.一劳永逸直接加密即可.(国内使用加密的不多,压缩的倒是不少大部分都是zlib,所以很容易被解包分析,加密算法不用太难,够隐藏特征即可.)

3.如果还觉得怕被识别出密文特征,干脆采用流加密算法-RC4,xxTEA都可以(Bifrost,Flux等远控都是采用RC4,pi 2.20以前是rc4后来用了日本人

的Camellia算法-最初版本.不是后期的强版本,具体看文档)基本上不会从封包中找到固定特征了.

很不幸国内大部分的都是采用第一种绕过的,只能说大部分开发者技术水平确实不如国外开发者.

当然了能绕过即可(不过还是喜欢一劳永逸的方法)

[5].DNS,IP,PORT等查询信息黑名单强制拦截:

既然查询DNS是不可避免的.那干脆就把一些特殊的端口直接封死.

不过由于误杀率过高.而且绕行的方法确实也还是存在的.

据测试360似乎是采用了一些这样的方法,所以一些特殊端口还是最好不要使用.

域名尽量不要采用3322等绑定.最好直接采用http,ftp,二级域名等方式上线.代理也是不错的方法.

比如某国的XX墙就是针对上亿网民部署的是这种拦截方式.

绕行办法:

7,8,或者采用IPv6.不过目前IPv6使用量不多而且也很容易封锁.

代理服务器没什么好说的socks4,5这些都是一些远控都具备的.

Tor Plugin估计知道的人不多,不过经常****的人应该会知道这个插件,本来主要用于firefox,不过由于无聊的程序员很多所以被开发成通用的了采用Tor的远控不是没有.

Aphex的I2K4某些版本是有这个插件的,

大家熟知的Bifrost 1.21也是有Tor插件的(1.2b后就去掉了)

国内用的不多而且速度慢.如果要对国外控制的话最好还是不要采用这类方法.有更有效的方法以后再说.

[6].入侵检测式协议分析:

终于杀软没招了.想不出好的方法,肿么办?

还能记得<<变形金刚>>里面霸天虎入侵的时候,美军找了一帮 来帮忙解析协议吧.正常的网络通讯协议包无非那几种,而远控,后门等采用的不是一般的协议.

或者说传输的数据不是我们一般的数据,

如果采用加密的话杀软是没什么好方法分析的,那剩下的最后一招就是协议白名单了,

当出现无法识别,或者不是日常的协议信息的时候就会发出警报.

这样的话就可以预防一些未知的拦截信息.

采用这种拦截方法的防火墙和杀软很少很少,主要应用在服务器上.

大部分也都是配合硬防的.软防也有.

绕行的方法:

也就是伪装成已有协议,比如http ssl,或者各种隧道技术

http隧道,ftp隧道,各种网络工具的隧道技术.

对于这方面的研究其实很多,只是公开的人很少.资料可以从sf.net

或者codeproject.com等网站上找到.

以前的网络神偷,PcShare,炽天使,无花果的远程控制.采用的是这种

http隧道

有介绍说灰鸽子是,其实只是上线头部采用XML结构,并不是HTTP隧道.

网络神偷的HTTP隧道构造的相当原始.几乎就是一滩xx...

PcShare略好,但是由于双工所以产生不少连接.HTTP是短连接,

一个基于HTTP的长连接很容易被怀疑.

不过这个事情在HTML5后会有比较大的改善.还是很期待Web Socket的

当然了这种方法的坏处就是速度极慢,远没有直接二进制连接速度快,

采用UDP协议也是不错的选择,事实上现在基于RUDP的网络程序很多.

在国外以前也有不少采用UDP协议的,不过由于RUDP实现不好所以许多

都昙花一现.

3G,4G的兴起,UDP体现出比TCP更高的效率和数据流量占用.

基于RUDP的很快也会兴盛起来的.

当然了所谓的自定义协议也不是没有,黑洞2005,和许多rootkit都采用过自定义协议.

不过目前来看都需要驱动配合.或者RAW SOCKET,开发有难度.至于如何选择看各位开发者需求.

关于HTTP隧道,RUDP,自定义协议以后再说.这里不做过多说明.

[写在最后]

至于某些人说的P2P协议什么的,这完全不靠谱的行为,而且P2P需要转接服务器,

虽然利用BT服务器这样来进行转接打洞也不是不可能,但是难度还是不小的.

而且P2P不是放在任何地方都好,远程控制属于直连,长连接方式,根本不适合P2P.

如果P2P服务器被攻击了那不是全完了么?

什么?做成SkyPE那样?好

吧洗洗早点睡吧...

相关文章

疫情期间小学复课工作方案

只有深思熟虑之后,才能写好工作方案。当某个项目将要开展时,我们需要先准备多份工作方案以供参考,那么工作方案有什么格式呢?以下是小编帮大家整理的疫情期间小学复课工作方案,欢迎大家借鉴与参考,希望对大家有...
资料大全2013-09-04
疫情期间小学复课工作方案

ESHOP网商宝商城 1.0 GetWebshell漏洞预警 -电脑资料

某天起床比较晚,起来发现地上有传单,ESHOP网商宝商城 1.0 GetWebshell漏洞预警。 看了下是个网店。 于是想看看用的什么程序,找了下(看html注释,css注释,文件名)。发现是ES...
资料大全2017-09-05
ESHOP网商宝商城 1.0 GetWebshell漏洞预警 -电脑资料

公司董事会会议纪要

在平日的学习、工作或生活中,会议纪要在处理事务上使用的情况越来越多,会议纪要是根据会议情况综合而成的,因此,撰写会议纪要时应围绕会议主旨及主要成果来整理、提炼和概括,重点应放在介绍会议成果,而不是叙述...
资料大全2016-05-03
公司董事会会议纪要

机关单位公休假请假条范文

欢迎大家来到unjs网,以下是小编为大家用心搜集整理的机关单位公休假请假条范文,我们一起来看看吧!篇一:姓 名职 务累计参加工作时间工龄已休假天数病假天数高温休假天数事假天数上次休假情况按规定可享受的...
资料大全2017-09-01
机关单位公休假请假条范文

192.168.1.1 路由器设置及登陆方法步骤

绝大多数的路由器包括一些无线路由器的登陆地址都是:http://192.168.1.1/ ,下面是192.168.1.1 路由器设置及登陆方法步骤,一起来看看。192.168.1.1路由器设置第一步:...
资料大全2018-08-02
192.168.1.1 路由器设置及登陆方法步骤

最新学生请假条格式

生活中不管是学生还是上班族都会碰到一些事需要向老师或者上司请假,那么该怎样写这样一封请假条呢?怎样清楚的表达呢?以下YJBYS小编为大家提供最新学生请假条格式模板大全,供大家参考借鉴,希望可以帮助到大...
资料大全2015-06-06
最新学生请假条格式