吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13192|回复: 40
收起左侧

[PC样本分析] 一个感染性病毒的分析

  [复制链接]
Assassin_ 发表于 2020-5-8 16:08
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 Assassin_ 于 2020-5-8 16:25 编辑

一个感染性病毒的分析

前言

本人功法尚浅,如果有分析错误或者描述错误的地方,还请指正。

基本信息

基本信息

文件名称 3D Pinball
MD5 e3de42be0f6b1d0c9dac45bfaf23a3e4
SHA256 f6cb28c646c0dafbd34baad35390cd0972879c5d82047da44c47443606bc282c
大小 512.50 KB (524800 bytes)
类型 Win32 EXE
CPU(32/64) 32
作用(下载/释放)
打包/编译语言
编译/保存日期 2008-10-16 19:14:58
dll 导出函数
pdb pinball.pdb

image-20200421105916853.png

静态分析

利用IDA查看并不能看出什么有价值的信息,不过通过字符串搜索可以搜索出一些字符串,暂不知道作用,根据反汇编代码应该被加密

image-20200421112927862.png

动态分析

动态调试

利用fs段查找Kernel基址

image-20200421131959091.png

根据API名称获取指定API,VirtualProtect

image-20200421113124448.png

修改内存属性,不过可以看到,该样本并没有提前申请空间而是在资源节中进行占位,提前申请了多余的空间进行后边的代码解密,我们可以看到修改内存属性为可读可写可执行

image-20200421113308349.png

对比一下节表和内存布局,可以看到确实是多申请了空间

1588847980080.png

之后进行异或解密,代码进行简单的xor解密,分为两段,总大小为00011ADC+000026E0

image-20200421113422708.png

解密之后在解密重定位表,然后对代码进行重定位 ,我们可以看到重定位的基址在0x01860000而不是该模块基址0x01000000

image-20200421141527176.png

重定位完成之后,利用push\ret方法跳转到解密后代码

image-20200421141754867.png

对API进行Hash,获取相应API,分别为GetEnvironmentStringsA、   GetModuleHandle、GetSystemDirectoryA,该样本都是采用该种方式进行API。

image-20200421153613168.png

创建线程

image-20200421160738153.png

我们先略过线程,向下分析,看到对程序入口点进行内存属性修改

image-20200421160910916.png

修改入口代码

image-20200421161123313.png

利用jmp直接跳回原代码入口点,发现此时代码为真正的正常软件的代码

image-20200421163053305.png

我们回到之前创建的线程进行分析

解密字符串

image-20200421164701440.png

利用GetProAddress获取API地址

image-20200421164816290.png

之后加载库"advapi32.dll"、"sfc_os.dll"、"sfc.dll"、"Shell32.dll"、"user32.dll"、"ole32.dll"、"crtdll.dll"等并获取相应的API

image-20200421165140070.png

创建字符串、并尝试打开文件C:\Windows\system32\gazv-mx-dis37,如果存在,直接退出

image-20200421170206063.png

image-20200421170326278.png

然后进入一个函数,该函数包括

当前用户名并查看是否包含“ SERVICE”或“ SYSTEM”字符串

1588903273053.png

比较用户名是否存在计算机名称中

1588903446156.png

比较系统环境变量是否存在"systemprofile"和"ervice"字符串

1588903592703.png

如果以上几种情况不存在,则尝试打开互斥体"kkq-vx_mtx",如果已经存在该互斥体则直接退出否则

image-20200421175404074.png

创建互斥体kkq-vx_mtx1

image-20200421180125032.png

注册名为kkq-vx的窗口函数

image-20200421180629657.png

尝试打开互斥体gazavat-svc,若存在结束线程

image-20200421180533891.png

设置DACL和和所有者

1588904912272.png

设置SeTakeOwnershipPrivilege权限,使其对当前系统任意文件具有写权限

image-20200421183128599.png

解密一些反病毒服务和更新服务

1587518791598.png

然后就开始系统服务感染

遍历服务,获取服务信息,我们可以看一下获取信息的结构体

typedef struct _QUERY_SERVICE_CONFIG {
    DWORD dwServiceType;
    DWORD dwStartType;
    DWORD dwErrorControl;
    LPTSTR lpBinaryPathName;
    LPTSTR lpLoadOrderGroup;
    DWORD dwTagId;
    LPTSTR lpDependencies;
    LPTSTR lpServiceStartName;
    LPTSTR lpDisplayName;
} QUERY_SERVICE_CONFIG, LPQUERY_SERVICE_CONFIG; 

可以看到服务类型,启动类型,程序路径,服务名称 等

1588905518322.png

比较是否为exe文件 ,如果不是exe文件则直接跳过,否则继续执行

如果存在以下svchost.exe\rundll32.exe\consent.exe\rsvp.exe\chrome.exe字符串,则直接跳过

1588908432512.png

修改过程为读取服务文件,进行处理,然后将添加了恶意代码的内存数据写入临时文件,利用copy直接覆盖文件完成替换

1587523984844.png

修改配置文件为自启动

1588908113151.png

如果为之前解密的反病毒服务或者更新服务,直接修改为DISABLE

1588908853122.png

可以看到原文件和注入后的文件相差很大

1587524338714.png

文件感染,利用FindFirstFile和FindNextFile循环遍历,进行感染,不在详述

1587525503194.png

1587525907604.png

之后创建两个线程

一个线程对文件进行追踪,以确保全部文件感染

1587527048729.png

第二个:

收集计算机信息,并利用WMI "SELECT FROM Win32_Processor"、"SELECT FROM Win32_BaseBoard"、"SELECT FROM Win32_DiskDrive"、"SELECT FROM Win32_ComputerSystemProduct"进行信息查询

1587534553649.png

然后寻找%ProgramDate%目录下的.dat文件

1587534697311.png

读取该文件,申请空间等操作,再次猜测他为执行内存执行代码

1588914049382.png

1588914085438.png

此时我们发现该文件并没有网络操作如何进行文件传输和执行呢。

之前我们错开了一个跳转,即三种情况的那个若存在以上任意一种情况,执行下边的函数,所以我们分析那个函数

1587538006630.png

创建gazavat-svc互斥体

1587538272542.png

这里和之前的相同的操作就不重复了,如对服务的注入,只说以下不同操作

隐藏操作中心图标

1587538656141.png

绕过Windows安全中心

1588915611372.png

关闭筛选器

1587539552013.png

之后还有五个线程

功能分别为

  1. 遍历注册表,安装或者卸载指定软件

1588918227396.png

  1. 监视文件,进行注入与之前的线程相同

  2. 查讯信息,读取执行%ProgramDate%目录下的.dat文件与之前的线程相同

  3. 关闭安全相关服务

1588918417879.png

  1. 遍历进程,尝试结束杀软进程

1587544626805.png

以上就是五个线程的基本分析,之后还有最后一个函数

解密域名

1587545131051.png

最后进行连接,接收数据,写入文件等操作

1587545251912.png

以上,基本流程算是分析完毕,此致,敬礼。

附件:
密码:www.52pojie.cn
vir.7z (298.13 KB, 下载次数: 84)

免费评分

参与人数 15威望 +2 吾爱币 +114 热心值 +14 收起 理由
MUMUAA + 1 + 1 热心回复!
温柔的一哥 + 1 + 1 用心讨论,共获提升!
Hslim + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rainbo56 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yangfeng2942800 + 1 我很赞同!
Jerry_bean + 1 + 1 用心讨论,共获提升!
gaosld + 1 + 1 热心回复!
Re:me + 1 + 1 用心讨论,共获提升!
solly + 3 + 1 用心讨论,共获提升!
Peppermint + 1 我很赞同!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Psyber + 1 谢谢@Thanks!
小妖不吃象 + 1 + 1 我很赞同!
kk52140 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lmxhn 发表于 2020-5-9 09:31
感染 性病毒……哈哈
caller1 发表于 2020-5-8 19:26
lishun2233 发表于 2020-5-9 08:13
小妖不吃象 发表于 2020-5-8 18:34
看看,刚学不是很能看得懂。
zhangdexi 发表于 2020-5-8 18:51
看成性感的病毒了
完美的荷包蛋 发表于 2020-5-8 21:18
感谢分享
alittlebear 发表于 2020-5-8 22:01
一个感染 性病毒 的分析。。。
Hwj626 发表于 2020-5-9 09:54
zhangdexi 发表于 2020-5-8 18:51
看成性感的病毒了

哈哈哈哈,太强了,我也是
523067000 发表于 2020-5-9 12:32

厉害啊!这么好的东西!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 12:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表