记一次从文件备份泄露到主机上线

本文描述了一个测试项目,通过文件备份发现了ASP.NET应用的配置文件,包含了敏感信息。利用这些信息,测试者进行了未授权访问,发现XSS漏洞并上传了WebShell。接着,通过SQL注入开启xp_cmdshell实现远程命令执行,并绕过杀软成功上线。
摘要由CSDN通过智能技术生成

前言

记录下某个测试项目中,通过一个文件备份泄露到主机上线的过程。

文件备份泄露

对于测试的第一项当然是弱口令,bp跑了一通词典,无果。目录又爆破了一通,发现一个web.rar可通,赶紧下载看看,如下图所示。
1665974730_634cc1cac2160bb11b814.png!small

代码审计

解压瞅了瞅,源代码为ASP.NET框架的,这个真不懂,只能先用Fortify快速扫描一番,此处略过。

配置文件+未授权访问

扫描之后,看了下报告排除了误报,发现某个xml配置文件包含了很多信息,比如数据库账号密码,微信AppId等等。
1665974884_634cc264ad53b1fd708dd.png!small
习惯性将路径拼接一下访问一下url,好家伙,未授权。
1665974887_634cc2674877260f8976e.png!small

默认账户密码

同时注意到了配置文件中还有一行定义了默认登录账户和密码哈希。
图片.png
于是在cmd5对此哈希进行解密,并成功获取账号明文密码。
图片.png

返回到登录界面,输入了刚才账户和解密的密码之后,果不其然,等登录验证成功之后跳转了系统内部。
图片.png
图片.png
图片.png

储存型XSS

在Fortify的扫描报告中有多个反射xss漏洞信息,不过随便点开功能栏,存在许多输入框,便觉得肯定存在储存xss,随便找一处,输入经典测试语句点击保存并刷新,果然弹出了窗。
图片.png
图片.png

文件上传

刚找到一个xss,便不在测试了,此站点未进行任何xss过滤,肯定到处是xss漏洞。又在项目信息处找到了一个上传点,简单用哥斯拉生成一个webshell:test.asp,点击上传发现webshell上传成功,但是未返回文件上传路径,且文件名被改写为参数形式了。
图片.png
图片.png
可以通过选择下载刚才上传的文件获取到新的文件名,但是问题是不知道上传到了那个目录下。
图片.png
好在有源代码,通过关键词语搜索全局,找到多个名为uploadfile的文件夹的路径,通过这些路径拼接到url并一个个尝试访问即可,如下图,访问未报错即证明路径正确。
图片.png
使用正确的url通过哥斯拉连接成功,GetShell达成。
图片.png

未授权访问+数据查询+xp_cmdshell=RCE

在getshell之后,并未停止测试脚步,发现了一处sql查询页面,除了可以查询数据库内容外,还可以执行sql语句。
图片.png
考虑到配置文件的未授权访问,于是又在bp中删除了cookie,发现此查询页面也可以未授权访问,而由代码审计中的配置文件知道数据库为sql
server,如果可以开启xp_cmdshell,那么便可以直接远程命令执行。
图片.png
图片.png

xp_cmdshell

这里简单介绍一下xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。

关闭
EXEC sp\_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp\_configure 'xp\_cmdshell',0;
RECONFIGURE;
启用
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp\_cmdshell',1;
RECONFIGURE;

这里直接将开启xp_cmdshell的sql语句执行,未报错。
图片.png
再通过xp_cmdshell执行whoami命令,结果为system。
图片.png
随后通过"dir /s /b c:\Web.config“命令查询应用系统的绝对路径,通过下图可知返回了两个路径,在排除一个之后获得了系统的绝对路径。
图片.png
在获取绝对路径之后,通过echo命令将一句话木马写入,执行未报错即写入成功。
图片.png
再将webshell拼接为url,通过哥斯拉连接,再次成功GetShell。
图片.png

上线

虽然之前的都比较顺利,但是在执行上线的时候遭遇了挫折,首先是通过Cobalt
Strike的pwoershell一句话和bitsadmin上线均失败,显示拒绝访问。
图片.png
再生成可执行文件木马上传,直接上传失败,那几乎可以确定了存在杀软,其实在执行这些之前应该先查询杀软是否存在,此处不该莽撞。
图片.png

查询

通过webshell执行tasklist命令列出进程列表,查看进程信息。
图片.png
这里将进程信息放进潇湘老哥的杀软查询工具中快速对比,获知主机开启了360和安全狗。emm…看来只要过360免杀就行了。
图片.png

免杀

对我而言,免杀只能找到github上的大佬工具来用了,在Cobalt
Strike中生成shellcode并通过一个目前可用的免杀工具生成木马,在vps用python -m
http.server开启一个简单http服务,获取一个远程下载地址,通过远程下载,将木马成功下载到目标主机。
图片.png
图片.png
执行,等待几秒钟,主机上线。
图片.png

结语

简单总结一下,通过文件备份泄露,简单审计一下获取配置文件的账号密码登录到系统内部,再找到文件上传点和sql执行点,通过webshell绕过杀软并主机上线,思路为:信息搜集=>打点=>命令执行=>防御绕过=>上线。在fofa搜索一下,使用此应用系统的资产大约有二十几个,算是个小通杀。

单审计一下获取配置文件的账号密码登录到系统内部,再找到文件上传点和sql执行点,通过webshell绕过杀软并主机上线,思路为:信息搜集=>打点=>命令执行=>防御绕过=>上线。在fofa搜索一下,使用此应用系统的资产大约有二十几个,算是个小通杀。

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值