Aggregator
刺透内网的HTTP代理
在做测试的时候发现了这样一个漏洞,原请求报文如下:
GET / HTTP/1.1 Host: attack_website [... HEADER ...] ...当时最初目的是想测SSRF的,但是经过测试没发现存在漏洞后来想起之前看过的一些漏洞案例,将请求报文中的URI部分替换成了网址:
http://gh0st.cn
就变成了如下的请求:
GET http://gh0st.cn HTTP/1.1 Host: attack_website [... HEADER ...] ...在BurpSuite里进行重放测试发现返回的响应正文就是 http://gh0st.cn 的,也就是说这里的attack_website可以被作为HTTP代理,于是进入下一步的测试能否使用非http/https协议进行请求?例如file:///,测试后发现确实没办法这样玩,看来是这里代理服务器不支持。
在这里替换URI部分为内网的地址,可以直接漫游内网的系统,进行深入的渗透测试了,后续的事情就不在这多说了,那么来研究看看为什么会有这样的问题呢?
从被动偶然到主动发现 了解原理查阅了一番资料和询问了一下朋友,都说具体的不太清楚,后来看见这样一篇文章:
https://www.secpulse.com/archives/74676.html
其中所说原理大致是因为Nginx反向代理配置不当导致可以被作为正向代理,导致能被外部作为HTTP代理服务器。
正向代理 and 反向代理正向代理
- 浏览器(/全局)设置代理服务器IP和对应端口
- 浏览器输入目标地址->代理服务器->目标服务器
简而言之,正向代理类似我们经常用到的跳板机,利用代理去访问外部的资源。
反向代理
跟正代不同的地方在于反向代理相对浏览器来说是透明的,不需要在浏览器(/全局)做什么配置,而是有反向代理服务器自己做请求转发到其服务器上所配置的地址。
大致如下的流程:
- 浏览器访问网站(网站所指即反向代理服务器)
- 网站(反向代理服务器)做处理,将请求转发给所设置的目标服务器
- 由请求最终到达的目标服务器响应给网站(反向代理服务器),然后再通过其返回给浏览器
TIPs:
- 一、反向代理服务器也可以变成WAF(例如Nginx支持反代功能,nginx+lua也可以搭建网站waf)
- 二、反向代理服务器也可以起到负载均衡的作用,由反向代理服务器做选择分配Web服务器
脚本语言选择:python2.7
系统环境:all
思考如何判断这个网站存在可以作为HTTP代理访问资源?唯一特征是什么?
脑子中唯一的思路就是IP,如果这目标站点能作为HTTP代理访问资源,那么我设置的这个资源就是返回真实IP的,这样就可以判断了~
这里我在团队官网上小小的写了一个,但是在大批量去测试却无法使用,因为官网的空间没那么大的吞吐量,承载不住高并发,后期建议大家使用 http://httpbin.org/ip 这个接口~
http://www.hi-ourlife.com/getip.php
PHP代码:
<?php echo $_SERVER['REMOTE_ADDR']; ?> 代码构建Import 库
import urllib, sys, re, json全局变量:
poc = "http://www.hi-ourlife.com/getip.php"获取使用代理访问资源后内容(IP)函数:
def useProxy(site): try: res = urllib.urlopen(poc, proxies={'http': site}).read() return res except: return getIP()正常本机获取IP函数:
def getIP(): res = urllib.urlopen(poc).read() return res防止有些会出错返回的内容不是IP,其实返回不是IP也就间接证明不存在这种漏洞,所以需要写个正则来匹配,这时候判断是否是IP的函数就诞生了:
def isIP(ip): compileIP = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if compileIP.match(ip): return True else: return False对比IP函数:
def isVul(site): resA = getIP() #print resA resB = useProxy(site) #print resB if resA == resB or not isIP(resB): print "\033[1;33m[INFO]\033[0m No Vulnerability!" else: print "\033[1;31m[INFO]\033[0m Existing Vulnerability!" print "\033[1;36m[INFO]\033[0m Site:[ {0} ] -> RealIP:[ {1} ]".format(site, resB) 单线程批量从扫描器里把代码模板剥离了出来如下:
#-*- coding:utf-8 -*- #Author: Vulkey_Chen import urllib, sys, re poc = "http://www.hi-ourlife.com/getip.php" def useProxy(site): try: res = urllib.urlopen(poc, proxies={'http': site}).read() return res except: return getIP() def getIP(): res = urllib.urlopen(poc).read() return res def getSite(filename): f = open(filename) res = [] for line in f: res.append(line) return res def isIP(ip): compileIP = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if compileIP.match(ip): return True else: return False def isVul(site): resA = getIP() #print resA resB = useProxy(site) #print resB if resA == resB or not isIP(resB): print "\033[1;33m[INFO]\033[0m No Vulnerability!" else: print "\033[1;31m[INFO]\033[0m Existing Vulnerability!" print "\033[1;36m[INFO]\033[0m Site:[ {0} ] -> RealIP:[ {1} ]".format(site, resB) def main(filename): for i in getSite(filename): isVul(i.replace("\n","")) if __name__ == '__main__': main(sys.argv[1]) END使用方法:python proxy_vul.py urls.txt
urls.txt 格式:
http://www.hi-ourlife.com/ https://gh0st.cn/ http://mst.hi-ourlife.com:8080/建议批量方法:
扫描所有想检测站点的web服务端口(Nginx容器存在此类问题居多),然后使用脚本检测。
Achieving Equilibrium: a conversation about gender balance in STEM
In 2018, New Zealand and the United Kingdom are celebrating 125 and 100 years respectively of Women's suffrage. To mark these milestones the British High Commission and the Commonwealth Women Parliamentarians NZ Group hosted an interactive panel discussion on gender balance in STEM sectors
使用 QueryList + Redis 下载壁纸
美国起诉朝鲜黑客,涉索尼及WannaCry等黑客案
Domain Name Consolidation: Observations From the Field
Trickbot Gets Trickier by Adding an Encryption Layer
Akamai India's StandTall Program
QEMU interrupt emulation
渗透,持续渗透,后渗透的本质
引言(1):
目标资产信息搜集的广度,决定渗透过程的复杂程度。
目标主机信息搜集的深度,决定后渗透权限持续把控。
渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。
持续渗透的本质是线索关联,而线索关联为后续的攻击链方提供了强大的方向。
后渗透的本质是权限把控,而权限把控为后渗透提供了以牺牲时间换取空间强大基础。
靶机背景介绍:
主机A1:CentOs x64 全补丁,无提权漏洞,可互联网
主机A2:Windows 2008 x64 全补丁 无提权漏洞,脱网机
主机B: Windows 2008 x64 全补丁 无提权漏洞,域内主机,脱网机
主机C: Windows 2008 x64 域控,存在ms14-068漏洞,脱网机
且A1,A2,B,C系统主机密码均为强口令
A1,A2,B,C为标准ABC类网,允许访问流程,A1---->A2---->B---->C,不允许跨主机访问。(请注意每个主机的对应IP段)
整体攻击流程图:
模拟开始攻击:
扫描主机A1对攻击机开放端口:80,22
扫描主机A1-Web目录结构:
主机A1-Web搜索处存在sql注入:
登录后台得到shell:
生成tcp payload 以php一句话执行:
A1对内信息搜集发现A2,并且针对A1,没有可用提权漏洞(Web非root权限),放弃提权:
以A1作为跳板添加虚拟路由,并且开始做针对A2的对内信息搜集:
以A1跳板发现A2部署weblogic,并且存在漏洞。转发目标机7001至本地,利用漏洞。
发现A2全补丁,放弃提权,(weblogic为user权限)对内信息刺探A2,得到weblogic相关配置文件,解密后,得到密码。
尝试做二级跳板,以weblogic相关配置,尝试对B(域内成员)的渗透(SMB)
获取B权限(system),尝试对内B的本身信息搜集,发现域账号(普通成员)user1.
引言(2):
渗透测试过程,提权是非核心任务,这里也不建议尝试提权,因为在实战过程中获取某个“点”的权限,过程是及其漫长以及困难的,不要因为某个大胆的尝试,而影响了整个渗透测试流程。
尝试三级跳板,尝试获取sid,以及域控对内相关IP,尝试越权,获取域控权限。
并没有结束:在得到域控后,对主机C对内信息搜集,得到域控administrator密码,尝试用该密码ssh--->A1,成功,root权限。
广告(你需要背下来的广告词):只要是“一个人”设置的密码“群”,一定有大的规律,只要是“一个行业”设置的密码“群”一定有规律可寻。
引言(4): 渗透的本质是信息搜集,而要把信息搜集发挥最大效果,一定是离不开“线索关联”,而信息搜集,无论是对内,对外,更或者是主动信息搜集,被动信息搜集。如何把目标A与B的信息搜集,整理后做“线索关联”是一个非常有趣的工作。
后者的话: APT攻击三大要素,既: 攻击手段复杂,持续时间长,高危害性 APT攻击主要分类为两大类,既: 高级持续渗透 , 即时渗透
APT两大类攻击核心诉求区别:
在做调研之前,作者一直以为越发达的城市,或者越政治中心的城市是发生攻击的高发地,但是在调研后,打破了我之前的想法,于是作者深入调研原因究竟,以便更好的了解企业安全建设的规划。
在针对政府机构的攻击中,APT组织除了会攻击一般的政府机构外,还有专门针对公检法的攻击。 在针对能源行业的攻击中,APT组织重点关注的领域依次是:石油、天然气和核能。针对能源行业的攻击,对国家安全具有很大的影响。 在针对金融行业的攻击中,APT组织最为关注的是银行,其次是证券、互联网金融等。还有部分APT组织会关注到与虚拟数字货币(如比特币、门罗币等)相关的机构或公司。针对金融机构的攻击大多会利用安全漏洞。针对ATM自动取款机的攻击也一直延续了2016年的活跃状态。 还有一点值得注意:APT组织的攻击虽然具有很强的针对性,但其攻击目标也并不一定是单一的。有的APT组织只攻击特定国家特定领域的目标(仅从目前已经披露的情况看),但也有很多APT组织会对多个国家的不同领域目标展开攻击。上图给出了2017年全球各国研究机构发布的APT研究报告中,披露APT组织攻击目标的所属国家、领域数量分析。
引言(5):
目前市场上的企业网络安全规划与建设大部分存在统一实施方案,或者是模板方案。而非针对特定行业,特定客户群体来制定针对方案。而不同行业,不同背景的企业安全规划方案也一定是不相同的。如传统行业(医药,食品,汽车)对待企业安全的建设是起跑阶段。如金融行业(证券,银行,保险)对待企业安全的建设是规划与实施阶段。如互联网行业(某度,某巴,某鹅)对待企业安全建设是自研或商业化阶段。为了更好的了解,所以如上制图,更能清楚的看到,未来企业网络安全对待企业发展的重要性,以及特定行业特定规划方案,特定行业特定防御对象。如某X企业安全预算为100万,是否应该针对该企业,行业,地理位置,做防御预算倾斜,并且留有10%-15%的资金量做2月,3月,11月攻击高发期的预案资金等。
总结:
由于信息化,自动化的办公,企业成本的考虑,传统的“以点打面”的点会越来越分散与难以集中管理,如跨国办公,移动办公等。那么可预知的攻击方式将会以人为突破口的事越来越多。安全的本质又不能仅仅靠预算与设备的投入而杜绝,尤其是在未来的大型甲方公司,都会有着自己的安全团队,那么如何把网络安全发展成未来甲方公司的企业文化,将会是一个漫长的过程。而近些年无论是国内还是国外的官方部门开始重视网络安全,但是效果不明显,这里做一个总结,同样部分也适用于企业:
阅《汇编语言》记录的小结笔记及练习题(一)
Attacking Air-Gap-Segregated Computers
QOM Property
A Look Back at the Equifax Data Breach, One Year Later
WannaCry, Petya, and Equifax first come to mind when you think of the most impactful cyber events in recent years,...
The post A Look Back at the Equifax Data Breach, One Year Later appeared first on McAfee Blog.
Trending: IoT Malware Attacks of 2018
Since January 1st of 2018, a barrage of cyberattacks and data breaches have hit almost every industry, targeting businesses large...
The post Trending: IoT Malware Attacks of 2018 appeared first on McAfee Blog.
Apache Struts 2 Vulnerability (CVE-2018-11776) Exploited in CroniX Crypto-Mining Campaign
KVM MMIO implementation
Fuzz
NZIC Performance Improvement Framework (PIF) Follow-up Review
Operational Update Regarding the KSK Rollover for Administrators of Recursive Name Servers
Currently scheduled for October 11, 2018, the Internet Corporation for Assigned Names and Numbers (ICANN) plans to change the cryptographic key that helps to secure the internet’s Domain Name System (DNS) by performing a Root Zone Domain Name System Security Extensions (DNSSEC) key signing key (KSK) rollover. Originally scheduled to take place in October 2017, […]
The post Operational Update Regarding the KSK Rollover for Administrators of Recursive Name Servers appeared first on Verisign Blog.