1. 首页
  2. 渗透测试

某次省hvv-步步艰辛的打点入口

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

前言
某次省攻防演练的艰辛打点。

篇幅较长,请耐心观看

不是星标不推送文章了。

师傅也不想吧~

快把极梦C设置成星标吧。

环境结束


windows2016

iis10

asp.net:4.0

目标假设ip: 55.55.55.55

入口点


提供的靶标:http://55.55.55.55:8111/

大官网,找不到什么可利用的点。

IP封的太快了。

端口扫描:经过好几个ip的分段扫描,发现了几个端口。(因为ip封禁太快,这里端口分开跑一下)

发现

http://55.55.55.55:8411/ 地市

http://55.55.55.55:6611/ 省直

细看这两个都是同一个框架的。

测试发现两个都存在弱口令 admin/123456

同时发现地市的资产对ip封禁很少,省直的封ip嘎嘎快

首选地市的资产,发现后台没有上传点,js分析也没有发现upload相关的上传,放弃。

不得已,转到省直的目标,找到了几个上传模块,发现上传接口都是同一个。

文件上传


假设文件上传为:http://55.55.55.55:6611/aa/bb/upload

文件上传路径为:http://55.55.55.55:6611/image/2023/test.png

后缀绕过


首选别名绕过,发现目标asmx后缀名是可以上传的。

某次省hvv-步步艰辛的打点入口

发现访问进行了url跳转。

http://55.55.55.55:6611/500.html?=/image/2023/test.asMx

第一反应,这是linux的吗?
asp能在linux 上跑吗?
特意去google一下,发现linux应该是可以跑asp的

某次省hvv-步步艰辛的打点入口

这里也利用了png改成pnG的方式,但是目标报错。假设是linux先测试一波
既然是假设是linux,第二次上传了asmx

某次省hvv-步步艰辛的打点入口

发现访问也进行了url跳转。

http://55.55.55.55:6611/500.html=/image/2023/test.png.asmx

asmx和asMx测试结果都是一样的,假设失败。
想起来之前也是遇到过这种情况,不过当时他的环境是linux/jsp.
当时访问也是这种500。利用;可以绕过正常访问。

 

这里利用;也无法正常访问.

到这里就不用考虑系统,只需要考虑后缀名即可。

回想


回想起来,在2020年进行过的一次攻防演练,打过目标这个系统框架。

当时也是通过文件上传进行后缀和内容检测的绕过,最终获取了webshell。

某次省hvv-步步艰辛的打点入口

当时绕过的方式:

后缀绕过:

“1.aspx”.jpg”

内容绕过:

利用gif图片绕过

jpg图片+gif图片+木马绕过

经过测试,发现目标都进行了修改。

再次回想


又想到一次绕过,当时无法访问是因为文件后缀和文件内容不匹配。

如: a.asp 内容需要全部是asp内容。

详细可以参考一下我之前写的

https://www.t00ls.com/thread-62556-1-1.html

或者

https://www.freebuf.com/articles/web/270385.html

经过测试发现上述方式都失败。

假设asmx可以成功,接下来就是考虑内容检测的问题了。

 

内容检测,不知道是什么检测机制。对一些字符的拼接有拦截。如图

asmx的头部测试。

某次省hvv-步步艰辛的打点入口

某次省hvv-步步艰辛的打点入口

asmx的马子,本身是不会asp的,对免杀陷入沉思。不停的搜文章,发现最后也无法进行单纯的asmx上传。

总结上述方式



经过了一天的时间做的一些失败尝试。

上传asmx文件–>访问500–>尝试利用;号绕过500–>历史绕过方式–>尝试内容和后缀名一致绕过–>最终结果全部失败

访问还是无法访问,到这里就感觉可能不是免杀的问题,

可能还是后缀问题,

(该退就退,不能一条路走到黑,其实是已经耗时一天了。

hw中一天是什么概念!)

接下来就测试其余后缀是否可以绕过

继续绕过后缀



单纯的进行双写filename—>失败

boundary=1—>boundary= 1 等效替换—>失败

等等。

最终绕过后缀



Content-Disposition: form-datA*;;;;;;;;;;;;;;name=”file”;;;;;;;;;;;;;;;;;;;;; filename1123=”1.aspx”;$20 filename=”test.asp”

Content-Type: multipart/form-data; boundary= —————————

说明:集合了所有见过的绕过方式,进行一些乱加,最终绕过。

某次省hvv-步步艰辛的打点入口

访问

某次省hvv-步步艰辛的打点入口

测试上传helloworld

某次省hvv-步步艰辛的打点入口

发现gg,内容检测需要绕过。

慢慢测试内容,发现和上面的检测一样。

和文件名的后缀没有什么关系。

继续进行过了各种编码免杀,发现waf有点难搞。

这里省略测试了n次。差不多一上午。

退而求其次,试试执行时间命令

<%=now()%> 输出当前主机时间

某次省hvv-步步艰辛的打点入口

但是测试别的也是无法上传。

思考



各种测试都被拦截,静下来想一下。

1.本地waf太过强硬。在其余全部免杀的地方这里被查杀。

2.传输过程中waf检测拦截查杀。

内容检测



通过思考,这里一定是因为上述思考的如何在传输过程中进行免杀绕过。

这里想到了之前的绕过方式利用编码

最终成功绕过



Accept-Encoding:

Content-Encoding:

上传asp的马子,访问虽然500但是可以连接的。

某次省hvv-步步艰辛的打点入口

某次省hvv-步步艰辛的打点入口

某次省hvv-步步艰辛的打点入口

asp的权限比较低,后续上传了aspx和asmx进行后渗透。

某次省hvv-步步艰辛的打点入口

提权



老思路,利用反射去提权。

上线了cs,查看补丁。

不过现在查看补丁意义不大,因为windows后面出的一些打补丁包会批量修前面的洞,只能看到最近更新,之前的就无法查看了。

想想是不是查看就只有就几个补丁呢。

尝试过的方式



printspoofer

SweetPotato

PrintNotifyPotato

SharpEfsPotato

LocalPotato

PetitPotato

都失败了

说一下:之前都是利用cs反射去绕过。但是在搜索文章过程中,

发现2016对反射进行了一些补丁,导致之前的反射方式会被查杀。

某次省hvv-步步艰辛的打点入口

原创文章,作者:moonsec,如若转载,请注明出处:https://www.moonsec.com/8258.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息