首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

黑客在 Log4j 攻击中使用新的 PowerShell 后门

用于多项任务的模块化后门 对 CVE-2021-44228 的利用会导致运行带有 base64 编码负载的 PowerShell 命令,最终参与者控制的 Amazon S3 存储桶中获取“CharmPower...基本系统枚举——该脚本收集 Windows 操作系统版本、计算机名称以及 $APPDATA 路径中的文件 Ni.txt 的内容;该文件可能由主模块下载的不同模块创建和填充。...核心模块不断向 C2 发送 HTTP POST 请求,这些请求要么没有得到答复,要么收到一个 Base64 字符串,该字符串启动下载额外的 PowerShellC# 模块。...进程– 使用 tasklist 命令获取在运行的进程。 系统信息——运行“systeminfo”命令来收集系统信息。有更多命令,但被注释掉了。...“CharmPower”是一个例子,说明老练的参与者可以如何快速响应 CVE-2021-44228 等漏洞的出现,并将来自先前暴露工具的代码组合在一起,以创建可以超越安全和检测层的强大而有效的东西。

6.9K10

Powershell基础入门与实例初识

PowerShell 可帮助系统管理员和高级用户快速自动执行用于管理操作系统(Linux、macOS 和 Windows)和流程的任务, 其实可以看做是C#的简化版本还与PHP语言有相似之处(语法),与我们可以采用...PowerShell 是开放源代码项目 Github 设计目标: 可发现性:管理系统是一项复杂的任务。...,可以以交互方式键入命令轻松转换为创建和运行脚本 PowerShell版本: Windows PowerShell: Windows 7 SP1 和 Windows Server 2008 R2...PS支持别名以通过备用名称引用命令(Get-Alias获取别名),别名将新名称与其他命令关联。 例如,PS 具有名为 Clear-Host 的内部函数,该函数清空输出窗口。...PS模块 一个独立的可重用单元,使你能够对 PS 代码进行分区、组织和抽象化。 模块可以包含 cmdlet、提供程序、函数、变量和其他可作为单个单元导入的资源类型。

4.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Antimalware Scan Interface (AMSI)—反恶意软件扫描接口的绕过

『18』『19』 Powershell降级攻击 为什么在这种情况下,PowerShellv2如此有用?由于版本2没有支持AMSI的必要内部挂钩,因此是双赢的。...通过将其设置为$true,我们可以成功禁用AMSI,并且不再调用amsi.dll的AmsiScanBuffer 修补AmsiScanBuffer: 也可以在运行时monkeypatchamsi.dll的代码...我们可以通过使它们始终返回S_OK来覆盖此函数的逻辑,就像允许命令运行时一样。『7』 为此,我们可以设计一个恶意DLL在运行时加载,以动态修补内存空间中的amsi.dll。...这种bypass有多种版本,我将提交最新C#版本嵌入在.ps1脚本中,该版本完全取自解码器的powershell。...代码中使用Add-Type即时编译C#会使得文件落地,在编译阶段将一些*.cs放到临时目录中。

2.1K20

技术分享-持久性-WMI事件订阅

红队的角度来看,WMI 可用于执行多种活动,例如横向移动、持久性、态势感知、代码执行以及作为命令和控制(C2)。...然而,各种框架,如 Metasploit、Empire、PoshC2、PowerSploit 和多个 PowerShell 脚本和 C# 工具可用于自动化此技术,为代码执行提供不同的触发器和各种选项。.../Metasploit.mof 在这种情况下,payload 是通过 Metasploit “ web_delivery/ ”模块使用 regsvr32 方法远程获取的。...PoshC2 PoshC2是一个基于 PowerShell 的命令和控制框架,但支持 C# 植入和模块,以在红队参与期间规避 EDR 产品。...“ wmi_updater ” 模块能够远程位置获取有效负载,而不是将其存储在 WMI 存储库中。它将注册为“ AutoUpdater ”,并且可以在启动时或一天中的特定时间设置触发器。

2.5K10

1.Powershell基础入门介绍与安装升级

PowerShell 可帮助系统管理员和高级用户快速自动执行用于管理操作系统(Linux、macOS 和 Windows)和流程的任务, 其实可以看做是C#的简化版本还与PHP语言有相似之处(语法),与我们可以采用...随着.NET FrameWork的开源和跨平台,在最新版本PowerShell 使用 .NET Core 5.0 作为运行时,此时它可以在 Windows、macOS 和 Linux 平台上运行。...,可以以交互方式键入命令轻松转换为创建和运行脚本 PowerShell版本: Windows PowerShell: Windows 7 SP1 和 Windows Server 2008 R2...每种内部版本类型(发行版或预览版)、主要版本和体系结构的 的值都是唯一的。... Microsoft Store 安装 Tips : 如何创建远程处理终结点?

7K20

electron-builder进行DEBUG输出的正确方式

本地node与electron内部的node 在对Electron进行打包的时候,需要对当前Electron项目中使用到的node原生C/C++模块进行额外的平台编译,这个过程被称为rebuild。...有这样的一个步骤,是因为electron在运行主进程脚本的时候,是跑在了electron内部的一个nodejs环境的,electron内部的nodejs与开发机器上的nodejs并不一定是相同的。...为了验证这一论点,我们进行如下的一个测试,来分别打印本地机器安装的node的版本和electon内部的node版本: 图片 接下来是electron主进程脚本的node版本显示(main.js):...接下来是分别运行npm run show-local-node-version和npm run start: 图片 可以看到输出确实和我们的理解是一致的,版本为11.2.0的electron内部的...该命令的作用就是针对即将打包的electron程序对应的node版本进行原生模块的编译工作,以达到模块行时匹配。

47150

Wanderer:一款功能强大的进程注入枚举工具

关于Wanderer Wanderer是一款功能强大的进程注入枚举工具,该工具基于C#开发,代码完全开源,可以帮助广大研究人员收集与正在运行的目标进程相关的信息。...支持收集的信息包括完整性级别、AMSI是否作为加载模块存在、目标进程是以64位或32位运行的、以及当前进程的去特权级别。...工具下载 由于该工具基于C#开发,因此我们需要在本地设备上安装并配置好最新版本的Visual Studio。...i, --id, 通过ID设置单个目标或进程组 -n, --name, 通过进程名称设置单个目标或进程组 -c, --current, 针对目标进程查看特权级别 -a, --all, 设置所有正在运行的进程为目标进程...、spotify的进程,且完整性级别不受信(包括32位进程): C:\> wanderer --name pwsh,powershell,spotify --exclude-integrity untrusted

19810

Unity 热更新技术 | (一) 热更新的基本概念原理及主流热更新方案介绍

C#热更原理:将需要频繁更改的逻辑部分独立出来做成DLL,在主模块调用这些DLL,主模块代码是不修改的,只有作为业务(逻辑)模块的DLL部分需要修改。...C#的编译流程:写好的代码->编译成.dll扩展程序(UnityEditor完成)->运行于Unity C#热更具体做法:将需要频繁更改的逻辑部分独立出来做成DLL,在主模块调用这些DLL,主模块代码是不修改的...这样LUA就和普通的游戏资源如图片,文本没有区别,因此可以在运行时直接WEB服务器上下载到持久化目录并被其它LUA文件调用。...第二步、游戏运行后的热更新流程 启动游戏 根据当前版本号,和平台号去版本服务器上检查是否有热更 热更服务器上下载md5文件,比对需要热更的具体文件列表 热更服务器上下载需要热更的资源,解压到热更资源目录...而反射是.NET平台在运行时获取类型(包括类、接口、结构体、委托和枚举等类型)信息的重要机制,即从对象外部获取内部的信息,包括字段、属性、方法、构造函数和特性等。

9.3K53

.NET代码快速转换成powershell代码

PowerShell 2的第一个技术预览版到现在,已经过去将近两年的时间了,下面列出了在这期间添加的一些新特性。 Remoting:可以在远程机器上运行Cmdlet和Script。...ScriptCmdlets:以前只能用静态编译型语言编写Cmdlet,如C#和VB。现在则可以直接使用PowerShell脚本编写。 步进式管道:可以认为这种管道一次只传输一个元素。...异常处理:可以在PowerShell中使用类似Java、C#和VB中的try-catch-finally来处里异常。 Add-Type:使用CodeDOM来编译任何.NET语言的代码片段。...支持XP及更高版本操作系统的PowerShell 2.0候选发布版已经可以下载了。...我们使用.net写了很多工具,在powershell到来之前,我们都是写成控制台程序来做这样的工作,现在有了强大的powershell脚本工具,如何将我们的丰富的工具快速转换成powershell脚本呢

2K70

Red team之Octopus(章鱼)的使用

支持Powershell 2.0或更高版本的所有Windows版本。 在不触摸powershell.exe进程的情况下运行Octopus Windows可执行代理。 创建自定义配置文件。...加载外部Powershell模块目标计算机下载文件。...运行ESA模块以收集有关目标的一些非常有用的信息 我们可以使用以下方法生成并交付我们的代理: Powershell单线 HTA单线(APT34重复使用) Windows可执行文件(exe文件)...您还可以将Powershell模块加载到Octopus中以在攻击过程中为您提供帮助,您只需要将要使用的模块复制到“模块”目录中,然后在与代理进行交互时执行“load module_name”以直接加载模块...ESA模块代表“端点态势感知”,它可以帮助攻击者获取有关端点和基础架构的一些额外信息,例如: OS的构建是什么? 他们正在使用哪种AV / EDR? 他们启用了Sysmon吗?

1.5K30

Attacking SQL Server CLR Assemblies

您可以使用下面的TSQL查询来验证您的CLR程序集是否设置正确,或者开始寻找现有的用户定义的CLR程序集 注意:这是我在这里找到的一些代码的修改版本 USE msdb; SELECT SCHEMA_NAME...2、接下来右键单击包含源代码的右侧面板,然后选择"Edit Method (C#)..." 3、根据需要编辑代码,然而在这个例子中,我添加了一个简单的"后门",每次调用"cmd_exec"方法时都会向...,然后顶部菜单中选择文件,保存模块,然后点击确定 根据Microsoft文章,每次编译CLR时,都会生成一个唯一的GUID并将其嵌入文件头中,以便"区分同一文件的两个版本",这称为MVID(模块版本...PowerShell自动化 您可以使用我之前提供的原始 PowerShell命令,也可以使用下面的 PowerUPSQL 命令示例从新修改的"cmd_exec.dll"文件中获取十六进制字节并生成 ALTER...WITH PERMISSION_SET = UNSAFE GO ALTER 语句用于替换现有的CLR,而不是DROP和CREATE,正如微软所说"ALTER ASSEMBLY不会中断正在修改的程序集中运行代码的当前正在运行的会话

1.6K20

Active Directory渗透测试典型案例(2) 特权提升和信息收集

以图形化方式显示,因此Bloodhound是一个很好的工具,因为它可以字面上映射出图形中的域,揭示了有关联和无关联的关系。攻击者的角度来看,这很有趣,因为它向我们展示了目标。...您可以选择使用MSBuild.exe,这是一个Windows二进制文件,它构建C#代码(默认情况下也安装在Windows 10中,作为.NET的一部分),以XML格式运行命令和控制(C2)有效载荷,允许然后攻击者使用底层...考虑它是一个测试,看看他们的检测和响应姿势是如何 在这里,使用silenttrinity打开一个会话,讨论用户对哪些内容具有写访问权限,运行mimikatz模块,并希望您找到具有特权的新凭据。...我哪里开始使用PowerSploit?如果你想做一些恶意的事情,它有一个powershell模块。在搜索密码或任何字符串的情况下,PowerView是您的好助手。...如果运行时间太长,请将这些部分注释掉。 用法:PowerShell.exe -ExecutionPolicy Bypass ./ADAPE.ps1

2.5K20

2.Powershell基础入门学习必备语法介绍

1.在 Windows 10 上查找 PowerShell 的最简单方法是在搜索栏中键入”PowerShell”此时出现有64版本和32位; (Tips:建议运行 64 位版本PowerShell...5.PS支持别名以通过备用名称引用命令(Get-Alias获取别名),别名将新名称与其他命令关联。 例如 PS 具有名为 Clear-Host 的内部函数,该函数清空输出窗口。...# 4.获取有关脚本和函数的帮助 Get-Help c:\ps-test\TestScript.ps1 # 但是在运行 Get-Help * 时不会显示函数和脚本的帮助 # 5.单独的可搜索窗口中打开帮助主题...PS模块 一个独立的可重用单元,使你能够对 PS 代码进行分区、组织和抽象化。 模块可以包含 cmdlet、提供程序、函数、变量和其他可作为单个单元导入的资源类型。...---- 0x06 学习建议 描述: 本章了解了PS的简单使用,以及遇到了没见过或者是不会使用的cmdlet命令,我们应该如何获取我们想要得到的信息或者说是语法实例,但是对于学习PS编程来说语法其实难而难点在于需要记得

4.9K10

A Detailed Guide on AMSI Bypass

,在这里正在运行一个Windows脚本,当它通过AMSI时,amsi.dll被注入到与我们程序相同的虚拟内存中,这个amsi.dll有各种可以评估代码的函数,这些功能可以在这里找到,但是实际扫描任务由这两个函数执行...,任何输入都会首先被它扫描 Method 1: Powershell降级处理 如果您正在运行基于powershell的有效负载并且AMSI阻止了它,您可以将您的powershell版本降级到2.0,因为...下载后您转到发布文件夹并看到一个名为ASBBypass.dll的DLL,请注意由于我们现在有一个DLL,它也可以与我们的EXE有效负载集成,并且会在旅途中绕过AMSI,但是在这里我们将使用内联C#代码仅使用...,将类型绑定到现有对象,或现有对象获取类型并调用其方法或访问其字段和属性,如果您在代码中使用属性,反射使您能够访问它们 Paul Laine在此处的contextis.com博客上发布了原始的内存劫持方法...PowerShell会话中卸载AMSI unload2 – Matt Graeber的另一种方法,当前PowerShell会话中卸载AMSI unloadsilent – Matt Graeber的另一种方法

1.5K20

【Unity面试篇】Unity 面试题总结甄选 |热更新与Lua语言 | ❤️持续更新❤️

如何解析版本文件?如何加载AB包资源?具体流程是怎么样的?...解析版本文件列表 File.ReadAllLines(读取文件列表资源路径URL) 获取资源名称,获取AB包名称,获取依赖项,字典容器存储 获取Lua文件 加载资源 异步加载资源AB包,...根据当前版本号,和平台号去版本服务器上检查是否有热更。 热更服务器上下载 MD5 文件,比对需要热更的具体文件列表。 热更服务器上下载需要热更的资源,解压到热更资源目录。...所以在Unity里执行Lua是以c作为中间媒介的: C# C Lua Lua与宿主语言(这里以c#为例)最基础的两种交互模式即: c#执行lua代码 lua执行c#静态/成员函数 这种交互是通过一个栈结构进行的...Lua是如何实现热更新的 Lua的模块加载机制,热更的核心就是替换Package.loaded表中的模块

73031

Ninja:一款专为隐藏红队活动的开源C2服务器

Ninjia使用了Python来提供Payload并控制代理,代理基于C#PowerShell以绕过大部分反病毒产品。...工具要求 请注意,编译C#代码需要取决于System.Management.Automation.dll与SHA1哈希“c669667bb4d7870bc8bb65365d30071eb7fb86fe”...某些Ninjia命令可能需要用到下列模块,因此用户需要从相应代码获取这些模块: Invoke-Kerberoast : https://raw.githubusercontent.com/xan7r/...https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1 工具安装 首先,请确保使用下列命令项目代码库中获取最新版本的...kerberoast/ : kerberoast模块将在此处写入其输出。 lib/ : 包括Ninjia C2使用的库。 Modules/ : 可以将Powershell模块加载到目标设备。

1.5K40

Succinctly 中文系列教程(二) 20220109 更新

教程 零、介绍 一、基础 二、文件系统 三、进程 四、Windows 管理工具 五、远程 PowerShell 六、结构化文件 七、SQL Server 与 PowerShell 八、微软 Office...Bootstrap 库 CSS 类 五、表单 六、按钮 七、组件 八、推特 Bootstrap JavaScript 九、扩展 Bootstrap Succinctly Bootstrap3 教程 零、简介 一、版本...二、Visual Studio 三、类型安全 四、创建新模块 五、加载模块 六、使用现有的 JavaScript 七、将 TypeScript 用于单元测试 八、总结 九、附录 A:替代开发工具 十、...三、证明正确性 四、实现单元测试的策略 五、三思而后行:单元测试的成本 六、单元测试是如何工作的?...、Linux 和 OS X 开发的代码编辑器 二、工作空间和用户界面 三、Git 版本控制和任务自动化 四、创建和调试应用 五、定制和扩展 VSCode Succinctly Web 服务器教程 零、

5.9K20

Java 8升级到Java 11的注意事项

Java 网络流量记录器 Java Flight Recorder (JFR) 在运行的 Java 应用程序中收集诊断和分析数据。JFR 对正在运行的 Java 应用程序几乎没有影响。...这通常由需要在运行时将类注入到 classpath 的应用程序和库完成。类加载程序层次结构在 Java 11 中已更改。系统类加载程序(也称为应用程序类加载程序)现在是一个内部类。...Java 11 无法通过 API 在运行时动态增强 classpath,但可以通过反射来实现这一点,它会显示有关如何使用内部 API 的显著警告。...警告:发生非法的反射访问操作 当 Java 代码使用反射访问 JDK 内部 API 时,运行时会发出“非法的反射访问”警告。...此包在模块中封装,本质上是内部 API。在 Java 11 上启动并运行应用程序时,第一项操作可能就是忽略此警告。Java 11 运行时允许反射访问,因此旧代码可以继续运行。

2.1K20
领券