如何使用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

相关文章
|
7月前
|
JSON 数据格式
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。
214 73
|
10月前
|
监控 数据可视化 安全
AD域管理PowerShell常用命令总结
本文介绍了GET-ADUser命令在AD域管理中的多种应用场景,包括获取、过滤和导出用户信息至CSV文件。同时,推荐了卓豪ADManager Plus软件,该软件提供了批量用户与组管理、报表生成功能,极大简化了AD域的日常管理工作,提升了IT管理员的工作效率和准确性。
252 1
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
|
Java 开发工具 数据安全/隐私保护
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
135 0
|
开发工具 微服务 Windows
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
107 0
这10条Powershell命令有多香,谁用谁知道!
这10条Powershell命令有多香,谁用谁知道!
241 0
PowerShell实战:Get-Item命令使用详解
【2月更文挑战第10篇】Get-Item 命令使用频率非常高,主要是获取位于指定位置的项。 一般搭配使用通配符 (*) 来获取项目的包含的项目。如果不使用*的话只是获取当前项的内容。
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
PowerShell实战:文件操作相关命令笔记
【2月更文挑战第9篇】cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。