某次省攻防演练的艰辛打点。
篇幅较长,请耐心观看。
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后缀名是可以上传的。
发现访问进行了url跳转。
http://55.55.55.55:6611/500.html?=/image/2023/test.asMx
既然是假设是linux,第二次上传了asmx
发现访问也进行了url跳转。
http://55.55.55.55:6611/500.html=/image/2023/test.png.asmx
这里利用;也无法正常访问.
到这里就不用考虑系统,只需要考虑后缀名即可。
回想起来,在2020年进行过的一次攻防演练,打过目标这个系统框架。
当时也是通过文件上传进行后缀和内容检测的绕过,最终获取了webshell。
当时绕过的方式:
后缀绕过:
"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的马子,本身是不会asp的,对免杀陷入沉思。不停的搜文章,发现最后也无法进行单纯的asmx上传。
经过了一天的时间做的一些失败尝试。
上传asmx文件-->访问500-->尝试利用;号绕过500-->历史绕过方式-->尝试内容和后缀名一致绕过-->最终结果全部失败
单纯的进行双写filename--->失败
boundary=1--->boundary= 1 等效替换--->失败
等等。
Content-Disposition: form-datA*;;;;;;;;;;;;;;name="file";;;;;;;;;;;;;;;;;;;;; filename1123="1.aspx";$20 filename="test.asp"
Content-Type: multipart/form-data; boundary= ---------------------------
说明:集合了所有见过的绕过方式,进行一些乱加,最终绕过。
访问
测试上传helloworld
发现gg,内容检测需要绕过。
慢慢测试内容,发现和上面的检测一样。
和文件名的后缀没有什么关系。
继续进行过了各种编码免杀,发现waf有点难搞。
这里省略测试了n次。差不多一上午。
退而求其次,试试执行时间命令
<%=now()%> 输出当前主机时间
但是测试别的也是无法上传。
各种测试都被拦截,静下来想一下。
1.本地waf太过强硬。在其余全部免杀的地方这里被查杀。
2.传输过程中waf检测拦截查杀。
通过思考,这里一定是因为上述思考的如何在传输过程中进行免杀绕过。
这里想到了之前的绕过方式利用编码
Accept-Encoding:
Content-Encoding:
上传asp的马子,访问虽然500但是可以连接的。
asp的权限比较低,后续上传了aspx和asmx进行后渗透。
老思路,利用反射去提权。
上线了cs,查看补丁。
不过现在查看补丁意义不大,因为windows后面出的一些打补丁包会批量修前面的洞,只能看到最近更新,之前的就无法查看了。
想想是不是查看就只有就几个补丁呢。
printspoofer
SweetPotato
PrintNotifyPotato
SharpEfsPotato
LocalPotato
PetitPotato
都失败了
说一下:之前都是利用cs反射去绕过。但是在搜索文章过程中,
发现2016对反射进行了一些补丁,导致之前的反射方式会被查杀。
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读