利用ELK发现通过键盘记录器窃取信息

了解如何搜索和发现指示对目标采取行动的可疑活动。

一、MITRE的信息收集Collection

查询攻击者是否获取到键盘信息的记录:

ELK语句:

*GetKeyboardState* or *SetWindowsHook* or *GetKeyState* or *GetAsynKeyState* or *VirtualKey* or *vKey* or *filesCreated* or *DrawText*
解析:

GetKeyboardState:获取当前所有虚拟键的状态(按下 / 释放);

GetKeyState:获取指定虚拟键(vKey)的状态(是否按下、是否锁定,如 Caps Lock);

GetAsynKeyState:通过高频调用(如每 10ms 一次)捕获用户输入的所有按键(包括密码、聊天内容);

VirtualKey:键盘按键的标准化编码(如VK_A代表 A 键,VK_TAB代表 Tab 键,VK_LWIN代表左 Windows 键);

SetWindowsHook:全局监控所有进程的键盘输入(无需高频轮询,更隐蔽);

filesCreated:创建文件" 的行为;DrawText:部分恶意程序(如钓鱼窗口)可能用它绘制仿冒的登录界面(如模仿银行登录框),结合键盘记录器窃取用户输入。

二、MITRE的信息窃取Exfiltration

目的:通过查询相关协议发现其是通过什么方式传输的。

ELK语句:

*ping\* or \*ipconfig* or *arp\* or \*route* or *telnet\* or \*tracert* or *nslookup\* or \*netstat* or *netsh\* or \*smb* or *smtp\* or \*scp* or *ssh\* or \*wget* or *curl\* or \*certutil* or *nc\* or \*ncat* or *netcut\* or \*socat* or *dnscat\* or \*ngrok* or *psfile\* or \*psping* or *tcpvcon\* or \*tftp* or *socks\* or \*Invoke-WebRequest* or *server\* or \*post* or *ssl\* or \*encod* or *chunk\* or \*ssl*

三、MITRE的破坏Impact

目的:通过查询发现攻击者通过什么方式破坏系统。

示例:

先查询是否存在窃取键盘信息的操作,需要过滤的字段winlog.chnnel(用户名),winlog.process.pid(进程号),winlog.vent_data.ScriptBlockText(是否进行窃取操作),winlog.event_data.Path(具体路径)。

可以发现有4个包进行了键盘记录操作,因此就要判断是否为恶意操作。首先可以通过ScriptBlockText可以知道用户输入的信息会储存到\temp\chrome_local_profile.db中,这一看就是可疑的,但还需要进一步确认。其次还可以知道chrome_update_api.ps1调用了db文件。

确定这些信息之后就需要着重调查一下这两个文件。

发现有11个相关的包,往下翻可以知道3388查看了db文件,这很明显就是人为操作了,于是就要查看该包的相关进程。

设置显示10条信息,然后就会发现执行完cat命令后又获取了一次db文件,之后得到了用户的键盘输入的敏感信息。当我们查看15条信息时发现攻击者关闭了powershell的错误检查功能。

确定其是恶意操作后就可以进行封禁,但还不知道其是通过什么进行通信的,因此需要进行下一阶段的调查。过滤字段:winlog.channel,winlog.provider_name(执行者),winlog.event_dataData.#text(执行的协议)

通过搜索只有一个数据包且说明了powershell创建了一个System.Net.NetworkInformation.Ping对象来传输ICMP包。其余什么信息都没有了。因此需要调查一下这个对象。过滤字段:winlog.event_data.Path(执行路径),winlog.event_data.ScriptBlockText(执行的操作),winlog.event_data.Payload(攻击Payload)

通过这个对象发现了一个可执行文件icmp4data.ps1,其次他发送了21次ICMP包的,并每个包的大小为15。分析完之后再搜索一下这个可执行文件干了什么。

发现他利用ping命令向10.10.87.116传输chrome_local_profile.db。而在第一阶段知道db文件是一个记录用户键盘输入的敏感db文件,且敏感信息已被恶意窃取,因此可以推断出10.10.87.116也是一个恶意IP。进行封禁。

之后就是最后就阶段了。

相关推荐
y***86692 天前
后端服务日志分析,ELK与PLG
elk
java资料站4 天前
ELK+FileBeat 7.14.0版本安装、部署及使用
elk
w***Q3504 天前
后端服务日志聚合,ELK Stack配置
elk
YongCheng_Liang5 天前
ELK 自动化部署脚本解析
linux·运维·elk·jenkins
YongCheng_Liang5 天前
openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
linux·运维·elk·elasticsearch
小坏讲微服务5 天前
Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志
运维·后端·elk·spring cloud·jenkins
L.EscaRC7 天前
ELK Stack核心原理与运用要点解析
elk
V胡桃夹子8 天前
ELK 9.2.0 安装部署手册
elk
拾心2112 天前
【云运维】ELK笔记
运维·elk