CrypMic分析报告
一.概述
病毒伪装为NirSoft公司的软件NirCmd并加了MPRESS壳,脱壳后是一个混淆过的PE程序,运行时会用到类似PE映像切换的方式来释放出实际的恶意代码,恶意代码主要对文件进行加密。
二.行为分析
母体解密
指定地址跳转。通过函数返回地址+函数第一个参数来确定跳转到的地址,这里主要用于免杀和增加逆向分析难度。
释放恶意代码。多次跳转后到达PE解密的地方,首先从第一个区段中获取到用于PE替换的数据。接着修改PE加载地址的内存保护属性,然后利用获取到的数据对PE进行替换修改。
执行加密代码。PE数据替换完毕后,通过汇编指令jmp和retn实现指定地址的跳转,这里跳转到加密勒索处。
加密初始化
获取后续操作所需的函数。通过对硬编码的数据进行解密,获取到后续加密操作所需的函数地址。
生成个人ID和防多开。在用户的temp目录下生成PPP.KEY和BBB.KEY文件,把UuidCreate函数生成的UUID写入PPP.KEY里,把内存中的数据写入BBB.KEY中。PPP.KEY保存的UUID作为勒索时的个人ID,BBB.KEY用来防止程序多开,程序检查存在BBB.KEY就不会进行加密过程
远程服务器获取AES加密密钥。连接远程服务器91.121.74.154:443,如果成功连接就发送数据包括当前计算机的系统类型,安全标识符的信息等。成功发送数据后,会尝试接收远程服务器的数据并保存到内存空间中,这里接收到的数据用于后面生成AES加密密钥
加密勒索
加密过程使用了256位AES密钥进行加密,如果加密过程中连接到了远程服务器并获取到AES加密密钥,那么加密的文件需要作者手上的AES密钥才可以进行解密。如果加密过程中连接不了远程服务器,那么加密后的文件可以恢复。
AES密钥生成。调用相关加密函数进行加密初始化,这里会导入256位的AES密钥,AES密钥的生成存在两种情况。1.如果连接不了前面的远程服务器,就使用硬编码的数据运算后生成AES密钥。2.如果成功连接远程服务器并接收到数据,就使用接收到的数据作为AES密钥
遍历文件。字母D到Z间遍历存在的本地磁盘和磁盘里的文件,加密指定后缀的文件,这里指定加密的文件类型达到901种。
文件属性设置。匹配到指定文件后,首先获取文件属性,如果是FILE_ATTRIBUTE_NORMAL属性则直接进行加密,如果不是则进行修改。病毒这里编程出现了一点问题,并没有直接把文件属性修改为FILE_ATTRIBUTE_NORMAL,这就导致了病毒只会加密一小部分的文件。
加密流程。首先判断文件大小是否小于20M,接着读取文件内容到内存空间中并删除原文件,使用前面生成的256位AES密钥对文件数据进行加密,然后重新生成文件。生成文件时首先写入固定的硬编码数据,再写入加密后的文件数据
生成警告信息。对本地磁盘遍历过程中,会在每个目录下生成3个内容相同的勒索信息文件:README.txt,README.html,README.bmp。
发送个人ID。所有加密操作完成后,会把计算机的UUID发送到远程服务器上,UUID用于解密时的个人ID
三.IOC
MD5
28065780B3C664F24328957EDE185B4B
域名
http://xijymvzq4zkyubfe.onion
http://xijymvzq4zkyubfe.onion.to
http://xijymvzq4zkyubfe.onion.city
C2
91.121.74.154:443
CrypMic分析报告的更多相关文章
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- 《奥威Power-BI智能分析报告制作方法 》精彩回顾
上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
- websphere OSGi应用环境下服务调用saaj包加载问题分析报告
websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingj ...
- Google发布SSLv3漏洞简要分析报告
今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均 ...
- 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...
- python 生成 pptx 分析报告的工具包:reportgen
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 使用AES加密的勒索类软件分析报告
报告名称: 某勒索类软件分析报告 作者: 李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...
随机推荐
- United States Department of Agriculture 美国农业部网站数据自动下载小脚本
帮对象写的自动点击页面的小脚本,如果有需要的可以试试,(#^.^#) https://apps.fas.usda.gov/gats/ExpressQuery1.aspx var year = '199 ...
- JAVA学习笔记(3)—— 抽象类与接口
1. Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类 ...
- NOIP2018Day1T2 货币系统
题目描述 在网友的国度中共有 \(n\) 种不同面额的货币,第 \(i\) 种货币的面额为 \(a[i]\),你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为 \(n\).面额数组为 \( ...
- MQTT控制---subscribe
连接服务端 客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅. 固定报头 报头长度:2 Bytes 1.报头控制类型(0x82) 报文SUBSCRIBE控制报固定报头的第3.2.1.0位 ...
- Web前端-关于jQuerry
jQuery-The write less,do more,jacascript library 非常方便的js库,封装了许多有用的功能. 1.jq与js对象之间的转换 <script> ...
- shell 重定向 2>&1 2>/dev/null 理解笔记
// 函数 输入输出重定向 1.函数 function hello(){ echo '1111' } ------- hello hello(){ // function 可以省略 echo '222 ...
- 测开之路十:函数&参数
def 函数名(): 函数代码块 return 返回值 参数 必备参数:位置参数,调用函数时必须有值传入 默认参数,调用如果没有传值使用默认值 不定长参数 *args:想传多少传多少,必须放在位置参数 ...
- MySQL 远程连接问题
使用Workbench 无法远程连接Mysql服务器提示如下错误: 查找原因: 显示只能localhost 访问. 解决方法:修改授权远程访问 create user 'root'@'%' ident ...
- Java操作ini文件 ,解决properties文件中无法读取换行及空格
1.依赖jar包 ini4j-0.5.4.jar 2.官网 http://ini4j.sourceforge.net/ 3.测试例子 [java] view plain copy package cn ...
- 在SOUI中使用动态多语言切换
动态语言切换是很多国际化产品的需求,SOUI之前的版本支持静态多语言翻译,通过在程序启动时设置好语言翻译模块,在程序中打开的UI都会自动调用该翻译模块进行文字翻译,但是不支持运行进语言切换. 最近几个 ...