【HTB系列】靶機Querier的滲透測試
- 2019 年 10 月 7 日
- 筆記
本文作者:是大方子(Ms08067實驗室核心成員)
總結與反思: 1.收集資訊要全面 2.用snmp-check檢查snmp目標是否開啟服務 3.smbmap嘗試匿名用戶anonymous來枚舉目標的共享資源,可能會枚舉成功 4.使用smbclient連接到smb進行命令操作 5.使用ole來分析宏 6.使用mssqlclient.py來連接MSSQL 7.mssqlclient.py開啟Windows Authentication參數來,保證正常登錄 8.使用mssqlclient.py開啟cmd_shell 9.利用Responder竊取伺服器的憑證 10.利用 | 、less 、+關鍵詞 快速查找內容 11.使用hashcat破解NetNTLMv2密碼 12.使用john破解NetNTLMv2密碼 13.利用mssql來執行cmd命令 14.使用PowerShell攻擊框架里的Invoke-PowerShellTcp.ps1腳本反彈shell 15.使用powershell遠程下載反彈shell腳本執行 16.使用 rlwrap 來解決shell中輸出不正常問題(刪除,方向鍵是字元問題) 17.使用cmd遠程下載提權資訊收集腳本PowerUp.ps1 18.使用smbmap(TheNETBIOS connection with the remote host timed out)的時候需要通過-d添加域的名字 19.利用域內獲取的帳號密碼嘗試使用psexec進行命令執行
【前提smb服務開啟,並且有權進行讀寫】 20. 利用GPP漏洞得到管理員密碼
靶機資訊

KALI地址:10.10.12.115 先用Nmap進行資訊收集

掃描結果如下:




可以看到目標機器存在MSSQL,SMB服務 我們在檢查下snmp服務是否存在

發現snmp服務不存在 那麼我們現在根據nmap的結果來進行測試。 我們用smbmap來嘗試枚舉下目標的資源,發現訪問被禁止

那麼我們嘗試下匿名的用戶去訪問,發現資源被枚舉出來了

這裡的Reports不是系統自帶的,所以我們對Reports進行資訊挖掘
那麼我們用smbclient來訪問Reports目錄,並執行命令操作

發現目錄裡面有一個 excel文件,我們把他下載回來

「xls是2003版本下的文件,不管有沒有宏程式的話都是xls文件。 2007做了區分,XLSM文件XLSX文件都是excel2007文件,但前者是含有宏啟用,Excel中默認情況下不自動啟用宏。
Excel不會執行宏XLSX文件,即使它們包含宏程式碼,因此含有宏的文件可以保存為xlsm文件」
這個「Currency Volume Report.xlsm」是存在宏的,這裡我們用下OLE工具套件來分析office宏 用apt安裝ole套件

然後我們用olevba去分析我們剛剛下載來的XLSM文件



我們可以發現裡面的MSSQL連接字元串

然後我們使用mssqlclient.py進行登錄,如果你沒這個py腳本可以從下面的項目地址獲得項目地址:https://github.com/sdfzy/impacket 把mssqlclient.py拷貝出來

然後進行登錄,發現登錄失敗

我們需要開啟Windows Authentication,才能正常登錄

然後我們訪問下cmd,發現被禁止

因為我們的許可權不夠,但是我們可以用Responder對伺服器上的憑證進行竊取
關於Responder的原理和竊取可以看這個文章:
https://blog.csdn.net/nzjdsds/article/details/94314995
原理是,通過LLMNR/NBT-NS欺騙攻擊,讓MSSQL去訪問我們偽造的服務,當MSSQL去執行時就會把它自己的憑證發給我們,我們通過破解它的憑證在返回去登錄MSSQL,得到高許可權
Responder地址:
https://github.com/sdfzy/Responder
我們開啟Responder,-I填的是我們連接HTB的網路介面,可以通過ifconfig查



然後我們去MSSQL執行命令

之後我們的Responder就能竊取到憑證

我們把hash內容另存為Querier.NetNTLMv2

然後我們用hashcat去破解下 首先我們查下NetNTLMv2的模式程式碼是多少

進入後 / + NetNTLM 進行搜索

可以看到NetNTLMv2模式程式碼為5600 然後我們就可以開始破解


也可以用john來破解NetNTLMv2密碼



然後我們用獲取到的憑證再次用mssqlclient.py登錄

help下

開啟cmd功能

我們來測試查看cmd是否真的開啟

命令是正常執行的 我們使用nishang的反彈shell腳本 nishang項目地址:
https://github.com/sdfzy/nishang

然後我們編輯下reverse.ps1腳本在底下加上,IP寫上你自己的IP,埠寫上你nc監聽的埠

然後還是老樣子用python開啟簡單HTTP服務,讓靶機把我們的reverse.ps1下載並執行


然後我們就得到一個shell,這裡我是用了rlwrap來解決shell中(刪除鍵,方向鍵等)輸出不正常問題

然後我們就能得到user的flag


接下來就是開始提權 這裡我們使用PowerSploit裡面的提權資訊收集腳本PowerUp.ps1 項目地址:
https://github.com/PowerShellMafia/PowerSploit 一樣把腳本拷貝過來,並讓靶機下載執行




這裡可能需要等幾分鐘出結果

這裡我們看到一個服務濫用
我們嘗試利用下

發現john確實加進來了,我們利用smbmap利用下,這裡需要增加-d參數寫上域的名字


然後發現這個john的許可權也不夠
我們換一個提權方式


這裡還有一組管理員的帳號和密碼我們再次進行嘗試,成功!

提權成功,我們已經拿到system許可權了,這裡就不演示cat root flag了

這裡還有一種是GPP漏洞的利用,原理跟上面是差不多的。
只是需要自己手動破解密碼
GPP提權 我們可以通過找到組策略裡面的管理員密碼並破解出來

Groups.xml

我們仍然需要解密密碼,這可以通過以下方式輕鬆完成gpp-decrypt:

這裡看到這裡的密碼也是我們上面獲取到的密碼一樣 MyUnclesAreMarioAndLuigi!!1!