如何使用PowerShell实现命令控制以及安全检查绕过

简介:

Windows操作系统在全球市场上的占比是大家有目共睹的,而现代Windows平台都默认安装了PowerShell,而且系统管理员还可以毫无限制地访问和使用PowerShell终端。这一切的一切,使得目前很多的安全渗透工具都是采用PowerShell编写的。但我们也要注意,PowerShell的这些特性也使得它成为了网络犯罪分子非常喜爱的一种工具。

如何使用PowerShell实现命令控制以及安全检查绕过

BenTurner和Dave Hardy这两位安全研究人员开发出了一款基于PowerShell和C#的命令控制工具-PoshC2,这款工具不仅实现了各种各样的攻击技术,而且使用起来也非常简单。而PoshC2最重要的功能就是它能够绕过目标主机中部署的各种安全检查。

PoshC2下载地址

点我下载

PoshC2的安装步骤如下:

PoshC2提供了通信数据加密功能,而且只需要八个步骤的简单操作就可以完全配置好PoshC2。PoshC2的配置界面如下:

PoshC2的安装步骤

配置完成之后,该工具会列出所有它所能实现的技术,渗透测试人员可以利用PoshC2来绕过AppLocker、Bit9或通过PowerShell向目标主机中下载植入程序。

PoshC2的安装步骤

PoshC2还可以生成各种功能强大的Payload,研究人员可以在渗透测试或安全评估过程中使用这些Payload。

PoshC2的安装步骤

当植入程序成功下载并在目标主机中安装之后,植入程序处理器(Implant Handler)终端将会打开,它负责处理植入程序和C2服务器之间的交互,并在目标主机中执行命令。

PoshC2的安装步骤

与PowerShell会话类似,它也能接收任何的PowerShell命令或PoshC2命令,相关命令可以在帮助菜单中找到:

PoshC2的植入程序中还包含很多其他的技术,研究人员可以利用这些技术来提取信息、实现提权或收集主机/域名信息。下面列出了其中的部分渗透技术:

注:该工具还提供了图形用户接口,但是用户需要安装.NET Framework v4.03019。除此之外,该工具的输出数据还可以保存为HTML文件格式。

总结

PoshC2最大的优势就在于它使用的是PowerShell,因此它的植入程序不需要任何其他的依赖组件,这种特性与其他很多用Python开发的命令控制工具很相似。除此之外,它的运行速度和效率非常快,稳定性非常高,而且输出信息也非常详细。

综上所述,PoshC2肯定可以给广大渗透测试人员带来非常大的帮助。


本文作者:Alpha_h4ck

来源:51CTO

相关文章
|
8天前
|
监控 数据可视化 安全
AD域管理PowerShell常用命令总结
本文介绍了GET-ADUser命令在AD域管理中的多种应用场景,包括获取、过滤和导出用户信息至CSV文件。同时,推荐了卓豪ADManager Plus软件,该软件提供了批量用户与组管理、报表生成功能,极大简化了AD域的日常管理工作,提升了IT管理员的工作效率和准确性。
|
4月前
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
|
4月前
|
Java 开发工具 数据安全/隐私保护
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
|
4月前
|
开发工具 微服务 Windows
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
|
4月前
这10条Powershell命令有多香,谁用谁知道!
这10条Powershell命令有多香,谁用谁知道!
PowerShell实战:Get-Item命令使用详解
【2月更文挑战第10篇】Get-Item 命令使用频率非常高,主要是获取位于指定位置的项。 一般搭配使用通配符 (*) 来获取项目的包含的项目。如果不使用*的话只是获取当前项的内容。
|
7月前
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
7月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
PowerShell实战:文件操作相关命令笔记
【2月更文挑战第9篇】cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。
|
7月前
|
前端开发 微服务 Windows
PowerShell 命令窗口执行 pnpm 命令报错 无法加载文件 pnpm.ps1,因为在此系统上禁止运行脚本
PowerShell 命令窗口执行 pnpm 命令报错 无法加载文件 pnpm.ps1,因为在此系统上禁止运行脚本