• XSS.stack #1 – первый литературный журнал от юзеров форума

LockBit3.0-Сорцев похоже не будет

Статус
Закрыто для дальнейших ответов.

Whisper

TPU unit
Пользователь
Регистрация
14.06.2019
Сообщения
2 849
Реакции
1 710
Материал исключительно для реверсеров и разрабов, остальным не пригодиться. Рассчитан на реверсеров новичков и разрабам которые не очень в реверс, а еще на занятых и ленивых.

Собственно весь материал это восстановленный к экзешнику локбита 3.0 импорт и скрптик дешифровки строк с некоторыми пояснениями.

База загрузки 008a0000.

Импорты для тех кому сразу же интересно что же оно делает и как
Код:
008c53f8 ntdll!LdrLoadDll
008c53fc ntdll!LdrGetProcedureAddress
008c5400 KERNEL32!FindFirstFileW
008c5404 KERNEL32!FindNextFileW
008c5408 KERNEL32!FindClose
008c540c 
008c5410 ntdll!RtlCreateHeap
008c5414 ntdll!RtlDestroyHeap
008c5418 ntdll!RtlAllocateHeap
008c541c ntdll!RtlReAllocateHeap
008c5420 ntdll!RtlFreeHeap
008c5424 ntdll!memcpy
008c5428 ntdll!memset
008c542c ntdll!memmove
008c5430 ntdll!strlen
008c5434 ntdll!strcpy
008c5438 ntdll!strstr
008c543c ntdll!wcslen
008c5440 ntdll!wcscat
008c5444 ntdll!wcscpy
008c5448 ntdll!wcsstr
008c544c ntdll!wcschr
008c5450 ntdll!wcsrchr
008c5454 ntdll!_wcsicmp
008c5458 ntdll!_wcslwr
008c545c ntdll!_wcsupr
008c5460 ntdll!_strupr
008c5464 ntdll!_swprintf
008c5468 ntdll!sprintf
008c546c ntdll!_ui64toa
008c5470 ntdll!_alldiv
008c5474 ntdll!NtOpenProcess
008c5478 ntdll!NtDuplicateToken
008c547c ntdll!NtDuplicateObject
008c5480 ntdll!NtSetThreadExecutionState
008c5484 ntdll!NtSetInformationProcess
008c5488 ntdll!NtQuerySystemInformation
008c548c ntdll!NtQueryInformationProcess
008c5490 ntdll!NtQueryInformationToken
008c5494 ntdll!NtSetInformationToken
008c5498 ntdll!NtSetInformationThread
008c549c ntdll!NtSetSecurityObject
008c54a0 ntdll!NtOpenProcessToken
008c54a4 ntdll!NtShutdownSystem
008c54a8 ntdll!RtlAdjustPrivilege
008c54ac ntdll!RtlInitializeCriticalSection
008c54b0 ntdll!RtlEnterCriticalSection
008c54b4 ntdll!RtlLeaveCriticalSection
008c54b8 ntdll!RtlDeleteCriticalSection
008c54bc ntdll!RtlInitUnicodeString
008c54c0 ntdll!RtlSetHeapInformation
008c54c4 ntdll!LdrEnumerateLoadedModules
008c54c8 ntdll!NtTerminateProcess
008c54cc ntdll!NtTerminateThread
008c54d0 ntdll!NtClose
008c54d4 ntdll!NtPrivilegeCheck
008c54d8 ntdll!NtWriteVirtualMemory
008c54dc ntdll!NtReadVirtualMemory
008c54e0 ntdll!NtProtectVirtualMemory
008c54e4 ntdll!NtAllocateVirtualMemory
008c54e8 ntdll!NtFreeVirtualMemory
008c54ec ntdll!RtlWow64EnableFsRedirectionEx
008c54f0 ntdll!NtQueryInstallUILanguage
008c54f4 ntdll!NtQueryDefaultUILanguage
008c54f8 ntdll!RtlTimeToTimeFields
008c54fc 
008c5500 KERNEL32!SetFileAttributesW
008c5504 KERNEL32!GetFileAttributesW
008c5508 KERNEL32!FindFirstFileExW
008c550c KERNEL32!FindNextFileW
008c5510 KERNEL32!FindClose
008c5514 KERNEL32!CopyFileW
008c5518 KERNEL32!MoveFileExWStub
008c551c KERNEL32!CreateThreadStub
008c5520 KERNEL32!CreateRemoteThreadStub
008c5524 KERNEL32!ResumeThreadStub
008c5528 KERNEL32!CreateFileW
008c552c KERNEL32!WriteFile
008c5530 KERNEL32!ReadFile
008c5534 KERNEL32!FlushFileBuffers
008c5538 KERNEL32!WinExec
008c553c KERNEL32!SleepStub
008c5540 KERNEL32!GetOverlappedResultStub
008c5544 KERNEL32!SetFilePointerEx
008c5548 KERNEL32!WaitForSingleObject
008c554c KERNEL32!WaitForMultipleObjects
008c5550 KERNEL32!CreateIoCompletionPortStub
008c5554 KERNEL32!GetQueuedCompletionStatusStub
008c5558 KERNEL32!PostQueuedCompletionStatusStub
008c555c KERNEL32!InterlockedIncrementStub
008c5560 KERNEL32!GetExitCodeThreadStub
008c5564 KERNEL32!GetLogicalDriveStringsW
008c5568 KERNEL32!GetDriveTypeW
008c556c KERNEL32!GetDiskFreeSpaceExW
008c5570 KERNEL32!DeleteFileW
008c5574 KERNEL32!CreateDirectoryW
008c5578 KERNEL32!RemoveDirectoryW
008c557c KERNEL32!OpenMutexW
008c5580 KERNEL32!CreateMutexW
008c5584 KERNEL32!ReleaseMutex
008c5588 KERNEL32!GetCurrentDirectoryWStub
008c558c KERNEL32!SetCurrentDirectoryWStub
008c5590 KERNEL32!GetTickCountStub
008c5594 KERNEL32!GetComputerNameW
008c5598 KERNEL32!SetVolumeMountPointW
008c559c KERNEL32!SetThreadPriorityStub
008c55a0 KERNEL32!GetVolumePathNameW
008c55a4 KERNEL32!FindFirstVolumeW
008c55a8 KERNEL32!FindNextVolumeW
008c55ac KERNEL32!FindVolumeClose
008c55b0 KERNEL32!DeviceIoControlImplementation
008c55b4 KERNEL32!GetVolumePathNamesForVolumeNameW
008c55b8 KERNEL32!GetVolumeNameForVolumeMountPointW
008c55bc KERNEL32!GetSystemTimeStub
008c55c0 KERNEL32!GetSystemTimeAsFileTimeStub
008c55c4 KERNEL32!FileTimeToLocalFileTime
008c55c8 KERNEL32!ExitProcessImplementation
008c55cc KERNEL32!GetEnvironmentVariableWStub
008c55d0 KERNEL32!GetShortPathNameW
008c55d4 KERNEL32!CreateProcessWStub
008c55d8 KERNEL32!CreateNamedPipeWStub
008c55dc KERNEL32!ConnectNamedPipeStub
008c55e0 KERNEL32!GetTempFileNameW
008c55e4 KERNEL32!GlobalFreeStub
008c55e8 KERNEL32!MulDiv
008c55ec 
008c55f0 ntdll!MD4Init
008c55f4 ntdll!MD4Update
008c55f8 ntdll!MD4Final
008c55fc ntdll!MD5Init
008c5600 ntdll!MD5Update
008c5604 ntdll!MD5Final
008c5608 advapi32!SetNamedSecurityInfoWStub
008c560c advapi32!RegCreateKeyExWStub
008c5610 advapi32!RegSetValueExWStub
008c5614 advapi32!RegQueryValueExWStub
008c5618 advapi32!RegDeleteKeyExWStub
008c561c advapi32!RegDeleteKeyW
008c5620 advapi32!RegEnumKeyW
008c5624 advapi32!OpenSCManagerWStub
008c5628 advapi32!EnumServicesStatusExWStub
008c562c advapi32!OpenServiceWStub
008c5630 advapi32!CreateServiceWStub
008c5634 advapi32!StartServiceWStub
008c5638 advapi32!SetServiceStatusStub
008c563c advapi32!QueryServiceStatusExStub
008c5640 advapi32!ControlServiceStub
008c5644 advapi32!DeleteServiceStub
008c5648 advapi32!CloseServiceHandleStub
008c564c advapi32!StartServiceCtrlDispatcherWStub
008c5650 advapi32!RegisterServiceCtrlHandlerWStub
008c5654 advapi32!CreateProcessAsUserWStub
008c5658 advapi32!LogonUserW
008c565c advapi32!GetUserNameW
008c5660 advapi32!ConvertSidToStringSidW
008c5664 advapi32!LsaOpenPolicyStub
008c5668 advapi32!LsaStorePrivateDataStub
008c566c advapi32!LsaCloseStub
008c5670 CRYPTBASE!SystemFunction040
008c5674 CRYPTBASE!SystemFunction041
008c5678 advapi32!CheckTokenMembershipStub
008c567c advapi32!OpenEventLogW
008c5680 advapi32!ClearEventLogW
008c5684 advapi32!CloseEventLog
008c5688 advapi32!CreateProcessWithLogonW
008c568c 
008c5690 userenv!CreateEnvironmentBlock
008c5694 userenv!DestroyEnvironmentBlock
008c5698 userenv!RefreshPolicyEx
008c569c 
008c56a0 USER32!GetDC
008c56a4 USER32!ReleaseDC
008c56a8 USER32!DrawTextW
008c56ac USER32!DrawTextA
008c56b0 USER32!SystemParametersInfoW
008c56b4 USER32!OpenWindowStationW
008c56b8 USER32!NtUserCloseWindowStation
008c56bc USER32!OpenDesktopW
008c56c0 USER32!NtUserCloseDesktop
008c56c4 USER32!GetSystemMetrics
008c56c8 USER32!GetShellWindow
008c56cc USER32!GetCurrentThreadDesktopHwnd
008c56d0 USER32!IsWindowVisible
008c56d4 
008c56d8 gdi32!CreateFontW
008c56dc gdi32!CreateFontIndirectW
008c56e0 gdi32!GetDeviceCaps
008c56e4 gdi32!BitBltStub
008c56e8 gdi32!SetBkColorStub
008c56ec gdi32!CreateDCW
008c56f0 gdi32!CreateCompatibleBitmapStub
008c56f4 gdi32!CreateCompatibleDCStub
008c56f8 gdi32!SelectObject
008c56fc gdi32!CreateDIBSectionStub
008c5700 gdi32!DeleteDC
008c5704 gdi32!DeleteObject
008c5708 gdi32!SetTextColor
008c570c gdi32!SetBkMode
008c5710 gdi32!SetMapModeStub
008c5714 gdi32!GetTextExtentPoint32WStub
008c5718 gdi32!StartDocW
008c571c gdi32!EndDoc
008c5720 gdi32!StartPage
008c5724 gdi32!EndPage
008c5728 
008c572c shell32!CommandLineToArgvWStub
008c5730 shell32!SHGetSpecialFolderPathWStub
008c5734 shell32!ShellExecuteW
008c5738 shell32!SHChangeNotify
008c573c 
008c5740 combase!CoCreateGuid
008c5744 ole32!CoInitialize
008c5748 combase!CoInitializeEx
008c574c combase!CoUninitialize
008c5750 ole32!CoGetObject
008c5754 combase!CoInitializeSecurity
008c5758 combase!CoCreateInstance
008c575c combase!CoCreateInstanceEx
008c5760 combase!CoSetProxyBlanket
008c5764 
008c5768 shlwapi!PathFindExtensionWStub
008c576c shlwapi!PathIsNetworkPathWStub
008c5770 shlwapi!PathFindFileNameWStub
008c5774 shlwapi!PathFindFileNameAStub
008c5778 shlwapi!PathIsUNCServerWStub
008c577c shlwapi!PathQuoteSpacesWStub
008c5780 shlwapi!PathUnquoteSpacesWStub
008c5784 shlwapi!PathRemoveFileSpecWStub
008c5788 shlwapi!PathIsFileSpecWStub
008c578c shlwapi!PathIsDirectoryEmptyW
008c5790 shlwapi!PathAppendWStub
008c5794 shlwapi!PathAppendAStub
008c5798 shlwapi!IUnknown_QueryServiceStub
008c579c 
008c57a0 oleaut32!VariantInit
008c57a4 oleaut32!VariantClear
008c57a8 oleaut32!SysAllocString
008c57ac oleaut32!SysFreeString
008c57b0 
008c57b4 wtsapi32!WTSQueryUserToken
008c57b8 
008c57bc RstrtMgr!RmStartSession
008c57c0 RstrtMgr!RmRegisterResources
008c57c4 RstrtMgr!RmGetList
008c57c8 RstrtMgr!RmEndSession
008c57cc 
008c57d0 WKSCLI!NetGetJoinInformation
008c57d4 SRVCLI!NetShareEnum
008c57d8 SAMCLI!NetUserEnum
008c57dc SAMCLI!NetUserSetInfo
008c57e0 SAMCLI!NetUserGetInfo
008c57e4 NETUTILS!NetApiBufferFree
008c57e8 LOGONCLI!DsGetDcNameW
008c57ec LOGONCLI!DsGetDcOpenW
008c57f0 LOGONCLI!DsGetDcNextW
008c57f4 LOGONCLI!DsGetDcCloseW
008c57f8 
008c57fc activeds!ADsOpenObject
008c5800 activeds!ADsGetObject
008c5804 activeds!ADsBuildEnumerator
008c5808 activeds!ADsEnumerateNext
008c580c activeds!ADsFreeEnumerator
008c5810 
008c5814 wininet!InternetOpenW
008c5818 wininet!InternetConnectW
008c581c wininet!InternetSetOptionW
008c5820 wininet!InternetQueryOptionW
008c5824 wininet!InternetCloseHandle
008c5828 wininet!HttpQueryInfoW
008c582c wininet!HttpOpenRequestW
008c5830 wininet!HttpSendRequestW
008c5834 wininet!InternetQueryDataAvailable
008c5838 wininet!InternetReadFile
008c583c 
008c5840 WS2_32!WSAStartup
008c5844 WS2_32!WSACleanup
008c5848 WS2_32!gethostbyname
008c584c 
008c5850 mpr!WNetAddConnection2W
008c5854 mpr!WNetCancelConnection2W
008c5858 
008c585c winspool!OpenPrinterW
008c5860 winspool!ClosePrinter
008c5864 winspool!EnumPrintersW
008c5868 winspool!DocumentPropertiesW
008c586c 
008c5870 gpedit!CreateGPOLink
Как получил импорты:
Оно очень любит делать гейты на вызов апи и всякого кода доставаемого из архива.

Импорты были получены в виндебаг таким вот патчем, знаю можно короче но мне надо было быстрее и да знаю что есть push nnnn но как то сходу не вспомнил код, короче кто докопаеться тот редиска.
Код:
008a5ded ab              stos    dword ptr es:[edi]
008a5dee b8d35d8a00      mov     eax,offset LB3+0x5dd3 (008a5dd3)
008a5df3 50              push    eax
008a5df4 c3              ret

После отработки всех вызовов получения импортов смотрим 008c5400 с отображением символов и видим импорты.

Что за гейты?
Оно на хипе размещает конструкции типа
Код:
Gate is:
02cb0990 b814175989      mov     eax,89591714h
02cb0995 c1c003          rol     eax,3
02cb0998 35c7bf0348      xor     eax,4803BFC7h
02cb099d ffe0            jmp     eax

How it made:
...
.text:008B76EA 74 53                                                           jz      short loc_8B773F
.text:008B76EC 56                                                              push    esi
.text:008B76ED 57                                                              push    edi
.text:008B76EE E8 B1 14 00 00                                                  call    Unpack
.text:008B76F3 83 C4 08                                                        add     esp, 8
.text:008B76F6 8D B6 83 00 00 00                                               lea     esi, [esi+83h]
.text:008B76FC FF 75 0C                                                        push    [ebp+pRtlAllocateHeap]
.text:008B76FF FF 75 08                                                        push    [ebp+arg_0]
.text:008B7702 56                                                              push    esi
.text:008B7703 E8 4C 00 00 00                                                  call    CreateJumpGateTo
.text:008B7708 A3 9C 51 8C 00                                                  mov     crypt_alg_83, eax
.text:008B770D 8D 76 41                                                        lea     esi, [esi+41h]
.text:008B7710 FF 75 0C                                                        push    [ebp+pRtlAllocateHeap]
.text:008B7713 FF 75 08                                                        push    [ebp+arg_0]
.text:008B7716 56                                                              push    esi
.text:008B7717 E8 38 00 00 00                                                  call    CreateJumpGateTo
.text:008B771C A3 94 51 8C 00                                                  mov     crypt_alg_41, eax
.text:008B7721 8D B6 D7 00 00 00                                               lea     esi, [esi+0D7h]
.text:008B7727 FF 75 0C                                                        push    [ebp+pRtlAllocateHeap]
.text:008B772A FF 75 08                                                        push    [ebp+arg_0]
.text:008B772D 56                                                              push    esi
.text:008B772E E8 21 00 00 00                                                  call    CreateJumpGateTo
.text:008B7733 A3 98 51 8C 00                                                  mov     crypt_alg_d7, eax
.text:008B7738 C7 45 FC 01 00 00 00                                            mov     [ebp+var_4], 1
..
которые ведут к апи ли разархивированным процедурам.

Что за разархивированные процедуры?
Ну например такое
Код:
8b76cf
before unpack
00da7940 53 00 51 6a 01 58 0f a2 f7 c1 e1 9e 02 40 07 95 c0 84 23 74 09 f9 c7 f0 80 06 f2 59 5b c3 6a 07 1b 58 33 c9 3b cc 0e 04  S.Qj.X.......@....#t.......Y[.j..X3.;...
00da7968 10 b2 f8 04 fa 5e 40 31 8b c8 c1 c9 0d ce 0f d0 ee c2 ff 3d e7 27 55 b1 ec 51 53 fc 45 0c fa 4d 18 14 0b c8 0a 10 75 ed  .....^@1...........=.'U..QS.E..M......u.
00da7990 80 1a 08 f7 e1 5b 59 5d 7c c2 e1 be 10 a8 d8 0f 15 65 14 03 08 7f ee d3 a4 19 db 6d 6a cc 0f 03 1d c0 04 68 2d f4 51 58  .....[Y]|........e.........mj......h-.QX
00da79b8 c0 0a 7f 95 4c 52 50 18 e8 ad ff 02 05 4f 1c 81 67 f7 c7 d2 7e 7b 91 14 89 03 cb 66 42 52 08 34 3c ff 73 73 19 33 e8 8e  ....LRP......O..g...~{.....fBR.4<.ss.3..
00da79e0 3f 5b 91 82 08 de 0d e8 30 23 17 25 a5 26 06 0a 43 08 16 7b 0c 43 1b 20 10 7b 14 eb 0c 18 81 1c ed 05 0c 20 81 24 ec fa  ?[......0#.%.&..C..{.C. .{......... .$..
00da7a08 fe 84 40 28 2c f6 ef 86 40 30 34 f6 e4 86 40 38 3c f6 d9 86 40 40 44 f6 ce 86 40 48 4c f6 c3 86 40 50 54 f6 b8 86 40 58  ..@(,...@04...@8<...@@D...@HL...@PT...@X
00da7a30 5c a2 b3 24 0b 60 0f 64 68 a2 64 68 0f 6c 68 97 64 70 0f 74 68 8c 61 78 81 e2 57 81 0c 22 7c 7b b8 92 79 07 69 d2 05 84  \..$.`.dh.dh.lh.dp.th.ax..W.."|{..y.i...
00da7a58 08 11 42 f7 e2 22 3c 62 2c 04 1a 94 d7 3f 56 57 bc 75 f7 51 7d c6 f2 87 37 06 23 56 04 ab 07 bb 57 ad 77 30 e5 47 1f 97  ..B.."<b,....?VW.u.Q}...7.#V....W.w0.G..
00da7a80 e0 42 37 28 46 ef 37 56 0c 22 68 3b 52 20 c8 48 20 ac 42 17 19 46 10 40 14 07 68 3b 43 c8 50 20 c1 f2 fd 88 46 18 c8 40  .B7(F.7V."h;R .H .B..F.@..h;C.P ....F..@
00da7aa8 1c 3b 41 da 1e 41 58 02 d6 d7 a4 20 20 08 24 3b 41 da 1e 41 60 02 eb b7 a4 20 28 08 2c 3b 41 da 1e 41 68 54 00 48 20 30  .;A..AX....  .$;A..A`.... (.,;A..AhT.H 0
00da7ad0 10 34 76 83 b4 3c 70 82 85 15 77 48 20 38 10 3c 76 83 b4 3c 78 80 7c 5f 49 5e 0f 60 00 00

after
02cb05c8 53 51 6a 01 58 0f a2 f7 c1 00 00 00 40 0f 95 c0 84 c0 74 09 0f c7 f0 0f c7 f2 59 5b c3 6a 07 58 33 c9 0f a2 f7 c3 00 00  SQj.X.......@.....t.......Y[.j.X3.......
02cb05f0 04 00 0f 95 c0 84 c0 74 09 0f c7 f8 0f c7 fa 59 5b c3 0f 31 8b c8 c1 c9 0d 0f 31 8b d0 c1 c2 0d 8b c1 59 5b c3 55 8b ec  .......t.......Y[..1......1.......Y[.U..
02cb0618 51 53 8b 45 0c 8b 4d 14 0b c8 8b 4d 10 75 0b 8b 45 08 f7 e1 5b 59 5d c2 10 00 f7 e1 8b d8 8b 45 08 f7 65 14 03 d8 8b 45  QS.E..M....M.u..E...[Y]........E..e....E
02cb0640 08 f7 e1 03 d3 5b 59 5d c2 10 00 55 8b ec 53 8b 5d 0c 8b 03 8b 53 04 68 2d f4 51 58 68 2d 7f 95 4c 52 50 e8 ad ff ff ff  .....[Y]...U..S.]....S.h-.QXh-..LRP.....
02cb0668 05 4f 81 67 f7 81 d2 7e 7b 05 14 89 03 89 53 04 8b 5d 08 52 50 ff 73 04 ff 33 e8 8e ff ff ff 5b 5d c2 08 00 55 8b ec 53  .O.g...~{.....S..].RP.s..3.....[]...U..S
02cb0690 8b 5d 08 e8 30 ff ff ff 89 03 89 53 04 e8 26 ff ff ff 89 43 08 89 53 0c e8 1b ff ff ff 89 43 10 89 53 14 e8 10 ff ff ff  .]..0......S..&....C..S.......C..S......
02cb06b8 89 43 18 89 53 1c e8 05 ff ff ff 89 43 20 89 53 24 e8 fa fe ff ff 89 43 28 89 53 2c e8 ef fe ff ff 89 43 30 89 53 34 e8  .C..S.......C .S$......C(.S,......C0.S4.
02cb06e0 e4 fe ff ff 89 43 38 89 53 3c e8 d9 fe ff ff 89 43 40 89 53 44 e8 ce fe ff ff 89 43 48 89 53 4c e8 c3 fe ff ff 89 43 50  .....C8.S<......C@.SD......CH.SL......CP
02cb0708 89 53 54 e8 b8 fe ff ff 89 43 58 89 53 5c e8 ad fe ff ff 89 43 60 89 53 64 e8 a2 fe ff ff 89 43 68 89 53 6c e8 97 fe ff  .ST......CX.S\......C`.Sd......Ch.Sl....
02cb0730 ff 89 43 70 89 53 74 e8 8c fe ff ff 89 43 78 81 e2 ff ff ff 00 89 53 7c b8 78 00 00 00 69 d2 05 84 08 08 42 f7 e2 8b 45  ..Cp.St......Cx.......S|.x...i.....B...E
02cb0758 0c 8b 00 89 04 1a 5b 5d c2 08 00 55 8b ec 56 57 8b 75 08 8b 7d 0c e8 55 fe ff ff 89 06 89 56 04 89 07 89 57 04 69 d2 05  ......[]...U..VW.u..}..U......V....W.i..
02cb0780 84 08 08 42 f7 e2 89 47 40 89 57 44 e8 37 fe ff ff 89 46 08 89 56 0c 89 47 08 89 57 0c 69 d2 05 84 08 08 42 f7 e2 89 47  ...B...G@.WD.7....F..V..G..W.i.....B...G
02cb07a8 48 89 57 4c e8 17 fe ff ff 89 46 10 89 56 14 89 47 10 89 57 14 69 d2 05 84 08 08 42 f7 e2 89 47 50 89 57 54 e8 f7 fd ff  H.WL......F..V..G..W.i.....B...GP.WT....
02cb07d0 ff 89 46 18 89 56 1c 89 47 18 89 57 1c 69 d2 05 84 08 08 42 f7 e2 89 47 58 89 57 5c e8 d7 fd ff ff 89 46 20 89 56 24 89  ..F..V..G..W.i.....B...GX.W\......F .V$.
02cb07f8 47 20 89 57 24 69 d2 05 84 08 08 42 f7 e2 89 47 60 89 57 64 e8 b7 fd ff ff 89 46 28 89 56 2c 89 47 28 89 57 2c 69 d2 05  G .W$i.....B...G`.Wd......F(.V,.G(.W,i..
02cb0820 84 08 08 42 f7 e2 89 47 68 89 57 6c e8 97 fd ff ff 89 46 30 89 56 34 89 47 30 89 57 34 69 d2 05 84 08 08 42 f7 e2 89 47  ...B...Gh.Wl......F0.V4.G0.W4i.....B...G
02cb0848 70 89 57 74 e8 77 fd ff ff 89 46 38 89 56 3c 89 47 38 89 57 3c 69 d2 05 84 08 08 42 f7 e2 89 47 78 89 57 7c 5f 5e 5d c2  p.Wt.w....F8.V<.G8.W<i.....B...Gx.W|_^].
02cb0870 08 00 00 00

what is it?
02cb05c8 53              push    ebx
02cb05c9 51              push    ecx
02cb05ca 6a01            push    1
02cb05cc 58              pop     eax
02cb05cd 0fa2            cpuid
02cb05cf f7c100000040    test    ecx,40000000h
02cb05d5 0f95c0          setne   al
02cb05d8 84c0            test    al,al
02cb05da 7409            je      02cb05e5
02cb05dc 0fc7f0          rdrand  eax
02cb05df 0fc7f2          rdrand  edx
02cb05e2 59              pop     ecx
02cb05e3 5b              pop     ebx
02cb05e4 c3              ret
02cb05e5 6a07            push    7
02cb05e7 58              pop     eax
02cb05e8 33c9            xor     ecx,ecx
02cb05ea 0fa2            cpuid
02cb05ec f7c300000400    test    ebx,40000h
02cb05f2 0f95c0          setne   al
02cb05f5 84c0            test    al,al
02cb05f7 7409            je      02cb0602
02cb05f9 0fc7f8          rdseed  eax
02cb05fc 0fc7fa          rdseed  edx
02cb05ff 59              pop     ecx
02cb0600 5b              pop     ebx
02cb0601 c3              ret
02cb0602 0f31            rdtsc
02cb0604 8bc8            mov     ecx,eax
02cb0606 c1c90d          ror     ecx,0Dh
02cb0609 0f31            rdtsc
02cb060b 8bd0            mov     edx,eax
02cb060d c1c20d          rol     edx,0Dh
02cb0610 8bc1            mov     eax,ecx
02cb0612 59              pop     ecx
02cb0613 5b              pop     ebx
02cb0614 c3              ret
02cb0615 55              push    ebp
02cb0616 8bec            mov     ebp,esp
02cb0618 51              push    ecx
02cb0619 53              push    ebx
02cb061a 8b450c          mov     eax,dword ptr [ebp+0Ch]
02cb061d 8b4d14          mov     ecx,dword ptr [ebp+14h]
02cb0620 0bc8            or      ecx,eax
02cb0622 8b4d10          mov     ecx,dword ptr [ebp+10h]
02cb0625 750b            jne     02cb0632
02cb0627 8b4508          mov     eax,dword ptr [ebp+8]
02cb062a f7e1            mul     eax,ecx
02cb062c 5b              pop     ebx
02cb062d 59              pop     ecx
02cb062e 5d              pop     ebp
02cb062f c21000          ret     10h
02cb0632 f7e1            mul     eax,ecx
02cb0634 8bd8            mov     ebx,eax
02cb0636 8b4508          mov     eax,dword ptr [ebp+8]
02cb0639 f76514          mul     eax,dword ptr [ebp+14h]
02cb063c 03d8            add     ebx,eax
02cb063e 8b4508          mov     eax,dword ptr [ebp+8]
02cb0641 f7e1            mul     eax,ecx
02cb0643 03d3            add     edx,ebx
02cb0645 5b              pop     ebx
02cb0646 59              pop     ecx
02cb0647 5d              pop     ebp
02cb0648 c21000          ret     10h


+83
02cb064b 55              push    ebp
02cb064c 8bec            mov     ebp,esp
02cb064e 53              push    ebx
02cb064f 8b5d0c          mov     ebx,dword ptr [ebp+0Ch]
02cb0652 8b03            mov     eax,dword ptr [ebx]
02cb0654 8b5304          mov     edx,dword ptr [ebx+4]
02cb0657 682df45158      push    5851F42Dh
02cb065c 682d7f954c      push    4C957F2Dh
02cb0661 52              push    edx
02cb0662 50              push    eax
02cb0663 e8adffffff      call    02cb0615
02cb0668 054f8167f7      add     eax,0F767814Fh
02cb066d 81d27e7b0514    adc     edx,14057B7Eh
02cb0673 8903            mov     dword ptr [ebx],eax
02cb0675 895304          mov     dword ptr [ebx+4],edx
02cb0678 8b5d08          mov     ebx,dword ptr [ebp+8]
02cb067b 52              push    edx
02cb067c 50              push    eax
02cb067d ff7304          push    dword ptr [ebx+4]
02cb0680 ff33            push    dword ptr [ebx]
02cb0682 e88effffff      call    02cb0615
02cb0687 5b              pop     ebx
02cb0688 5d              pop     ebp
02cb0689 c20800          ret     8

+41
02cb068c 55              push    ebp
02cb068d 8bec            mov     ebp,esp
02cb068f 53              push    ebx
02cb0690 8b5d08          mov     ebx,dword ptr [ebp+8]
02cb0693 e830ffffff      call    02cb05c8
02cb0698 8903            mov     dword ptr [ebx],eax
02cb069a 895304          mov     dword ptr [ebx+4],edx
02cb069d e826ffffff      call    02cb05c8
02cb06a2 894308          mov     dword ptr [ebx+8],eax
02cb06a5 89530c          mov     dword ptr [ebx+0Ch],edx
02cb06a8 e81bffffff      call    02cb05c8
02cb06ad 894310          mov     dword ptr [ebx+10h],eax
02cb06b0 895314          mov     dword ptr [ebx+14h],edx
02cb06b3 e810ffffff      call    02cb05c8
02cb06b8 894318          mov     dword ptr [ebx+18h],eax
02cb06bb 89531c          mov     dword ptr [ebx+1Ch],edx
02cb06be e805ffffff      call    02cb05c8
02cb06c3 894320          mov     dword ptr [ebx+20h],eax
02cb06c6 895324          mov     dword ptr [ebx+24h],edx
02cb06c9 e8fafeffff      call    02cb05c8
02cb06ce 894328          mov     dword ptr [ebx+28h],eax
02cb06d1 89532c          mov     dword ptr [ebx+2Ch],edx
02cb06d4 e8effeffff      call    02cb05c8
02cb06d9 894330          mov     dword ptr [ebx+30h],eax
02cb06dc 895334          mov     dword ptr [ebx+34h],edx
02cb06df e8e4feffff      call    02cb05c8
02cb06e4 894338          mov     dword ptr [ebx+38h],eax
02cb06e7 89533c          mov     dword ptr [ebx+3Ch],edx
02cb06ea e8d9feffff      call    02cb05c8
02cb06ef 894340          mov     dword ptr [ebx+40h],eax
02cb06f2 895344          mov     dword ptr [ebx+44h],edx
02cb06f5 e8cefeffff      call    02cb05c8
02cb06fa 894348          mov     dword ptr [ebx+48h],eax
02cb06fd 89534c          mov     dword ptr [ebx+4Ch],edx
02cb0700 e8c3feffff      call    02cb05c8
02cb0705 894350          mov     dword ptr [ebx+50h],eax
02cb0708 895354          mov     dword ptr [ebx+54h],edx
02cb070b e8b8feffff      call    02cb05c8
02cb0710 894358          mov     dword ptr [ebx+58h],eax
02cb0713 89535c          mov     dword ptr [ebx+5Ch],edx
02cb0716 e8adfeffff      call    02cb05c8
02cb071b 894360          mov     dword ptr [ebx+60h],eax
02cb071e 895364          mov     dword ptr [ebx+64h],edx
02cb0721 e8a2feffff      call    02cb05c8
02cb0726 894368          mov     dword ptr [ebx+68h],eax
02cb0729 89536c          mov     dword ptr [ebx+6Ch],edx
02cb072c e897feffff      call    02cb05c8
02cb0731 894370          mov     dword ptr [ebx+70h],eax
02cb0734 895374          mov     dword ptr [ebx+74h],edx
02cb0737 e88cfeffff      call    02cb05c8
02cb073c 894378          mov     dword ptr [ebx+78h],eax
02cb073f 81e2ffffff00    and     edx,0FFFFFFh
02cb0745 89537c          mov     dword ptr [ebx+7Ch],edx
02cb0748 b878000000      mov     eax,78h
02cb074d 69d205840808    imul    edx,edx,8088405h
02cb0753 42              inc     edx
02cb0754 f7e2            mul     eax,edx
02cb0756 8b450c          mov     eax,dword ptr [ebp+0Ch]
02cb0759 8b00            mov     eax,dword ptr [eax]
02cb075b 89041a          mov     dword ptr [edx+ebx],eax
02cb075e 5b              pop     ebx
02cb075f 5d              pop     ebp
02cb0760 c20800          ret     8

+d7
02cb0763 55              push    ebp
02cb0764 8bec            mov     ebp,esp
02cb0766 56              push    esi
02cb0767 57              push    edi
02cb0768 8b7508          mov     esi,dword ptr [ebp+8]
02cb076b 8b7d0c          mov     edi,dword ptr [ebp+0Ch]
02cb076e e855feffff      call    02cb05c8
02cb0773 8906            mov     dword ptr [esi],eax
02cb0775 895604          mov     dword ptr [esi+4],edx
02cb0778 8907            mov     dword ptr [edi],eax
02cb077a 895704          mov     dword ptr [edi+4],edx
02cb077d 69d205840808    imul    edx,edx,8088405h
02cb0783 42              inc     edx
02cb0784 f7e2            mul     eax,edx
02cb0786 894740          mov     dword ptr [edi+40h],eax
02cb0789 895744          mov     dword ptr [edi+44h],edx
02cb078c e837feffff      call    02cb05c8
02cb0791 894608          mov     dword ptr [esi+8],eax
02cb0794 89560c          mov     dword ptr [esi+0Ch],edx
02cb0797 894708          mov     dword ptr [edi+8],eax
02cb079a 89570c          mov     dword ptr [edi+0Ch],edx
02cb079d 69d205840808    imul    edx,edx,8088405h
02cb07a3 42              inc     edx
02cb07a4 f7e2            mul     eax,edx
02cb07a6 894748          mov     dword ptr [edi+48h],eax
02cb07a9 89574c          mov     dword ptr [edi+4Ch],edx
02cb07ac e817feffff      call    02cb05c8
02cb07b1 894610          mov     dword ptr [esi+10h],eax
02cb07b4 895614          mov     dword ptr [esi+14h],edx
02cb07b7 894710          mov     dword ptr [edi+10h],eax
02cb07ba 895714          mov     dword ptr [edi+14h],edx
02cb07bd 69d205840808    imul    edx,edx,8088405h
02cb07c3 42              inc     edx
02cb07c4 f7e2            mul     eax,edx
02cb07c6 894750          mov     dword ptr [edi+50h],eax
02cb07c9 895754          mov     dword ptr [edi+54h],edx
02cb07cc e8f7fdffff      call    02cb05c8
02cb07d1 894618          mov     dword ptr [esi+18h],eax
02cb07d4 89561c          mov     dword ptr [esi+1Ch],edx
02cb07d7 894718          mov     dword ptr [edi+18h],eax
02cb07da 89571c          mov     dword ptr [edi+1Ch],edx
02cb07dd 69d205840808    imul    edx,edx,8088405h
02cb07e3 42              inc     edx
02cb07e4 f7e2            mul     eax,edx
02cb07e6 894758          mov     dword ptr [edi+58h],eax
02cb07e9 89575c          mov     dword ptr [edi+5Ch],edx
02cb07ec e8d7fdffff      call    02cb05c8
02cb07f1 894620          mov     dword ptr [esi+20h],eax
02cb07f4 895624          mov     dword ptr [esi+24h],edx
02cb07f7 894720          mov     dword ptr [edi+20h],eax
02cb07fa 895724          mov     dword ptr [edi+24h],edx
02cb07fd 69d205840808    imul    edx,edx,8088405h
02cb0803 42              inc     edx
02cb0804 f7e2            mul     eax,edx
02cb0806 894760          mov     dword ptr [edi+60h],eax
02cb0809 895764          mov     dword ptr [edi+64h],edx
02cb080c e8b7fdffff      call    02cb05c8
02cb0811 894628          mov     dword ptr [esi+28h],eax
02cb0814 89562c          mov     dword ptr [esi+2Ch],edx
02cb0817 894728          mov     dword ptr [edi+28h],eax
02cb081a 89572c          mov     dword ptr [edi+2Ch],edx
02cb081d 69d205840808    imul    edx,edx,8088405h
02cb0823 42              inc     edx
02cb0824 f7e2            mul     eax,edx
02cb0826 894768          mov     dword ptr [edi+68h],eax
02cb0829 89576c          mov     dword ptr [edi+6Ch],edx
02cb082c e897fdffff      call    02cb05c8
02cb0831 894630          mov     dword ptr [esi+30h],eax
02cb0834 895634          mov     dword ptr [esi+34h],edx
02cb0837 894730          mov     dword ptr [edi+30h],eax
02cb083a 895734          mov     dword ptr [edi+34h],edx
02cb083d 69d205840808    imul    edx,edx,8088405h
02cb0843 42              inc     edx
02cb0844 f7e2            mul     eax,edx
02cb0846 894770          mov     dword ptr [edi+70h],eax
02cb0849 895774          mov     dword ptr [edi+74h],edx
02cb084c e877fdffff      call    02cb05c8
02cb0851 894638          mov     dword ptr [esi+38h],eax
02cb0854 89563c          mov     dword ptr [esi+3Ch],edx
02cb0857 894738          mov     dword ptr [edi+38h],eax
02cb085a 89573c          mov     dword ptr [edi+3Ch],edx
02cb085d 69d205840808    imul    edx,edx,8088405h
02cb0863 42              inc     edx
02cb0864 f7e2            mul     eax,edx
02cb0866 894778          mov     dword ptr [edi+78h],eax
02cb0869 89577c          mov     dword ptr [edi+7Ch],edx
02cb086c 5f              pop     edi
02cb086d 5e              pop     esi
02cb086e 5d              pop     ebp
02cb086f c20800          ret     8

where is it?
.text:008B76F6 8D B6 83 00 00 00                                               lea     esi, [esi+83h]
.text:008B76FC FF 75 0C                                                        push    [ebp+pRtlAllocateHeap]
.text:008B76FF FF 75 08                                                        push    [ebp+arg_0]
.text:008B7702 56                                                              push    esi
.text:008B7703 E8 4C 00 00 00                                                  call    CreateJumpGateTo
.text:008B7708 A3 9C 51 8C 00                                                  mov     crypt_alg_83, eax

Строки шифрованы но ничего критичного.
Вот скрипт дешифровки, там шифров много но вы и без меня скриптов наделаете. Писать скрипты для иды не умею поэтому просто питонил.
Код:
Crypted sample
.text:008A5CC8                 mov     dword ptr [ebx], 0B7D64064h
.text:008A5CCE                 mov     dword ptr [ebx+4], 0B7984016h
.text:008A5CD5                 mov     dword ptr [ebx+8], 0B7904054h
.text:008A5CDC                 mov     dword ptr [ebx+0Ch], 0B7FC4038h
.text:008A5CE3                 push    4
.text:008A5CE5                 push    ebx
.text:008A5CE6                 call    sub_8A1250

Decryptor

def decrypt_00(data: str) -> None:
    dwords = list()

    dlines = data.splitlines()
    for ln in dlines:
        ln_parts = ln.split(' ')
        try:
            if ln_parts and ln_parts[-1][-1] == 'h':
                dd = ln_parts[-1][:-1]
                dd = int(dd, 16)
                dwords.append(dd)
        except Exception as e:
            pass

    if dwords:
        key = 0x4803BFC7
        for idd in range(len(dwords)):
            dwords[idd] ^= key
            dwords[idd] = ~dwords[idd]
            dwords[idd] &= 0xfffffff
            dd = dwords[idd]
            b = dd.to_bytes(4, byteorder="little", signed=True)
            dwords[idd] = int.from_bytes(b, byteorder="little", signed=False)

        # decimal
        print("Decimal dwords:")
        print(dwords)

        print("Hex dwords:")
        hdwords = list()
        for dd in dwords:
            hdwords.append(hex(dd))
        print(hdwords)

        print("Bytes:")
        bdwords = b''
        for dd in dwords:
            bdwords += dd.to_bytes(4, byteorder="little", signed=False)
        print(bdwords)

        print("Bytes without zeros:")
        bdwords = b''
        for dd in dwords:
            bdwords += dd.to_bytes(4, byteorder="little", signed=False)
        bdwords = bdwords.replace(b'\x00', b'')
        print(bdwords)


def do_decrypt() -> None:
    data = """
.text:008A5CC8                 mov     dword ptr [ebx], 0B7D64064h
.text:008A5CCE                 mov     dword ptr [ebx+4], 0B7984016h
.text:008A5CD5                 mov     dword ptr [ebx+8], 0B7904054h
.text:008A5CDC                 mov     dword ptr [ebx+0Ch], 0B7FC4038h
    
    """

    decrypt_00(data)
    exit(0)


Output
Decimal dwords:
[2752604, 6553646, 7077996, 0]
Hex dwords:
['0x2a005c', '0x64002e', '0x6c006c', '0x0']
Bytes:
b'\\\x00*\x00.\x00d\x00l\x00l\x00\x00\x00\x00\x00'
Bytes without zeros:
b'\\*.dll'

В архиве оригинальный экзешник и с востановленными импотрами, на точке входа 0xcc.

По факту импорты не востановлены а созданы, но это детали.

Если кто напишет скрипты для иды как там все строки расшифровать будет круто и респектабельно.
Да ида будет вонять на импорты но забейте, для реверса файлы годный.
 

Вложения

  • lb3.zip
    204.5 КБ · Просмотры: 35
Думаю разарбы должны заинтересоваться глядя на импорты. Я лично для себя кое что интересное здесь нашёл может и вы найдете. А вообще не впечатало по технологичности. Казалось там все очень сложно и запутано и хрен поймешь =)
 
Оно очень любит делать гейты на вызов апи
Непонятно только зачем, от перехватов АВ это не спасет, хоть напрямую ты функцию вызываешь, хоть транзитом через гейты, соответственно поведенческий анализ такие вещи не обойдут, такие технологии родом из протекторов, что бы импорт было труднее восстановить после распаковки, но оно не сильно то и спасает, все это восстанавливается в полуавтоматике, так что мое мнение- гейты тут вообще лишние
Очень похоже на то, что кодер затер заказчику, что он знает андетект супермегатехнологии и насовал в код очень много лишней чепухи, а по факту просто тянул время, и получал за это бабос, кажись за это его в шею и погнали с конторы
 
Да ты покопайся там много всякого непонятно зачем.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да ты покопайся там много всякого непонятно зачем.
Так а зачем в этом копаться то, если не авер и не мент? Какой рокетсаенс вы двое хотите в рансомваре увидеть?)
 
Так а зачем в этом копаться то, если не авер и не мент? Какой рокетсаенс вы двое хотите в рансомваре увидеть?)
И не авер и не мент и не только увидеть. Авер бы тут выкладывать ничего не стал, хуле менту в коде рансома ловить вообще не понятно, вряд ли там зашиты координаты автора или локбита.
 
Какой рокетсаенс вы двое хотите в рансомваре увидеть?)
Ну как минимум код качественный хотел увидеть) Я такого мнения, что если ты взялся писать код, то пиши его нормально, не важно вообще малварь это или просто приложение пользовательское, криворуких кодеров никогда и нигде не любили, особенно много неприятностей начинается, когда такого кодера выгоняют, а после него его же код надо переделывать, а там без пол литры не разберешь
 
Ну как минимум код качественный хотел увидеть) Я такого мнения, что если ты взялся писать код, то пиши его нормально, не важно вообще малварь это или просто приложение пользовательское, криворуких кодеров никогда и нигде не любили, особенно много неприятностей начинается, когда такого кодера выгоняют, а после него его же код надо переделывать, а там без пол литры не разберешь
Хороший пример говнокода это вызовы в ос без фасадов или хотя бы враперов =) А еще если кодер взялся писать код который намерен поддерживать то пишет он его как правило так нормально как умеет, прикол в том что большинсво просто не умеют. В дарке не принято читать всякую хрень типа книг дяди Боба или Банды и всяких прочих Пикусов с Фаулерами, в дарке понятия хорошего кода особые и очень самобытные, пейзане ножа и топора. Пацанам из дарка даже понять почему питон сильно сложнее ц тяжко =)...дада это я про Квейка(потому что в ц синтаксических возможностей кот наплакал и сделать там код в котором будет очень сложно разобраться - трудно, а в питоне можно наметакодить). Кодер который писал этот код вполне компетентен и решал задачу в общем без оверхеда, а учитывая что его явно не сильно ценили(долевым участником он вряд ли был) то отсутствие оверхеда было более чем оправдано, наиболее простым и быстрым способом закрывал задачи и на том и ограничевался и оказался прав.
 
Хороший пример говнокода это вызовы в ос без фасадов или хотя бы враперов =)
Я кажись понял к чему эта отсылка, но я вроде тебе уже еще там дал четко понять, что мой подход (конкретно в том коде), позволяет без каких либо временных затрат использовать любой syscall не переделывая код, вот вообще не переделывая, описал прототип функции и вызывай ее, прям как из ntdll только передав еще номер сискола, а шелл внутри делает ВСЕ САМ, за тебя, и тебе не надо париться и думать о параметрах, ты взял и вызвал функцию, передав только номер сискола, и параметры следом, вот это качественный код, а твои врапперы надо переделывать под каждый прототип (по твоему описанию это выглядело именно так)
И я тебе больше скажу, ты тогда доебся до кода с HeavensGate и что-то затирал мне за якобы правильную бизнес логику, а тут ты мне говоришь, что малварь пишется на коленке и нет никаких правил написания кода. Очухайся чел, ты противоречишь сам себе. Во-первых, где ты видел хевигейты где-то кроме как в малвари, а во-вторых зачем я вообще тебе что-то доказываю, у меня 8 лет бэкграунда написания кода на Си, причем рабочего, без пары лет потуг в обучении, и какой-то ноунейм пытается меня уже второй раз учить, я то знаю зачем мой код так написан, потому что он прошел тесты и наиболее удобен))) Тут в пору поговорка "Не учи отца e@@@@ся", хорошего вечера и прекрасного настроения, не принимай близко к сердцу)
 
Последнее редактирование:
Я кажись понял к чему эта отсылка, но я вроде тебе уже еще там дал четко понять, что мой подход (конкретно в том коде), позволяет без каких либо временных затрат использовать любой syscall не переделывая код, вот вообще не переделывая, описал прототип функции и вызывай ее, прям как из ntdll только передав еще номер сискола, а шелл внутри делает ВСЕ САМ, за тебя, и тебе не надо париться и думать о параметрах, ты взял и вызвал функцию, передав только номер сискола, и параметры следом, вот это качественный код, а твои врапперы надо переделывать под каждый прототип (по твоему описанию это выглядело именно так)
И я тебе больше скажу, ты тогда доебся до кода с HeavensGate и что-то затирал мне за якобы правильную бизнес логику, а тут ты мне говоришь, что малварь пишется на коленке и нет никаких правил написания кода. Очухайся чел, ты противоречишь сам себе. Во-первых, где ты видел хевигейты где-то кроме как в малвари, а во-вторых зачем я вообще тебе что-то доказываю, у меня 8 лет бэкграунда написания кода на Си, причем рабочего, без пары лет потуг в обучении, и какой-то ноунейм пытается меня уже второй раз учить, я то знаю зачем мой код так написан, потому что он прошел тесты и наиболее удобен))) Тут в пору поговорка "Не учи отца e@@@@ся", хорошего вечера и прекрасного настроения, не принимай близко к сердцу)
Нет ты не понял. Вообще не понял.
 
А в чем, кстати прикол файла LBpass?
Да хз, я лично не особо вникал, мне там интересны чисто некоторые моменты которые хочу забрать себе. Как оно работает в общем и целом не особо интересно, точнее не нужно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
некоторые моменты которые хочу забрать себе
Да-да, сейчас бы у шкафчиков код копипастить.
 
Да-да, сейчас бы у шкафчиков код копипастить.
Че за шкафчики? не в теме. Копипастить вроде разумно, или надо все самому из принципа?
 
Да хз, я лично не особо вникал, мне там интересны чисто некоторые моменты которые хочу забрать себе. Как оно работает в общем и целом не особо интересно, точнее не нужно.
Да типа билд тот же нo запускать с префом "-pass "охулиард символов рандомных" поэтому я тоже не понял, какой это функционал дает
 
Переведи в гугл транслейте locker с английского на русский))
Да я в курсе =) Просто кривожопа хотел потролить.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
нo запускать с префом "-pass "охулиард символов рандомных" поэтому я тоже не понял, какой это функционал дает
Не знаю, как там у локбита; но вообще, подобная техника была у некоторых локеров. Суть в чем - допустим у вас есть шифровальщик, и вы не хотите его палить аверам (чтобы не задетектили) и конкурентам (чтобы не украли илитную матчасть). Но как это сделать? Адвертам как не говори, все равно есть человеческий фактор, да и аверы и "кеш" винды и т.д. никто не отменял. Поэтому, придумали такую технологию - софт (ЕХЕ или DLL) шифруется каким-то алгоритмом, размещается допустим в ресурсах или еще где. Пишется софт вида PE лоадер, который принимает на вход ключ, которым расшифровывает тело локера и запускает в памяти. Самого локера на диске нигде нет, а билд "криптора" если и попадет к АВ, то они его не запустят по понятным причинам. Да, некоторые вещи типа sysmon логирует запуск ехе с аргументами, и мб тут еще что-то было, но я знаю это так.
 
Не знаю, как там у локбита; но вообще, подобная техника была у некоторых локеров. Суть в чем - допустим у вас есть шифровальщик, и вы не хотите его палить аверам (чтобы не задетектили) и конкурентам (чтобы не украли илитную матчасть). Но как это сделать? Адвертам как не говори, все равно есть человеческий фактор, да и аверы и "кеш" винды и т.д. никто не отменял. Поэтому, придумали такую технологию - софт (ЕХЕ или DLL) шифруется каким-то алгоритмом, размещается допустим в ресурсах или еще где. Пишется софт вида PE лоадер, который принимает на вход ключ, которым расшифровывает тело локера и запускает в памяти. Самого локера на диске нигде нет, а билд "криптора" если и попадет к АВ, то они его не запустят по понятным причинам. Да, некоторые вещи типа sysmon логирует запуск ехе с аргументами, и мб тут еще что-то было, но я знаю это так.
Слепил билд ради интереса, там в текстовике, как раз и написано про то чтобы не палили код с билда и не оставляли на тачках.
Спасибо, интересная инфа про PE лоадер
 
Зацените приколюху
.text:008ABE2C ; int __stdcall Is_office_or_onenote(wchar_t *stringw)
.text:008ABE2C Is_office_or_onenote proc near ; CODE XREF: sub_8ABEF0+99?p
.text:008ABE2C
.text:008ABE2C var_18 = byte ptr -18h
.text:008ABE2C Str = dword ptr -8
.text:008ABE2C bstatus = dword ptr -4
.text:008ABE2C stringw = dword ptr 8
.text:008ABE2C
.text:008ABE2C push ebp
.text:008ABE2D mov ebp, esp
.text:008ABE2F add esp, 0FFFFFFE8h
.text:008ABE32 push ebx
.text:008ABE33 xor eax, eax
.text:008ABE35 mov [ebp+Str], eax
.text:008ABE38 inc eax
.text:008ABE39 mov [ebp+bstatus], eax
.text:008ABE3C xor ebx, ebx
.text:008ABE3E push 0 ; space_add
.text:008ABE40 push [ebp+stringw] ; Str
.text:008ABE43 call DupStrW_and_add_free_zero_space
.text:008ABE48 mov [ebp+Str], eax
.text:008ABE4B cmp [ebp+Str], 0
.text:008ABE4F jz loc_8ABED8
.text:008ABE55 push [ebp+Str] ; Str
.text:008ABE58 call _wcslwr
.text:008ABE5E add esp, 4
.text:008ABE61 lea ecx, [ebp+var_18]
.text:008ABE64 mov dword ptr [ecx], 0B79A4057h ; b'office'
.text:008ABE6A mov dword ptr [ecx+4], 0B795405Eh
.text:008ABE71 mov dword ptr [ecx+8], 0B799405Bh
.text:008ABE78 mov dword ptr [ecx+0Ch], 0B7FC4038h
.text:008ABE7F push 4
.text:008ABE81 push ecx
.text:008ABE82 call Decrypt_data00
.text:008ABE87 push ecx ; SubStr
.text:008ABE88 push [ebp+Str] ; Str
.text:008ABE8B call wcsstr
.text:008ABE91 add esp, 8
.text:008ABE94 mov ebx, eax
.text:008ABE96 lea ecx, [ebp+var_18]
.text:008ABE99 mov dword ptr [ecx], 0B7924057h ; b'onenote'
.text:008ABE9F mov dword ptr [ecx+4], 0B792405Dh
.text:008ABEA6 mov dword ptr [ecx+8], 0B7884057h
.text:008ABEAD mov dword ptr [ecx+0Ch], 0B7FC405Dh
.text:008ABEB4 push 4
.text:008ABEB6 push ecx
.text:008ABEB7 call Decrypt_data00
.text:008ABEBC push ecx ; SubStr
.text:008ABEBD push [ebp+Str] ; Str
.text:008ABEC0 call wcsstr
.text:008ABEC6 add esp, 8
.text:008ABEC9 test eax, eax
.text:008ABECB jnz short loc_8ABED8
.text:008ABECD test ebx, ebx
.text:008ABECF jnz short loc_8ABED8
.text:008ABED1 mov [ebp+bstatus], 0
.text:008ABED8
.text:008ABED8 loc_8ABED8: ; CODE XREF: Is_office_or_onenote+23?j
.text:008ABED8 ; Is_office_or_onenote+9F?j ...
.text:008ABED8 cmp [ebp+Str], 0
.text:008ABEDC jz short loc_8ABEE6
.text:008ABEDE push [ebp+Str] ; P
.text:008ABEE1 call _RtlFreeHeap
.text:008ABEE6
.text:008ABEE6 loc_8ABEE6: ; CODE XREF: Is_office_or_onenote+B0?j
.text:008ABEE6 mov eax, [ebp+bstatus]
.text:008ABEE9 pop ebx
.text:008ABEEA mov esp, ebp
.text:008ABEEC pop ebp
.text:008ABEED retn 4
.text:008ABEED Is_office_or_onenote endp
Это все место получить из строки хеш для нижнего регистра и сравнить с хешем для office и onenote.
 
Статус
Закрыто для дальнейших ответов.
Верх