Full TTYs
完整的TTY
请注意,在SHELL
变量中设置的shell 必须在 /etc/shells 中列出,或者SHELL变量的值未在/etc/shells文件中找到,此事件已报告
。另外,请注意,下面的代码片段仅在bash中有效。如果您使用zsh,请在获取shell之前切换到bash,方法是运行bash
。
Python
您可以执行 stty -a
来获取 行数 和 列数 的 数字
脚本
socat
生成shell
python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
script -qc /bin/bash /dev/null
perl -e 'exec "/bin/sh";'
perl:
exec "/bin/sh";
ruby:
exec "/bin/sh"
lua:
os.execute('/bin/sh')
IRB:
exec "/bin/sh"
vi:
:!bash
vi:
:set shell=/bin/bash:shell
nmap:
!sh
反向SSH
一个方便的方式,用于交互式shell访问,以及文件传输和端口转发,是将静态链接的ssh服务器ReverseSSH放到目标上。
以下是一个针对x86
的示例,使用upx压缩的二进制文件。对于其他二进制文件,请查看发布页面。
在本地准备以捕获ssh端口转发请求:
(2a) Linux目标:
(2b) Windows 10目标(对于早期版本,请查看项目自述):
如果ReverseSSH端口转发请求成功,您现在应该能够使用默认密码
letmeinbrudipls
登录,以运行reverse-ssh(.exe)
的用户的身份:
无 TTY
如果由于某种原因无法获得完整的 TTY,则仍然可以与期望用户输入的程序进行交互。在以下示例中,密码被传递给 sudo
以读取文件:
最后更新于