某木马分析-02

序言

接着上回分析,这回分析释放出来的EXE文件.

功能

设置服务名对应的处理函数.

函数分析

    1. 0x401D00
GetModuleFileNameA(hModule, &Filename, 0x104u); //获取执行文件路径
v2 = CreateFileA(&Filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL); // 
...
 SetFilePointer(v2, -4500, 0, 2u);           // 移动至距文件尾4500字节位置
 v5 = operator new(4500u);
 ReadFile(v3, v5, 4500u, &NumberOfBytesRead, 0);
 CloseHandle(v3);
 v6 = sub_401C90((int)v5, (const char *)a2, 4500, 0); //查找字符串"LOADER"所在的位置, 主要获取"LOADER"后面的内容,即"X6Remote"
    1. 0x401030
/*
 * 别看这个函数很复杂, 但用上得只有很少一部分, 参数传进去, 功能相当于将字符串开头的空格
 * 剔除
 */
 sub_401030(HKEY_LOCAL_MACHINE, &SubKey, ValueName, 1u, String, 0, v5, 0);// URL, String = AAAAAA/87xz6eIiIuLp+TL/LOPiYmJiZk=
  v6 = lstrlenA(byte_404218);
  sub_401030(HKEY_LOCAL_MACHINE, &SubKey, aDll_name, 1u, byte_404218, 0, v6, 0);// return 0, byte_404218 = xxxxxx.dll
    1. 服务处理函数0x401990
/*
 * CreateThread(0, 0, (LPTHREAD_START_ROUTINE)StartAddress, 0, 0, v2);
 */
 ---------------------------StartAddress Start-------------------------------------
  SHGetSpecialFolderPathA(0, &pszPath, 38, 0); //获取"C:\Program Files"
  GetModuleFileNameA(0, &Filename, 0x104u);    // 获取当前可执行文件的路径
  PathStripPath(&Filename, &v17, &String2, &v16);//0x401EF0 相当于Windows API PathStripPath, 将路径去除, 文件赋给String2.
  ...
while (1){
    Sleep(0x64u);
    if ( FindSpecifiedProcess(&DSMain.exe) )    // DSMain.exe, 360的实时监控程序, 出现DSMain.exe, 就会将当前文件移至C:\Program Files文件夹下.
      break;
    Sleep(0xBB8u);
  }
-----------------------------StartAddress End--------------------------------------

执行DLL代码

 wsprintfA(&CmdLine, aRundll32SCodem, byte_404218);// rundll32  xxxxxx.dll,CodeMain
 VersionInformation.dwOSVersionInfoSize = 0x94;
 GetVersionExA(&VersionInformation);
 if ( VersionInformation.dwMajorVersion >= 6 ) // win10
        sub_401670(&CmdLine);				// Windows 10, Windows 2016
  else
        WinExec(&CmdLine, 0);				//Windows XP, Windows 7, Windows 8, Windows 8.1
    1. 0x401670
/*
 * Windows 10 执行rundll32需要管理员权限.
 */
 .......待续

总结

这个EXE就是要执行DLL中的CodeMain函数, 服务中的URL项应该是个域名, 只不过是被加密的.

链接

IDB数据库下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值