创建虚拟磁盘设备
刚才说了还原系统的一些基本原理,知道原理之后对如何穿透还原也就很简单了。既然还原系统都在磁盘上过滤驱动,只要我们解除过滤驱动与真实磁盘之间的关系,绕过过滤关系的话,就等于直接穿透了还原。第一种方法:DR0设备过滤设备链摘链。这种方法其实就是摘除一个harddiskDR0上的过滤设备。指明设备上会有哪些过滤设备,第一代机器狗病毒将这个域给清零,导致还原系统设备被清除,所有请求就不通过还原系统直接到达过滤磁盘设备。对于没有防备的还原系统就被成功攻破了。国内大部分还原系统都没有办法对抗这种技术。但是这种技术也是有一些缺陷的,只能摘除在DR0上的物理设备。文件请求先到达磁盘卷,磁盘卷上的过滤设备摘除的话对系统有影响。所以第一代机器狗病毒使用了自己解析文件系统方式进行感染,这是它的缺陷。
第二种方法:会自己创建虚拟磁盘设备,作为磁盘卷挂载到文件系统上,对虚拟磁盘读写影射到真实磁盘,将请求下发到下层设备。相对第一代机器狗来说,这种方法不需要对磁盘系统摘除,可以通过文件对虚拟磁盘操作,操作结果是和对真实磁盘操作是一样的,可以成功穿透还原。在这里还用一种方式就是他没有直接发送磁盘读写请求,发送SCSI-REQUEST-BLOCK下发到下层磁盘设备。
还有一种方法,这是方法不使用驱动程序,直接在用户模式穿透还原系统。磁盘系统提供一套passthrough指令,不向磁盘发送直接请求,就可以获取磁盘信息甚至直接读写磁盘扇区。IDE/SCSI/ATA Pass Through指令穿透还原,RING3下使用Devicelocontrel函数发送请求。大多数还原系统对此过滤不严或根本未过滤,导致在RING3下即可达成攻击。
其他一些方法,比如说直接操作端口驱动,比如USB,更底层的磁盘操作:端口驱动、直接IO等等,缺点是难度大,通用较麻烦。另外的方法是可以摘除其他一些过滤设备,Attach到还原系统上,先于磁盘系统获得磁盘的请求,可以做一个绕过动作。可以在磁盘卷设备保存指针上所手脚。方法很多,不再一一解释了。主要是两类,第一类是新的磁盘技术或者磁盘卷绕过或者穿透的一些技巧。
通用还原系统的保护技术,GuardField。还原系统脆弱的原因是什么呢?刚才也说过了他是通过磁盘设备上的过滤驱动,也就是说他跟磁盘设备没有紧密联系,只要被攻击者使用、摘除或者绕过方法就可以把磁盘请求发送到真实磁盘上。穿透基本原理:必须使读写请求不经过还原系统物理驱动,而是到了下层的物理磁盘设备。这里就有一个穿透思路,一个磁盘请求是从上层逐层发布到下层,我们只要监控发送路径,进行对比操作,就可以作为一个还原穿透的角色。
网友评论