freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Aladdin:一款功能强大的.NET Payload反序列化和内存执行工具
Alpha_h4ck 2024-01-13 20:45:46 145362

关于Aladdin

Aladdin是一款功能强大的Payload生成工具,该工具使用了特定的绕过技术和.NET Remoting协议必要的Header字节。在该工具的帮助下,广大研究人员可以轻松对.NET程序执行反序列化,最终在内存中实现代码执行。

工具运行机制

该工具可以使用“/guid:32a91b0f-30cd-4c75-be79-ccbd6345de99”和“/pid:”参数生成AddInProcess.exe进程,该进程将在“\\.\pipe\32a91b0f-30cd-4c75-be79-ccbd6345de99”路径下开启一个命名管道,并等待一个.NET Remoting对象。如果我们生成的Payload拥有恰当的数据包字节并需要跟一个.NET Remoting监听器通信,那么我们就可以从System.Workflow.ComponentModel触发ActivitySurrogateSelector类,并在内存中实现代码执行。

提供的模版

当前版本的Aladdin提供了下列模版:

* HTA

* VBA

* JS

* CHM

工具下载

由于该工具基于C#开发,因此我们首先需要在本地设备上安装并配置好Visual Studio。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/nettitude/Aladdin.git

然后将项目导入至Visual Studio中,完成代码构建和编译即可。

工具使用

需要注意的是,为了确保测试执行成功,.NET程序集必须包含一个单独的公共类,而这个类需要包含一个空的结构体作为反序列化操作的入口点。比如说:

public class EntryPoint {

    public EntryPoint() {

        MessageBox.Show("Hello");

    }

}

工具使用

Usage:

  -w, --scriptType=VALUE     设置为 js / hta / vba / chm

 

  -o, --output=VALUE         生成的输出结果,例如:-o

                               C:\Users\Nettitude\Desktop\payload

 

  -a, --assembly=VALUE       提供汇编DLL,例如:-a

                               C:\Users\Nettitude\Desktop\popcalc.dll

 

  -h, --help                   查看工具帮助信息

注意事项

1、用户提供的.NET源代码会在AddInProcess.exe下执行,并使用HTA / JS Payload生成进程。当前生成的进程会使用9BA05972-F6A8-11CF-A442-00A0C90A8F39 COM对象,它负责将进程以Explorer.exe进程的子进程形式启动;

2、启动Addinprocess.exe进程时传入的GUID是用户可以控制的,工具默认使用的GUID当前已硬编码在的模板和代码中;

3、CHM会通过XSLT转换执行JScript;

缓解方案

Addinprocess.exe会使用/guid和/pid启动,我们可以将其作为基线来在自己的网络环境中检测类似的活动。

许可证协议

本项目的开发与发布遵循BSD-3-Clause开源许可证协议。

项目地址

Aladdin:【GitHub传送门

参考资料

https://www.tiraniddo.dev/2017/07/dg-on-windows-10-s-executing-arbitrary.html

https://github.com/tyranid/DeviceGuardBypasses/tree/master/CreateAddInIpcData

https://github.com/microsoft/dotnet-framework-early-access/blob/master/release-notes/NET48/dotnet-48-changes.md

https://www.netspi.com/blog/technical/adversary-simulation/re-animating-activitysurrogateselector/

https://github.com/pwntester/ysoserial.net/pull/41

https://dl.packetstormsecurity.net/papers/general/abusing-objects.pdf

# payload # 反序列化 # .Net # .NET Remoting # 进程安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1021 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录