Worm.Win32.Skipi.b蠕虫病毒样本分析
作者: 晓兵, 出处:IT专家网, 责任编辑: 张帅,
2007-11-14 09:44
Worm.Win32.Skipi.b蠕虫类病毒,实际为一个扩展名是scr图标伪装成JPG图标的可执行文件,运行后会在系统文件夹下衍生4个病毒副本,通过Skype传播,修改主机host文件,屏蔽安全软件网站……
四、代码分析
//创建互斥体避免重复感染
| 004039EA |. 50 PUSH EAX //互斥体名"pyksp2.0.0.3gM-2oo8&-825190" 004039EB |. 33F6 XOR ESI,ESI 004039ED |. 56 PUSH ESI //非继承 004039EE |. 68 01001F00 PUSH 1F0001 004039F3 |. FF15 60C04000 CALL DWORD PTR DS:[<&KERNEL32.OpenMutexA> //打开已经存在的互斥对象 004039F9 |. 85C0 TEST EAX,EAX //判断调用是否成功 004039FB |. 74 08 JE SHORT tayoty.00403A05 //成功继续执行,不成功就跳转 |
//创建host文件
| 00403497 |> 56 /PUSH ESI 00403498 |. 68 80000000 |PUSH 80 0040349D |. 6A 02 |PUSH 2 0040349F |. 56 |PUSH ESI 004034A0 |. 6A 02 |PUSH 2 004034A2 |. 68 00000040 |PUSH 40000000 //属性为可写 004034A7 |. 8D85 E8FEFFFF |LEA EAX,DWORD PTR SS:[EBP-118] //文件名"C:\WINDOWS\system32\drivers\etc\hosts" 004034AD |. 50 |PUSH EAX 004034AE |. FF15 80C04000 |CALL DWORD PTR DS:[<&KERNEL32.CreateFil> //调用CreateFileA创建新文件 004034B4 |. 83F8 FF |CMP EAX,-1 //判断返回值是否为INVALID_HANDLE_VALUE 004034B7 |. 8945 70 |MOV DWORD PTR SS:[EBP+70],EAX 004034BA |. 75 16 |JNZ SHORT tayoty.004034D2 //不是的话就跳转,是的话休眠0.3秒,循环执行 004034BC |. 68 2C010000 |PUSH 12C //休眠0.3秒 004034C1 |. FF15 E0C04000 |CALL DWORD PTR DS:[<&KERNEL32.Sleep>] 004034C7 |. 47 |INC EDI 004034C8 |. 83FF 64 |CMP EDI,64 //循环100次 004034CB |.^ 7C CA \JL SHORT tayoty.00403497 004034CD |. E9 96020000 JMP tayoty.00403768 |
//循环向host文件写入数据,用来屏蔽安全网站
| 0040362B |. 6A 00 |PUSH 0 0040362D |. 8D45 6C |LEA EAX,DWORD PTR SS:[EBP+6C] 00403630 |. 50 |PUSH EAX 00403631 |. 8D45 EC |LEA EAX,DWORD PTR SS:[EBP-14] 00403634 |. 50 |PUSH EAX //要写入的字符串 00403635 |. FF15 F0C04000 |CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] //获取字符串的长度 0040363B |. 50 |PUSH EAX //将得到的长度做参数压入堆栈 0040363C |. 8D45 EC |LEA EAX,DWORD PTR SS:[EBP-14] //缓冲区==此处为被屏蔽的安全网站 0040363F |. 50 |PUSH EAX 00403640 |. FF75 70 |PUSH DWORD PTR SS:[EBP+70] //文件句柄 00403643 |. FFD7 |CALL EDI //调用WriteFile写入数据 |
//复制病毒体到系统文件夹%system32%下,此处会被调用4次,用来释放4个文件名不同的病毒体
| 00405A7B |. 8B3D 48C04000 MOV EDI,DWORD PTR DS:[<&KERNEL32.> 00405A81 |. 6A 00 PUSH 0 00405A83 |. 53 PUSH EBX //新文件(被复制的文件) 00405A84 |. FF7424 20 PUSH DWORD PTR SS:[ESP+20] //病毒本体文件 00405A88 |. 894424 1C MOV DWORD PTR SS:[ESP+1C],EAX 00405A8C |. FFD7 CALL EDI //调用CopyFileA复制文件 00405A8E |. 8BF0 MOV ESI,EAX 00405A90 |. 85F6 TEST ESI,ESI //检测复制是否成功 00405A92 |. 75 2F JNZ SHORT tayoty.00405AC3 //成功就跳转 |
//设置文件属性为只读、隐藏、系统
| 00405AC3 |> 53 PUSH EBX 00405AC4 |. E8 CEFEFFFF CALL tayoty.00405997 //此模块为设置文件时间 00405AC9 |. 59 POP ECX 00405ACA |. 6A 07 PUSH 7 //编号7的属性 == 只读、隐藏、系统 00405ACC |. 53 PUSH EBX ; |FileName //被复制的病毒名 00405ACD |. FF15 44C04000 CALL DWORD PTR DS:[<&KERNEL32.Set> 调用SetFileAttributes设置文件属性 |
注:%System32%是一个可变路径。病毒通过查询操作系统来决定当前System文件夹的位置。Windows2000/NT中默认的安装路径是C:\Winnt\System32,windows95/98/me中默认的安装路径是C:\Windows\System,windowsXP中默认的安装路径是C:\Windows\System32。
%Temp% = C:\Documents and Settings\AAAAA\Local Settings\Temp 当前用户TEMP缓存变量
%Windir%\ WINDODWS所在目录
%DriveLetter%\ 逻辑驱动器根目录
%ProgramFiles%\ 系统程序默认安装目录
%HomeDrive% = C:\ 当前启动的系统的所在分区
%Documents and Settings%\ 当前用户文档根目录
IT专家网原创文章,未经许可,严禁转载!
- 本文关键词:

