本篇内容主要讲解“反弹shell的原理和作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“反弹shell的原理和作用是什么”吧!就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。深入理解文件描述符和重定向才能更好弄懂反弹shell。1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。2.目标机器的ip动态改变,你不能持续控制。3.建立一个服务端让恶意程序主动连接,持久化。4.防火墙受限,不能由外向内建立连接(不接受外部连接)。(通过传输层协议的全双工通信实现交互)备注:全双工传输 (Full-Duplex Transmissions)交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播,计算机与打印机之间的通信是单工模式。半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。WIKI的定义全双工(full-duplex)的系统允许二台设备间同时进行双向数据传输。一般的电话、手机就是全双工的系统,因为在讲话时同时也可以听到对方的声音。全双工的系统可以用一般的双向车道形容。两个方向的车辆因使用不同的车道,因此不会互相影响。测试一:攻击端:受害端:测试二:攻击端:受害端:输出重定向>,相当于1>,输入重定向。例如,把正确的结果放到test.txt,而把错误的结果放到test2.txt文件中:在正常输入的命令结尾加上2>&1,这个语句可以理解为将错误输出与标准输出一致,也就是将他们输出到一个文件中:这里的&符号是为了区分文件跟文件描述符的,如果这里没有&符号,系统会把它(1)理解为文件,而不是标准输出同理,在错误输出的命令结尾加上1>&2,这个语句可以理解为将标准输出与错误输出一致,也就是将他们输出到一个文件中:查看一个进程打开了哪些文件:/proc/[进程ID]/fd这个目录专门用于存放文件描述符上图的多个tty我理解为交互式shell(终端)的数量。tty设备包括虚拟控制台,串口以及伪终端设备。上图我用xshell起了7个交互式shell,都关闭只保留一个时:dev是设备(device)的英文缩写。这个目录中包含了所有Linux系统中使用的外部设备。是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。(Linux一切皆文件)/dev/null 它是空设备,也称为位桶(bit bucket)或者黑洞(black hole)。你可以向它输入任何数据,但任何写入它的数据都会被抛弃。通常用于处理不需要的输出流。(当然,它也可以作免费云主机域名为空的输入流)例如:/dev/zero创建一个为NULL填充的文件。linux命令总结dd命令详解伪终端(/dev/pty/)伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。/dev/tty是当前进程的控制终端的设备特殊文件。bash -i 表示创建一个交互式的shell/dev/tcp/ip/port,这个文件不是存在的,但是当你在监听这个端口的时候,对这个文件进行读写,就可以实现两个主机之间的socket通信首先我们在攻击机开启监听,然后在Linux机器上输入下面的命令,即将指定字符通过tcp协议发送到攻击机的2333端口:攻击机监听:UDP发包同理:攻击机监听:2>&1将错误输出和标准输出输出到同一个文件(Linux一切皆文件):靶机:攻击机:通过
靶机:攻击机:在攻击机传输的内容会被重定向到靶机。输入重定向原理:掌握了上面的原理,可以随意构建反弹shell命令:攻击:靶机:或:其他变形:bash -i后的&>或>&表示混合输出,即标准输出1 + 错误输出2bash 和 sh 的一点儿区别sh 遵循POSIX规范:“当某行代码出错时,不继续往下解释”。bash 就算出错,也会继续向下执行。简单说,sh是bash的一种特殊的模式,sh就是开启了POSIX标准的bash, /bin/sh 相当于/bin/bash –posix在Linux系统上/bin/sh往往是指向/bin/bash的符号链接Unix操作系统通常给每个进程能打开的文件数量强加一个限制,ulimit -n查看系统默认的文件描述符个数。例如:表示系统支持的文件描述符 0-655359page 1:打开”File”并且将fd 655359分配给它:eg:&- 关闭标准输出n&- 表示将n号输出关闭page2:攻击机:受害机:受害机的文件描述符同步读取到攻击机的写入。page3:受害机:受害机的文件描述符同步读取到攻击机的写入并通过shell脚本执行;page4:受害机的文件描述符同步读取到攻击机的写入并通过shell脚本执行后返回到文件描述符。掌握了原理,可以写出各种变形,例如:大家可以自由发挥。到此,相信大家对“反弹shell的原理和作用是什么”有了更深的了解,不妨来实际操作一番吧!这里是云编程开发博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
小编给大家分享一下SSL证书中keytool有什么用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!SSL证书是保护网络信息的常用手段,主要包括公用密钥和私人密钥两种保密措施,能够有效的保护客户端与互联网之间的数据信息传送。SSL证书不仅可以保护使…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。