欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

探索基于.NET下实现一句话木马之Asmx篇

来源:本站整理 作者:佚名 时间:2018-07-25 TAG: 我要投稿

0×01 前言
上篇介绍了一般处理程序(ashx)的工作原理以及实现一句话木马的过程,今天接着介绍Web Service程序(asmx)下的工作原理和如何实现一句话木马,当然介绍之前笔者找到了一款asmx马儿 https://github.com/tennc/webshell/blob/master/caidao-shell/customize.asmx ,依旧是一个大马如下图:

这个还只是对客户端的菜刀做了适配可用,暂时不符合一句话木马的特点哈,至于要打造一款居家旅行必备的菜刀马,还得从原理上搞清楚 asmx的运行过程。
0×02 简介和原理
Web Service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务,Web Service的主要目标是跨平台的可互操作性,为了实现这一目标Web Service 完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。简单的来说Web Service具备三个要素SOAP(Simple Object Access Protocol)、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, SOAP用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, UDDI用来管理,分发查询webService ,也因此使用Web Service有许多优点,例如可以跨平台工作、部署升级维护起来简单方便、实现多数据多个服务的聚合使用等等。再结合下图说明一下WebService工作的流程

无论使用什么工具、语言编写WebService,都可以使用 SOAP 协议通过 HTTP调用,创建 WebService 后,任何语言、平台的客户都可以阅读 WSDL 文档来调用 WebService ,同时客户端也可以根据 WSDL 描述文档生成一个 SOAP 请求信息并发送到Web服务器Web服务器再将请求转发给WebService 请求处理器。
对于.Net而言,WebService请求处理器则是一个 .NET Framework 自带的 ISAPI Extension。Web请求处理器用于解析收到的SOAP请求,调用 WebService,然后生成相应的SOAP应答。Web服务器得到SOAP应答后,在通过HTTP应答的方式将其返回给客户端,但WebService也支持HTTP POST请求,仅需要在服务端增加一项配置即可。
0×03 一句话的实现
3.1、WebMethod
在Web Service程序中,如果一个公共方法想被外界访问调用的话,就需要加上WebMethod,加上[WebMethod]属性的公有方法就可以被访问,而没有加这个属性的方法就是不能被访问的。将 WebMethod 属性 (Attribute) 附加到 Public 方法表示希望将该方法公开为 XML Web services 的一部分,它具备6个属性:Description 、EnableSession、MessageName、TransactionOption、CacheDuration、BufferResponse,为了更清晰的表述WebService请看下面这段代码

客户端预览后

这里声明成一个字符串类型的公共方法HelloWorld,如果此时在方法体内实现创建aspx文件,保存内容为一句话小马的话那么这个WebService就变成了服务后门,依照这个推理就产生了C#版本的WebService小马,实现了两个功能,一个是创建文件,还有一个是执行CMD命令,核心代码如下:


小马运行后执行whoami命令之后以默认XML格式回显数据,如下图

知道原理后就开始着手打造菜刀可用的一句话木马,和一般处理程序类似通过Jscript.Net的eval方法去实现代码执行,前文有提到WebMethod存在多个属性且根据微软的官方文档 https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-1.1/1tyazy68%28v%3dvs.80%29 可以得出Jscript.Net中可以使用WebMethodAttribute 来替代[WebMethod]。
一句话实现的代码如下:

打开浏览器,测试效果如下

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载