百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

【恶意文件】AgentTesla 贼心不死,换壳之后卷土重来

liebian365 2024-11-16 23:08 19 浏览 0 评论

恶意家族名称:AgentTesla

威胁类型:间谍软件

简单描述:2023 年 2 月 13 日,捕获新型间谍软件。

恶意事件描述

2023 年 2 月13 日,捕获新型间谍软件,此次事件中的恶意程序通过钓鱼邮件传播,当受害者解压邮件附件并执行其中的恶意程序之后,该程序会通过 PowerShell 添加 Defender 扫描白名单并创建计划任务,之后执行窃密操作。

恶意事件分析

通过进程执行链可以发现该样本是通过钓鱼邮件投递,受害者解压之后执行。

该样本是一个 .NET 编写的窃密程序,通过对资源节区的数据进行解密还原出恶意模块,然后使用反射加载的方式执行该模块。

调试发现该恶意模块名为 B4000。入口函数为Melvin.White。跟进函数,首先使用Sleep 休眠了 44s,在对一段硬编码的数据进行base64解码后再解压缩,还原出一个 PE 文件。

同样使用反射加载的方式加载还原出来的 PE,名为 Cruiser,在通过加载模块中的函数从图像中提取出另外一个模块 HIVacSim,同样使用反射加载。找到模块入口函数如下:

进入模块之后会执行一系列恶意操作。

释放文件

从资源节区中释放文件至 C:UsersUserNAmeAppDataRoamingNgsWWESFAPv.exe

,释放的文件与当前文件一致。

创建计划任务

通过schtasks.exe从XML文件中创建计划任务,二进制文件指向C:UsersUserNameAppDataingRomaingNgsWWSFAPv.exe。

添加Defender白名单

通过 Powershell 添加 Defender 白名单。

创建傀儡进程

创建傀儡进程步骤大致如下:

1. 通过 GetThreadContext 获取线程内容

2. 使用 ReadProcessMemory 读取进程内容

3. 使用 VirtualAllocEx 在傀儡进程中分配空间

4. 使用 WriteProcessMemory 往分配的内存中写入数据,

5. 使用 SetThreadContext 设置执行入口。

6. 使用 ResumeThread 恢复傀儡进程的主线程。

在 SetThreadContext 处下一个断点,找到傀儡进程入口点:

在写完数据并激活傀儡进程之后当前进程就会结束,导出写完数据的傀儡进程继续调试。

信息主机收集

通过 Win32_BaseBoard 获取主板信息,之后获取主机和用户名信息等。

获取公网 IP

收集软件信息

收集多种浏览器信息。

在多个 try catch 中收集特定安装程序的数据:

包括 discord、Claws mail、eM Client、FileZilla、Foxmail、FTP Navigator、WinSCP、RealVNC、MySQL 等程序、以及系统凭证等信息。

发送数据

将收集到的数据进行处理之后通过邮件发送到特定邮箱。

解决方案

处置建议

1. 删除计划任务

2. 取消 Defender 白名单

3. 终结该进程及其子进程并删除对应文件。

from https://www.secpulse.com/archives/197248.html

相关推荐

Pandoc安装、使用、快速上手(pandoc安装教程)

Pandoc安装、使用、快速上手Pandoc如果你需要将文档从一种格式转换成另一种格式,那么Pandoc是你的一把瑞士军刀,Pandoc可以将下列格式文档进行相互转换。Markdown、Microso...

Pinocchio 安装教程|机器人学的必备库

视频讲解:Pinocchio安装教程|机器人学的必备库_哔哩哔哩_bilibilihttps://gepettoweb.laas.fr/doc/stack-of-tasks/pinocchio/ma...

常用linux命令:netstat(常用linux命令有多少个)

linuxnetstat命令用于显示网络状态,可用于列出系统上所有的网络套接字连接情况#显示所有的连接$netstat-aActiveInternetconnections(serv...

【收藏】Linux服务器常用巡检命令

在Linux服务器上进行常规巡检是确保服务器稳定性和安全性的重要措施之一。以下是一些常用的巡检命令和技巧:1.查看系统信息1.1系统信息显示命令:uname-a[root@linux100~]...

详解linux内核网络数据包发送在UDP协议层的处理与监控

udp_sendmsg这个函数定义在net/ipv4/udp.c,函数很长,分段来看。UDP插入UDPudp_sendmsgcorking是一项优化技术,允许内核将多个数据累积成一体的数据...

Linux实例常用内核网络参数介绍与常见问题处理

Linux实例常用内核网络参数介绍与常见问题处理概述本文主要介绍常见的Linux内核参数及相关问题的处理方式。详细信息注意:Linux从4.12内核版本开始移除了tcp_tw_recycle配置。即移...

Linux配置网络(rocky linux配置网络)

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux安全之网络防火墙(linux防火墙配置基本步骤)

纸上得来终觉浅,绝知此事要躬行。iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。在大部分Linux发行版中,可以通...

linux命令 - fuser、lsof、pidof学习

fuser可以借由文件(或文件系统)找出正在使用该文件的程序。有的时候我想要知道我的程序到底在这次启动过程中打开了多少文件,可以利用fuser来观察啦!举例来说,你如果卸载时发现系统通知:“...

Linux使用中的一些问题及解决过程(记录1)

1.在Linux虚拟中安装dhcpv6后,Server发送的dhcpv6advertise报文中的udp校验和出错,导致用户不能获取IPv6地址修正方法:将该接口的校验关闭ethtool--of...

比 netstat 好用?Linux 网络状态工具 ss 详解

ss命令用于显示socket状态。他可以显示PACKETsockets,TCPsockets,UDPsockets,DCCPsockets,RAWsockets,Unixdomains...

七、网工必备“基础命令”:像查水电表一样轻松排查网络问题!

网络命令听起来高深,但其实它们就像你家里的“工具箱”——拧螺丝用螺丝刀,测电路用电笔,而排查网络问题,就用这些命令!今天我们就用生活中最常见的例子,带你轻松掌握ping、ipconfig、tracer...

为什么 Windows 病毒不影响 Linux 机器?

病毒是一种计算机程序。病毒不会影响Linux的原因和MicrosoftExcel不能在Linux上运行的原因是一样的:Linux不能运行Windows程序。你可以使用特殊的软件,...

别让Linux网络基础拖后腿!这些 lsof 骚操作你真的了解吗?

lsof是Linux系统管理中极为强大的工具,尤其在网络问题排查中堪称神器。以下从基础到进阶的用法解析,帮你彻底掌握网络相关的骚操作:一、基础必知:网络连接的本质Linux中一切皆文件,网络连...

别让Linux网络基础拖后腿!这些 netstat 骚操作你真的了解吗?

在Linux网络管理和故障排查中,netstat确实是必备的瑞士军刀。掌握这些进阶技巧能显著提升效率,尤其当服务器出现连接数爆满、端口冲突或异常流量时。以下乃是自实战之中所总结而成的深度操作指南:继续...

取消回复欢迎 发表评论: