一个bitter组织下载器样本分析

2024-03-26 17:44

本文主要是介绍一个bitter组织下载器样本分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BITTER

该组织最早在2016由美国安全公司Forcepoint进行了披露,并且命名为“BITTER”,同年国内友商360也跟进发布了分析报告,命名为“蔓灵花”

样本分析

MD5:806626d6e7a283efffb53b3831d53346
vt:看文件名判断是伪装成pdf的自解压程序。
在这里插入图片描述

查看文件信息,修改后缀名为rar后解压。
在这里插入图片描述

源文件为自解压程序,运行后打开诱饵文档pdf,释放dlhost程序到“C:\intel\logs”路径下并执行。
在这里插入图片描述

dlhost.exe分析

需要注意此样本是否判断在指定的路径下运行。

需要注意样本是否有基址随机化问题,NtHeader→OptionalHeader→DllCharacteristics→IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE,如果数值为1,即开启了“基址重定位”(动态随机基址),现将其修改为0后保存文件:

从调用的api猜测样本获取系统信息,通过socket传输,并下载后续文件到本地执行。

winmain函数:
解密出一些数据,解密方式-=0xd
在这里插入图片描述
在这里插入图片描述

CreateSemaphore+GetLastError 保证内存中只有一个恶意进程在运行。
在这里插入图片描述
connect解密出的ip地址
在这里插入图片描述
看send函数的参数buf,最后一次出现在401080函数中且其他字符串是之前解密出的与通信相关的字符串,说明该函数是拼接出发送数据也就是上线包的函数。在这里插入图片描述
其中unk_435598未出现过,交叉引用查看调用,
在这里插入图片描述
结合上文可知是对get方式的http请求的参数进行拼接。
在这里插入图片描述
a=hostname
在这里插入图片描述
b = computername
在这里插入图片描述
c = systeminfo
在这里插入图片描述

d = [UserName][UserName][GUID][dwActiveProcessorMask][dwAllocationGranularity][dwOemId][dwPageSize][dwProcessorType][wProcessorArchitecture]
在这里插入图片描述
最后拼接出数据如图
在这里插入图片描述

send发送http请求数据包
在这里插入图片描述
在这里插入图片描述
之后判断接收数据是否有yes file字符串,提取[]中的数据,处理接受的数据,下载其他组件并执行。

这篇关于一个bitter组织下载器样本分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/849329

相关文章

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动