Pykspa蠕虫样本分析

事件概述


Pykspa(也称为Pykse、Skyper或SkypeBot)是一种通过 Skype 传播的蠕虫。基于山石网科智源情报系统视野,我们发现国内存在多家国内企业疑似受到Pykspa蠕虫感染。本次我们将围绕Pykspa相关样本展开详细分析。

Pykspa蠕虫样本分析


详细分析


本次分析的恶意样本执行主要分为两个阶段执行,在程序启动时,会通过输入的命令行判断当前程序执行处于哪个阶段:

01

检测阶段

在首次启动时,执行时参数为空,程序处于检测阶段,使用多种方式来检测或者绕过安全扫描以确保程序流程得以安全执行。

  • 判断操作系统环境:
1. 通过VER_PLATFORM_WIN32_NT标识符检测当前是否为NT操作系统,若不为NT操作系统则退出程序。
Pykspa蠕虫样本分析
2. 通过GetSystemMetrics函数判断操作系统开机状态,若为非正常开机,则重启操作系统。
Pykspa蠕虫样本分析
  • 关闭UAC:

修改注册表
SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemEnableLUA
以关闭UAC
  • 检测虚拟环境:
使用汇编指令vpcext 7, 0Bh来判断当前程序是否运行在虚拟环境。
Pykspa蠕虫样本分析
  • 创建互斥量以确保程序不重复运行

  • 持久化

– 将自身文件复制到%temp%、windows、system32等文件夹下。
– 通过注册表将上述文件夹下的文件路径设置为开机启动
SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon
SOFTWAREMicrosoftWindowsCurrentVersionRun
SOFTWAREMicrosoftWindowsCurrentVersionRunOnce
SOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorerRun```
  • 混淆文件:

通过上述检测后,程序将在路径“%temp%vahoy.exe”创建文件,将自身前0x2ea20个字节写入该文件,往后填入随机垃圾数据,以修改自身hash。
Pykspa蠕虫样本分析

最终执行vahoy.exe,使用参数0x22,0x2d,0x22。

02

功能执行阶段

在通过检测阶段后,检测到启动参数0x22,0x2d,0x22时,则进入功能执行阶段。在该阶段创建多个线程来完成程序的主要功能,功能如下:

  • 创建线程检测鼠标是否移动,周期为1s,若不移动,则计数加一。
Pykspa蠕虫样本分析
  • 删除System Volume Information目录下的文件,破坏系统还原信息。周期为4个小时。首次执行事件为线程建立10分钟后。
Pykspa蠕虫样本分析
  • 禁用处于全局列表ServiceNameList中相关的服务和并隐藏相关窗口。该列表可通过指令“da”进行修改
Pykspa蠕虫样本分析
  • 多个IP查询网站中随机选取一个进行查询,获取失陷设备的外部IP。
  • 与以下网站列表随机进行连接,用以获取当前日期CurDate,并且获取使用GetTickCount获取当前系统运行时间戳LogTickCount。
//www.google.com
//www.facebook.com
//www.myspace.com
//www.youtube.com
//www.yahoo.com
//www.wikipedia.org
//www.blogger.com
//www.adobe.com
//www.bbc.co.uk
//www.imdb.com
//www.baidu.com
//www.ebay.com
后续使用以下函数计算用以校准进程中时间。
Pykspa蠕虫样本分析
  • 记录按键信息,写入“.ylp”文件中。
  • 使用域生成算法DGA生成域名,以试图与域名服务器进行连接。
  • 扫描“C:Program Files (x86)”下的文件,重命名文件,并将文件设置为隐藏。
  • 遍历磁盘中的rar后缀的压缩文件,将自身添加到压缩文件中。
  • 遍历磁盘中的文件信息,复制到%temp%gmucnttajselr文件夹,打包压缩。文件后缀列表如下:
".doc"
".jpg"
".jpeg"
".rtf"
".gif"
".ppt"
".xls"
".bmp"
".3gp"
".txt"
Pykspa蠕虫样本分析
  • 查看445端口是否打开,扫描共享资源,将自身文件数据覆盖到以下几种后缀的文件中。
"rar"
"bat"
"pif"
"exe"
"scr"
  • 发送带有链接的信息给Skype、twitter的联系人,试图诱导目标下载并执行Pykspa。

03

命令与控制

与远端服务器连接后,使用以下指令与服务器进行连接。

指令

功能简要介绍

dw

从远端服务器下载文件到本地,并执行,大小限定为10MB以内

dws

从远端服务器下载文件到本地,并执行,文件大小限定为3MB以内

up

无功能

kill911

退出当前进程

cm

以指定参数执行进程。

sl

程序休眠指定时间

sc

上传粘贴板中的数据

rr

强制关闭操作系统,然后重启操作系统

hd

与指定网络服务器进行连接。

ds

将两个flag置为0,用于中断其他指令发出的网络连接。

hdz

向指定邮件服务器发送邮件

hh

向指定文件的尾部写入数据。

da

修改程序内配置ServiceNameList,指定需要关闭的服务名称

dr

将配置ServiceNameList中的字符串更替为小写。

di

将杀毒引擎等安全引擎相关服务写入配置ServiceNameList

ccd

下发数据文件到SYSTEM、PROGRAM_FILES、APPDATA、Windows目录下。

ccra

清空“ccd”指令中的数据缓存。

fd 1

递归获取指定路径下的文件,使用随机字符覆盖文件数据

fd 0

递归获取指定路径下的文件,删除所有文件信息

ff

取消隐藏文件的休眠时间,提高扫描并隐藏文件的效率。

fdf

将隐藏的文件复原。

rf

设置flag,开始遍历文件夹中的rar压缩文件,将temp目录下的“scoapzimzh.exe”添加到rar压缩文件中。

inwv

从指定服务器下载文件到本地%temp%目录下,并执行“rrbr”指令,扫描设备上的共享资源,使用自身文件数据覆盖文件内容。

rrbr

扫描设备中的图像文件,并压缩文件到%temp%目录下

gss

从服务器下载文件到本地命名为“btlc.dat”

set

根据指令修改所有指令配置


处置建议


山石网科智源智能安全运营平台(后称“智源”)在检测到此病毒样本触发的威胁日志后,经过引擎研判后触发对应的威胁事件展示在事件清单模块。
智源内置场景分类,可将涉嫌挖矿的威胁事件集中展示在挖矿专项模块。用户可在挖矿转项模块看到关联上述威胁事件的受害资产,以及网络中不同阶段的挖矿受害资产分布情况。资产维度切入后,可查看具体病毒文件的哈希值,CC域名等关键信息,可快速跳转在线溯源在情报中心进行情报查询,为研判提供情报证据。同时提供资产详情信息,包括资产当前CPU利用率、内存占用比、进程账户等关键信息,用户可以直接下发杀毒任务对资产进行处置。
对资产初步处置后,可对相关IP做攻击/受害溯源,还原IP的攻击轨迹,从攻击受害视角做统一的处置。

关于山石网科情报中心


山石网科情报中心,涵盖威胁情报狩猎运维和入侵检测与防御团队。 山石网科情报中心专注于保护数字世界的安全。以情报狩猎、攻击溯源和威胁分析为核心,团队致力于预防潜在攻击、应对安全事件。山石网科情报中心汇集网络安全、计算机科学、数据分析等专家,多学科融合确保全面的威胁分析。我们积极创新,采用新工具和技术提升分析效率。团队协同合作,分享信息与见解,追求卓越,为客户保驾护航。无论是防范未来威胁还是应对当下攻击,我们努力确保数字世界安全稳定。其中山石网科网络入侵检测防御系统,是山石网科公司结合多年应用安全的攻防理论和应急响应实践经验积累的基础上自主研发完成,满足各类法律法规如 PCI、等级保护、企业内部控制规范等要求。

原文始发于微信公众号(山石网科安全技术研究院):Pykspa蠕虫样本分析

版权声明:admin 发表于 2024年1月23日 下午4:00。
转载请注明:Pykspa蠕虫样本分析 | CTF导航

相关文章