【技术分享】Stack overflow in PlugX RAT

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

内容简介:前言
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


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

查看所有标签

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

标签

标签

Gene Smith / 张军、陈军亮 / 机械工业出版社 / 2012-6 / 59.00元

本书对标记系统这一概念的内涵和外延进行了系统化的、深入浅出的阐述。从什么是标记系统、标记系统有什么价值,到标记系统的架构和与其他分类系统的对比,再到标签的呈现方式和标记系统的实现细节,作者都用通俗易懂的语言进行了阐述,并附有详细的示例和具体的案例研究。本书的每一章都涵盖了标记系统的一个方面,主要内容包括:标记系统的模型、价值、架构,标签的分类、可视化、管理方法,最后介绍标记系统设计方法。本书带领读......一起来看看 《标签》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具