pwncat:功能强大的反向Shell&BindShell处理工具

pwncat

pwncat是一款功能强大的反向Shell&BindShell处理工具,同时也是一个针对Linux系统为测试目标的后渗透漏洞利用开发平台。该工具可以帮助广大红队研究人员简化常见的任务操作,同时可以转移来自攻击者机器(而非目标)的代码。
之前版本的pwncat仅支持Linux平台,但开发人员近期在增加支持平台方面做出了大量的努力。目前,针对Windows目标廷加了Alpha版本支持。
pwncat可以拦截目标与远程shell的原始通信,并允许用户在远程主机上执行自动操作,包括枚举、植入可执行程序甚至实现权限提升等。
接收到通信连接之后,pwncat将会设置一些用于处理远程Shell的常见配置:

  • 禁用远程Shell中的历史记录功能;
  • 规范化Shell提示符;
  • 定位需要使用的二进制文件;
  • 尝试为完整交互式会话生成pty;

pwncat知道如何使用一些不同的方法生成pty,并将这些方法与之前枚举的可执行文件交叉引用。生成pty后,它将在raw模式下设置控制终端,因此我们可以通过与SSH类似的方式来跟它进行交互。pwncat还会同步本地和远程pty的设置(如行、列、TERM环境变量),以确保Shell在交互应用程序(如vim或nano)中正常运行。
pwncat:功能强大的反向Shell&BindShell处理工具 - 图1

功能介绍

  • 自动配置远程pty;
  • 完整SSH会话支持;
  • 文件上传和下载;
  • 自动化提权枚举;
  • 自动化提权执行;
  • 自动化持久化安装/移除;
  • 自动化跟踪文件的创建和修改;
  • 自动化恢复远程“篡改”操作;

    工具要求

    pwncat需要在Linux系统上安装并配置好Python 3环境。

    模块化

    pwncat框架基于模块化架构实现,所有的功能都以模块的形式实现,其中包括信息枚举、持久化感染和权限提升等等,我们可以直接使用熟悉的run、search或info等命令来跟平台进行交互,或使用use命令进入模块上下文。

    工具安装

    pwncat以标准Python包的形式进行了封装(distutils),广大研究人员可以直接使用下列命令将该项目源码克隆至本地,并自动执行安装:
    1. pip install git+https://github.com/calebstewart/pwncat.git
    或者,我们也可以使用下列命令实现工具的下载和安装:
    1. git clone https://github.com/calebstewart/pwncat.git
    2. python setup.py install
    建议大家在一个虚拟环境中安装和运行pwncat: ```shell python3 -m venv pwncat-env

source pwncat-env/bin/activate

python setup.py install

  1. <a name="VITBl"></a>
  2. ## 工具使用
  3. <a name="CcOeH"></a>
  4. ### 连接至Bindshell
  5. ```shell
  6. pwncat connect://10.10.10.10:4444
  7. pwncat 10.10.10.10:4444
  8. pwncat 10.10.10.10 4444

监听反向Shell

  1. pwncat bind://0.0.0.0:4444
  2. pwncat 0.0.0.0:4444
  3. pwncat :4444
  4. pwncat -lp 4444

通过SSH连接

  1. pwncat ssh://user:password@10.10.10.10
  2. pwncat user@10.10.10.10
  3. pwncat user:password@10.10.10.10
  4. pwncat -i id_rsa user@10.10.10.10

SSH w/非标准端口

  1. pwncat -p 2222 user@10.10.10.10
  2. pwncat user@10.10.10.10:2222

重新连接并实现持久化

  1. pwncat reconnect://user@10.10.10.10
  2. pwncat reconnect://user@c228fc49e515628a0c13bdc4759a12bf
  3. pwncat user@10.10.10.10
  4. pwncat c228fc49e515628a0c13bdc4759a12bf
  5. pwncat 10.10.10.10

连接Windows反向Shell或Bindshell

  1. pwncat -m windows 10.10.10.10 4444
  2. pwncat -m windows -lp 4444

参考资料