木马病毒怎么回事?带你深度分析了解木马病毒!

11.jpeg

一、病毒简介

SHA256:3110f00c1c48bbba24931042657a21c55e9a07d2ef315c2eae0a422234623194

MD5:ae986dd436082fb9a7fec397c8b6e717

SHA1:31a0168eb814b0d0753f88f6a766c04512b6ef03

22.jpeg

二、行为分析

老套路,火绒剑监控:

1.png

这边可以看见创建了一个exe,又为他设置了注册表自启动;

2.png

这里是进行网络链接操作,同时不断获取信息保存文件到本地,这是请求的信息:

general-second.org-help.com/dl_ex1.png?m=000C29AB634E&NOTE=Ni4xIDogMC4wfDV8djEuMAo=

通过微步云沙箱在线进行扫描,结果如下:


3.png

三、静态分析

首先查查壳,这里并没有加壳,导入表信息更多是和网络操作有关的函数:

4.png

直接拖到IDA分析:

5.png

开局创建互斥体防多开,检测之后就到了关键else中:

6.png

3.1 sub_4011E0

7.png

这里是解密函数名和模块名,随后进行加载,获取地址,那么对于这种情况没有比动态调试更简单的方法了:

8.png

那么解密后的结果如下,根据这些函数也大致知道这个木马做了些什么事:

9.png

3.2 sub_403600

10.png

查看此函数获取路径:

11.png
12.png

那么此函数就是获取应用程序路径,继续向下看:

13.png

显而易见,这里是查看当前程序路径,如果不是自己拷贝的路径,就自我拷贝,然后在注册表设置自启动,运行成功弹窗。

3.3 sub_401580

GetAdaptersInfo:

Next

类型: 结构_IP_ADAPTER_INFO*

指向适配器列表中的下一个适配器的指针。

ComboIndex

类型:DWORD

保留。

AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]

类型: char[MAX_ADAPTER_NAME_LENGTH + 4]

适配器名称的 ANSI 字符串。

Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]

类型: char[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]

包含适配器说明的 ANSI 字符串。

AddressLength

类型: UINT

适配器的硬件地址的长度(以字节为单位)。

Address[MAX_ADAPTER_ADDRESS_LENGTH]

类型: BYTE[MAX_ADAPTER_ADDRESS_LENGTH]

表示为 BYTE 数组的适配器的硬件地址。

Index

类型:DWORD

适配器索引。

当禁用并启用适配器或在其他情况下,适配器索引可能会更改,不应被视为持久性。

Type

类型: UINT

适配器类型。 适配器类型的可能值列在 Ipifcons.h 头文件中。

下表列出了适配器类型的常见值,尽管 Windows Vista 及更高版本上可能提供其他值。

Value 含义
MIB_IF_TYPE_OTHER
1
其他类型的网络接口。
MIB_IF_TYPE_ETHERNET
6
以太网网络接口。
IF_TYPE_ISO88025_TOKENRING
9
MIB_IF_TYPE_TOKENRING
MIB_IF_TYPE_PPP
23
PPP 网络接口。
MIB_IF_TYPE_LOOPBACK
24
软件环回网络接口。
MIB_IF_TYPE_SLIP
28
ATM 网络接口。
IF_TYPE_IEEE80211
71
IEEE 802.11 无线网络接口。
注意 此适配器类型在 Windows Vista 及更高版本上返回。 在 Windows Server 2003 和 Windows XP 上,IEEE 802.11 无线网络接口返回 MIB_IF_TYPE_ETHERNET的适配器类型。

DhcpEnabled

类型: UINT

一个选项值,该值指定是否为此适配器启用动态主机配置协议 (DHCP) 。

CurrentIpAddress

类型: PIP_ADDR_STRING

保留。

IpAddressList

类型: IP_ADDR_STRING

与此适配器关联的 IPv4 地址列表表示为 IP_ADDR_STRING 结构的链接列表。 适配器可以分配多个 IPv4 地址。

GatewayList

类型: IP_ADDR_STRING

此适配器的网关的 IPv4 地址,表示为 IP_ADDR_STRING 结构的链接列表。 适配器可以分配多个 IPv4 网关地址。 此列表通常包含此适配器的默认网关的 IPv4 地址的单个条目。

DhcpServer

类型: IP_ADDR_STRING

此适配器的 DHCP 服务器的 IPv4 地址,表示为 IP_ADDR_STRING 结构的链接列表。 此列表包含此适配器的 DHCP 服务器的 IPv4 地址的单个条目。 值为 255.255.255.255 表示无法访问 DHCP 服务器,或者正在达到。

仅当 DhcpEnabled 成员为非零时,此成员才有效。

HaveWins

类型: BOOL

一个选项值,该值指定此适配器是否使用 Windows Internet 名称服务 (WINS) 。

PrimaryWinsServer

类型: IP_ADDR_STRING

主 WINS 服务器的 IPv4 地址,表示为 IP_ADDR_STRING 结构的链接列表。 此列表包含此适配器的主 WINS 服务器 IPv4 地址的单个条目。

仅当 HaveWins 成员为 TRUE 时,此成员才有效。

SecondaryWinsServer

类型: IP_ADDR_STRING

辅助 WINS 服务器的 IPv4 地址表示为 IP_ADDR_STRING 结构的链接列表。 适配器可以分配多个辅助 WINS 服务器地址。

仅当 HaveWins 成员为 TRUE 时,此成员才有效。

LeaseObtained

类型: time_t

获取当前 DHCP 租约的时间。

仅当 DhcpEnabled 成员为非零时,此成员才有效。

LeaseExpires

类型: time_t

当前 DHCP 租约过期的时间。

仅当 DhcpEnabled 成员为非零时,此成员才有效。

14.png

那么这里就是获取主机的相关信息,根据后面格式化字符串可推测这里是获取网卡相关信息。

3.4 sub_401770

15.png

3.5 sub_402790

16.png

3.6 CreateThread

17.png
18.png

这里进入402520函数,里面有个关键函数402A50:

19.png

继续向下就是修改自启动注册表和屏保有关的注册表,拼接请求命令,通过cmd执行:

20.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (第七周作业) 1、100.0.0.16/28对应网段的网关地址、广播地址、可分配IP地址范围已知IP地址为100...
    haoxi2018阅读 5,791评论 0 0
  • 安全的基本要素 1,机密性 2,完整性 3,可用性 4,可控性 5,可审查性 海明码距是两个码字中不相同的二进制位...
    styxx阅读 3,345评论 0 0
  • 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显...
    Andy_8d42阅读 2,394评论 0 0
  • 作业要求: 必做 1、编程获取网卡信息 选做 2、编程实现IPv4相关信息的设置  3、编程实现功能开关 本次作业...
    小兵12138阅读 4,617评论 0 0
  • 概述 本文档旨在解疑Linux操作系统对网络设备命名过程以及提供网络设备命名故障排除方法。本文档仅适用于Redha...
    小蜗牛1218阅读 5,702评论 0 0

友情链接更多精彩内容