高级Windows日志记录。寻找mimikatz


大家好。今天,我们来看一个示例,其中攻击者设法绕过Windows Defender,但失败了-安全卫士。是的,这又是关于mimikatz的问题。如何启动mimikatz绕过Windows Defender,可以在这里阅读正如我所承诺的,今天,为“蓝色”团队考虑一些事情。如果它至少可以帮助任何人,那么它就不会白费。所以走吧

关于ELK堆栈(Elasticsearch,Logstash,Kibana)(包括在Habré上)的文章很多,今天,我们将使用它,或更准确地说,是将ELK掺杂到我们的威胁搜寻需求中。

狩猎麋鹿或HELK


HELK图如下所示:



让我们继续进行安装。

作为开发人员建议的服务器,我选择了HELK作为服务器:

tomhunter@helk:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" 

安装简单,可通过2个命令执行:

git clone https://github.com/Cyb3rWard0g/HELK
tomhunter@helk:~/HELK/docker$ sudo ./helk_install.sh

注意:可能会要求您分配更多RAM用于安装。我使用10 GB。

从建议的安装选项中,我选择了KAFKA + KSQL + ELK + NGNIX + ELASTALERT现在就等。而且,如果我们做对了所有事情,我们将看到您所珍惜的东西:



服务器完成后,让我们准备客户端。它将是Windows 10计算机,我们需要在其上安装Sysmon。

我们还需要一个配置文件:

 git clone https://github.com/olafhartong/sysmon-modular  

生成配置:

 . .\Merge-SysmonXml.ps1
Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

跑:

 PS C:\Users\Tomhunter\Documents\sysmon-modular> .\Sysmon64.exe -i .\sysmonconfig.xml 

我们还将安装winlogbeat,删除winlogbeat.yml文件并通过将raw.githubusercontent.com/Cyb3rWard0g/HELK/master/configs/winlogbeat/winlogbeat.yml复制到其中来创建一个新文件


注意:这里我们还需要将IP地址更改为所需的IP地址(在我的情况下为主机:[“ 192.168.31.97:9092”]。



安装:

 PS C:\Users\Tomhunter\Desktop\winlogbeat-7.6.2-windows-x86_64> .\install-service-winlogbeat.ps1 

注意:您需要手动启用服务,或重新启动系统。

一切准备就绪,让我们看看会得到什么。

我们在Windows 10上启动mimikatz。



然后,进入cybana(在我的情况下是192.168.31.97,默认凭据:helk:hunting),我们会看到警报。原始格式如下:



警报可以通过电子邮件,闲置等方式发送给自己。

但是,让我们更加了解它的工作原理。

一点理论


在Windows 10中启动mimikatz后,将出现以下消息:



发出使我感到困惑的警报的规则是什么?(破坏者:不是mimikatz.exe文件名)。让我们看一下规则本身:

sudo docker exec -it helk-elastalert bash
cat /opt/sigma/rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml



EventID:10.这是我们的ProcessAccess。

TargetImage:C:\ windows \ system32 \ lsass.exe。这很好,但是mimikatz并不是唯一转向lsass的人。



GrantedAccess:0x1410或0x1010。

一切都在这里。我解释。

让我们看一下mimikatz的源代码,即我们对kuhl_m_sekurlsa.c文件和kuhl_m_sekurlsa_acquireLSA()函数感兴趣。



回到Microsoft网站,我们看到了

PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
PROCESS_VM_READ (0x0010)
PROCESS_QUERY_INFORMATION (0x0400)

使用按位“或”,我们获得了授予的访问权限
注意: sigma规则的早期仅检测到0x1410,这可能是由于mimikatz的旧版本同时发出了两个请求(PROCESS_QUERY_INFORMATION和PROCESS_QUERY_LIMITED_INFORMATION),但是mimikatz传递了0x1010,因此您必须自己更正规则。现在没有这种问题了,一切都可以直接使用。

因此,如果在kiban中设置过滤器
event_id:10 AND process_target_name:“ * lsass.exe” AND process_granted_access:“ 0x1010”,那么我们将只有mimikatz。



从愉快的角度来看:对于mimikatz_inmemory,mimikatz_trough_winrm甚至甚至还有safetycatz(具有自己芯片的.NET版本的mimikatz)都有规则。

你还能做什么?


当然,规则不限于mimikatz,其中有很多。它们分为应用程序,云,合规性,Linux,网络,代理,Web和Windows。类别分为子类别。例如,Windows分为内置,恶意软件,其他,PowerShell,process_creation,sysmon。

谁知道,也许通过将Powershell日志包括在GPO中,您将根据以下规则收到警报:



似乎已到。订阅频道,例如,单击铃声。

All Articles