mssqlproxy
mssqlproxy是一个工具包,旨在通过套接字重用在受感染的 Microsoft SQL Server 中执行受限环境中的横向移动。客户端需要SQL Server 上的impacket和sysadmin权限。
![图片[3]-mssqlproxy ——通过套接字重用SQL Server在受限环境中执行横向移动 - JINGGR安全-JINGGR安全](https://github.com/blackarrowsec/mssqlproxy/raw/master/scenario.png)
在继续之前,请仔细阅读本文。
它由三部分组成:
- CLR 程序集:编译 assembly.cs
- 核心DLL:编译reciclador.sln
- 客户端:mssqlclient.py(基于Impacket的示例)
您可以编译这些库或从版本(x64) 下载它们。
汇编
要生成核心 DLL,只需将项目导入 Visual Studio (reciclador.sln) 并进行编译。
要生成 CLR 程序集,首先需要找到 C# 编译器:
Get-ChildItem -Recurse "C:\Windows\Microsoft.NET\" -Filter "csc.exe" | Sort-Object fullname -Descending | Select-Object fullname -First 1 -ExpandProperty fullname
然后,
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:library .\assembly.cs
用法
一旦两个库编译完成,就将核心DLL(reciclador)上传到目标服务器。
身份验证选项与原始 mssqlclient中的选项相同。mssqlproxy选项:
proxy mode:
-reciclador path Remote path where DLL is stored in server
-install Installs CLR assembly
-uninstall Uninstalls CLR assembly
-check Checks if CLR is ready
-start Starts proxy
-local-port port Local port to listen on
-clr local_path Local CLR path
-no-check-src-port Use this option when connection is not direct (e.g. proxy)
我们还实现了两个命令(在 SQL shell 中),用于下载和上传文件。与代理相关,我们有四个命令:
- install:创建 CLR 程序集并将其链接到存储过程。您需要提供参数
-clr
以从本地 DLL 文件读取生成的 CLR。 - 卸载:删除安装创建的内容。
- check:检查是否一切准备就绪,可以启动代理。需要提供服务器 DLL 位置 ( ),可以使用upload
-reciclador
命令上传。 - start:启动代理。如果
-local-port
未指定,它将监听端口 1337/tcp。
一旦代理启动,您就可以插入您的代理链;)
注意事项1:如果使用非直接连接(例如中间的代理),则-no-check-src-port
需要该标志,因此服务器仅检查源地址。
注意事项#2:目前,仅支持 IPv4 目标(也不支持 DNS 或 IPv6 地址)。
注意#3:谨慎使用!现在,如果您尝试建立多个并发连接,MSSQL 服务将崩溃
重要提示:务必在客户端按 Ctrl+C 停止 mssqlproxy。否则,服务器可能会崩溃,您必须手动重新启动 MSSQL 服务。
作者
巴勃罗·马丁内斯 ( @xassiz )、胡安·曼努埃尔·费尔南德斯 ( @TheXC3LL ) [ www.blackarrow.net – www.tarlogic.com ]
参考
- https://www.blackhat.com/presentations/bh-asia-03/bh-asia-03-chong.pdf
- https://blog.netspi.com/attacking-sql-server-clr-assemblies/
- https://www.codeproject.com/Articles/27298/Dynamic-Invoke-C-DLL-function-in-C
- https://x-c3ll.github.io/posts/Pivoting-MySQL-Proxy/
- https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/stream-object-ado
- https://docs.microsoft.com/es-es/sql/t-sql/functions/openrowset-transact-sql
国内下载链接
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END