0×01布景
现在的许多远控/后门由于现在干流防火墙规矩的约束,基本上都选用TCP/UDP反弹回连的通讯办法;但是在较高安全环境下,特别担任web相关事务的环境,由于安防设备(防火墙,IDS,IPS等)规矩的严厉约束,TCP/UDP(HTTP/HTTPS/DNS)乃至ICMP等地道都不能很容易从内网拜访Internet,只承受外部的恳求。在这种场景下,攻击者在拿到了webshell的前提下,考虑植入除webshell以外的后门就需求考虑如何来绕过防火墙等安防设备的约束了。
实际上关于端口复用这一陈旧的后门技能,一向研讨者许多,也提出了一些行之有效的办法和东西,其间许多的解决方案都是经过绑架web服务器相关进程/服务的内存空间、体系API乃至绑架 *** 驱动去到达意图,办法适当精妙,不过由于动作较大在不经意间就会触发自动防护。本文将从IIS 6.0今后的微软供给的原生机制动身,评论一种较天然的端口复用的技能:Net.tcp Port Sharing,直译是为“端口同享”。
本文将经过剖析Net.TCP Port Sharing这个机制,最终完成一个依据端口复用的正向后门,意图是同享一些攻防技能的研讨成果,请勿作为不合法用处。
0×02 Net.TCP Port Sharing 机制
在曾经的Web运用中,一个Web运用绑定一个端口,若有其他运用则需求绑定其他的端口才干是西安监听。如下图所示,Web Application 1绑定了80端口后,Web Application 2再去绑定80端口会犯错。
现在运用微软供给的NET.TCP Port Sharing服务,只需遵从相关的开发接口规矩,就能够完成不同的运用同享相同的web服务器端口。如下图中Web Application1 和Web Application2一起绑定在80端口。
Net.TCP Port Sharing服务是WCF(Windows Communication Foundation)中的一个新的体系组件,这个服务会敞开net.tcp 端口同享功用以到达在用户的不同进程之间完成端口同享。这个机制的最终是在HTTP.sys中完成的,现在将许多不同HTTP运用程序的流量复用到单个TCP端口上的HTTP.SYS模型已经成为Windows平台上的规范装备。这为防火墙管理员供给了一个一起的操控点,一起答应运用程序开发人员最小化构建可利用 *** 新运用程序的布置本钱。跨多个 HTTP运用程序同享端口的功用一向是Internet信息服务(IIS)的一项功用。实际上,HTTP.SYS答应恣意用户进程同享专用于HTTP流量的TCP端口。
HTTP.sys是在Windows Server 2003最开端引入的,这个驱动监听HTTP流量,然后依据URL注册的状况去分发,这样多个进程能够在同一个端口监听HTTP流量了。微软公开了HTTP Server API库,像httpcfg,netsh.exe等都是依据它的。如下图。
整个进程描述如下:
(1)当IIS或许其他的运用运用HTTP Server API去监听恳求途径的时分,这些运用需求在HTTP.SYS上面注册url prefix ,关于注册URL的规矩,能够参阅MSDN: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364698(v=vs.85).aspx 。这是注册的进程。
(2)当一个恳求到来并被http.sys获取到,它需求分发这个恳求给注册当时url对应的运用,这是路由的进程。
0×03 后门完成办法研讨
微软供给了HTTP Server API库用于构建在Windows上的Web服务器,原生支撑依据Net.tcp Port Sharing的Web Application 开发。现在HTTP Server API有两个版别,引荐运用HTTP Server API 2.0。微软供给了HTTP Server API 1.0的一个demo,地址在: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364640(v=vs.85).aspx。
这是一个简略的依据HTTP Server API 1.0的web server 比如,经过修正能够完成长途指令履行的功用。
开发的运用只需求注册与当时体系不抵触的URL(绑定的地址是共同的,仅仅URL途径有不同),就能够完成URL注册,浏览器(或许自定义开发的客户端 *** 程序)拜访对应的URL,服务端 *** 程序会依据本身注册的URL去解析履行客户端的指令。依据此,完全能够经过服务器注册一些特别URL与客户端拜访这些URL来到达一个HTTP一问一答的拜访方式的正向后门。
0×04 功用演示
环境:Windows 2008 R2 x64
IIS 7.0(默许设置)
防火墙状况默许敞开
权限要求:功用需求Adminstrator用户的完整性等级,即便没有启用Administrator,经过UAC进步程序完整性等级即可运转程序。
到达的意图:与Web服务器绑定同一端口,本身程序不监听端口,经过注册回调函数等候体系服务分发流量。服务器经过解析客户端发送的恳求(GET/POST或许其它办法)载荷,解析履行指令,然后以HTTP Response 的办法回来给客户端。
(1)在布置IIS的服务器上,后门程序注册一个URL
当时编写的仅仅一个demo,若是要做用户态Rootkit,就需求做本身躲藏的功用,请读者朋友们自由发挥,在这个进程中需求留意权限的操控。
[1] [2] 黑客接单网
装置办法履行Shell指令$db = new mysqli('localhost', 'demo', ‘demo', ‘demodemo'); windows/beacon_https/reve...
漏洞复现本月Apache被公布了一个提权的漏洞,并且前天在GitHub上公布出了利用脚本,这几天我负责漏洞应急这个漏洞。 .text:0000000000466AF5 mov rdi,被网贷骗钱,但又...
[1][2][3][4][5][6][7][8][9][10][11][12][13]黑客接单渠道选用airssl.sh这个bash脚本,树立垂钓热门。 private void Sh...
经营厅号段计算是高等学府邻近最为便利的获取手机号的办法,由于一般每一年学生入学都会敞开几个新的号段,亦或是重启一些退网时刻比较久的号段。 总归,这些号段一般都是该校学生,针对性强,并且只需求在尾号上+...
履行select*fromSouthidc_About,回来成果如下图。 }AutoCAD360 2.12014/3/13 15:56以上进犯的依据解说了为什么计算机安全要做到彻底没问题是令人难以置...
2. 装置 mono 包,为了在 Linux 上支撑 C#摘要:2018年共有430余万台计算机遭受勒索病毒进犯,12月进犯最盛。 有用载荷是一个AutoIT下载程序,它从hxxps://85.206...