powershell控制台(命令行 powershell)

文章前言

可以发现的是有不少渗透测试工具都是用PowerShell编写的,特别是对于红队团队的活动,因为大多数现代Windows都有PowerShell,而且管理员通常不会限制普通用户访问PowerShell控制台,这给攻击者带来了很大的好处,特别是在蓝队不监视PowerShell使用情况下

PoshC2

工具介绍

来自Nettitude Labs和Dave Hardy的Ben Turner创建了一个基于PowerShell和C#的命令和控制工具,该工具为红队操作提供了许多优势,因为它包含各种\\”植入方式\\”和技术,且易于使用,帮助菜单提供了有关PoshC2功能的所有详细信息。

项目地址:https://github.com/nettitude/PoshC2

工具安装

安装此工具很简单,只需要执行以下命令即可:

./Install.sh

工具使用
创建项目

在使用该工具是我们首先需要首先创建一个项目,关于项目的操作指令如下所示:

[*] Usage: posh-project -n <new-project-name>[*] Usage: posh-project -s <project-to-switch-to>[*] Usage: posh-project -l (lists projects)[*] Usage: posh-project -d <project-to-delete>[*] Usage: posh-project -c (shows current project)

powershell控制台(命令行 powershell)

项目配置

之后使用以下命令进入配置界面:

posh-config

powershell控制台(命令行 powershell)

从上面可以看到配置项其实很多,包括域前置、Pushover_APITOken、Pushover_APIUser、SocketHost、PostgreConnectionString、项目数据库等,这里不一一去做介绍与尝试了~

启动服务

之后使用以下命令启动服务

posh-server

powershell控制台(命令行 powershell)

之后会生成许多可在红队评估期间使用的有效负载:

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

目标上线

之后将生产的恶意后门文件上传到目标主机或者通过主机上自带的下载工具下载恶意文件之后执行时会   ,下面以powershell为例做演示:

powershell控制台(命令行 powershell)

之后攻击主机上出现目标显示

powershell控制台(命令行 powershell)

启动控端

使用以下指令启动控制端程序:

posh -u <username

powershell控制台(命令行 powershell)

可以看到之前的上线的被控端

powershell控制台(命令行 powershell)

查看地址

PoshC2提供了众多的功能,我们可以通过在控制端输入\\”空格\\”的方式来查看所有可用的模块:

powershell控制台(命令行 powershell)

之后我们输入可用的会话编号,这里我们只有一个会话,所以直接输入1即可,之后会返回一个Powershell终端:

powershell控制台(命令行 powershell)

同时终端通过输入空格或关键指令的首字母可以进行模糊匹配,PoshC2提供的模块可以说是超级超级多:

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

同时终端也提供查询关键模块的使用方法:

powershell控制台(命令行 powershell)

例如查看IP地址:

powershell控制台(命令行 powershell)

是不是很好奇?输出去哪里了呢?输出就在服务端:

powershell控制台(命令行 powershell)

查看进程

ps

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

主机信息

get-computerinfo

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

屏幕截取

get-screenshot

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

键盘记录

get-keystrokes

powershell控制台(命令行 powershell)

查看记录信息:

powershell控制台(命令行 powershell)

信息如下(个人感觉这个功能并是不那么完美,至少没有记录到输入的主要信息,感觉更多的像是对操作的应用程序记录)

powershell控制台(命令行 powershell)

用户信息

get-userinfo

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

端口扫描

portscan 

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

获取哈希

hashdump

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

枚举漏洞

PoshC2可以用于查看系统的脆弱性漏洞:

find-allvulns

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

查看模块

可以通过以下指令来查看可用的模块:

listmodules

powershell控制台(命令行 powershell)

权限提升  

直接使用以下指令进行提权(很多时候不成功)

get-system

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

当然也可以使用MS系列提权以及UAC等系列,笔者这里目标系统为Windows 10所以较高提权很不友好~

invoke-ms16-032

powershell控制台(命令行 powershell)

powershell控制台(命令行 powershell)

权限维持

PoshC2还具有创建注册表运行键来维持权限的功能:

install-persistence

powershell控制台(命令行 powershell)

PoshC2将自动生成有效负载,并且该命令将在目标系统上执行以创建新服务

powershell控制台(命令行 powershell)

Windows中的服务:

当然,还有其他的方法,这里就不逐一演示了~

文末小结

PoshC2的主要好处是它使用PowerShell,因此它对植入物没有任何依赖性,就像用python编写的其他命令和控制工具一样,此外,它具有快速,可靠和易于使用的详细输出,绝对是任何红队运作的工具之一

相关链接

https://github.com/nettitude/PoshC2

https://poshc2.readthedocs.io/en/latest/index.html

原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34328.html

(0)
七芒星实验室's avatar七芒星实验室
上一篇 2024年4月10日 上午7:08
下一篇 2024年4月10日 上午7:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注