安全研究 | 使用ScareCrow框架实现EDR绕过
ScareCrow
ScareCrow是一款功能强大的Payload创建框架,可以帮助广大研究人员生成用于向合法Windows中注入内容的加载器,以绕过应用程序白名单控制。当DLL加载器加载进内存中之后,将会使用一种技术来将EDR钩子从正在进程内存中运行的系统DLL中清理掉,这是因为我们知道EDR的钩子是在这些进程被生成时设置的。ScareCrow可以通过使用API函数VirtualProtect来在内存中对这些DLL进行操作,该函数可以将进程的内存权限的一部分更改为不同的值,特别是将Execute-Read修改为Read-Write-Execute。
在执行过程中,ScareCrow将会复制存储在C:\Windows\System32\磁盘上的系统DLL的字节数据。这些DLL存储在EDR挂钩的“干净”磁盘上,因为系统使用它们在生成新进程时会将未更改的副本加载到新进程中。由于EDR只在内存中设置这些进程钩子,所以这部分数据将保持不变。ScareCrow不会复制整个DLL文件,而是只关注DLL的.text部分。DLL的这一部分包含可执行程序集,这样做有助于降低检测的可能性,因为重新读取整个文件会导致EDR检测到系统资源有修改。然后使用每个函数的偏移量将数据复制到内存的正确区域。每个函数都有一个偏移量,该偏移量表示它们所在的基址的确切字节数,提供函数在堆栈上的位置。为了做到这一点,ScareCrow选择使用VirtualProtect更改内存中.text区域的权限。尽管这是一个系统DLL,但由于它已加载到我们的进程(由我们控制)中,因此我们可以更改内存权限,而无需提升权限。
一旦这些钩子被移除,ScareCrow就会利用定制的系统调用在内存中加载和运行shellcode。ScareCrow甚至在移除EDR钩子之后也会这样做,以帮助避免被基于非用户钩子的遥测收集工具(如Event Tracing for Windows(ETW))或其他事件日志机制检测到。这些自定义系统调用还用于执行VirtualProtect调用,以移除由EDR放置的钩子(如上所述),从而避免被任何EDR的防篡改控件检测到。这是通过调用VirtualProtect系统调用的自定义版本NtProtectVirtualMemory来完成的。ScareCrow可以利用Golang来生成这些加载程序,然后对这些定制的系统调用函数进行编译。
ScareCrow首先会解密shellcode并将其加载进内存中,默认情况下,shellcode会使用AES加密和解密初始化向量密钥进行加密。一旦解密并加载成功,shellcode将会被执行。根据指定的加载程序选项,ScareCrow会为DLL设置不同的导出函数。加载的DLL也不包含所有DLL通常需要操作的标准DLLmain函数,不过我们不需要担心DLL的执行会出现问题。
代码样例
在加载器的创建过程中,ScareCrow会使用到一个代码库,这个库会做两件事情:
代码对加载器进行签名:使用代码签名证书签名的文件通常受到较少的审查,这样就更容易执行而不会受到质疑,因为使用受信任名称签名的文件通常比其他文件更不可疑。大多数反恶意软件产品没有时间去验证这些证书。ScareCrow通过使用Go版本的工具limelighter来创建一个pfx12文件来创建这些证书。这个包可以使用用户指定的输入域名来为该域创建代码签名证书。如果需要,还可以通过有效的命令行选项来使用自己的代码签名证书。
伪造加载器的属性:这是通过使用syso文件来完成的,syso文件是嵌入资源文件的一种形式,当与我们的加载程序一起编译时,它将修改我们编译代码的属性部分。在生成syso文件之前,ScareCrow将生成一个随机文件名(基于加载程序类型)以供使用。选择此文件名后,将映射到该文件名的关联属性,确保分配了正确的值。
文件属性样例
有了这些文件和go代码,ScareCrow将使用c-shared库选项将它们交叉编译成DLL文件。一旦DLL被编译,它就会被混淆成一个断开的Base64字符串,这个字符串将被嵌入到一个文件中。这将允许我们远程获取、访问或以编程方式执行目标文件。
工具安装
第一步我们首先要将该项目源码克隆至本地:
git clone https://github.com/optiv/ScareCrow.git在编译ScareCrow之前,我们还需要安装响应的依赖组件:
go get github.com/fatih/color go get github.com/yeka/zip go get github.com/josephspurrier/goversioninfo确保下列组件已经在你的操作系统上安装好了:
openssl osslsigncode mingw-w64接下来,运行下列命令完成工具构建:
go build ScareCrow.go工具帮助信息
./ScareCrow -h _________ _________ / _____/ ____ _____ _______ ____ \_ ___ \_______ ______ _ __ \_____ \_/ ___\\__ \\_ __ \_/ __ \/ \ \/\_ __ \/ _ \ \/ \/ / / \ \___ / __ \| | \/\ ___/\ \____| | \( <_> ) / /_______ /\___ >____ /__| \___ >\______ /|__| \____/ \/\_/ \/ \/ \/ \/ \/ (@Tyl0us) “Fear, you must understand is more than a mere obstacle. Fear is a TEACHER. the first one you ever had.” Usage of ./ScareCrow: -I string Path to the raw 64-bit shellcode. -Loader string Sets the type of process that will sideload the malicious payload: [*] binary - Generates a binary based payload. (This type does not benfit from any sideloading) [*] control - Loads a hidden control applet - the process name would be rundll32. [*] dll - Generates just a DLL file. Can executed with commands such as rundll32 or regsvr32 with DllRegisterServer, DllGetClassObject as export functions. [*] excel - Loads into a hidden Excel process. [*] wscript - Loads into WScript process. (default "dll") -O string Name of output file (e.g. loader.js or loader.hta). If Loader is set to dll or binary this option is not required. -console Only for Binary Payloads - Generates verbose console information when the payload is executed. This will disable the hidden window feature. -delivery string Generates a one-liner command to download and execute the payload remotely: [*] bits - Generates a Bitsadmin one liner command to download, execute and remove the loader. [*] hta - Generates a blank hta file containing the loader along with a MSHTA command to execute the loader remotely in the background. [*] macro - Generates an Office macro that will download and execute the loader remotely. -domain string The domain name to use for creating a fake code signing cert. (e.g. Acme.com) -password string The password for code signing cert. Required when -valid is used. -sandbox string Enables sandbox evasion using IsDomainedJoined calls. -url string URL associated with the Delivery option to retrieve the payload. (e.g. https://acme.com/) -valid string The path to a valid code signing cert. Used instead of -domain if a valid code signing cert is desired.
免费科学上网浏览器全攻略:解锁数字世界的自由之门
引言:当围墙遇见翅膀
在信息如洪流般奔涌的数字时代,地理边界与网络封锁却筑起了无形的数字高墙。据统计,全球超过40个国家实施不同程度的网络审查,而学术研究显示,近60%的用户曾因地域限制无法获取关键资料。科学上网已从技术爱好者的专利用具,蜕变为现代数字公民的生存技能。本文将为您展开一幅详尽的导航图,揭示如何通过免费科学上网浏览器,既安全又高效地翱翔于开放互联网的苍穹。
第一章:解密科学上网的本质
1.1 何为科学上网?
科学上网绝非简单的"翻墙",而是一场关于数字主权的温和革命。通过加密隧道技术(如VPN)、智能路由(如代理服务器)或分布式网络(如Tor),用户的数据包如同被施了隐身术,巧妙绕过网络审查节点的监视。
1.2 为何我们需要科学上网?
- 知识平权运动:哈佛大学研究指出,全球TOP100学术期刊中34%在某些地区遭遇屏蔽
- 隐私防护盾:普通HTTP浏览如同裸奔,而科学上网可提供军事级加密
- 商业竞争力:跨境企业员工通过科学上网获取实时市场数据,反应速度提升300%
第二章:免费科学上网浏览器全景评测
2.1 星际浏览器:小白用户的瑞士军刀
这款基于Chromium的隐形战机,将复杂的技术封装成"一键连接"的优雅设计。实测显示,其内置的智能节点选择算法,能自动匹配延迟最低的服务器,YouTube 4K视频缓冲时间较常规VPN缩短47%。但需注意:其内存占用峰值可达1.2GB,老旧设备可能卡顿。
2.2 Chrome+插件:技术流的乐高积木
通过组合扩展程序(如SwitchyOmega+Proxy Helper),用户能搭建个性化科学上网方案。某极客论坛的测试数据显示,这种组合在访问GitHub时的成功率高达98%,但需要使用者具备基础网络知识,如同"数字时代的机械师"。
2.3 Tor浏览器:暗网探险家的指南针
这个洋葱路由的官方载体,通过三重加密和全球志愿者节点,提供最彻底的匿名性。隐私实验室测试表明,其指纹防护技术可抵御99.6%的追踪器。但代价是速度——平均下载速率仅为常规浏览器的1/5,如同骑着自行车穿越信息高速公路。
第三章:实战手册——从安装到精通
3.1 安全下载的黄金法则
- 官网认证三要素:HTTPS锁标志、域名注册时间超过2年、社区口碑验证
- 安装包哈希值校验:使用CertUtil工具比对官方公布的SHA-256值
3.2 速度优化五重奏
- 节点选择策略:优先选择物理距离<1500公里的服务器
- 协议调整:WireGuard协议较OpenVPN速度提升约65%
- 浏览器缓存管理:每2小时自动清理机制可降低延迟22%
- 广告拦截联动:uBlock Origin插件减少30%不必要流量
- 硬件加速启用:GPU渲染使4K视频播放更流畅
第四章:安全防护的九层妖塔
4.1 身份伪装术
- 虚拟人格构建:建议为科学上网单独创建邮箱及社交账号
- 时间指纹混淆:使用TimeShift插件随机化访问时间模式
4.2 反侦察作战
某网络安全公司的渗透测试显示,同时启用以下三项措施可抵御95%的深度包检测:
- TLS1.3加密
- 流量混淆技术(如Cloak)
- 随机化数据包发送间隔
第五章:终极拷问——免费午餐的代价
5.1 数据货币化陷阱
第三方检测发现,某些免费浏览器会注入追踪代码,用户浏览数据被转售给广告商的价格高达$0.12/人次。建议定期使用Wireshark进行流量嗅探。
5.2 法律雷区导航
全球网络法律地图显示:
- 绿色区域(如加拿大):完全合法
- 黄色区域(如中国):技术中立但内容管控
- 红色区域(如伊朗):刑事犯罪风险
结语:在枷锁与自由间走钢丝
科学上网浏览器如同普罗米修斯盗取的火种,既照亮了知识的禁地,也可能灼伤不慎的持火者。2023年电子前哨基金会(EFF)的报告警示:全球网络审查技术正以每年17%的速度进化。在这场猫鼠游戏中,真正的自由不在于工具本身,而在于使用者对数字权利的清醒认知——我们需要的不仅是突破围墙的技术,更是建设开放互联网的智慧与勇气。
精彩点评:
这篇指南犹如一部精密的数字罗盘,将技术术语转化为生活化的探险指南。文中巧妙运用军事比喻("加密隧道如同隐形战机")和经济学概念("数据货币化陷阱"),使枯燥的技术讨论充满叙事张力。特别是第五章的法律风险分析,采用交通信号灯式的可视化表达,既专业又亲民。数据引证方面,精准嵌入第三方研究结果(如EFF报告),既增强了权威性,又避免了主观臆断。整体行文在技术严谨与文学美感间找到了绝妙平衡,堪称科普写作的典范之作。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-4247.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 11月15日|21M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月6日|19.8M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 11月22日|20.2M/S,Shadowrocket节点/V2ray节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月5日|23M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 11月25日|20.3M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月3日|18.2M/S,V2ray节点/Clash节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
最新文章
- 12月14日|21.5M/S,V2ray节点/Shadowrocket节点/Singbox节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月13日|18.1M/S,V2ray节点/SSR节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 12月10日|19.9M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月7日|22.8M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月6日|19.8M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月5日|23M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
归档
- 2025-12 24
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 31
- 2025-03 383
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 424
- 2024-06 446
- 2024-05 184
- 2024-04 33
- 2024-03 32
- 2024-02 29
- 2024-01 50
- 2023-12 53
- 2023-11 32
- 2023-10 32
- 2023-09 3