利用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。进行封禁。

之后就是最后就阶段了。

相关推荐
叶~小兮1 天前
ELK技术栈全套学习笔记(Elasticsearch+Logstash+Filebeat)
笔记·学习·elk
Cat_Rocky2 天前
k8s-elk日志分析组件学习
学习·elk
RemainderTime3 天前
(十二)Spring Cloud Alibaba 2023.x:基于 Filebeat 构建轻量级 ELK日志追踪体系
分布式·elk·elasticsearch·微服务·架构·logback
明明跟你说过5 天前
Kafka 与 Elasticsearch 的集成应用案例深度解析
大数据·elk·elasticsearch·kafka·big data·bigdata
浓黑的daidai5 天前
day-02
linux·运维·elk
shizhan_cloud8 天前
企业级 ELK 日志分析系统
elk
卧室小白12 天前
ELK+Kafka实战
分布式·elk·kafka
heimeiyingwang13 天前
【架构实战】设计一个日志分析平台(ELK架构)
elk·架构·linq
AI木马人23 天前
16.【ELK日志系统实战】一次线上“定位失败”让我重构日志体系:如何在3分钟内定位AI系统问题?(完整可复现方案)
elk·重构
炸炸鱼.24 天前
ELK 企业级日志分析系统完整部署手册
elk·wpf