SHA1:3670e86d024ccecc39c2a237d550b2ce7e7d95b1

版权声明:本文为博主原创文章, 未经博主允许, 可随意转载. https://blog.csdn.net/cqu20124793/article/details/82465931

一个避免启发式扫描的方式

  bj_sub_403140_registerclass(hInstance);       
  if ( bj_sub_4031A0_createwindow(hInstance, nShowCmd) )
  {
    v4 = CreateThread(0, 0, StartAddress, 0, 0, 0);
    if ( v4 )
    {
      MessageBoxA(0, Text, 0, 0x1000u);
      TerminateThread(v4, 0xFFFFFFFF);
      goto normal; //去正常执行代码
    }
  }
ATOM __cdecl bj_sub_403140_registerclass(HINSTANCE a1)
{
  WNDCLASSEXA v2; // [esp+0h] [ebp-30h]

  v2.cbSize = 48;
  v2.style = 3;
  v2.lpfnWndProc = sub_403120;
  v2.cbClsExtra = 0;
  v2.cbWndExtra = 0;
  v2.hInstance = a1;
  v2.hIcon = 0;
  v2.hCursor = 0;
  v2.hbrBackground = 6;
  v2.lpszMenuName = 0;
  v2.lpszClassName = ClassName;
  v2.hIconSm = 0;
  return RegisterClassExA(&v2);
}
LRESULT __stdcall sub_403120(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
  return DefWindowProcA(hWnd, Msg, wParam, lParam);
}
HWND __cdecl bj_sub_4031A0_createwindow(HINSTANCE hInstance, int nCmdShow)
{
  HWND result; // eax

  dword_473E60 = hInstance;
  result = CreateWindowExA(0x80u, ClassName, WindowName, 0xCF0000u, -500, -500, 10, 10, 0, 0, hInstance, 0);
  hWnd = result;
  if ( result )
  {
    ShowWindow(result, nCmdShow);
    UpdateWindow(hWnd);
    result = 1;
  }
  return result;
}
void __stdcall __noreturn StartAddress(LPVOID lpThreadParameter)
{
  while ( 1 )
  {
    keybd_event(VK_ESCAPE, 0, 0, 0);
    Sleep(1u);
  }
}

一些密码hash收集方式

sub_40C470里, 包括:
• Cached passwords from Internet Explorer 6/7/8/9 (Protected Storage and
IntelliForms)
• Mozilla Firefox stored secrets (<12.0)
• Chrome stored secrets
• MS Outlook Express accounts
• MS Windows Mail accounts
• MS Windows Live Mail accounts
• MS Outlook accounts (SMTP/IMAP/POP3/HTTP)
• MSN Messenger
• Gmail Notifer credentials
• Google Desktop accounts
• Google Talk accounts

感想

病毒的功能:

  1. 基本的功能, 注册表操作,文件遍历, 进程操作, 线程操作, 网络操作等, 熟悉基本API即可, 高级一点的会调native函数. 驱动另说.
  2. 包含收集其他软件信息的功能, 这部分代码初看难看懂, 不过通过运行过程中的相应字符串可以确定对应的软件名, 那么相应的具体操作方式可以放着再研究.

    对于第一点中, 注册表操作了之后, 效用是什么, 跟2类似.
    对于第一点中网络操作发包的效用是什么, 有时可能会有认识困难, 如果是普通的与CC服务器交流, 那没什么. 如果是类似永恒之蓝那样的漏洞溢出包, 那么就可以知道肯定与目标机器的445端口有关. 不过大多数黑客会整个重用工具包代码, 所以代码相似性比较也能用于确认.
    对于第一点中, 有时一个普通的API调用, 可能触发别的进程代码执行, 这种情况若无背景知识也难理解, 得调试才知道为什么. 例如EWMI方式注入Explorer进程.

猜你喜欢

转载自blog.csdn.net/cqu20124793/article/details/82465931