AgentTesla变种分析
文章目录
- 样本信息
- 样本分析
- 总结
样本信息
SHA1:44ce804719e52c09717e7da84dcad01036a2f4a3
样本是伪装成pdf文件的pe文件,来源any.run
样本分析
样本为.NET程序,经过多层解密,最后得到最后的窃密程序
在第一层解密中,样本读取资源中资源名为SB的数据
经过将&Z替换为A,字符串反转,base64解密,得到一个原始文件名为AndroidStudio.dll的样本
AndroidStudio.dll是一个.NET的dll
解密出的dll直接在内存中加载,可以看到调用的函数是StartGame
下图为函数主体
函数的参数如下
其中“VhWIQ”是资源名
"YvbB"是用作异或的密钥
获取图像的RGB值存入数组和"YvbB"异或运算
运算后的数据用GZip解压,得到Lazarus.exe
Lazarus.exe是一个. NET程序
将Lazarus.exe拖入dnSpy,可以看到资源中含有一个计划任务,大概是用于持久化
运行样本,断下构造函数上
可以看出样本是从资源中获取资源名为"MOFA"的资源进行解密,得到一个pe文件
把数据流保存下来,得到一个hEBLzOHZSqHBfNfhfalvgmXI.exe
然后创建进程
在Lazarus.exe中,还有一些通过模块名以及注册表来检测沙箱的手段
最后看hEBLzOHZSqHBfNfhfalvgmXI.exe
获取用户浏览器数据
拖慢程序执行恶意行为时间,防止沙箱及分析人员的检测
获取计算机名
通过SetWindowsHook Hook回调函数,获取键盘和剪贴板数据
截屏发送给服务器
除了以上恶意行为,还有一些行为没有继续分析,在vt查询,是AgentTesla的变种
总结
这篇文章主要是写了解密的过程,这个恶意程序用的对抗手法还是挺多的,字符串加密,将数据存成一个图像,检测模块和注册表达到反沙箱,延迟执行,多层解密最后才得到最终的窃密程序。在分析的过程中又学到了一些病毒手法和一些分析技巧。
AgentTesla变种分析相关推荐
- Variant Analysis(变种分析)——使用已知漏洞发掘未知漏洞
文章目录 前言 1.variant Analysis (变种分析)是什么? 从哪里开始 2.常用技术 2.1 控制流分析(Control flow analysis (CFA)) 2.2 数据流分析 ...
- krap病毒家族解密方式及ao变种分析
说一下流程,否则容易乱 1 解密-(pack部分)--> 2二次解密(pack部分)--->3内存中解密(pack部分)--->4替换自身模块基址映像(pack部分)----> ...
- 最新AUTO病毒变种分析和解决方案
病毒全名 Win32.Troj.AutoRun.te.v 病毒长度 89280 威胁级别 ★★ 中文名称 AUTO特务89280 病毒类型 木马下载器 病毒简介 这是一个AUTO病毒.病毒成功运行后, ...
- 安全态势感知系统java_代码分析平台CodeQL学习手记(十三) - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com...
在前面的文章中,我们为读者详细介绍了如何通过CodeQL平台的Visual Studio Code插件,即CodeQL for VS Code在本地编写和运行查询,并直接在工作区中展示查询结果,以及如 ...
- 转:变种挖矿蠕虫问题解决
前言 受限于缺乏针对 elf 文件的分析能力,对一些逻辑的跟踪仍有一定猜测成分,仅供参考. 正文 事情的起因 阿里云主机提供了一些恶意命令执行告警,定位到如下命令 # 告警1 python -c im ...
- 僵尸网络Mirai变种疑似开始针对华为进行武器制作
近日,发现有几个国外IP(77.40.109.35俄罗斯,188.17.77.196俄罗斯,5.140.140.23俄罗斯)对某客户内网多个ip进行了漏洞攻击尝试.通过流量分析确认攻击是是利用CNVD ...
- Crysis病毒变种-在文件末尾添家.wallet后缀
勒索病毒CrySis病毒变种分析报告-加密文件后缀.wallet 一.样本简介 CrySiS勒索病毒在2017年5月万能密钥被公布之后,消失了一段时间,最近又发现这类勒索病毒的新的变种比较活跃,攻击方 ...
- NEMUCOD病毒jse样本分析
该病毒使用微软的JScript编写,能够直接运行在Windows操作系统之上,采用了加密和混淆手段对抗监测,可检测是否运行在虚拟机中和系统中是否存在分析工具,可感染可移动存储介质,主要功能为下载器.C ...
- python实现二分法查找_python3 二分法查找
''' 二分法查找 有序列表 掐头去尾取中间 查找列表中xx在不在列表中,在,则返回索引值 ''' # lst = [1, 4, 6, 8, 9, 21, 23, 26, 35, 48, 49, 54 ...
最新文章
- Android 数据库之Cursor
- Yii2中你可能忽略但很有用的两个方法batcheach
- 表达式求值(from leetcode 241)
- Ubuntu 安装DELL D630无线网卡驱动
- 【Git/Github学习笔记】Git起步
- java nio netty_Netty精粹之JAVA NIO开发需要知道的
- php 同义词词库,同义词搜索功能 - 权威指南 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎...
- 排序之插入排序(二分法)
- 好用插件分享(IE浏览器)
- 适合中小企业发展的内网即时通讯软件应该具备什么
- python控制蓝牙pybluez_Python之蓝牙通讯模块pybluez学习笔记
- Linux之奇怪的知识---supervisor超级守护进程的意义和使用方法
- 彻底理解confidence interval和credible interval
- horner算法matlab实现,使用Euclid和Horner算法的多项式求值
- 搭建风控系统道路上踩过的坑合集
- 用php求圆柱圆锥的面积,认识圆锥体a href=http://ruiwen.com/friend/list.php(教师中心专稿)/a...
- Python “最短”挑战(12.21)
- ps技巧:从黑白图片中创建蒙版
- Rebuttal得来的经验
- 量化交易 简易回测框架