阅读背景:

木马程序的信息存储位置

来源:互联网 

将信息置于目前不使用的扩展字段或者在不和当前信息冲突的前提下将信息“挤”进当前字段,正如current->flags可以重用一样,比如,如果标准内核中已经定义个若干flag标志,比如running,sleeping等,我们就可以使用还没有使用的标志,要知道如果flags字段是一个32位的整型,那么标准的标志占有极少的一部分,我们可以随意使用剩下的部分用于我们自己的目的,例如我们在设置一个进程为隐藏的时候将其flags于一个还没有被标准内核使用的flag,我们暂且称为new相与,然后在显示进程的时候判断该进程的flags字段是否有new,如果有的话就不显示,反之显示,这是一种很简单的方式,但是有的时候却不能奏效,比如涉及到别的数据结构而不仅仅是一个标志位可以识别的情形,那么就需要额外的数据结构了,这另外一种方式就是使用额外的链表或者别的什么容器来容纳额外的信息,比如KNARK中使用的那样,这种方式比较容易被发现,毕竟内核中出现了陌生面孔,现在就看看在KNARK这个rootkit中的方式:将信息置于目前不使用的扩展字段或者在不和当前信息冲突的前提下将信息“挤”进当前字段,正如cur




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: