代码编织梦想

模块化的木马系统架构

image_1c50udobt17nvkm4kvlrjp198mm.png-773kB

被控端是整个木马的核心,它包含 Dropper 与常驻模块两部分

Dropper

Dropper 是木马在植入过程中执行的组件,只在目标机器上执行一次,然后自行删除。Dropper 首先判断系统环境,如果检测出在沙盒或者虚拟机中运行,则执行错误的功能,或者非木马本身的功能。如果有调试器存在,则放弃执行。如果没有发现异常,则继续获取系统中安装的安全软件类型等信息,对不同的杀软使用不同的穿透策略,如不同方式的启动项写入、不同的文件释放方式、不同的驱动安装方式等。在一些情况下,要利用某些杀软的功能缺陷,对杀软的功能进行禁用或关闭。在 Windows Vista 之后的系统中,Dropper 在执行过程中还要考虑UAC的问题,需将 Droppr 的执行权限提升至管理员权限,而非受限用户权限,否则无法成功植入。完成木马的植入后,Dropper 进行自我清除。Dropper 组件是木马能否成功植入目标机器的关键,有需要对部分代码进行加密,以便降低被安全软件查杀的可能

常驻模块

常驻模块是在木马植入后在目标机器上长期运行的模块。该组件与木马控制端进行通信,传送被控端获取到的数据,接收控制端发来的控制命令。常驻模块需能自动判断目标机器所在的网络是否使用了代理,并能穿透代理。常驻模块通常需要使用 Rootkit 技术,隐藏木马的主要组件模块、通信端口和连接等信息;能定时检查木马的启动项、重要组件是否完整,并利用更新模块,下载并更新木马组件

木马常驻模块的主要作用是保持控制端对目标的控制,需要具备控制者需要的、特定的功能模块,并可以根据需要,动态添加、删减功能模块。这些功能通常包括:远程文件访问,控制端可以访问目标机器的文件系统,并可根据需要上传、下载文件;远程命令行,控制端可在目标机器上执行命令行命令操作;浏览器监控,能获取并返回浏览器的历史记录、密码信息等;远程桌面,控制者通过图形化的方式操控目标机器的桌面,达到与操作本地桌面一样的效果;另外,还可以针对特定的软件,如 Keepass、Skype 和 Outlook 等软件,进行有针对性的处理

控制端从功能而言,是一个比较普通的网络服务器程序。控制端可以接收所有被控端的连接,并显示相应的连接信息和主机信息;能对被控端收集的数据进行解析,提供给控制者查看和使用。控制端一般使用简洁明了的 GUI 界面,要具备良好的交互体验,使得用户能方便地对被控端进行操作、下发控制命令等。在性能方面,控制端需要充分考虑被控端数量较多的情况下,大并发连接的处理问题

木马架构的模块化,主要是以功能为单元进行划分。但在针对具体的组件内容时,可以根据实际情况进行组织,最终目的是要保证木马在运行中可以添加功能,减少编译修改次数

生成器

木马程序的特殊性,针对特定场景生成的配置信息,一般需要附加在木马程序的被控端组件上(一般是Dropper程序),而不是与木马被控端程序分离。木马 Dropper 配置信息读取、处理等操作,是在开发过程中预先定义的。因此 Dropper 读取、处理的格式必须和生成器在 Dropper 中填写的配置信息,在格式上保持一致

被控端

image_1c50ud6go6ar1s2m5ir1fpo1hl49.png-461kB

木马释放组件

Dropper 完成运行环境的检测后,开始进行常驻模块的释放安装。由于 Windows Vista 之后的系统,都有 UAC 限制,在释放动作开始之前,Dropper 进程需要获得管理员权限

获得管理员权限的方式有很多种,最常用的方式是 COM 提权。通过在 Explorer.exe 进程中注入代码,利用 COM 的 IFileOperation(”Elevation:Administator!new:{3ad05575-8857-4850-9277-11685bdb8e09}”)接口,将木马的 DLL 复制到某一个 UAC 白名单进程的相同目录下,该 DLL 是该 UAC 白名单进程需要加载的 DLL(DLL劫持)。然后启动该 UAC 白名单进程,木马 DLL 的 DllMain 就运行起来,并且具备了管理员权限,能够进行木马后续的释放操作

常驻模块

image_1c50v2nmp9pqflp15291fku12os13.png-265.9kB

控制端

控制端的架构

image_1c50vfabphb4192411ls1g371uqi1g.png-295.8kB

控制端的通信

控制端的网络通信模块需要支持高并发的网络连接,在 Windows 系统中,使用 I/O 完成端口模型是一个比较好的选择,IOCP 是一个高性能、多处理器兼容的 I/O 模型,在管理大量 Socket 时,有很好的系统性能和伸缩性

IOCP 是 Windows 中的一个 I/O 构造机制,可以应用于任何 I/O 操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tan6600/article/details/79561496

实验一木马分析(隐藏分析)实验_李_栋的博客-爱代码爱编程_木马分析

实验一木马分析(隐藏分析)实验 1、木马隐藏技术 1)程序隐藏 木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑。当双击运行捆绑后的程序时,正常的exe 文件运行了。程序隐藏只能达到从表面上无法识别木马程序的目的,但是可以通过任务管理器中发现木马程序的踪迹,这就需要木马程序实现进程隐藏。 2)进程隐藏 隐藏木马程序的进程显示能防

木马核心技术剖析读书笔记之木马技术的发展趋势_polluxavenger的博客-爱代码爱编程

通信隐蔽化 为了更好地逃避目标主机上的安全软件、防火墙的拦截,越来越多的木马采用更底层的通信协议,甚至实现不同于 TCP/IP 协议的私有协议,以达到更好的通信过程隐蔽化 基于 Tor 的通信 Tor 提供了一个顶级域

木马核心技术剖析读书笔记之木马通信与防火墙穿透_polluxavenger的博客-爱代码爱编程

基于 TCP 的木马控制通信 TCP 协议是字节流式的传输协议 ,木马通信还需要自定义应用层的协议 被控机器的唯一标识一般是对被控机器的硬盘序列号、MAC 地址等固定信息进行 Hash 计算得到 粘包与分包处理

木马核心技术剖析读书笔记之木马反分析技术_polluxavenger的博客-爱代码爱编程_木马反调试

常见的恶意软分析技术主要包含静态分析和动态分析两大类 反调试 木马程序使用反调试技术,可以阻止调试器对木马程序的加载;阻止调试器对木马程序的执行控制;阻止对木马程序设置断点;阻止调试器读取被调试进程的内存信息,进而延缓整

木马核心技术剖析读书笔记之木马免杀_polluxavenger的博客-爱代码爱编程

免杀原理 基于特征码的检测 基于病毒特征码的检测方法,是目前反病毒软件最常用的检测技术。经过长时间的收集与积累,反病毒软件建立了庞大的已知病毒的特征数据库。在对可疑软件进行检测时,会从特征数据库中匹配已有特征。这种方法相

木马核心技术剖析读书笔记之木马驱动加载与启动_polluxavenger的博客-爱代码爱编程

Windows 系统启动过程 基于 UEFI 的启动过程 UEFI 固件接口可以实现 BIOS 固件接口类似的功能,逐步成为主流的固件接口之一。它主要提供一组在操作系统启动之前在所有平台上一致的服务,是在 EFI 1

木马核心技术剖析读书笔记之木马的隐藏_polluxavenger的博客-爱代码爱编程

文件隐藏 常用的文件隐藏方法有基于用户模式的 Rootkit 也有基于内核模式的 Rootkit 基于用户模式的 Rootkit 在 Windows 中,应用层的大多数功能都是通过调用 Native API 完成的。以

[网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结-爱代码爱编程

这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文讲解了Windows漏洞利用知识和DEP堆栈执行保护机制,通过构造ROP链来绕过DEP保护,并编写漏洞利用脚本并实现自动化攻击。本文将分析i春秋YOU老师的小白渗透之路,并结合作者系列文章总结Web渗透技术点,非常适合初学者学习,希望

木马分析-爱代码爱编程

木马分析 原理 1.木马是隐藏在正常程序中的具有特殊功能恶意代码,是具备破坏,删除和修改文件,发送密码,记录键盘,实施Dos攻击甚至完全可能告知计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。 2.木马的传统连接技术: 一般木马都采用C/S(client/server,即服务器/客户端)运行

木马分析(隐藏分析)-爱代码爱编程

实验目的&要求: 了解木马隐藏技术的基本原理 提高木马攻击的防范意识 明确木马技术的发展方向 学会使用木马防范的相关工具 实现实验所提到的命令和工具,得到实验结果 预备知识 木马隐藏的技术 程序隐藏: 木马程序隐藏通常指利用各种手段伪装木马程序,让一般用户无法从表面上直接识别出木马程序。要达到这一目的可以通过程序捆绑的方式实现

木马病毒制作及分析-爱代码爱编程

实验目的本次实验为考核实验,需要独立设计完成一次网络攻防的综合实验。设计的实验中要包括以下几个方面内容: (1) 构建一个具有漏洞的服务器,利用漏洞对服务器进行入侵或攻击; (2) 利用网络安全工具或设备对入侵与攻击进行检测; 【注意事项】 1.本病毒程序用于实验目的,面向实验演示,侧重于演示和说明病毒的内在原理,破坏功能有限。在测试病毒程序前,需

木马提取详细解析教程-爱代码爱编程

注入木马(<?php @eval($_POST[‘hello’]);?> 打开终端使用weevely命令启动工具 Weevely -h(查看工具的完整的使用方法) 使用命令weevely generate hello /root/hello.php(hello为密码,/root/hello.php为输出路径)来生成weevely一句话