写在前面的话

GandCrab勒索软件于1月首次出现,并在其短时间中迅速发展。此恶意软件的第一个版本(1.0和1.1)有一个错误,将密钥留在内存中,因为作者没有正确使用加密函数中的标志。一家反恶意软件公司在罗马尼亚警方和欧洲刑警组织的帮助下,在NoMoreRansom.org上发布了一款免费解密工具。

恶意软件作者在俄罗斯论坛上证实了黑客攻击:
1.pngGandCrab的第二个版本很快出现并改进了恶意软件服务器的安全性。为了防止被反击,勒索软件的第一个版本有一个要加密的文件扩展名列表,但第二个版本和更高版本已经用排除列表替换了这个列表。除列表中的文件之外的所有文件都已加密。

感染方式

GandCrab使用几种感染方式:1.利用安全性较弱的远程桌面连接。2.带有链接或附件的钓鱼邮件。3.用户下载并启动包含恶意软件的合法程序。4.利用RigEK等工具包。与其他勒索软件一样,GandCrab的目标是加密受感染系统上的所有或多个文件,勒索用户。开发人员需要以加密货币(主要是DASH)付款,因为它很难追踪。恶意软件具有多样性。我们已经看到.exe格式的变体(主要形式)以及DLL格式。

版本4.0

版本4.0中最大的变化就是用于加密文件的算法。早期版本使用RSA和AES; 最新版本使用Salsa20。主要原因是速度。RSA是一种功能强大但速度慢的算法。Salsa20很快。勒索软件会检查系统的语言,如果受感染的机器以俄语或某些其他前苏联语言运行,则不会删除payload:
2.pngGandCrab会加密除了以下文件扩展名的任何文件:
3.png勒索软件不会加密这些文件夹中的文件:
4.pngGandCrab保留未加密的文件:
5.png勒索软件在加密文件之前会生成一对RSA密钥。加密过程为每个文件生成一个随机Salsa20密钥和一个随机IV,用它们加密文件,并用一对RSA密钥(在开头创建公共RSA密钥)加密该密钥和IV。私钥在注册表中使用另一个Salsa20密钥加密,并使用嵌入在恶意软件中的RSA公钥加密IV。加密后,文件密钥和IV将以8字节的新字段附加到文件的内容中,从而增加原始文件大小。这种方法使GandCrab成为一款非常强大的勒索软件,因为没有嵌入公钥的私钥,就无法解密文件。如果没有新的RSA私钥,我们无法解密附加到文件的Salsa20密钥和IV。最后,勒索软件会删除受感染计算机上的所有卷影并删除自身。

版本4.1

此版本保留了Salsa20算法,修复了一些bug,并添加了一个新功能。例如,此版本的一个示例具有以下加密域的硬编码列表。(这只是此列表的一小部分。)
6.png勒索软件从列表中选择一个域,并使用以下单词之一创建随机路径:
7.png之后它随机选择另一个单词添加到它创建的URL:8.png然后它创建一个文件名,从以下列表中随机选择三个或四个组合:9.png最后,恶意软件将文件名与随机选择的扩展名连接起来:
10.png此时,恶意软件使用POST将加密信息发送到嵌入列表中所有域的新生成的URL,重复生成每个域的路径和名称的过程。此版本中的另一个重要更改是尝试混淆对VirtualAllocVirtualFree等函数的调用。
11.png

版本4.1.2

此版本已出现一些变体。两家安保公司透露了一种预防先前版本感染的工具。该工具会在勒索软件感染系统之前在具有特殊名称的文件夹中创建特殊文件。该文件的名称来自Windows逻辑单元硬盘值的序列号。恶意软件使用此名称进行简单计算,并在%appdata% or %program files%(基于操作系统)中使用扩展名.lock创建它。
12.pngGandCrab作者反应神速,马上就作出改变,其中一家安全公司也不甘,制作一个免费工具来作为回应,但在几小时内,作者又发布了另一个版本4.1.2并更改了文本。恶意软件不再创建任何文件,而是使用此特殊名称创建互斥对象。互斥锁保留并在名称中保留.lock扩展名。
13.png所以该杀毒工具不适用于第二版4.1.2和4.2版,但它确实适用于以前的版本。

版本4.2

此版本会检测是否处于虚拟机环境,一但检测到虚拟机就会停止运行。
14.png恶意软件计算主Windows安装逻辑单元的空闲空间,并最终计算出一个值。如果此值想对于勒索软件是正确的,则它会正常运行。如果该值小于0x1E,则等待一小时以启动正常进程。如果该值大于0x1E,则勒索软件完成其执行。
15.png

版本4.2.1

这个版本出现在8月1日。与之前版本不同的是,这是一条发给安全公司的短信,以及一个0day漏洞的链接,攻击该公司的一个产品。该漏洞攻击了这家公司的一个产品。代码是一个Visual Studio项目,可以很容易地重新编译。在Visual Studio中加载项目后,该代码有俄文文件夹。

版本4.3

此版本也出现在8月1日。此版本与以前的版本有以下变化:1.它删除了用于检测虚拟机的代码以及4.2版中的其他一些东西。这段代码有一些bug——无法检测到某些虚拟机。2.它针对防病毒公司的一种产品的发起攻击,该产品通过版本4.1.2的第一版发布了针对4.0版的杀毒工具。而代码出现的位置是在恶意软件加密文件之后和删除之前。
16.png这些函数中的新代码使静态分析更加复杂。介绍一个很有效的技巧:勒索软件进行了一个delta调用(将delta偏移的地址放在堆栈的顶部)并添加0x11(特殊代码的大小,意味着恶意软件作者正在使用宏)到ESP寄存器中的值。ESP现在指向特殊代码块之后的地址,并在该块的操作码中间跳转。这种技术使它看起来像另一条指令,在本例中是“pop eax”,它从堆栈顶部(ESP寄存器)添加0x11后提取值。代码稍后在EAX中无条件跳转到此地址。这样勒索软件遵循其正常的代码流程。
17.png

结论

GandCrab是任何个人或企业的领先勒索软件威胁。作者使用多种方式传播它—— 包括漏洞利用工具包,钓鱼邮件,木马程序。开发人员主动更新和改进代码,以使分析更加困难。该代码不是专业编写的,并且仍然存在漏洞,但该产品在地下论坛中得到了很好的推广,并且价值也在不断增加。
*参考来源mcafee,由周大涛编译,转载请注明来自FreeBuf.COM

前言

Gartner每年都会发布一份“新兴技术炒作周期”报告,这已成为Gartner公司的一个惯例,为我们揭示了新兴技术趋势所遵循的模式。

此前在Gartner CIO峰会上期间,Gartner研究总监Kevin Ji重点解读了十大趋势在战略发展趋势在战略(Strategic)、战术(Tactical)、执行(Operational)三个层面对IT和执行的影响。

PS:对十大趋势感兴趣的可以自行阅读原文,地址在文章最后。

10大趋势

战略层面

趋势1:消失中的企业数据中心(Disappearing Enterprise Data Centers)

目前在中国,大型企业数据中心的主流模式依然是自建自运营,但Gartner放眼以欧美为主的国外市场,排名靠前的企业更倾向于整合与缩减自有数据中心,转而使用外包数据中心的形式。这种变化主要是因为“公有云”的使用,越来越多的应用迁移到公有云上。另外,使用外包数据中心可有效节约IT总体成本,而数据中心的建设运维往往与业务的主营业务关系并不大。

趋势2:“云优先”战略(Cloud-First Strategy)

“云优先”并非是指应用全都迁移上“云”,而是如何使用“公有云”的最大化业务价值。“云优先战略”的核心,是从业务价值的角度出发,把有限的IT资源整合都创造价值最大的领域,而把同质化的非核心能力进行外包,即不仅要关注系统的重要性,还需要基于企业应用的核心能力,而决定使用传统IT、私有云还是公有云。中国企业目前较为关注私有云建设,对公有云相对较保守,在这方面需要尽早规划。企业对公有云不应看做是一种新技术,而更应该看做是一种新的能力和机会。

趋势3:“容器”和“无服务器”服务部署(Containersand Serverless Function)

越来越多的企业尝试着“容器化”,因为“容器”能够大大降低交付的延迟、提高交付效率。(从本人接触到的容器实际使用感觉确实是一项跟接“地气”的技术,不用再像以前要升级更新,又怕影响业务,现在就是一次性的,用完或需要升级就换新的容器,简单方便)另一个趋势是使用公有云提供的“无服务器”服务。在构建支持数字化转型的应用中,可以大大减少开发代码的工作量,在保证交付质量的前提下,进一步提高交付效率。

战术层面

趋势4:业务驱动的IT (Business-Driven IT)

Gartner研究显示,超过29%的IT支出来自业务单元,而非传统IT。该数字在未来几年内仍将持续增长。因此,如何匹配业务、让业务认可IT的价值,是未来IT需要提升能力的方向。IT不能仅以技术为中心,而需要转型成业务驱动的IT,以支持业务的数字化转型。

趋势5:数据中心即服务(Data Centeras a Service)

从全球布局来讲,未来数据中心不再是一个物理的地点,而将是承载多种交付能力的服务集合——需要做到风险可控、成本优化、创新引领、合规匹配、快速迭代、并具备全球交付的能力。企业应考虑的是如何使用最好、最优的方法,让客户体验达到价值最大化。但目前来看,许多企业规划技术设施时仍将大部分应用放在传统的数据中心中。

趋势6:API经济(APIs—IntegrationEconomy)

通过集成各个应用、将各个渠道和应用相匹配以及监控,API经济能够有效支持数据化转型。企业应从需求的角度出发,以“由外及内(outside-in)”的方式,考虑API的设计和落地。同时,企业也应考虑API经济带来的数据安全问题,确保在核心应用更弹性、更平台化的同时,渠道畅通且安全合规。

趋势7:物联网与边缘计算(IoT and EdgeComputing)

Gartner定义的物联网平台分为终端层、平台层、企业层。终端层主要为物联网的节点、设备、通路,提供数据压缩和数据加密服务。平台层包括数据分析、策略及由上到下的数据打通。企业层则是分析数据在企业应用中的集成与使用。这三层相辅相成。而目前来讲,物联网在企业落地方面仍然存在挑战,主要是由于网络标准化尚未统一,应用场景、接口的复杂性,以及整个生态系统尚未建立。

执行层面

趋势8:过度规划的容量(StrandedCapacity)

在部分大型企业中,在传统的数据中心及“云”上均存在容量浪费的问题。Gartner数据显示,传统的数据中心中,28%的服务器空置,40%的机架未填满,平均服务器CPU使用率仅达32%。同时,45%的企业机构在转移到“云”时,只是平台迁移而缺乏必要优化,导致在前18个月会产生55%的系统冗余和70%的过度花费。为避免容量的浪费及过度分配,企业机构须采取一些相应手段,如使用合适的容量、控制资源分配、选择计价模型及开源工具,来有效节约经济成本。

趋势9:企业声誉与数字化体验(Reputationand Digital Experience)

数字化转型中,为用户提供无延迟、可靠的数字化体验至关重要,这也会影响到企业的声誉。例如,物联网技术中物与物的连接较慢,导致整个业务运行效率降低,从而因为延时导致用户体验不佳、用户满意度降低,对企业声誉造成损害。目前,企业应着重考虑用户使用移动设备的体验,为用户提供高质量服务。

趋势10:扩展基础设施能力(ExtendedInfrastructure Management)

企业须结合大数据、数据挖掘的技术,扩展基础设施能力,提升端到端的应用体验。而物联网、API经济的技术兴起,也要求企业对相关人员做出优化和调整,使得他们具备相应能力满足新的业务需求,尤其是跨技术平台的综合规划能力、协助业务的顶层设计能力、对业务影响的分析能力等。

以上是Gartner 2018的十大趋势预测分析。

预测中的新兴技术往往不能克服所有障碍,最后能成为普及技术的并不多。事实证明也是如此。Gartner 2017 年的预测报告中,曾经名列未来几大技术趋势的机器学习等,由于各种原因,已经从榜单上消失了。因为现在好多公司在搞基于机械学习的人工智能,还有态势感知平台,不知道过段时间,业界宣布该技术因为难于通过现有技术复现,不可能成为未来趋势,各家公司CIO的表情会怎么样。

5 个大趋势

前几天,也就是今年8月,Gartner 将 17 个技术分为 5 个大趋势:民主化人工智能(AI)、数字化生态系统、自动化生物黑客、透明的沉浸式体验和无处不在的基础设施。

5大趋势

 “技术 leader 无时无刻不面临着技术的更新迭代,而这些变化将会对工作产生重要影响,此调查报告显示的技术趋势可能将对打破企业原有商业产生巨大影响,因此,执行团队应该密切关注这些变化。”Gartner 调研副总裁 Mike J. Walker表示。

本人通过查阅一些资料以及Gartner官方的解释,目前对这五个趋势的理解如下(附上原文翻译):

1. 大众化/民主化人工智能

原文翻译:

人工智能是最具颠覆性的技术之一,得益于云计算、开源代码和“创客”社区,其应用将越来越广泛。早期用户从该技术的不断发展中受益,但最显著的变化是:该技术在未来的大众化应用。这些技术培育出一批创客社区、数据学家和AI架构师,同时也激励他们创建基于AI的创新型解决方案。

例如,能够协助人们日常工作,提供客房服务或库房分拣一类工作的智能机器人,让公司能够将人力节省出来重新安排部署,以提供额外的增值服务。其中包括即将取代趋势周期中“自动驾驶汽车”的自动驾驶L4和自动驾驶L5的人工智能。

自动驾驶L4的定义是,车辆在大多数情况下可以在某些限定的地理区域内无人驾驶,但并非完全意义上的自动驾驶。这一水平的自驾汽车可能会在未来10年内出现在市场上。自动驾驶L5定义的车辆则可在所有情况和条件下自动操作,并控制汽车所有功能。如果一辆车没有方向盘、刹车或踏板,那么这种汽车可能会成为家庭的另一个生活空间,将对生活产生深远影响。

Gartner预测,今后10年AI技术将为大众所用,无处不在,即所谓的民主化。云计算、“创客”社区和开源等趋势最终将促使AI普及到每一个人。

AI的民主化进程得益于下列技术:AI平台即服务(PaaS)、强人工智能、自动驾驶(4级和5级)、自动移动机器人、对话式AI平台、深度神经网络、飞行自动驾驶汽车、智能机器人和虚拟助手。

Walker表示:“代表民主化AI的技术在成熟度曲线的五个部分中占了三个部分,其中一些技术(比如深度神经网络和虚拟助手)将在今后两到五年内进入到主流采用阶段。这个类别的其他新兴技术(比如智能机器人或AI PaaS)也正在成熟度曲线上迅速逼近顶峰,并很快就会越过顶峰。”

2. 数字化生态系统

原文翻译:

新兴技术都需要新的技术基础和具有活力的生态系统予以支持。而这些生态系统需要新的业务战略并转向基于平台的商业模式。

从区域化技术基础设施到支持生态系统平台的转变,为构建人与技术之间桥梁的全新商业模式奠定了基础。

例如,区块链可能会成为数据安全领域游戏规则的改变者,因为它有提高集中式系统弹性、可靠性、透明度和信任度的潜力。在此趋势下也包括数字孪生技术(通过虚拟化来展示某个实体事物)。这一技术在运维领域已经开始采用并初见功效,Gartner 预计在五年之内,数字孪生技术将应用到数百万计的事物之中。

这个趋势得益于下列技术:区块链、面向数据安全的区块链、数字孪生、物联网平台和知识图。

Walker表示:“数字化的生态系统技术正在成熟度曲线上快速移动。区块链和物联网平台现在已经越过了顶峰;我们认为,它们将在今后五到十年内达到成熟阶段,数字孪生和知识图紧随其后。”

3. 自主化生物黑客

原文翻译:

2018 年仅仅是“超越人类”时代的开始,黑客生物学和人类“延伸”技术的普及性和可用性将得到提高。包括从简单的诊断到神经植入,甚至关系伦理与人性的社会和法律等问题。生物黑客分为四类:技术增强,营养基因组学,实验生物学和工坊生物黑客(这里为引申翻译,grinders维基的解释是通过黑客手段DIY技术或药物自主增强自身生物功能的人,翻译为磨床生物黑客,感觉不太恰当)。

例如,生物芯片拥有可以在患者出现症状之前检测大到癌症、小到天花等疾病的能力。这些芯片由表面的一系列分子传感器组成,可以分析生物元素和化学物质。生物技术也是今年技术趋势周期上的“新人”,即人工培育和生物激发肌肉。虽然仍处于实验室开发阶段,但这项技术最终可以让皮肤和组织在机器人外部生长(比如终结者T800),并对压力具有敏感反应。

Gartner预测未来十年,人类将开始进入“超人类”时代:出于生活方式、兴趣和健康等方面的需求,人体等生物体可以通过芯片来“hack”改造。生化黑客(biohacking)分为四大类:技术增强、营养基因组学、实验生物学和grinder生化改造。但是Biohacking目前尚面临伦理道德问题,这方面的问题仍然存在。

自己动手的生化改造中的新兴技术正在成熟度曲线上迅速移动。混合现实正走向泡沫化的底谷期(Trough of Disillusionment),增强现实已几乎触底。紧跟其后的是生物芯片,生物芯片刚达到顶峰,将在5年到10年内将进入高峰期。

4. 透明拟真式体验

原文翻译:

像智能工作站之类的技术越来越以人为本,逐渐模糊了人、业务及事物之间的界限,扩展并实现了更加智能的生活、工作和体验。在智能工作站中,电子写字板可以更好地捕获会议记录,传感器可以根据员工位置传送个性化资讯,办公用品也可以直接与 IT 平台交互。

在家居方面,联网家庭可以连接设备、传感器、工具和可以根据行为自主学习的家庭平台。持续更新的智能化系统可以让人们拥有更加情境化、个性化的体验。

技术将变得越来越以人为本,以至于人、业务和物体之间显得无缝透明。通过这些技术的应用使我们能够体会更加更智能化的生活、工作及空间。

Walker表示:“代表透明拟真式体验的新兴技术大部分都在走向顶峰,以硅阳极电池为例刚刚越过顶峰。智能工作空间已有了长足的进步,即将在不久的将来达到顶峰。”

个人感觉有点像现在的AR和4D技术。

5. 普遍性基础设施

原文翻译:

总的来看,基础设施将不再是战略业务目标的关键。云计算的出现及其日益流行、永久在线、永久可用、无限资源的设施环境已经改变了基础设施原有的样貌。这些技术将为商业模式开创一个崭新的未来。

例如,量子计算具有复杂的量子位和算法系统,其运行速度相比传统计算机呈指数级增长。在将来,此项技术将在优化、机器学习、加密、分析学和图像识别方面产生巨大影响。虽然建造通用型量子计算机可能永远无法实现,但该技术在狭义领域中存在巨大潜力。

这一趋势中的第二项新技术是神经形态硬件。这是一种受神经生物学架构启发而发明的半导体器件,可以为深度神经网络提供极高的性能,减少功耗的同时可以提供比传统方法更高的性能。(最后一段我觉得可能应该是说biohacking技术吧,如果是Digitalized ecosystems感觉没关系)。

基础设施不再妨碍企业实现目标。云计算以及众多新型技术的出现和大规模普及已造就了永远在线、可用且无限制的基础设施环境。

这种趋势得益于下列技术:5G、碳纳米管、深度神经网络ASIC、神经形态硬件和量子计算。支持无处不在的基础设施的技术即将达到顶峰,并沿着成熟度曲线快速移动。尤其是5G和深度神经网络ASIC预计会在今后两到五年内达到高峰期。

回到现实

那么,回到现实中,说说最近网上看到的一些消息。

世界上曾经有一家世界500强的企业,名叫“柯达”,在1991年的时候,他的技术领先世界同行10年,但是2012年1月破产了,被做数码的干掉了。

当“索尼”还沉浸在数码领先的喜悦中时,突然发现,原来全世界卖照相机卖的最好的不是他,而是做手机的“诺基亚”,因为每部手机都是一部照相机,于是“索尼”业绩大幅亏损。

然后原来做电脑的“苹果”出来了,做出了触屏的智能手机,把手机世界老大的“诺基亚”给干掉了,而且没有还手之力:2013年9月,“诺基亚”被微软收购

著名数码相机品牌——尼康,关闭了它在中国的工厂。给出的理由是:智能手机的崛起侵占了原本属于数码相机的市场。按照传统的商业逻辑,尼康最多被索尼/佳能等等同行打败,没想到打败它的居然是另一个行业——智能手机。

当苹果手机还在如日中天时,中国的华为异军突起,又发布了全球首款AI手机,将手机带入了人工智能时代。

大润发在零售行业是一个号称19年不关一家店的传奇商场。在商场这个领域里,没有任何人能打败它,包括沃尔玛和家乐福,但是很可惜他败给了这个时代,被阿里巴巴收购,高层集体走人。

方便面现在每年的销量以几十亿包的速度在减少,遭遇如此断崖式的危机,难道是产品出问题了吗?

不是的,反而是越做越精致,越来越全面,大的小的,干拌的,开水泡的,各种口味层出不穷,还请了一些口碑极好的明星代言宣传,但仍旧挽回不了衰败的颓势。为什么这个曾连续18年销量保持增长的国民美食,在越做越用心的情况下,反而销量严重下滑呢?因为有了外卖,自从外卖行业的横空出世,各种可口的美食半小时左右就能送到手上,这时候基本就没方便面什么事了。

打败康师傅的不是统一,不是今麦郎,更不是白象,不是任何一个平日里厮杀惨烈的竞争对手,而是美团、饿了么这些新兴公司,是散布在城市里大大小小的外卖美食小作坊。

正如达尔文进化论所说的,在丛林里,最终能存活下来的,往往不是最高大、最强壮的,而是对变化能做出最快反应的物种。

看完这些,更多的不是对技术和趋势的关心,而是内心的感慨。生活在这样技术发展飞快,竞争如此激烈的环境中,能否为自己寻求一处宁静的港湾。

不过,话说回来,既然选择了这条路,不管怎样,还是要坚持走下去的。

好了,要开始学习新的技术,继续啃书了。

参考资料:

Top 10 Technology Trends ImpactingInfrastructure & Operations for 2018: https://www.gartner.com/smarterwithgartner/top-10-technology-trends-impacting-infrastructure-operations-for-2018/.

5 Trends Emerge in the Gartner Hype Cyclefor Emerging Technologies, 2018: https://www.gartner.com/smarterwithgartner/5-trends-emerge-in-gartner-hype-cycle-for-emerging-technologies-2018/.

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

前言

Ghostscript是一款Adobe PostScript语言的解释器软件。可对PostScript语言进行绘图,支持PS与PDF互相转换。目前大多数Linux发行版中都默认安装,并移植到了Unix、MacOS、Windows等平台,且Ghostscript还被ImagineMagic、Python PIL和各种PDF阅读器等程序所使用。

漏洞描述

8月21日,Google安全研究员Tavis Ormandy披露了多个GhostScript的漏洞,通过在图片中构造恶意PostScript脚本,可以绕过SAFER安全沙箱,从而造成命令执行、文件读取、文件删除等漏洞,其根本原因是GhostScript解析restore命令时,会暂时将参数LockSafetyParams设置为False,从而关闭SAFER模式。

受影响的系统版本

Ghostscript <= 9.23(全版本、全平台),目前官方暂未发布更新。

漏洞细节

Ghostscript安全模式(SAFER mode)

Ghostscript包含一个可选的-dSAFER选项,设置该选项启动安全沙箱模式后,与文件相关的操作符将被禁止,具体作用有如下:

(1)禁用deletefilerenamefile操作符,能够打开管道命令(%pipe%cmd),同时只能打开stdout和stderr进行写入

(2)禁用读取stdin以外的文件

(3)设置设备的LockSafetyParams参数为True,从而防止使用OutputFile参数写入文件

(4)阻止/GenericResourceDir/FontResourceDir/SystemParamsPassword/StartJobPassword被更改

下面是关于该选项的一个简单演示。

未加上-dSAFER参数时,成功读取了/etc/passwd文件:

读取了/etc/passwd文件

加上-dSAFER参数后,出现invalidfileaccess错误:

出现invalidfileaccess错误

漏洞验证

多个PostScript操作可以绕过-dSAFER提供的保护,这可以允许攻击者使用任意参数执行命令。

首先对PoC进行测试,在开启了安全沙箱的情况下(-dSAFER),可以成功执行任意shell命令:

成功执行任意shell命令成功执行任意shell命令

使用ImageMagick工具中的convert命令测试PoC,可以看到ImageMagick同样受到影响:

ImageMagick同样受到影响

在源码目录下使用命令“grep -r dSAFER”找到和该选项相关的操作,看到下面这段注释中说明了该选项具体功能——将LockSafetyParams设置为True。

将LockSafetyParams设置为True

再使用grep查看和LockSafetyParams相关操作,通过注释可知,这个布尔类型变的量值为True时,可以防止某些不安全的操作。同时在文件psi/zdevice2.c的第269行,该变量被设置为了False,且仅有此处修改了LockSafetyParams的值为False,因此可以猜测:PoC中某条PostScript语句解析时导致了这个改变。

PoC中某条PostScript语句解析时导致了这个改变

调试分析

接下来使用GDB进行验证,首先设置好程序参数:

set args -q -sDEVICE=ppmraw -dSAFER -sOutputFile=/dev/null

根据前面grep的输出,找到“dev_old->LockSafetyParams = false; ”语句在函数restore_page_device()中,并在此处下断,运行程序输入PoC:

设置成像区域——legal(a4、b5、letter等也可以):

设置成像区域

接着输入{null restore} stopped {pop} if,程序中断在此处: 

程序中断在此处

再对dev_old->LockSafetyParams变量设置观察点,继续运行程序,和预想的一样,LockSafetyParams的值在这里被改变了。 

LockSafetyParams的值在这里被改变

查看栈回溯,发现当前函数在一系列带有“interpret”的函数中被调用,从名称推断这些函数用于解析PostScript语句。

用于解析PostScript语句

这里我们在#2处下断,观察到了解释器处理stopped、null、restore等关键字的过程,至此绕过SAFER沙箱过程就逐渐清晰了。

绕过SAFER沙箱过程

绕过SAFER沙箱过程

绕过SAFER沙箱过程

漏洞成因

现在让我们来看看{null restore} stopped {pop} if这条语句是如何绕过SAFER沙箱的。

PostScript是一种“逆波兰式”(Reverse Polish Notation,也称为后缀表达式)的语言。简单来说就是操作数在前,操作符在后。PoC中这条语句是一条典型的PostScript异常处理语句,stopped操作符用于PostScript的异常处理,也就是说stopped执行前面的{}中给出的过程,如果解释器在执行该过程期间出现错误,它将终止该过程并执行stopped操作符之后{}中的过程。

null restore会引起类型检查错误(/typecheck error),同时restore的执行导致LockSafetyParams设置为False,stopped捕获到异常,弹出栈顶元素null,GS继续运行,但此时LockSafetyParams的值还没恢复为True。

引起类型检查错误

值得一提的是,GhostScript的官方文档中提到了restore操作符存在导致绕过SAFER模式的风险。

绕过SAFER模式

漏洞利用

OutputFile参数用于设置输出文件名,另外在Linux/Unix上,还可以通过设备%pipe%将输出发送到管道(Windows中也可以,需要使用两个%)。例如,要将输出通过管道传输到lpr可以使用:/OutputFile (%pipe%lpr)

查阅官方文档可知,%pipe%功能由popen函数支持,在调试中也能确认这一点: 

调试中也能确认这一点

调试中也能确认这一点

popen()函数通过创建管道的方式,调用fork()启动一个子进程,并将传入popen()的命令送到/bin/sh以-c参数执行。可以通过在此处注入命令实现漏洞利用,如下图中演示的那样,另外将PostScript编码到图像中,可以在使用GhostScript的Web服务器上执行任意指令(例如服务器使用ImageMagick处理上传的图像时)。

使用GhostScript的Web服务器上执行任意指令

使用GhostScript的Web服务器上执行任意指令

修复建议

截至笔者分析该漏洞时,官方还没修复该漏洞。Artifex Software,ImageMagick,Redhat,Ubuntu等厂商已声明受到此漏洞影响,其他平台暂时未对此漏洞进行说明,目前临时解决方案如下:

1. 卸载GhostScript;

2. 可在/etc/ImageMagick/policy.xml文件中添加如下代码来禁用PostScript、EPS、PDF以及XPS解码器:

<policy domain =“coder”rights =“none”pattern =“PS”/> 
<policy domain =“coder”rights =“none”pattern =“EPS”/> 
<policy domain =“coder”rights =“none”pattern =“PDF”/> 
<policy domain =“coder”rights =“none”pattern =“XPS”/>

参考资料

[1]More Ghostscript Issues: Should we disable PS coders in policy.xml by default?

[2]PostScript Language Reference(third edition)

[3]PostScript语言安全研究(ImageMagick新漏洞分析)

[4]ImageMagick 漏洞利用方式及分析

[5]Ghostscript官方文档

[6]A GHOST FROM POSTSCRIPT

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

概述

DedeCMS 简称织梦CMS,当前最新版为 5.7 sp2,最近又去挖了挖这个CMS,发现过滤XSS的RemoveXSS函数存在缺陷导致可以被绕过。

相关环境

源码信息:DedeCMS-V5.7-UTF8-SP2 

漏洞类型:反射型XSS 

下载地址:http://www.dedecms.com/products/dedecms/downloads/ 

漏洞文件:/include/helpers/filter.helper.php

漏洞分析

1.先查看/include/helpers/filter.helper.php文件,其中的RemoveXSS函数,其中代码如下:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

2.过滤的大概流程是,前面先把例如十进制和十六进制的(&#xxxxxxxxxx;)这种编码,转换回原来的字符,后面就是根据$ra1和$ra2里的黑名单进行过滤替换,例如javascript:alert(1)会被过滤成 ja<x>vasc<x>ript:alert(1);

DedeCMS v 5.7 sp2 RemoveXSS bypass

3.如果这个时候,我输入的内容是

javascrip%26%2338%3B%26%2335%3B%26%2349%3B%26%2349%3B%26%2354%3B%26%2359%3B:alert(1);

4.url解码得到

javascrip&#38;&#35;&#49;&#49;&#54;&#59;:alert(1);

5.这个时候进去RemoveXSS,进行第一次处理,也就是把(&#xxxxxxxxxx;)这种编码,转换回原来的字符,得到

javascrip&#116;:alert(1);

6.后面的过滤步骤就是黑名单过滤了,然而javascrip&#116;并不在黑名单之内,所以不会过滤,最后就是输出内容了;

7.这个时候输出&#116;在标签的属性里面会重新还原成字母t,所以最后会在html输出javascript:alert(1);

DedeCMS v 5.7 sp2 RemoveXSS bypass

8.下面是测试效果图:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

总结

1.我画了草图,两次和一次编码的区别如下:

DedeCMS v 5.7 sp2 RemoveXSS bypass

2.另外后面的代码会根据黑名单生成正则表达式,我拿其中一个测试,这段代码会生成正则表达式:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

3.根据生成的其中一条正则表达式,可以看出,他应该是匹配javascript之间有没有恶意字符防止绕过,例如j&#x0a;avascript会被匹配到

DedeCMS v 5.7 sp2 RemoveXSS bypass

4.正则匹配的是恶意字符之间的&#xxxxxx;,以分号结尾,但是有一点要注意的就是&#x0a; 等于 &#x0a  ,不需要分号结尾也是可以的,例如,不加分号正则就匹配不到,但是效果也是一样的,也是可以弹窗。

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

5.还有一个问题,就是织梦的正则匹配&#[xX]0{0,8}([9ab]); ,注意{0,8},大概是八位左右,如果我超过八位,就算加上分号过滤器也匹配不到,正好十六进制格式的时候可以有很多0,足够超过八位了,例如:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

最终总结

漏洞挖挖总还是有的,织梦的XSS过滤器有三个问题:

1.两次编码的时候,正则和黑名单就没软用了;

2.黑名单匹配的时候,正则无法匹配到没有分号结尾的编码;

3.也是黑名单匹配的时候,匹配编码字符大概在0-8个字符之内,但是十六进制可以超过八个字符,这个时候也无法匹配。

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

概述

DedeCMS 简称织梦CMS,当前最新版为 5.7 sp2,最近又去挖了挖这个CMS,发现过滤XSS的RemoveXSS函数存在缺陷导致可以被绕过。

相关环境

源码信息:DedeCMS-V5.7-UTF8-SP2 

漏洞类型:反射型XSS 

下载地址:http://www.dedecms.com/products/dedecms/downloads/ 

漏洞文件:/include/helpers/filter.helper.php

漏洞分析

1.先查看/include/helpers/filter.helper.php文件,其中的RemoveXSS函数,其中代码如下:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

2.过滤的大概流程是,前面先把例如十进制和十六进制的(&#xxxxxxxxxx;)这种编码,转换回原来的字符,后面就是根据$ra1和$ra2里的黑名单进行过滤替换,例如javascript:alert(1)会被过滤成 ja<x>vasc<x>ript:alert(1);

DedeCMS v 5.7 sp2 RemoveXSS bypass

3.如果这个时候,我输入的内容是

javascrip%26%2338%3B%26%2335%3B%26%2349%3B%26%2349%3B%26%2354%3B%26%2359%3B:alert(1);

4.url解码得到

javascrip&#38;&#35;&#49;&#49;&#54;&#59;:alert(1);

5.这个时候进去RemoveXSS,进行第一次处理,也就是把(&#xxxxxxxxxx;)这种编码,转换回原来的字符,得到

javascrip&#116;:alert(1);

6.后面的过滤步骤就是黑名单过滤了,然而javascrip&#116;并不在黑名单之内,所以不会过滤,最后就是输出内容了;

7.这个时候输出&#116;在标签的属性里面会重新还原成字母t,所以最后会在html输出javascript:alert(1);

DedeCMS v 5.7 sp2 RemoveXSS bypass

8.下面是测试效果图:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

总结

1.我画了草图,两次和一次编码的区别如下:

DedeCMS v 5.7 sp2 RemoveXSS bypass

2.另外后面的代码会根据黑名单生成正则表达式,我拿其中一个测试,这段代码会生成正则表达式:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

3.根据生成的其中一条正则表达式,可以看出,他应该是匹配javascript之间有没有恶意字符防止绕过,例如j&#x0a;avascript会被匹配到

DedeCMS v 5.7 sp2 RemoveXSS bypass

4.正则匹配的是恶意字符之间的&#xxxxxx;,以分号结尾,但是有一点要注意的就是&#x0a; 等于 &#x0a  ,不需要分号结尾也是可以的,例如,不加分号正则就匹配不到,但是效果也是一样的,也是可以弹窗。

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

5.还有一个问题,就是织梦的正则匹配&#[xX]0{0,8}([9ab]); ,注意{0,8},大概是八位左右,如果我超过八位,就算加上分号过滤器也匹配不到,正好十六进制格式的时候可以有很多0,足够超过八位了,例如:

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS v 5.7 sp2 RemoveXSS bypass

最终总结

漏洞挖挖总还是有的,织梦的XSS过滤器有三个问题:

1.两次编码的时候,正则和黑名单就没软用了;

2.黑名单匹配的时候,正则无法匹配到没有分号结尾的编码;

3.也是黑名单匹配的时候,匹配编码字符大概在0-8个字符之内,但是十六进制可以超过八个字符,这个时候也无法匹配。

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

*本文作者:aWe18s,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

最近在分析样本时,遇到了不少使用PowerShell脚本的病毒程序,这些脚本基本都是经过混淆处理过的,给分析过程带来了一些麻烦。

我们知道PowerShell是微软推出的一款强大的命令行脚本环境,连微(ju)软(ying)这样低调的公司都将其以“Power”冠名,足见其强大之处。但凡事都有两面性,PowerShell能够为用户管理Windows系统带来便捷,也同样可以为黑客大开方便之门,沦为黑客违法行为的工具。而PowerShell灵活的语言特性又使其能够轻易的被混淆处理,混淆过的PowerShell脚本不仅使得基于特征码的杀软很难查杀,也给病毒分析工作增加了难度。

本文基于笔者在分析PowerShell病毒过程中的经验,总结了解密被混淆过的PowerShell脚本的一些方法。

0×01 PowerShell代码混淆方法

想要去混淆,首先要了解有哪些混淆的方法。在17年的黑帽大会上,有人专门对此做过演讲

主要包括:转义符(反引号)、简写与通配符*、脚本块、字符串处理、编码、自构造关键字替换等,这里不做详细介绍。

0×02 如何实现去混淆?

先看一个被混淆过的PowerShell脚本:

被混淆过的PowerShell脚本1

被混淆过的PowerShell脚本2

中间都是被混淆的代码,已经面目全非,所以只看头尾。可以发现混淆后其实只有一行代码,是一条IEX命令。查看微软对IEX的解释:

微软对IEX的解释

IEX用于将字符串作为命令执行,当去掉IEX后,执行后就会显示原本的字符串。

观察整段程序,其格式可以提取为:IEX( -jOiN(‘aaa’).SplIT( 'LzX>hGp!' ) |%{ ([chaR] ([CONVErT]::TOiNT16( ([StrIng]$_),16) ))} )),括号中的代码其实就是对字符串‘aaa’进行处理,将其还原成原本要执行的代码,处理完后调用IEX执行。

因此我们可以类比脱壳的思想,即无论程序怎样加壳,最终执行后都会把原本的代码吐出来,PowerShell也是如此,无论怎样混淆,最终都会执行它原本的代码

将脚本开头的IEX去掉,并将执行结果输出到文件1.ps1中:

执行结果输出到文件

打开1.ps1,可以看到去混淆后的PowerShell代码:

混淆后的PowerShell代码

有时IEX不一定在开头,也可能在结尾,如下:

不一定在开头,也可能在结尾1

不一定在开头,也可能在结尾2

这其实也是一行代码,其格式可以提取为:“aaa” | Invoke-Expression。也是将字符串当作命令执行,去混淆时只需删除结尾的| Invoke-Expression即可。

有时也会有找不到IEX的情况,如下:

9.jpg

10.jpg

可以看到这也是一行代码,但首尾都找不到IEX,这种情况如何处理呢?观察这行代码,可以将其提取为:&(“aaa”)(“bbb”)&是PowerShell的操作符,调用&可以将字符串或变量当作命令执行。所以这里的&( $psHOme[4]+$pshOme[34]+'x')其实是一个命令。

这是什么命令呢?首先看下$psHOme表示什么:

$psHOme

可以看到它其实就是系统中PowerShell的路径。那么$psHOme[4]$pshOme[34]就应该分别是这个路径字符串中的一个字符:

PowerShell的路径

连起来正好是“iex”

“iex”

所以&( $psHOme[4]+$pshOme[34]+'x')其实等同于IEX命令,我们把它从脚本前面去掉,然后执行,可以看到去混淆后的代码:

去混淆后的代码

前面都能够通过去掉头尾的IEX实现去混淆,但有时去掉后不一定就是可读的代码,如下:

不可读的代码1

不可读的代码2

去掉末尾的| Invoke-Expression后,解密出的代码如下,并不可读:

解密出的代码1

解密出的代码2

观察这段代码,发现依然只有一行代码,且开头是一个IEX。我们继续前面的方法进行解密,经过6次解密后,在代码的头尾都找不到IEX了。

进行解密1

进行解密2

这时的脚本已经是可读的了。

0×03总结

PowerShell去混淆与程序脱壳其实是一个道理,即无论怎样混淆,最终都会执行它原本的代码,遵循这个原则就一定能将被混淆的代码解密出来。

此外,PowerShell语法多样且非常灵活,本文也仅仅是基于笔者自身经验做了一些总结,难免有偏差遗漏之处,欢迎指正补充。

*本文作者:aWe18s,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

*本文原创作者:somesomes,本文属FreeBuf原创奖励计划,未经许可禁止转载

在这里,和大家聊聊我自己所知道的一些关于Web代理的知识。

WEB代理的类型

Web代理,有普通代理和隧道代理两种,下面简单说说这两种类型。

普通代理

该类型最为简单,代理服务器作为中间人,转发客户端的HTTP请求给目标主机,之后将目标主机的HTTP响应报文回送给客户端。

普通代理这里有个“小坑”,放到后面和大家说。

隧道代理(WebSocket代理)

首先,客户端向代理服务器发送HTTP请求,方法为CONNECT,表示请求代理服务器与目的服务器的特定端口建立TCP连接,之后代理服务器对客户端与目标服务器之间的数据进行盲转发。

具体如下图(《HTTP权威指南》第八章):

image.png

假如我们为浏览器设置了WEB代理,在访问HTTPS类型网站时,会使用隧道代理的方式来进行访问;遇到HTTP类型网站,为了减小不必要的开销,浏览器则通常采用普通代理的方式来进行访问。

这里有篇文章,写得很详细:

https://imququ.com/post/web-proxy.html

扫端口

在渗透测试时,遇到某些WAF时,你会发现连扫端口都没法扫,而WEB扫描/暴力破解,在遇到有WAF时则可以通过Web代理服务器(大量)来进行绕过。于是笔者就幻想着有没有类似WEB代理的东西,能够解决扫端口时被WAF屏蔽的情况。起初我想了想,摇了摇头,“不可能,WEB代理服务器不是与HTTP协议相关吗,这是应用层的东西,扫端口的话,应该是传输层的东西”

现在想想也是好笑,当时都没搞明白Web代理具体是个什么样的东西,实现方法都有哪些。

其实,通过WebSocket代理就可以做到“通过代理进行端口扫描”,当然,该种情况下只能进行TCP端口的信息嗅探,而扫描的结果不只是端口是否存活,同样可以判别端口的服务类型。

原理十分简单。

第一步判断端口是否开放:

CONNECT http://www.test.com:8080 HTTP/1.1
Host: www.test.com:8080

如果目标端口为开放的状态,会返回200;未开放的,代理服务器会返回503状态信息,大致分别如下。

HTTP/1.1 200 Connection established
HTTP/1.1 503 Service Unavailable
Server: squid/3.3.8
...

这里有一个很大的问题:很多代理服务器似乎对访问的域名/IP/端口做了一些限制,完全“开放”的websocket代理服务器数量上就可能更少了。之前笔者收集代理服务器都是通过对一些免费的网站进行爬取,这种收集到的代理在这种用途中的可用性惨不忍睹,选择收费的或是通过Shodan搜索Header中的关键字来进行收集整理或许是更好的方法。

在建立套接字后,有的服务会直接返回banner数据,这种情况下,直接选择接收下一个TCP包即可;有的就需要客户端这边发送些数据才能探测到关于该服务的信息;以及还有其他情况。笔者写了一个简单的py脚本,进行了一些测试,结果如下:

image.pngimage.png

image.png

banner信息在代理服务器返回状态码的时候就返回的情况:

image.png

脚本:

https://pan.baidu.com/s/1U9MeVfrZgwDsq43EGTGYUA

到头想来,这样搞端口扫描成本太大了,目标得重要到啥程度啊。

一个小坑

前阵子,笔者在写代码时,被这个坑了大半天,当时解决了这个问题,但还是云里雾里的。之后翻开《Web之困》,发现书中已有说明。

引用《Web之困》一书3.1.3小节中的一段话:

GET http://www.fuzzybunnies.com/ HTTP/1.1Host: www.fuzzybunnies.com

上述例子和普通的HTTP请求最大的语法差异,就是请求内容里的第一行,这时候是一个完整的URL,通过这项信息代理服务器才知道用户要连接的目标服务器在哪里。这项信息实际上有点多余,因为在Host请求头里也标识了主机名称;这种重复是因为这两套机制其实是相互独立发展起来的。为了避免客户端和服务器串通一气,如果Host请求头的信息与请求行里的URL不匹配时,代理服务器应以请求行里的URL为准,或者用特定的“URL-Host”数据对和缓存内容联起来,而不能只根据其中一项信息做出判断。

至此,笔者才恍然大悟,又回想起很久之前在浏览一些网站发生的“奇怪的事情”。有那么一两个网站,笔者在浏览器中进行访问是正常的,但用BurpSuitRepeater去访问时却发生HTTP 400的情况,之后尝试把请求行中的URI改为完整的URL,访问就正常了,当时也不知道啥回事,没深究就这样过去了…由于问题复现不了,具体症结现在也理不清了,但很可能是Web代理引发的问题。问了一些朋友,有的遇到过,不过没解决。不知道同学们遇到过没。

反向代理

反向代理,按照笔者的理解,客户端把反向代理服务器当作真正的后台服务器即可。反向代理服务接收到客户端的请求后,如有需要会向真正的后台服务器请求资源,并返回给客户端,而客户端无需感知这是不是一台反向代理服务器。

笔者问了一些渗透测试得朋友在工作中遇到反向代理这种情况,很多说太高大上了,基本没遇到。但笔者经常遇到啊…难道是他们没发现?(懵逼)

测试时,遇到一些网站HTTP响应报文的头部有Ngnix字样,则很可能存在反向代理,而要发现反向代理背后的服务器中间件类型也很简单,只要让后端服务器发送一些非200的响应报文就好,似乎反向代理服务器对非200的报文是直接返回的,这可能是配置问题。比如发送一些代理服务器觉得正常但后端服务器无法识别的报文,例如让后端服务器返回400。

HTTP /% HTTP/1.1
Host: www.test.com
...

关于反向代理,有些地方很有意思。反代如果配置不当,就可能变为正代,然后就发生了内网漫游的安全问题。国外与国内都有类型的案例。贴两篇国内的文章:

http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0191121.html (lijiejie)

https://mp.weixin.qq.com/s/EtUmfMxxJjYNl7nIOKkRmA(ChaMd5)

把HTTP请求的URI改为完整URI形式即可测试,如:

GET http://office.test.com HTTP/1.1
Host: www.test.com
...

lijiejie的漏洞POC比较有意思,他给出的POC是这样的:

GET :@office.test.com HTTP/1.1
Host: www.test.com
...

熟悉URL结构的同学们知道,:@在这里是指认证信息。而,lijiejie还额外删去了协议名称与分隔符scheme://,笔者也不知道其中具体原因,正常来说,只会返回400。而添加了认证信息的HTTP请求被代理服务器接收到后,会将认证信息取出,设置给Authorization header字段,如:

image.png

image.png

另外,笔者发现有些人的HTTP请求喜欢加上Authorization: Basic Og==头部字段,难道这里有什么猫腻吗…

协议类型scheme还可以更改为其他,诸如 ftp、gopher、file等,具体情况要看代理服务器的支持能力。

关于反向代理,还有一个比较有意思的地方。有些程序员为了降低服务的的带宽压力,在客户端发送HTTP POST 数据包之前,会将客户端请求体内的数据进行压缩,然后在头部指明压缩类型,如gzip,数据包类似下面这样:

POST /index.php HTTP/1.1
Host: www.test.com
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Encoding: gzip
Content-Length: 38

...._.{[...L.-....S(N.IM.Q0....0.
....

当防火墙处于最外层,流量先经过防火墙后再经过反向代理,假如防火墙不支持解压HTTP Request的包体,或是无法识别该类型的压缩,则十分可能发生安全问题。

另外提一下,有些同学可能对URI与URL有点混淆,记住URL是URI的子集即可。

HTTP转发扩展

RFC7239文档中说到,在很多情况下,用户网络中存在着代理,而这些代理又屏蔽了客户端的很多信息,诸如IP地址。所以文档提议增加X-Forwarded-For等字段,方便进行访问控制、诊断等。其中还说到,这些字段对反向代理也应起作用。

https://tools.ietf.org/html/rfc7239

在提供Web代理IP的网站上,我们可以发现其提供的代理存在匿名与非匿名两种,通过查看代理服务器的HTTP请求是否带有X-Forwarded-For字段即可判断代理是否匿名。很多代理是非开放的,需要认证信息Proxy-Authorization

关于代理转发扩展,除了X-Forwarded-For该种的,还有很多,比如:

X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Client-IP: 127.0.0.1

除了X-Forwarded-For,其他都是非标准字段。在BurpSuit插件商店中,有款名为Bypass WAF的插件,能让Burp的所有请求自动添加这些头部字段,还做了其他很多扩展,感兴趣的同学可以看看。

https://www.codewatch.org/blog/?p=408

结语

刚刚接触HTTP时,Web代理的相关知识一直获取到的不多,后来慢慢发现其实还是很重要的。这篇文章也是对自己在web代理知识方面的一个小结,由于笔者水平有限,如果有错误的地方,欢迎大家指出。

*本文原创作者:somesomes,本文属FreeBuf原创奖励计划,未经许可禁止转载

各位 Buffer 早上好,今天是 2018 年 8 月 30 日星期四,农历七月二十。今天份的BUF早餐铺内容有:2018年上半年无文件 / PowerShell恶意活动飙升至新高度;研究人员在 Windows 任务管理器中发现零日漏洞;雅虎邮箱被爆大规模扫描用户邮件,将数据出售给广告商;网络犯罪分子正以更隐蔽的方法攻击数字货币;网络安全行业平均月薪上万,实际薪资高于预期。

安全资讯早知道,两分钟听完最新安全快讯~

d49a5568-0933-481e-8abc-e22ec5a1668a_1500x900.jpg

2018 年上半年无文件及 PowerShell 攻击飙升至新高度

页首配图

终端安全公司 SentinelOne 发布了“2018年上半年企业风险指数报告”,报告显示:2018 年 1 月至 6 月期间,无文件攻击次数增加了 94%;PowerShell 攻击从 2018 年 5 月的每 1000 个终端遭受 2.5 次攻击飙升到6月的每 1000 个终端遭受 5.2 次攻击;勒索软件传播态势依然十分严峻且上升速率很快,每1000个终端遭受攻击的数量从 1 月的 5.6 极速上升至 6 月的14.4。[来源:threatpost]

研究人员在 Windows 任务管理器中发现零日漏洞

TIM截图20180829185610.png

近日,有安全研究人员披露了 Windows 任务管理器中的 0-day 漏洞,可被利用提升系统权限,进行进一步攻击。漏洞出现的原因是 Windows 任务管理器在进行高级本地进程调用(ALPC)处理时出现错误。漏洞曝出后,美国 CERT/CC 及时确认,但该研究人员并没有报告给微软。目前尚不清楚这个 0-day 漏洞是否会影响微软 Windows 系统,据推测微软会在 9 月 11 日的修复日发布补丁。securityaffairs

雅虎邮箱被爆大规模扫描用户邮件,将数据出售给广告商

eda908af0c08d6c.jpg

华尔街日报报道,雅虎依然在扫描用户邮件并将这些数据销售给广告商,而这种行为目前已经被很多科技企业放弃。在报道中雅虎和多家广告业主进行洽谈,希望为后者提供一项分析超2亿封Yahoo Mail收件箱的电子邮件,从中提取消费者数据的服务。对此Oath并未立即就此事作出官方回应。报道中还指出,即使启用了雅虎的高级邮件服务(月费3.49美元),如果用户不选择禁用,系统依然会对邮件进行扫描。[来源:cnbeta]

网络犯罪分子正以更隐蔽的方法攻击数字货币

crypto-mining-e1518714481556.jpg

全球网络安全解决方案提供商趋势科技(Trend Micro Incorporated)在新的研究中表示,网络犯罪分子的注意力正从勒索软件攻击转为更隐蔽的方法,其目的仍在于窃取金钱和宝贵的计算资源。研究还表明,与2017年全年相比,2018年上半年数字货币采矿探测量增加了96%。[来源:bianews]

网络安全行业平均月薪上万,实际薪资高于预期

nqt-salary-pay-scale.png

智联招聘近日发布2018《网络安全人才市场状况研究报告》(以下简称报告),报告以智联招聘平台大数据为基础,从需求变化、供需结构、用人单位特点以及人才自身特征等方面对网络安全人才市场现状展开研究。报告显示,网络安全人才不论在政企机构,还是在安全企业,平均月薪皆过万,且实际薪资普遍高于预期,实现幸福“倒挂”。

总体来看,据统计,2018年上半年求职者期望的平均薪资约为8587.5元/月,相比2017年增长了1054元/月。而实际薪资上,政企机构提供的网络安全相关岗位的平均薪酬约为12389.3元/月,安全企业提供给网络安全相关岗位的平均薪酬约为11806.2元/月。其中,金融行业用人单位给网络安全人才提供的薪酬最多,平均15054元,其次为互联网行业,平均14849元,以及生活服务行业,平均14733元。[来源:人民网]

*AngelaY 编译整理,转载请注明来自 FreeBuf.COM。

51.png

OWASPJoomScan项目

OWASPJoomla!漏洞扫描器(JoomScan)是一个开源项目,其主要目的是实现漏洞检测的自动化,以增强Joomla CMS开发的安全性。该工具基于Perl开发,能够轻松无缝地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构能够保证扫描过程中不会留下过多的痕迹。它不仅能够检测已知漏洞,而且还能够检测到很多错误配置漏洞和管理权限漏洞等等。除此之外,OWASP JoomScan使用起来非常简单,不仅提供了非常友好的用户界面,而且还能够以HTML或文本格式导出扫描报告。

目前,OWASP JoomScan已集成到了Kali Linux发行版之中。

为什么要用OWASP JoomScan

*自动化

*版本枚举

*漏洞枚举(基于版本)

*组件枚举(支持1209款热门组件)

*组件漏洞枚举(基于版本,1030+漏洞利用)

*防火墙检测

*文本或HTML格式导出数据

*查找常见日志文件

*查找常见备份文件

工具安装

git clone https://github.com/rezasp/joomscan.git

cd joomscan

perl joomscan.pl

JoomScan参数

52.png

OWASPJoomScan使用样例

执行默认检测:

perl joomscan.pl --url www.example.com

perl joomscan.pl -u www.example.com

枚举已安装的组件:

perl joomscan.pl --url www.example.com --enumerate-components

perl joomscan.pl -u www.example.com –ec

设置cookie:

perl joomscan.pl --url www.example.com --cookie "test=demo;"

设置user-agent:

perl joomscan.pl --url www.example.com --user-agent "Googlebot/2.1(+http://www.googlebot.com/bot.html)"

perl joomscan.pl -u www.example.com -a "Googlebot/2.1(+http://www.googlebot.com/bot.html)"

设置随机user-agent

perl joomscan.pl -u www.example.com --random-agent

perl joomscan.pl --url www.example.com -r

更新JoomScan:

perl joomscan.pl –update

OWASP文档

传送门

GIT仓库

传送门

ISSUES

传送门

OWASP JoomScan介绍

*参考来源:joomscan,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

前言

国外的安全研究人员发现,来自11家智能手机OEM厂商的数百万台移动设备容易遭到隐藏AT命令攻击。

页首配图

AT(ATtention)命令是20世纪80年代早期开发的短字符串(ShortString)命令集合,通过电话线和控制调制解调器传输。将不同的AT命令字符串合并在一起,可用于告知调制解调器进行拨号、挂断或更改连接参数等功能。

普通用户可能不知道,现代智能手机也集成了基本的调制解调器组件,允许智能手机通过其电话功能连接到互联网。虽然国际电信机构已经推出了标准化的标准化的基本AT命令,所有智能手机必须支持这些指令。可出于实际需要,供应商还是为自己的设备添加了自定义AT命令集,可用于控制一些非常危险的手机功能,例如触摸屏界面、设备摄像头等。

针对数以千计Android固件的研究

来自佛罗里达大学、斯托尼布鲁克大学和三星研究美国的11名科学家组成团队,研究了现代Android设备目前支持哪些类型的AT指令以及影响。

该研究团队分析了来自11个Android OEM的超过2000个Android固件映像,如华硕、谷歌、HTC、华为、联想、LG、LineageOS、摩托罗拉、三星、索尼和中兴。发现这些设备支持超过3500种不同类型的AT指令,其中一些可用于访问非常危险的功能。

USB接口暴露AT指令

这些AT指令均通过手机USB接口暴露,这意味着攻击者必须获得用户设备的访问权限或接入隐藏的USB底座、充电器或充电站内的恶意组件。

一旦攻击者通过USB连接到目标手机,他就可以使用手机的一个隐藏AT指令重写设备固件,绕过Android安全机制以获得敏感的设备信息、解锁屏幕等。有些AT指令仅能在手机处于USB调试模式时才可用,但研究人员也发现许攻击者可以直接访问的AT命令,即使手机已进入锁定状态。

在许多情况下,运行这些指令完全没有日志记录。最大的风险是攻击者可模拟触摸屏点击,使得攻击者完全控制设备并安装恶意应用程序以进行进一步的行动。

厂商已收到通知

该研究团队已通知所有相关供应商,还在网站上发布了包含手机型号和固件版本的数据库。

研究人员仅通过USB接口测试了对Android设备上AT命令集的访问,还计划测试Apple设备以及通过远程访问(如手机的Wi-Fi或蓝牙连接)来运行AT命令。该团队还发布了一个Shell脚本,在研究期间使用它来检查Android固件并查找包含AT指令的字符串,可在GitHub上下载。

*参考来源:BLEEPINGCOMPUTER,Freddy编译整理,转载请注明来自 FreeBuf.COM。