跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

【病毒分析】21766239b79ece18b15a03f4517f3be6ed9c07ed

精选回复

发布于

21766239b79ece18b15a03f4517f3be6ed9c07ed

样本行为:

1、修改MBR

obtkn0e4ft53881.png

2、自关机

f0ijmc54q4p3882.png

3、关机自启后锁机

1cxy3ldkw4d3883.png

样本分析:

载入IDA

主函数 如下:

void start

{

 sub_402058();

 a2(&VirtualProtect, 172);

 sub_402002(&VirtualProtect, 172, 255);

 (loc_405010);

 sub_402002(&VirtualProtect, 172, 255);

 a1(&VirtualProtect, 172);

 off_40100C = &unk_4051BA;   //数据

 dword_401010 = 512;

 a2(&loc_4050BC, 254);

 sub_402002(&loc_4050BC, 254, 255);

 (loc_4050BC);

 sub_402002(&loc_4050BC, 254, 255);

 a1(&loc_4050BC, 254);

 ExitProcess(a3);

}

 

 sub_402058():

{

 sub_402002(&nullsub_1, 16, 255);

 v1 = VirtualProtect;

 v2 =VirtualProtect;

 VirtualProtect(&nullsub_1, 16);

 (nullsub_1);

 if ( v3 )

 {

  v2(&nullsub_1, 16);

  sub_402002(&nullsub_1, 16, 255);

 }

 else

 {start(v2, v1, a1);}

}

 

sub_402002(): //对数据进行操作

{

 char *v3; // esi

 char *v4; // edi

 char v6; // al

 v3 = a1;

 v4 = a1;

 do

 {

  v6 = *v3++;

  *v4++ = a3 ^ v6;

  --a2;

 }

 while ( a2 );

}

 

loc_4050BC: 

{

Lahf                                  //将标志位加载到 AH

xchg  eax, ebp                        //交换eax和ebp的内容

call   dword ptr [ebp-6A036A01h]

call   dword ptr [ebp-6803h]

}

载入OD:

首先进入函数0x4020B5

01jmdwtd5003884.png

然后进0x402002函数

该函数 装载0x405000处的数据 做异或

4kjntb1haoe3885.png

0x40307D call esi 此处调用VirtualProtect、VirtualProtectEx

VirtualProtect将进程句柄、内存地址、内存大小等参数传递给VirtualProtectEx函数来设置内存的属性

调用ZwProtectVirtualMemory修改内存属性

pe4slez4svu3887.png

0x402083-进入到0x405000地址位置 此处存储的是0x402002函数处理的数据

后续调用IsDebuggerPresent函数 用来检测调试器

4wl4k3ltorz3888.png

0x4020DD 此地址处的函数 后续调用VirtualAlloc分配了两次空间

wb54aj1hty23889.png

0x40504D GetModuleFileName获取当前进程文件的路径

0x40505A SHGetSpecialFolderPath获取系统路径(开始菜单)

soltgnlke1g3890.png

0x405064-进入该地址可见调用了lstrcatW、CopyFileW函数 此处的主要目的是 设置开机自启

0x3ibalirvf3891.png

0x4050A6 此处释放一次VirtualFree

0x4050B4 此处释放再一次VirtualFree

0x40213C 进入该地址

0x4050CD-0x4050F8该地址处调用了CreateFile函数 打开\.\PhysicalDrive0

0x40512F 调用WriteFile函数 修改MBR数据

KiFastSystemCall

0x4050157-0x40518B-0x4051A1

0x4051B2 调用ShellExecute函数 启动CMD

执行命令shutdown -r -t 1 -f 以关机

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。