欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

通过F5 BIG-IP LTM的会话Cookie获取Facebook服务器内网IP

来源: 作者: 时间:2019-02-24 21:00 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

早前有技术社区发布了文章《解码F5负载均衡产品持久性Cookie探测内网IP》,其中讲解了通过解码F5 BIG-IP LTM的Cookie来发现目标服务器真实内网IP。简单来说就是,F5负载均衡产品( BIG-IP LTM)在做网络负载均衡时,会利用持久性cookie来实现会话保持,所以,在一些渗透测试中,如果遇到F5的负载均衡产品环境,可以使用这种技巧,获取目标服务器的真实IP地址,为后续深入渗透带来一定便利。本篇文章,我们就来讲述利用这种技巧,发现Facebook服务器内部IP信息。
F5 BIG-IP LTM 官方名称为本地流量管理器,也叫网络负载均衡器,是F5公司的新一代网络管理产品。BIG-IP LTM 可做4-7层负载均衡,具有负载均衡、应用交换、会话交换、包过滤等多种高级网络功能。
F5 BIG-IP LTM Cookie保持机制
当客户端向目标服务器发起请求时,会用到HTTP Cookie Insert或HTTP Cookie Rewrite方法,这些Cookie方法会让客户端与服务器端保持有效,样式为BIGipServer
,其中包含了客户端请求的,经过编码处理的目标服务器IP和端口信息。
BIG-IP LTM 系统Cookie编码规则
IP编码
将IP地址的每个八位字节值转换为等效的1字节十六进制值
将十六进制字节的顺序反向,然后连接成一个4字节的十六进制值
将生成的4字节十六进制值转换为其十进制等效值
例如,如果服务器IP为10.1.1.100,按照上述规则来编码就是:
10.1.1.100 = 0x0A . 0×01 . 0×01 . 0×64
Reverse byte order, concatenated = 0x6401010A
0x6401010A = 1677787402
当然,如果服务器IP为a.b.c.d,也能用公式a + b*256 + c*(256^2) + d*(256^3)来代入实现最终编码。
端口编码
把十进制的端口值转换为等效的两字节十六进制值
反向两字节的十六进制顺序
将生成的两字节十六进制值转换为十进制等效值
如8080端口,最终编码为:
8080 = 0x1F90
Reverse byte order = 0x901F
0x901F = 36895
比如,在对服务器2001:0112::0030:80请求时,F5会把Cookie编码为:
BIGipServer
=vi20010112000000000000000000000030.20480
具体可参考support.f5.com和owasp.org的说明。
测试Facebook
如测试者通过互联网对Facebook内部服务器发起了一次请求,请求经过Facebook内网的F5 BIG-IP时,它会在Cookie中加入源请求IP信息,然后根据请求判断发往服务器;服务器响应时,就在Set-Cookie:BIGipServer
中编码了服务器IP和端口信息,回传到客户端。
客户端请求:
GET /app HTTP/1.1
Host: f4c3300k.com

服务端响应:

最终,只要客户端能解码这个Set-Cookie:BIGipServer
信息,就能成功获取到Facebook内部服务器的IP地址。当然,要发现这种Cookie,除了查看 “
” 字段外,我们还能检索类似于 “Desa”、”pre”、”prod”、”Exchange_2010_External”等其它管理员会设置的内部架构信息。
存在该漏洞的FACEBOOK相关网站:
maileast.thefacebook.com
autodiscover.instagram.com
mail-ext.thefacebook.com
mail.hack.tfbnw.net
mail.thefacebook.com
autodiscover.thefacebook.com
autodiscover.fb.com
autodiscover.internet.org
autodiscover.oculus.com
autodiscover.whatsapp.com
esbmbltest.thefacebook.com
测试FACEBOOK服务器PoC


请求:

得到的响应1:

得到的响应2:

得到的响应3:

如果持续大量发起请求,就可能得到所有FACEBOOK内部服务器IP地址。
BIG-IP Cookie解码自动化工具
手工测试太过麻烦,为此,我专门做了一个BIG-IP Cookie的请求解码工具:f5_cookieLeaks,完全能做到最终目标服务器信息的自动化请求解码,非常方便。
安装:
usr@pwn:~$ git clone https://github.com/ezelf/f5_cookieLeaks.git
usr@pwn:~$ cd f5_cookieLeaks
usr@pwn:~$ pip install -r requirements.txt
用f5_cookieLeaks对Facebook的测试证明:

[1] [2]  下一页

早前有技术社区发布了文章《解码F5负载均衡产品持久性Cookie探测内网IP》,其中讲解了通过解码F5 BIG-IP LTM的Cookie来发现目标服务器真实内网IP。简单来说就是,F5负载均衡产品( BIG-IP LTM)在做网络负载均衡时,会利用持久性cookie来实现会话保持,所以,在一些渗透测试中,如果遇到F5的负载均衡产品环境,可以使用这种技巧,获取目标服务器的真实IP地址,为后续深入渗透带来一定便利。本篇文章,我们就来讲述利用这种技巧,发现Facebook服务器内部IP信息。
F5 BIG-IP LTM 官方名称为本地流量管理器,也叫网络负载均衡器,是F5公司的新一代网络管理产品。BIG-IP LTM 可做4-7层负载均衡,具有负载均衡、应用交换、会话交换、包过滤等多种高级网络功能。
F5 BIG-IP LTM Cookie保持机制
当客户端向目标服务器发起请求时,会用到HTTP Cookie Insert或HTTP Cookie Rewrite方法,这些Cookie方法会让客户端与服务器端保持有效,样式为BIGipServer
,其中包含了客户端请求的,经过编码处理的目标服务器IP和端口信息。
BIG-IP LTM 系统Cookie编码规则
IP编码
将IP地址的每个八位字节值转换为等效的1字节十六进制值

copyright 无奈人生

将十六进制字节的顺序反向,然后连接成一个4字节的十六进制值
将生成的4字节十六进制值转换为其十进制等效值
例如,如果服务器IP为10.1.1.100,按照上述规则来编码就是:
10.1.1.100 = 0x0A . 0×01 . 0×01 . 0×64
Reverse byte order, concatenated = 0x6401010A
0x6401010A = 1677787402
当然,如果服务器IP为a.b.c.d,也能用公式a + b*256 + c*(256^2) + d*(256^3)来代入实现最终编码。
端口编码
把十进制的端口值转换为等效的两字节十六进制值
反向两字节的十六进制顺序
将生成的两字节十六进制值转换为十进制等效值
如8080端口,最终编码为:
8080 = 0x1F90
Reverse byte order = 0x901F
0x901F = 36895
比如,在对服务器2001:0112::0030:80请求时,F5会把Cookie编码为:
BIGipServer
=vi20010112000000000000000000000030.20480
具体可参考support.f5.com和owasp.org的说明。
测试Facebook
如测试者通过互联网对Facebook内部服务器发起了一次请求,请求经过Facebook内网的F5 BIG-IP时,它会在Cookie中加入源请求IP信息,然后根据请求判断发往服务器;服务器响应时,就在Set-Cookie:BIGipServer
www.wnhack.com

中编码了服务器IP和端口信息,回传到客户端。
客户端请求:
GET /app HTTP/1.1
Host: f4c3300k.com

服务端响应:

最终,只要客户端能解码这个Set-Cookie:BIGipServer
信息,就能成功获取到Facebook内部服务器的IP地址。当然,要发现这种Cookie,除了查看 “
” 字段外,我们还能检索类似于 “Desa”、”pre”、”prod”、”Exchange_2010_External”等其它管理员会设置的内部架构信息。
存在该漏洞的FACEBOOK相关网站:
maileast.thefacebook.com
autodiscover.instagram.com
mail-ext.thefacebook.com
mail.hack.tfbnw.net
mail.thefacebook.com
autodiscover.thefacebook.com
autodiscover.fb.com
本文来自无奈人生安全网

autodiscover.internet.org
autodiscover.oculus.com
autodiscover.whatsapp.com
esbmbltest.thefacebook.com
测试FACEBOOK服务器PoC


请求:

得到的响应1:

得到的响应2:
本文来自无奈人生安全网
得到的响应3:

如果持续大量发起请求,就可能得到所有FACEBOOK内部服务器IP地址。
BIG-IP Cookie解码自动化工具
手工测试太过麻烦,为此,我专门做了一个BIG-IP Cookie的请求解码工具:f5_cookieLeaks,完全能做到最终目标服务器信息的自动化请求解码,非常方便。
安装:
usr@pwn:~$ git clone https://github.com/ezelf/f5_cookieLeaks.git
usr@pwn:~$ cd f5_cookieLeaks
usr@pwn:~$ pip install -r requirements.txt
用f5_cookieLeaks对Facebook的测试证明:
copyright 无奈人生

[1] [2]  下一页 内容来自无奈安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。