一、病毒简介
SHA256:3110f00c1c48bbba24931042657a21c55e9a07d2ef315c2eae0a422234623194
 MD5:ae986dd436082fb9a7fec397c8b6e717
 SHA1:31a0168eb814b0d0753f88f6a766c04512b6ef03


二、行为分析
老套路,火绒剑监控:


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


这里是进行网络链接操作,同时不断获取信息保存文件到本地,这是请求的信息:
general-second.org-help.com/dl_ex1.png?m=000C29AB634E&NOTE=Ni4xIDogMC4wfDV8djEuMAo=
通过微步云沙箱在线进行扫描,结果如下:


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


直接拖到IDA分析:


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


3.1 sub_4011E0


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


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


3.2 sub_403600


查看此函数获取路径:


 

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


显而易见,这里是查看当前程序路径,如果不是自己拷贝的路径,就自我拷贝,然后在注册表设置自启动,运行成功弹窗。
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 成员为非零时,此成员才有效。


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


3.5 sub_402790


3.6 CreateThread


 

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


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






![[数据集][目标检测]遛狗不牵绳数据集VOC格式-1980张](https://i0.hdslb.com/bfs/archive/b218ed1884b250be57b2ee3ae09d26814eb427c8.jpg@100w_100h_1c.png@57w_57h_1c.png)
















