35 views

Rootkit技术 6 – 隐秘通道(Covert Channel)

image

在OS中隐藏自身对于Rootkit还不够,Rootkit需要通过网络连接和外部打交道,执行控制器的指令等。因此,网络通讯的隐藏也是Rootkit隐藏的重要部分。这部分概念应等同Botnet的C&C信令隐藏。

 

通过网络协议

1.通过IRC

这是古老的技术了,缺点是:如果IRC服务器被干掉,Rootkit就无法工作了。另外,研究人员可以尝试通过向IRC发送卸载命令,干掉Rootkit网络。

2.通过P2P

控制器可以在P2P网络中移动,避免单点故障。

但P2P协议如果设计的简单,容易被过滤。如果做协议混淆(加密等)容易被发现以及引起怀疑。

3.HTTP

适合传输量大量信息

4.DNS

防火墙一般不过滤DNS报文,适合传递控制信息所需的数据内容也不大的情况。

5.ICMP

和DNS类似,一般不会被过滤,防火墙也不会检查应答回来的内容。

 

一些减少被发现的原则

1.尽量遵守标准协议,控制报文不要一眼看出畸形来。

2.加密协议数据

3.减少流量使用

 

隐写术

1.以Google Group中的私密小组为控制器,通过隐写术将控制信息Post在页面中。和IRC不同的是,关闭或者过滤Google不可行。

2.建立linkedin的dummy帐号,类似前面Google Group方式

 

通过文件共享

【3】中提到一些做法。

1.JPG Images中承载控制信息

2.Word文件中承载信息

 

被动隐秘通道

前面的技术的特点都是Rootkit和控制器要发起连接,无论是互相连接还是连接中心点,这容易暴露目标。例如,网络中没有HTTP服务,Rootkit或控制器反出基于HTTP的控制报文很容易被发现。

被动通道的含义是,修改现有的真实流量,携带控制信息,例如修改TCP Sequence,修改DNS报文等。而不建立新的网络连接。

【2】是一个例子

image

其要点就是扩展了DNS报文长度,承载控制通道。

为了使得原始应答可以得到回应,DNS需要经过代理进行转换。

 

【参考】

1.Rootkit系统灰色地带的潜伏者,第二版

2.PSUDP: A Passive Approach to Network-Wide Covert Communication

https://media.blackhat.com/bh-us-10/whitepapers/Born/BlackHat-USA-2010-Born-psudp-Passive-Network-Covert-Communication-wp.pdf

3.Botnet Command and Control via Covert Channels,http://www.redteamsecure.com/labs/post/28/Botnet-Command-and-Control-via-Covert-Channels

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">