绝对想不到,Chrome浏览器变成了最稳定后门

admin 2026-09-10 04:43:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析PEEP后渗透工具包,其伪装成SmartBookmarks扩展,通过静默安装脚本和篡改SecurePreferences实现持久化,每30秒轮询C2并窃取Cookie、历史等数据,经NativeMessaging调用系统命令。文章提供详细排查步骤、Python检查脚本及IOC,建议企业启用扩展白名单并监控相关路径。 综合评分: 88 文章分类: 恶意软件,红队,应急响应,威胁情报


绝对想不到,Chrome浏览器变成了最稳定后门

原创

suntiger suntiger

二进制空间安全

2026年9月9日 10:09 北京

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

将二进制空间安全设为”星标⭐️”

第一时间收到文章更新

技术背景

#

PEEP是一套面向Chromium内核浏览器的后渗透工具包,其伪装成书签类扩展Smart Bookmarks。当黑客或红队拿下目标系统权限之后,部署上这套组件,可在目标机器上建立持久稳定的系统级后门。一旦安装成功,扩展会每30秒用明文的HTTP协议向命令控制服务器轮询新任务,同时自动上传浏览历史、当前标签页、会话Cookie等数据。除此之外,还能在毫无察觉的情况下对网页注入脚本、截屏、读剪贴板, 当任务需要用到操作系统功能时,扩展还会唤起配套程序nm_host.exe,通过Chromium的Native Messaging机制在主机上执行Shell命令、浏览文件、枚举进程和服务。浏览器沙箱本来是用来隔离网页和系统的,这条通道一旦被利用,沙箱等于被从内部凿开一个口子。

PEEP的技术底子来自开源红队框架RedExt,后者也曾出现在GlassWorm相关攻击里。相比原版,PEEP补上了专用安装脚本、Native Messaging宿主、心跳上报、扩展自更新通道和更宽的指令集,已经是一套可独立部署的成品,而不是简单的脚本拼接。

核心技术原理

#

PEEP首先会使用一个脚本:install_silent.ps1用来打开开发者模式,让未上架商店的扩展也能加载进来,并通过注册表HKCU Extensions项和External Extensions JSON清单完成登记。到这一步,Smart Bookmarks的文件已经挂进浏览器配置里,但如果此时重启浏览器,用户仍可能看到未验证扩展的警告,扩展也可能处于待确认状态。

紧接着PEEP会执行第二个脚本:patch_secure_prefs.ps1,它改的是用户配置目录下的Secure Preferences文件。Chromium每次启动都会用文件里存的HMAC值校验扩展配置有没有被动过手脚,校验不过就会弹窗或把扩展禁掉。这个脚本伪造HMAC值,让浏览器误以为当前扩展状态是自己合法写入的。跑完这步再重启浏览器,Smart Bookmarks就会静默启用,界面上不会出现任何安装确认框。Linux上同类操作由patch_secure_prefs_linux.py完成,逻辑相同。

浏览器重新起来之后,扩展才开始真正工作。 background脚本读本地配置文件里的远端地址,向C2登记本机,然后进入每30秒轮询一次的循环。登记完不用等人下指令,Cookie、浏览历史、当前标签和URL、公网IP就会分批往外传;任务结果和心跳走不同接口回传,服务器还能远程推新版本,扩展拉取CRX更新包即可换壳。content.js同时挂到用户打开的每个页面上,截图、读剪贴板、往网页里注入脚本,这些都还在浏览器权限范围内,暂时碰不到操作系统。

如果用户后来把扩展删了,走另一条恢复路径。 force_enable.ps1专门干这件事,不必再动Secure Preferences。它会从Preferences的external_uninstalls列表里抹掉卸载记录,确认CRX包还在%LOCALAPPDATA%PEEPcrx,再走一遍注册表和External Extensions登记,最后重启浏览器把扩展拉回来。三个脚本因此分工明确:install_silent.ps1开安装通道,patch_secure_prefs.ps1让首次落地静默生效,force_enable.ps1对付被人删掉之后的再注册。

除了脚本,PEEP还留了别的退路。企业环境里若启用了ExtensionInstallForcelist策略,攻击者可以把恶意扩展ID和正规企业插件写进同一条策略,员工很难从名字上区分;ScriptCache回退则让扩展在部分清理场景下仍有机会复原。

浏览器权限用尽之后,才轮到系统侧组件。 扩展清单里注册了com.peep.lab,对应本机上的nm_host.exe。Chrome和Edge给合法扩展留过一条和本地程序通信的官方管道,密码管理器、安全类插件正常会用这条途径调用系统能力。PEEP把Shell命令、文件读写、进程和服务枚举交给这个exe执行,运行权限和普通登录用户相同,但调用入口藏在已签名的浏览器进程里,终端防护如果只观察磁盘上新出现的陌生exe,这条路径很容易忽略掉。

远端一侧,C2除了日常收发任务,还在5001端口提供/login管理面板,/health接口甚至不登录也能看在线情况。通信走明文HTTP,没有TLS,同一局域网内抓包理论上能看到扩展上报的内容。

攻击流程还原

PEEP的完整链条可以按阶段还原:

| | | | | | — | — | — | — | | 攻击阶段 | 常见诱饵/入口 | 谁容易中招 | 最坏影响 | | 初始失陷 | 钓鱼附件、远控木马、供应链投毒、弱口令RDP | 未打补丁的办公电脑、开发测试机、能装软件的普通用户 | 攻击者获得管理员或用户级代码执行 | | 扩展植入 | 静默PowerShell、伪造Secure Preferences、企业策略强装 | 允许侧载扩展、未限制脚本执行的环境 | Smart Bookmarks扩展常驻且自动启用 | | 数据盗取 | 扩展自动轮询/api/exfil | 所有使用该浏览器配置的用户 | Cookie与历史外泄,账号可被劫持 | | 页面操控 | content.js全站注入 | 访问网银、邮箱、SaaS后台的用户 | 页面篡改、凭据钓鱼、剪贴板替换 | | 系统穿透 | nm_host.exe经Native Messaging | 同一Windows/Linux工作站 | 主机命令执行、文件读写、内网探测 |

第一阶段没有PEEP参与。攻击者用任意已有手段拿下主机,这一步在国内企业环境里并不稀奇:员工点开伪装成发票的压缩包、开发机从不可信源拉了带后门的构建脚本、或者VPN入口长期共用弱密码,都可能留下一个能跑PowerShell的后门。

第二阶段才是PEEP登场。install_silent.ps1打开侧载通道后,CRX被装进本地目录,patch_secure_prefs.ps1篡改Secure Preferences让扩展看起来像是浏览器自己信任的配置。用户打开扩展管理页,可能看到一个名字还像正经工具的书签扩展,状态却是已启用。若企业IT用ExtensionInstallForcelist统一下发插件,攻击者也可以把恶意ID写进同一策略键值,和合法企业扩展混在一起。

第三阶段,扩展注册完就开始30秒一次的心跳和命令轮询。即便用户当时没打开敏感网站,background脚本仍会上传环境元数据。一旦用户登录淘宝卖家中心、企业微信网页版、GitHub或各类管理后台,Cookie和活跃URL就会进入C2的507条记录池。明文HTTP传输意味着中间网络设备若做日志留存,事后可能留下取证线索,但对用户本身没有即时保护。

第四阶段,content.js在所有匹配页面上运行。攻击者可以远程下截图指令、读取剪贴板里刚复制的密码或API Key、向银行或OA页面注入额外脚本。这类操作不需要Native Messaging,全程在浏览器权限内完成,界面看起来可能一切正常。

第五阶段,当攻击者需要横向移动或落地工具时,C2下发需要系统权限的任务,扩展唤起nm_host.exe。Native Messaging是Chrome官方给合法扩展与本地程序通信的通道,杀软通常不会拦截浏览器发起的这条管道。exe在用户上下文里执行命令,可以列目录、找SSH密钥、探测内网服务,相当于把浏览器变成了轻量远控客户端。

排查及修复方案

排查步骤(Windows):

  1. 打开Chrome或Edge扩展管理页,搜索ID ejkndncpkdcjcikfhiamcdehdoegilbj,或名称Smart Bookmarks,发现即卸载并删除相关数据。
  2. 检查目录 %LOCALAPPDATA%PEEPcrx 是否存在,整个文件夹删除。
  3. 在文件系统搜索 nm_host.exe,删除文件并检查Native Messaging注册表项 com.peep.lab(通常在HKCU Software相关Chrome/Edge Native Messaging Hosts路径下)。
  4. 查看 %LOCALAPPDATA%GoogleChromeUser Data 或 %LOCALAPPDATA%MicrosoftEdgeUser Data 下Secure Preferences和Preferences是否近期被异常修改,可与干净机器对比或重装浏览器用户配置。
  5. 在注册表 HKCUSoftwareGoogleChromeExtensions 或Edge对应路径下,确认无上述恶意ID残留。

排查步骤(Linux): 检查Chrome配置目录下是否存在patch_secure_prefs_linux.py执行痕迹,扩展目录与Native Messaging manifest中是否注册com.peep.lab。

恢复动作:对所有在该浏览器登录过的网站执行退出并重新登录,优先改绑二次验证;直接删除Cookie和站点数据比单点改密码更彻底。企业环境应推送扩展白名单策略,禁止未收录ID安装;PowerShell执行策略和脚本块日志应开启,便于发现install_silent.ps1一类落地行为。终端检测规则可增加对Native Messaging宿主异常注册和%LOCALAPPDATA%PEEPcrx路径的监控。

以下脚本可作本地检查:

import jsonimport osimport platformfrom pathlib import Path
SUSPICIOUS_ID = "ejkndncpkdcjcikfhiamcdehdoegilbj"SUSPICIOUS_NAME = "smart bookmarks"PEEP_CRX = Path(os.environ.get("LOCALAPPDATA", "")) / "PEEPcrx"
def chrome_prefs_roots():    base = Path(os.environ.get("LOCALAPPDATA", ""))    if platform.system() == "Windows":        yield base / "Google/Chrome/User Data"        yield base / "Microsoft/Edge/User Data"    else:        yield Path.home() / ".config/google-chrome"        yield Path.home() / ".config/microsoft-edge"
def iter_extensions(prefs_file: Path):    try:        data = json.loads(prefs_file.read_text(encoding="utf-8"))    except (OSError, json.JSONDecodeError):        return    settings = data.get("extensions", {}).get("settings", {})    for ext_id, meta in settings.items():        name = (meta.get("manifest", {}) or {}).get("name", "")        yield ext_id, name, str(prefs_file.parent)
def main():    hits = []    for root in chrome_prefs_roots():        for profile in root.glob("*/Preferences"):            for ext_id, name, loc in iter_extensions(profile):                if ext_id == SUSPICIOUS_ID or SUSPICIOUS_NAME in name.lower():                    hits.append((ext_id, name, loc))    if PEEP_CRX.exists():        print(f"[!] 发现PEEP本地目录: {PEEP_CRX}")    if hits:        print("[!] 可疑扩展:")        for row in hits:            print("   ", row)    else:        print("[OK] 未在Preferences中发现Smart Bookmarks / 已知恶意ID")
if __name__ == "__main__":    main()

将上述脚本保存为 check_peep_ext.py,在终端执行 python check_peep_ext.py 即可快速扫描本机配置文件。若输出告警,再按前文步骤手工清理Native Messaging注册和PEEPcrx目录。

#

#

IOC

#

C2 IP : 206.237.30.232

域名: xfjcc.fun

端口: 5001

#

#

(全文完)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:二进制空间安全 suntiger suntiger《绝对想不到,Chrome浏览器变成了最稳定后门》

评论:0   参与:  0