新型键盘记录器TinkyWinkey利用高级技术隐秘攻击Windows系统

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环境。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值