新型键盘记录器TinkyWinkey利用高级技术隐秘攻击Windows系统
本文介绍了一种名为TinkyWinkey的复杂Windows键盘记录器恶意软件,其利用服务和注入DLL实现隐蔽运行,通过低级钩子捕获键盘输入并关联窗口标题和键盘布局,具备高度隐蔽性和弹性,对企业和个人终端构成严重威胁。 2025-9-2 00:38:42 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

2025年6月下旬,地下论坛开始出现一种名为TinkyWinkey的复杂Windows键盘记录器,该恶意软件以前所未有的隐蔽性针对企业和个人终端发起攻击。

与依赖简单钩子或用户模式进程的传统键盘记录工具不同,TinkyWinkey利用双重组件——Windows服务和注入的DLL有效载荷——在收集丰富上下文数据的同时保持隐蔽。该恶意软件的出现凸显了威胁行为者战术的令人担忧的演变,将深度系统分析与低级键盘捕获相结合,为间谍活动和凭证窃取提供了极具吸引力的目标。

攻击向量分析

TinkyWinkey的攻击通常从安装名为"Tinky"的恶意服务开始。该服务通过SCM API调用安装,配置为自动启动,确保即使在系统重启后也能保持持久性。激活后,服务工作线程通过在复制的用户令牌上调用CreateProcessAsUser,在活动用户会话中生成主键盘记录模块(winkey.exe)。

Keylogging Storage (Source – Cyfirma)

这种方法不仅避免了可见的控制台窗口,还获得了对用户模式桌面上下文的直接访问。Cyfirma分析师指出,该技术使恶意软件能够在标准用户权限下无缝运行,同时在系统进程中保持隐蔽。

键盘记录功能

加载后,键盘记录器组件采用低级钩子(WH_KEYBOARD_LL)拦截每次击键,包括媒体键、修饰键组合和Unicode字符。恶意软件维护一个连续的消息循环来分派捕获的事件,将每次击键与前景窗口标题和当前键盘布局相关联。

Cyfirma研究人员发现,TinkyWinkey通过HKL句柄动态检测布局变化,每当受害者在语言之间切换时记录事件。这确保攻击者能够准确重建多语言输入,这是简单键盘记录器经常忽略的功能。

TinkyWinkey is a Windows-based project (Source – Cyfirma)

typedef LONG (WINAPI *RtlGetVersionPtr)(PRTL_OSVERSIONINFOW);
void log_windows_version() {
  HMODULE hMod = LoadLibraryW(L"ntdll.dll");
  if (hMod) {
    RtlGetVersionPtr fn = (RtlGetVersionPtr)GetProcAddress(hMod, "RtlGetVersion");
    RTL_OSVERSIONINFOW rovi = { sizeof(rovi) };
    if (fn(&rovi) == 0) {
      char buffer[128];
      snprintf(buffer, sizeof(buffer),
           "Windows version: %ld.%ld (build %ld)\n",
           rovi.dwMajorVersion, rovi.dwMinorVersion, rovi.dwBuildNumber);
      write_to_file(buffer);
    }
  }
}

感染机制与持久化策略

TinkyWinkey的感染机制依赖于其基于服务的持久性和隐蔽的DLL注入。在建立"Tinky"服务后,加载程序使用自定义的FindTargetPID例程解析受信任进程(最常见的是explorer.exe)的PID。获取PROCESS_ALL_ACCESS句柄后,它通过VirtualAllocEx在目标进程中分配内存,并写入keylogger.dll的完整路径。随后调用指向LoadLibraryW的CreateRemoteThread,强制受信任进程加载恶意DLL。

Malicious Windows service named 'Tinky' (Source – Cyfirma)

这种远程注入方法不仅将键盘记录代码隐藏在合法进程中,还规避了许多监控独立可执行文件的终端保护解决方案。最后的WaitForSingleObject调用确保在关闭句柄之前完成注入,保持系统稳定性并进一步掩盖取证分析中的入侵痕迹。

通过结合服务执行和精确的DLL注入,TinkyWinkey实现了商品恶意软件中罕见的隐蔽性和弹性水平,使得传统的检测和清除策略不足以保护现代Windows环境。

参考来源:

New TinkyWinkey Stealthily Attacking Windows Systems With Advanced Keylogging Capabilities

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/system/446924.html
如有侵权请联系:admin#unsafe.sh