曾经饱受木马、后门(以下统称后门)侵害的人们都不会忘记机器被破坏后的惨象,于是人们展开了积极的防御工作,从补丁到防火墙,恨不得连网线都加个验证器,在多种多样的防御手法夹攻下,一大批后门倒下了,菜鸟们也不用提心吊胆上网了…… 可是后门会因此罢休吗?答案当然是否定的。君不见,在风平浪静的陆地下,一批新的后门正在暗渡陈仓……
1、反客为主的入侵者
黑客A连接上了网络,却不见他有任何行动,他在干什么呢?我们只能看见他燃起一支烟,似乎在发呆……过了一会儿,他突然把烟头一丢,双手迅速敲击键盘,透过屏幕,我们得知他已经进入了一个企业内部的服务器,一台安装了防火墙、而且深居内部的服务器……他怎么做到的呢?莫非他是神仙?请把镜头回退到刚才那一幕,黑客A在烟雾熏绕中盯着一个程序界面出神,突然,那个界面变动了一下,同时,黑客A也开始敲打键盘,接下来就是熟悉的控制界面。各位也许不相信自己的眼睛了:难道是那台机器自己找上他的?不可能…… 可是这是事实,真的是服务器自己找上来的。黑客A也不是高技术,他只是使用了一种反客为主的后门——反弹木马。
众所周知,通常说的入侵都是入侵者主动发起攻击,这是一种类似捕猎的方式,在警惕性高的猎物面前,他们已经力不从心;可是对于使用反弹技术的入侵者来说,他们却轻松许多,反弹木马就如一个狼外婆,等着小红帽亲自送上门去。一般的入侵是入侵者操作控制程序去查找连接受害计算机,而反弹入侵却逆其道而行之,它打开入侵者电脑的一个端口,却让受害者自己与入侵者联系并让入侵者控制,由于大多数防火墙只处理外部数据,对内部数据却闭上眼睛,于是,悲剧发生了。
反弹木马的工作模式如下:受害者(被植入反弹木马服务端的计算机)每间隔一定时间就发出连接控制端的请求,这个请求一直循环到与控制端成功连接;接下来控制端接受服务端的连接请求,两者之间的信任传输通道建立;最后,控制端做的事情就很普通了——取得受害者的控制权。由于是受害者主动发起的连接,因此防火墙在大多数情况下不会报警,而且这种连接模式还能突破内网与外部建立连接,入侵者就轻易的进入了内部的计算机。
虽然反弹木马比起一般木马要可怕,但是它有天生的致命弱点:隐蔽性还不够高,因为它不得不在本地开放一个随机端口,只要受害者有点经验,认出反弹木马不是难事。于是,另一种木马诞生了。
2、不安分的正常连接
现在有很多用户都安装了个人HTTP服务器,这就注定了机器会开着80端口,这很正常,但是有谁知道,这个看似正常的端口,却会给你带来新一轮噩梦!隐藏通道(Tunnel),一个给无数网络管理员带来痛苦的新技术,它让一个正常的服务变成了入侵者的利器。
当一台机器被种植Tunnel后,它的HTTP端口就被Tunnel重新绑定了——传输给WWW服务程序的数据,也在同时传输给背后的Tunnel,入侵者假装浏览网页(机器认为),却发送了一个特殊的请求数据(符合HTTP协议),Tunnel和WWW服务都接收到这个信息,由于请求的页面通常不存在,WWW服务会返回一个HTTP404应答,而Tunnel却忙开了……
首先,Tunnel发送给入侵者一个确认数据,报告Tunnel存在;然后Tunnel马上发送一个新的连接去索取入侵者的攻击数据并处理入侵者从HTTP端口发来的数据;最后,Tunnel执行入侵者想要的操作。由于这是“正常”的数据传输,防火墙一样没看见。但是目标没开放80端口怎么办呢?擅自开一个端口等于自杀。但是入侵者不会忘记那个可爱的NetBIOS端口——长年累月开放的139端口,和它分享数据,何乐不为? Tunnel技术使后门的隐蔽性又上了一个级别,可是这并不代表无懈可击了,因为一个有经验的管理员会通过Sniffer看到异常的景象…… Tunnel攻击被管理员击溃了,可是,一种更可怕的入侵正在偷偷进行中……
3、无用的数据传输?
1.眼皮底下的偷窃者——ICMP
ICMP,Internet Control Message Protocol(网际控制信息协议),最常见的网络报文,近年来被大量用于洪水阻塞攻击,但是很少有人注意到,ICMP也偷偷参与了这场木马的战争…… 最常见的ICMP报文被用作探路者——PING,它实际上是一个类型8的ICMP数据,协议规定远程机器收到这个数据后返回一个类型0的应答,报告“我在线”。可是,由于ICMP报文自身可以携带数据,就注定了它可以成为入侵者的得力助手。由于ICMP报文是由系统内核处理的,而且它不占用端口,因此它有很高的优先权。ICMP就像系统内核的亲戚,可以不受任何门卫阻拦,于是,篮子里藏着武器的乡下老人敲响了总统的房门……
使用特殊的ICMP携带数据的后门正在悄然流行,这段看似正常的数据在防火墙的监视下堂而皇之的操纵着受害者,即使管理员是个经验丰富的高手,也不会想到这些“正常”的ICMP报文在吞噬着他的机器。有人也许会说,抓包看看呀。可是,实际应用中,传递数据的ICMP报文大部分肯定是加密过的,你怎么检查?
不过,ICMP也不是无敌的,有更多经验的管理员干脆禁止了全部ICMP报文传输,使得这位亲戚不得再靠近系统,虽然这样做会影响系统的一些正常功能,可是为了避免被亲戚谋杀,也只能忍了。最亲密最不被怀疑的人,却往往是最容易杀害你的人。
2.不正常的邮递员——IP首部的计谋
我们都知道,网络是建立在IP数据报的基础上的,任何东西都要和IP打交道,可是连IP报文这个最基本的邮递员也被入侵者收买了,这场战争永不停歇……为什么呢?我们先略了解一下IP数据报的结构,它分为两个部分,首部和身体,首部装满了地址信息和识别数据,正如一个信封;身体则是我们熟悉的数据,正如信纸。任何报文都是包裹在IP报文里面传输的,通常我们只留意信纸上写了什么,却忽略了信封上是否涂抹了氰酸钾。于是,很多管理员死于检查不出的疑症……
这是协议规范的缺陷导致的,这个错误不是唯一的,正如SYN攻击也是协议规范的错误引起的。相似的是,两者都用了IP首部。SYN是用了假信封,而“套接字”木马则是在信封上多余的空白内容涂抹了毒药——IP协议规范规定,IP首部有一定的长度来放置标志位(快递?平信?)、附加数据(对信的备注),结果导致IP首部有了几个字节的空白,别小看这些空白,它能携带剧毒物质。这些看似无害的信件不会被门卫拦截,可是总统却不明不白的死在了办公室……
入侵者用简短的攻击数据填满了IP首部的空白,如果数据太多,就多发几封信。混入受害者机器的邮递员记录信封的“多余”内容,当这些内容能拼凑成一个攻击指令的时候,进攻开始了……
4、结语
后门技术发展到今天,已经不再是死板的机器对机器的战争,它们已经学会考验人类,现在的防御技术如果依然停留在简单的数据判断处理上,将被无数新型后门击溃。真正的防御必须是以人的管理操作为主体,而不是一味依赖机器代码,否则你的机器将会被腐蚀得面目全非……