【技术分享】Stack overflow in PlugX RAT

栏目: 编程语言 · 发布时间: 7年前

内容简介:前言
2017-09-05 17:01:52 阅读:342次 来源: 安全客 作者:Chu

【技术分享】Stack overflow in PlugX RAT

作者: Chu@0KEE Team

前言

Black Hat USA 2017上@professor__plum分享了几款常见 RAT Xtreme PlugX Gh0st )中存在的漏洞,利用这些漏洞可以反向攻击C&C Server,这里以PlugX RAT为例进行漏洞分析。

1.漏洞分析

1.1 Delphi

【技术分享】Stack overflow in PlugX RAT

PlugX RAT由 Delphi 语言开发,直接使用IDA对其分析会因缺少符号表导致系统库函数无法识别,分析起来非常不方便。可以使用IDR加载bin文件,导出IDC脚本供IDA使用,如下:

【技术分享】Stack overflow in PlugX RAT

逆向Delphi程序时还需要注意的一点就是传参方式,Delphi中默认的传参方式是前3个参数通过寄存器 eax edx ecx 传递,其余参数通过堆栈传递,如上图中ShowMessage、MoveMemory的调用。

1.2 漏洞分析

漏洞出现在Server与Client的通信中:

【技术分享】Stack overflow in PlugX RAT

Server在接收到客户端的请求包后首先对包头进行解析,而后将整个包完整地拷贝到栈上(0x00549D51 MoveMemory),典型的栈溢出。有趣的是,在内存拷贝操作的之后开发者再一次对包进行解析(0x00549D93, DecodePacket_),在其中判断包的大小并且如果数据过大会进行弹框提示:

【技术分享】Stack overflow in PlugX RAT

但此时上层栈帧已被破坏,再做检查为时已晚。

2.漏洞利用

2.1 加解密函数

目前市面的PlugX RAT大概有3个版本,对此漏洞而言区别主要在于它们对流量加解密方式的不同:

【技术分享】Stack overflow in PlugX RAT

以Type I为例可编写如下加解密函数:

【技术分享】Stack overflow in PlugX RAT

2.2 保护机制的绕过

【技术分享】Stack overflow in PlugX RAT

No GS、NO PIE,只需要考虑DEP,而程序中存在丰富的Gadgets,例如CreateProcess、WinExec、VirtualAlloc、VirtualProtect 等,这使得通过ROP绕过DEP变得十分简单。

基于VirtualProtect可编写如下ROP:

【技术分享】Stack overflow in PlugX RAT

2.3 利用

【技术分享】Stack overflow in PlugX RAT

样本、IDB及完整的exploit可从这里下载: http://git.sh3ll.me/chu/bh17-plugx-stack-overflow

3.参考

https://www.blackhat.com/docs/us-17/thursday/us-17-Grange-Digital-Vengeance-Exploiting-The-Most-Notorious-C&C-Toolkits.pdf

https://www.blackhat.com/docs/asia-14/materials/Haruyama/Asia-14-Haruyama-I-Know-You-Want-Me-Unplugging-PlugX.pdf

【技术分享】Stack overflow in PlugX RAT 【技术分享】Stack overflow in PlugX RAT

本文由 安全客 原创发布,如需转载请注明来源及本文地址。

本文地址:http://bobao.360.cn/learning/detail/4365.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ActionScript 3.0 Cookbook

ActionScript 3.0 Cookbook

Joey Lott、Darron Schall、Keith Peters / Adobe Dev Library / 2006-10-11 / GBP 28.50

Well before Ajax and Microsoft's Windows Presentation Foundation hit the scene, Macromedia offered the first method for building web pages with the responsiveness and functionality of desktop programs......一起来看看 《ActionScript 3.0 Cookbook》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具