使用SQLRootKit网页数据库后门控制案例

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:



使用SQLRootKit网页数据库后门控制案例

Simeon
通过本案例可以学习到:
1)了解网页数据库后门SQLRootKit等方面的知识
2)使用SQLRootKit 1.0以及SQLRootKit 3.0数据库后门来控制计算机
SQLRootKit是一种网页脚本来执行数据库命令,前提是需要知道数据库的账号名称和密码,SQLRootKit目前有两种,一种是针对php语言的,其针对数据库为Mysql;另外一种是针对asp语言的,asp版本的SQLRootKit有两个版本即1.0版和改进后的3.0版本,主要是针对SQL Server。本案例主要介绍如何通过使用SQLRootKit 1.0以及SQLRootKit 3.0数据库后门来控制计算机。
1.使用SQLRootKit 1.0网页后门控制计算机
(1)  使用SQLRootKit 1.0控制计算机。在获取网站的数据库的类型、数据库用户密码和用户名称后,直接将SQLRootKit.asp文件上传到网站目录中,然后在浏览器中输入地址打开即可使用。打开后,在分别在“SQL用户名”和“SQL密码”中输入获取的SQL用户名“sa”和密码“***”,然后在执行命令前面的输入框中输入需要执行的命令,例如输入“net user”查看系统中的所有用户,输入完毕后,单击“执行命令”后,则会在该网页中显示执行结果,如图1所示。
1SQLRootKit1.0中执行命令
& 说明
1)目前很多杀毒软件都会对SQLRootKit1.0网页木马进行查杀,因此在使用前最好使用一些网页加密软件进行加密。
2SQLRootKit1.0中只能利用本地的SQL Server数据库来执行命令,如果数据库服务器跟Web服务器不在同一台计算机上,则SQLRootKit1.0无能为力。
3)使用经过加密的SQLRootKit 1.0网页木马,其Webshell相当于一个DOSShell,如果未在数据库服务器中删除一些比较危险的dll组件,则该后门可以长期存在。
2.使用SQLRootKit 3.0网页后门控制计算机
(1) 直接运行SQLRootKit 3.0网页后门程序,将SQLRootKit 3.0网页后门直接上传到网站目录,然后在浏览器中输入其对应地址即可,运行界面如图2所示。
运行SQLRootKit 3.0网页后门
& 说明
1)在SQLRootKit 3.0网页后门中,需要输入“SQL用户名”、“SQL密码”、“SQL服务器”以及“SQL端口”,程序默认SQL Server服务器跟Web服务器在同一台计算机上。
2输入“SQL用户名”、“SQL密码”、“SQL服务器”以及“SQL端口”验证正确后才能进行后续操作。
(2)  登录SQLRootKit 3.0网页后门,输入相应的“SQL用户名”和“SQL密码”密码后,单击“Login”按钮,验证正确后进入SQLRootKit 3.0网页后门管理界面,如图3所示。
进入SQLRootKit 3.0网页后门管理界面
(3) 检测组件。单击“检测组件”按钮,程序会自动检测服务器上是否存在XP_cmdshellsp_oacreateXp_regwrite以及xp_servicecontrol这四个SQL组件,检测操作系统版本以及执行权限等信息,并显示在该页面上,如图4所示。
检测SQL组件
& 说明
如果检测出来的组件被系统管理员删除了,则可以单击“恢复组件”按钮进行组件恢复。
(4) 执行命令。在“系统命令”中输入需要执行的命令,并选择运行程序的相应组件。在本例中选择“利用XP_cmdshell扩展”,并在系统命令中输入“net user”命令,然后单击“执行”按钮,其结果会显示在网页中,如图5所示。利用XP_cmdshell扩展命令在执行过程中可能会显示一些错误信息,可以不用管它。
5执行命令
(5) 上传文件。在SQLRootKit 3.0网页后门中提供了文件上传功能,即在“内容”中粘贴需要上传的文件的内容,在文件路径中输入需要保存的文件的物理路径,输入完毕后,单击“保存”按钮即完成上传文件。
安全防范措施
对于SQLRootKit 3.0网页后门来讲,其防范措施主要有:
1)勤杀毒,目前很多杀毒软件都能自动识别并查杀这些网页后门程序,因此平时要及时升级杀毒软件病毒库和开启杀毒软件的所有监管选项。
2)首次完成网站建设后,要保存网站所有文件的列表。例如可以在Dos下输入“dir  d:\网站目录\*.* >mywebsite20071218.txt”命令将网站所有文件生成列表文件mywebsite20071218.txt。每一次升级后都要再次生成文件列表,每一次维护时查看文件大小的变化即可。
3)使用一些网站监控软件进行实时监控。目前国外和国内都有一些网站文件监控软件,一点发现网站文件被改动,软件通过发送邮件或者发送手机短信等方式及时报警,方便管理员进行处理。
小结
本案例介绍了如何利用SQLRootKit 1.0以及SQLRootKit 3.0网页后门来控制计算机,在很多情况下,一般的网页后门程序或者网页木马不能在服务器上执行命令,如果服务器上存在SQL Server服务器,并在获取了数据库用户和账号的情况下可以使用本案例介绍的方法来提升权限或者做留守后门,方便守控肉鸡。


 本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/55776

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
4月前
|
数据库
电子好书发您分享《《阿里云数据库案例集客户案例集》电子书》
电子好书发您分享《《阿里云数据库案例集客户案例集》电子书》
202 2
|
5月前
|
JavaScript 前端开发 Java
LayUI之CRUD(增删改查功能实现)项目案例
LayUI之CRUD(增删改查功能实现)项目案例
47 0
|
5月前
|
数据库
数据库数据恢复—MSSQL报错“附加数据库错误823”的数据恢复案例
MSSQL Server数据库比较常见的报错是“附加数据库错误823”。如果数据库有备份,只需要还原备份即可;如果无备份或者备份不可用,则需要使用专业的数据恢复手段去恢复数据。 MSSQL Server数据库出现“823”的报错信息通常情况下有以下三种可能:1、由于数据库的物理页面出现了损坏。2、校验值被损坏导致的数据库页面无法被识别。3、异常断电、文件系统损坏导致的数据库页面丢失。
数据库数据恢复—MSSQL报错“附加数据库错误823”的数据恢复案例
|
4月前
|
SQL 弹性计算 关系型数据库
服务器数据恢复-华为ECS云服务器mysql数据库数据恢复案例
云服务器数据恢复环境: 华为ECS云服务器,linux操作系统,mysql数据库(innodb引擎)。作为网站服务器使用。 云服务器故障: 在执行mysql数据库版本更新测试时,误将本应该在测试库上执行的sql脚本执行在生产库上了,生产库上的部分表被truncate,部分表内有少量数据被delete。 需要恢复被truncate的表以及被少量数据被delete的表。
服务器数据恢复-华为ECS云服务器mysql数据库数据恢复案例
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例
北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。 Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例
|
2月前
|
存储 SQL 数据库连接
连接并操作数据库:Python 数据库案例
数据库是一种用于存储和管理数据的工具,它以一种有组织的方式将数据存储在文件或内存中,以便于检索和处理。数据库系统通常使用 SQL(Structured Query Language)语言来进行数据的操作,包括数据的插入、查询、更新和删除等。
|
2月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
|
3月前
|
SQL Java 数据库连接
JDBC增删改查案例讲解
JDBC增删改查案例讲解
18 0