通过本节,读者可以了解网页数据库后门SQLRootKit的相关知识,以及如何使用SQLRootKit 1.0、SQLRootKit 3.0数据库后门来控制计算机。
SQLRootKit是一种网页脚本,用于执行数据库命令,使用前提是知道数据库的账号和密码。SQLRootKit目前有两种:一种是针对PHP语言的,其针对的数据库为MySQL;另外一种是针对ASP语言的,主要针对的数据库为SQL Server,ASP版本的SQLRootKit有两个版本,即1.0版和改进后的3.0版。
在获取网站的数据库的类型、数据库用户密码和用户名后,直接将SQLRootKit.asp文件上传到网站目录中,然后在浏览器地址栏中输入地址并打开网站。打开网站后,在分别在“SQL用户名”和“SQL密码”文本框中输入获取的SQL用户名“sa”和密码“***”,然后在“执行命令”按钮前的文本框中输入需要执行的命令,如“net user”,查看系统中的所有用户。输入完毕,单击“执行命令”按钮,会在该网页中显示执行结果,如图3-101所示。
说明
(1)目前很多杀毒软件都会对SQLRootKit 1.0网页木马进行查杀,因此在使用前最好用一些网页加密软件对其进行加密。
(2)SQLRootKit 1.0只能利用本地的SQL Server数据库来执行命令,如果数据库服务器和Web服务器不在同一台计算机上,SQLRootKit 1.0就无能为力了。
(3)经过加密的SQLRootKit 1.0网页木马,其WebShell相当于一个DOSShell。如果未在数据库服务器中删除一些比较危险的dll组件,则该后门可以长期存在。
图3-101 在SQLRootKit 1.0中执行命令
使用SQLRootKit 3.0网页后门控制计算机的步骤如下。
01 运行测试
运行SQLRootKit 3.0网页后门程序,将SQLRootKit 3.0网页后门直接上传到网站目录,然后在浏览器中输入其对应地址即可,运行界面如图3-102所示。
图3-102 运行SQLRootKit 3.0网页后门
说明
(1)在SQLRootKit 3.0网页后门中,需要输入“SQL用户名”、“SQL密码”、“SQL服务器”及“SQL端口”等信息,程序默认SQL Server服务器与Web服务器在同一台计算机上。
(2)输入“SQL用户名”、“SQL密码”、“SQL服务器”及“SQL端口”信息,通过验证才能进行后续操作。
02 登录SQLRootKit 3.0网页后门
输入“SQL用户名”和相应的“SQL密码”密码后,单击“Login”按钮,验证正确后进入SQLRootKit 3.0网页后门管理界面,如图3-103所示。
图3-103 进入SQLRootKit 3.0网页后门管理界面
03 检测组件
单击“检测组件”按钮,程序会自动检测服务器上是否存在XP_cmdshell、sp_oacreate、xp_regwrite及xp_servicecontrol这4个SQL组件,检测操作系统版本及执行权限等信息,并将这些信息显示在该页面上,如图3-104所示。
说明
如果检测出来的组件被系统管理员删除了,则可以单击“恢复组件”按钮进行恢复。
04 执行命令
在“系统命令”文本框中输入需要执行的命令,并选择运行程序的相应组件。在本例中选择“利用XP_cmdshell扩展”选项,并在“系统命令”文本框中输入“net user”命令,然后单击“执行”按钮,其结果会显示在网页中,如图3-105所示。XP_cmdshell扩展命令在执行过程中可能会显示一些错误信息,我们可以忽略这些信息。
图3-104 检测SQL组件
图3-105 执行命令
05 上传文件
在SQLRootKit 3.0网页后门中提供了文件上传功能,即在内容文本框中粘贴需要上传的文件的内容,在文件路径中输入需要保存的文件的物理路径。输入完毕,单击“保存”按钮即完成上传。
对于SQLRootKit 3.0网页后门来讲,其主要防范措施如下。
本案例介绍了如何利用SQLRootKit 1.0及SQLRootKit 3.0网页后门来控制计算机。在很多情况下,一般的网页后门程序或者网页木马无法在服务器上执行命令。如果服务器上存在SQL Server服务器,入侵者在获取数据库用户和账号的情况下可以使用本案例介绍的方法来提权或者留下后门,以便守控肉机。