几天前朋友把一个SA注入点发在群里,说他实在是拿不到系统权限。我问他什么环境,他说可以执行部分命令,也有回显,也可以列目录,WEB与DATA服务器并不分离。这种情况起码拿到shell是比较容易的事情,组件没有删除的话。我问了下他拿到webshell没,那小子居然说没拿到……一心只想得到系统权限……一心只想进3389!我原来也认为SA都拿不下服务器的确是水平问题的,所以答应帮他看看这个注入点!NBSI检测,显示权限的确为SA,执行命令有回显。本以为加个用户不就得了,但问题没有想象中的这么简单!执行net user命令显示出了所有用户,但是执行net user hackest hackest /add 的时候提示拒绝访问!net1 user hackest hackest /add同样提示拒绝访问!情况似乎的确比较复杂……开始我以为是net.exe、net1.exe这两个文件的权限做过权限设置,用cacls.exe更改net.exe和net1.exe的文件访问属性也提示拒绝访问!所以打算上传一个本地的net.exe再执行添加用户的操作。但是用VBS文件下载不了,加密了依然下载不了……服务器用的是瑞星!要传文件的话还是先老老实实的拿到webshell再说吧,列目录确定WEB路径,啊D上传了一个海阳eval版一句话ASP马。有个一句话就已经很足够了嘛,嘿嘿。有了webshell就查看存在注入漏洞的文件,找到数据库连接文件,得到MSSQL的有SA权限的用户名和密码,因为目标服务器的MSSQL不允许外连,所以弄了个sqlrootkit.asp上去,用得到的用户名和密码成功连接,并且可以执行部分命令。先来看看net.exe文件的访问属性,据此显示是正常的默认权限,看来权限没有做过更改!在sqlrootkit.asp里执行cacls.exe c:\windows\system32\net.exe 返回的结果如下:
利用xp_cmdshell扩展执行cacls.exe C:\windows\system32\net.exe C:\windows\system32\net.exe NT AUTHORITY\INTERACTIVE:R NT AUTHORITY\SERVICE:R NT AUTHORITY\BATCH:R BUILTIN\Administrators:F NT AUTHORITY\SYSTEM:F BUILTIN\Administrators:F 可以看出权限很正常的,没有做过什么变态的设置,跳到c:\windows\system32目录下查看net.exe文件的大小也正常,没有替换成别的什么嘛。net1.exe的情况和net.exe情况一样,无论是文件的大小还是文件的访问权限都很正常,但是为什么SA注入点却没有权限加上用户呢!然后我又把net.exe上传到everyone完全控制的目录,再在sqlrootkit.asp里执行添加用户的命令,但是依然提示“拒绝访问”(如果把net.exe删掉,让系统自动恢复net.exe,就会把net.exe 这个文件的属性都还原成默认状态的了,这个可以解决部分net.exe做过权限设置的服务器)!