您所在的位置:网络安全 > 安全观察 > 冰河暗涌防不胜防 BIOS下实现的Telnet后门(1)

冰河暗涌防不胜防 BIOS下实现的Telnet后门(1)

2009-03-24 13:37 成松林 51CTO.com 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

该项目仅为实验性项目,主要目的是想隐藏一个Telnet后门在主板的BIOS内,并让其随着计算机系统及操作系统成功的运行起来。运行后能反向Telnet连接到指定的计算机接受CMD控制。

AD:

【51CTO.com 独家特稿】该项目仅为实验性项目,主要目的是想隐藏一个Telnet后门在主板的BIOS内,并让其随着计算机系统及操作系统成功的运行起来。运行后能反向Telnet连接到指定的计算机接受控制。

项目涉及的相关知识及技术目录

1、 实验环境,使用bochs调试工具。

2、 刷新BIOS技术问题。

3、 代码植入BIOS问题。

4、 源代码相关技术问题:

A、如何编写BIOS模块(如:PCI、 ISA)。

B、实模式关于HOOK磁盘中断的问题。

C、磁盘中断中选择再次HOOK的问题。

D、NT保护模式下设置物理地址映射。

E、NT保护模式下线性地址寻址问题。

BIOS模块调试实验环境采用Bochs

Bochs虚拟机可以调试BIOS及操作系统,Bochs使用主要是配置它的配置文件,我们以实例配置文件简单讲解,Bochs实验调试等网上有很多相关文章,这里简单讲解。

我的配置实例:文件名xp.bxrc,修改后的及需要设置的内容如下:

######使用的系统BIOS模块######
romimage: file=$BXSHARE/BIOS-bochs-latest
######使用的CPU 相关参数######
cpu: count=1, ips=10000000, reset_on_triple_fault=1
######设置内存大小       ######
megs: 128
######添加我们的BIOS模块######
optromimage1: file=test.bin, address=0xd0000
######使用的VGAROM模块######
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
######设置虚拟机硬盘与光盘######
ata0-master: type=disk, path="c.img", mode=flat, cylinders=4161, heads=16, spt=63
#ata0-slave: type=cdrom, path="xp.iso", status=inserted
######设置引导设备        ######
boot: c
#boot: cdrom, disk

Bochs调试加载配置文件方法:可以设置一个bat文件,如下内容:
set BXSHARE=d:\bochs
%BXSHARE%\bochsdbg.exe -q -f xp.bxrc

如何刷新各种BIOS问题

各种BIOS刷新相关工具早已在网上流传,工具的使用这里不作介绍,IcLord的作者已经给出很多编程方法实现。这里简单说下。

UniFlash开源项目我也详细分析过,如果有必要我会给出UniFlash源代码的详解,该项目指出可以刷写所有BIOS芯片,但是该项目刷新BIOS存在很多问题,绝大多数情况是无法刷新的我实验过很多次,也尝试修改他的代码过很多次,没找到原因。

Aword BIOS已经有通用的刷写API调用,不管在NT下还是在实模式下,IcLord也作了讲解。如果有时间我会给出实模式及NT下的刷写源代码及分析。

代码植入BIOS问题

关于网上提及的,IcLord讲到的我就不再做重复的分析。这里主要讲下我们的模块可以植入哪些地方以方便隐藏。以前的教程讲过的方法存的问题分析。


一、 ISA模块形式植入:这种方式只适合于较早的计算机,因为目前的计算机系统BIOS是不会加载ISA模块的。故只能做实验调试用的方法。


二、 PCI模块形式植入:该方法虽然系统BIOS都要加载PCI ROM,但是系统BIOS只加载实际存在的PCI卡的ROM模块。而且通常BIOS设置中可以
关闭相应的ROM启动。


三、 HOOK BootBlock或者说要启动的模块:该方法当然我认为是最有效的,但是又存在很多技术上的难题。检验和问题,不同BIOS的结构问题,过早的HOOK还存在再次获取CPU运行机会问题等等。

本人实验过以上提及的所有方法,我认为HOOK PCI、VGA及相关启动模块是比较可寻的办法。为什么?一般这类的ROM模块是必须启动的,而且调试发现一般它的ROM本身代码用不完自身设置的大小,我们可以借助剩余大小隐藏我们的代码。例如:集成显卡会把显卡ROM集成到系统BIOS模块中,我们可以对该模块进行HOOK,修改ROM头部的跳转指令,跳到我们的代码开始处执行,我们的代码执行完后跳转到它的代码开始处执行。

网友评论TOP5

查看所有评论(

提交评论

  1. 安全团队数据库管理员通力协作?
  2. Wi-Fi提示 十一项错误与正确措施

文章排行

本月本周24小时

热点专题

更多>>

读书

跨越网络工程师必备训练
本书是根据全国计算机技术与软件专业资格(水平)考试“网络工程师级考试大纲”编写的考试辅导用书。全书主体按考试大纲的章节编

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone