千家信息网

spora分析过程的产生的部分笔记

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,更详细的报告见360的分析:http://bobao.360.cn/learning/detail/3453.html注:好坑爹,截了一堆图,貌似太多,传不上去。。。。。只能放文字了。。一、获取系统版
千家信息网最后更新 2024年12月12日spora分析过程的产生的部分笔记

更详细的报告见360的分析:http://bobao.360.cn/learning/detail/3453.html

注:好坑爹,截了一堆图,貌似太多,传不上去。。。。。

只能放文字了。。

一、获取系统版本信息

1 通过GetFIleVersionInfoSizeW(),GetFileVersionInfo(),VerQueryValuew()配合使用

获取文件属性的信息。主要由VerQueryValuew()第二个人参数设置取出

关于第二个参数:

样本所指定参数为"//"

所以取出VS_FIXEDFILEINFO结构

二、获取卷标信息,保存备以后作为加密秘钥使用

通过GetVolumeInfomationw

三、GetProAddress()获取RtlComputeCrc32和memset,memcpy三个函数的地址

四、获取命令行,判断是否携带"/u"启动,判断是否创建互斥量,如果存在则结束。如果不存在则创建

五、如果带参数/u 启动则执行系列工作

1 利用wmic删除卷副影像,禁用开机自动修复

命令解释:

cmd.exe /c vssadmin.exe delete shadows /all /quiet

以上命令执行后系统所有还原点清除

bcdedit.exe /set {" "default} recoveryenabled no

bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures\"

以上命令禁止开机启动修复

2. 删除注册表键值IsShortcut,使普通应用程序和数据文件快捷方式的小箭头不显示

isShortcut使用说明

六、 CreateStreamOnHGlobal函数从指定内存创建流对象。创建成功后获取驱动器个数,遍历驱动器

使用GetLogicalDrives(),获取系统存在的逻辑盘符,这个结构中的二进制位标志着存在哪些驱动器。

其中,位0设为1表示驱动器A:存在于系统中;位1设为1表示存在B:驱动器;以次类推。

GetDriveTypew()获取逻辑盘类型,下图为类型说明。

获取得到的驱动器类型作为下一个函数的第二个参数传入

判断如果驱动器类型值为2或3则进行下一步操作,即移动存储硬盘和不可移动存储介质。

七、过滤目录和指定文件夹

指定过滤的文件夹windows,progra files ,program files (x86),games

八、过滤需要加密的文件类型

涉及的文件格式有22种

九、CryptAcquireContextW()获取csp容器,全局存放地址;405EB0,获取成功则解密一个key:00405EA8

并导入了解密的key

十、加密文件

十一、通过删除:Zone.Identifier文件,清理网络第三方下载的元数据标记。防止被系统不信任文件作出警告。

遍历磁盘文件

利用硬盘序列号计算CRC32值

获取卷盘序列号

生成系统文件夹快捷方式

/c explorer.exe \"%s\" & type \"%s\" > \"%%tmp%%\\%s\" & start \"%s\" \"%%tmp%%\\%s\""

利用WNetOpenEnumW,WNetEnumResourcew横向移动。遍历网络资源。

使用SHChangeNotiy通知系统更新文件关联信息。

退出程序


http://blog.csdn.net/wowolook/article/details/8263001

WINSHELLAPI void WINAPI SHChangeNotify(
LONG wEventID, //指定事件类型
UINT uFlags, //确定dwItem1和dwItem2作的标志
LPCVOID dwItem1,
LPCVOID dwItem2
);
1.wEventId的取值如下:
SHCNE_ASSOCCHANGED:修改文件关联
SHCNE_ATTRIBUTES:改变文件属性
SHCNE_CREATE:创建新文件
SHCNE_DELETE:删除文件
SHCNE_DRIVEADD:增加网络驱动器
SHCNE_DRIVEADDGUI:通过GUI增加网络驱动器
SHCNE_DRIVEREMOVED:卸载网络驱动器
SHCNE_INTERRUPT:将事件作为系统中断执行。
SHCNE_MEDIAINSERTED:安装可卸载媒体,如CD-ROM
SHCNE_MEDIAREMOVED:卸载可卸载媒体,如CD-ROM
SHCNE_MKDIR:新建目录
SHCNE_NETSHARE:网络上共享资源
SHCNE_NETUNSHARE:网络上停止共享资源
SHCNE_RENAMEFOLDER:文件夹改名
SHCNE_RENAMEITEM:文件夹中某项改名
SHCNE_RMDIR:删除目录
SHCNE_SERVERDISCONNECT:与网络服务器断开链接
SHCNE_UPDATEDIR:更新目录信息
SHCNE_UPDATEIMAGE:改变系统全局图像列表中的一个图像
SHCNE_UPDATEITEM:改变打印机或文件的列表
3.该函数没有返回值。
2.uFlags的取值如下:
SHCNF_DWORD: dwItem1和dwItem2是DWORD类型值。
SHCNF_FLUSH:清空系统事件缓冲区,系统处理完给定的事件后才返回
SHCNF_FLUSHNOWAIT:清空系统事件缓冲区,立即返回
SHCNF_IDLIST:dwItem1和dwItem2为项目标识符列表的地址
SHCNF_PATH:dwItem1和dwItem2为路径地址
SHCNF_PRINTER:dwItem1和dwItem2为友好打印机名


无命令行启动下。

1 获取句柄和CSP容器,解密硬编码数据其中AESkey

2 将key写入文件

3 查找文件,网络资源

4 打开勒索网页

5 获取权限删除卷副影像和快捷方式图标,权限不够时,使用cmd rundas

6 生成HTML文件copy到其他目录

0012FEE8 0018F078 UNICODE "\CH04F-A3AHT-XFTZT-OTFFT-HAYYY.HTML"

在许多应用中,一个CSIDL可以与下面的标识之一进行组合使用:

CSIDL_FLAG_CREATE($8000)

windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹!.

CSIDL_FLAG_DONT_VERIFY($4000)

WINDOWS 2000: 无论这个CSIDL所引用的文件夹是否存在都使用它!

CSIDL_ADMINTOOLS($30)

表示当前用户的"管理工具"系统文件夹

CSIDL_ALTSTARTUP($h2D)

不详

CSIDL_APPDATA($1A)

表示当前用户的特定的应用程序数据存储文件夹,例如:C:\Documents and Settings\username\Application Data

CSIDL_BITBUCKET($A)

表示回收站

CSIDL_COMMON_ADMINTOOLS($2F)

表示所有用户的"管理工具"系统文件夹

CSIDL_COMMON_ALTSTARTUP($1D)

表示所有用户的 (只支持WINDOWS NT 系统)

CSIDL_COMMON_APPDATA($23)

表示所有用户的特定的应用程序数据存储文件夹,例如:C:\Documents and Settings\All Users\Application Data

CSIDL_COMMON_DESKTOPDIRECTORY($19)

表示所有用户的"桌面"文件夹,例如:C:\Documents and Settings\All Users\Desktop。

CSIDL_COMMON_DOCUMENTS($2E)

表示所有用户的"我的文档"文件夹,例如:C:\Documents and Settings\All Users\Documents

CSIDL_COMMON_FAVORITES($1F)

表示所有用户的"我的收藏夹"文件夹。

CSIDL_COMMON_PROGRAMS($17)

表示所有用户的"程序"文件夹,例如:C:\Documents and Settings\All Users\Start Menu\Programs

CSIDL_COMMON_STARTMENU($16)

表示所有用户的"开始菜单"文件夹,例如:C:\Documents and Settings\All Users\Start Menu

CSIDL_COMMON_STARTUP($18)

表示所有用户的"启动"文件夹,例如:C:\Documents and Settings\All Users\Start Menu\Programs\Startup

CSIDL_COMMON_TEMPLATES($2D)

表示所有用户的"模块"文件夹,例如:C:\Documents and Settings\All Users\Templates

CSIDL_CONTROLS($3)

表示"控制面板"文件夹

CSIDL_COOKIES($21)

表示当前用户Internet Explorer的cookie 文件夹,例如:C:\Documents and Settings\username\Cookies

CSIDL_DESKTOP($0)

表示"桌面"虚拟文件夹,包含了计算机中的所有内容

CSIDL_DESKTOPDIRECTORY($10)

表示当前用户的"桌面"文件夹,例如:C:\Documents and Settings\username\Desktop

CSIDL_DRIVES($11)

表示"我的电脑"虚拟文件夹,包含了计算机中所有的驱动器

CSIDL_FAVORITES($6)

表示当前用户的"收藏夹"文件夹,例如:C:\Documents and Settings\username\Favorites

CSIDL_FONTS($14)

表示"系统字体"文件夹,例如:C:\WINNT\Fonts

CSIDL_HISTORY($22)

表示Inernet Explorer的"历史记录"文件夹

CSIDL_INTERNET($1)

表示Internet的这个虚拟文件夹

CSIDL_INTERNET_CACHE($20)

表示当前用户的Internet Explorer的"Cache"文件夹,例如:C:\Documents and Settings\username\Temporary Internet Files

CSIDL_LOCAL_APPDATA($1C)

表示当前用户的应用程序数据文件夹,例如:C:\Documents and Settings\username\Local Settings\Application Data

CSIDL_MYMUSIC

表示当前用户存储音乐文件的文件夹,例如:C:\Documents and Settings\User\My Documents\My Music

CSIDL_MYPICTURES($27)

表示当前用户存储图像文件的文件夹,例如:C:\Documents and Settings\username\My Documents\My Pictures

CSIDL_NETHOOD($13)

表示当前用户存在的网络连接的文件夹,例如:C:\Documents and Settings\username\NetHood

CSIDL_NETWORK($12)

表示"网上邻居"这个虚拟文件夹

CSIDL_PERSONAL($5)

表示当前用户的"我的文档"文件夹,例如:C:\Documents and Settings\username\My Documents

CSIDL_PRINTERS($4)

指向"打印机"这个虚拟文件夹

CSIDL_PRINTHOOD($1B)

表示当前用户存在的网络打印机的虚拟文件夹,例如:C:\Documents and Settings\username\PrintHood

CSIDL_PROFILE($28)

表示当前用用户配置文件的文件夹

CSIDL_PROGRAM_FILES($26)

表示程序文件的文件夹,例如:C:\Program Files

CSIDL_PROGRAM_FILES_COMMON($2B)

表示系统程序共用组件文件夹,例如:C:\Program Files\Common

CSIDL_PROGRAMS($2)

表示当前用户的"程序"菜单文件夹,例如:C:\Documents and Settings\username\Start Menu\Programs

CSIDL_RECENT($8)

表示当前用户的"文档"菜单文件夹,例如:C:\Documents and Settings\username\Start Menu\Programs

CSIDL_SENDTO($9)

表示当前用户的"发送到"文件夹,例如:C:\Documents and Settings\username\SendTo

CSIDL_STARTMENU($B)

表示当前用户的"开始"菜单文件夹,例如:C:\Documents and Settings\username\Start Menu

CSIDL_STARTUP($7)

表示当前用户的"启动"菜单文件夹,例如:C:\Documents and Settings\username\Start Menu\Programs\Startup

CSIDL_SYSTEM($25)

表示WINDOWS系统的系统文件夹,例如:C:\WINNT\SYSTEM32

CSIDL_TEMPLATES($15)

表示的是系统中存储文档模块的文件夹

CSIDL_WINDOWS($24)

表示的是系统中Windows目录的文件珍,例如:C:\WINNT

0