Skip to main content

搭建 EDR 测试环境

Microsoft Defender for Business

除了 Windows 自带的 Windows Defender,微软还有着 EDR 和 XDR 产品。

image.png

XDR 乃至 EDR 的购买主要面向中大型企业,销售会验证企业资质,以及往往有着最低设备数量的要求。因此,对于我们做安全研究与测试有些不便与奢侈。

image.png

不过,Microsoft Defender for Business(https://www.microsoft.com/en-us/security/business/endpoint-security/microsoft-defender-business#Microsoft-defender-plans-and-pricing) 为我们提供了个门槛很低的选项,每个月 3 美元即可。

image.png

我们点击 Buy now,左边的套餐即可。我们输入一个有效的邮箱地址。

image.png

确认使用该邮箱地址

image.png

填写相关信息,之后需要接收手机验证码。

image.png

设置一个初始账户,记住自己的企业域名,是 *.onmicrosoft.com 的形式。

image.png

之后,我们可以选择需要购买的数量,1 个即可,输入支付方式信息,需要有借记卡或者信用卡。

image.png

核对信息,确认支付。

image.png

然后,我们便可以登录到管理员中心了。

image.png

我们不需要该订阅的时候,可以在 Billing -> Your products 这里选择取消。

image.png

接下来,我们需要注册设备。访问 https://security.microsoft.com/,进入 Settings -> Endpoints

image.png

首次配置,微软会建议我们分配用户权限和通知,但我们可以暂时跳过,因此我们只是用于个人研究,而非真正管理企业。

image.png

这里,我们选择 Local Script,即本地脚本。通过运行脚本,这会与 Entra ID 建立信任。

image.png

在高完整度下运行命令行,执行脚本

image.png

然后,我们可以运行一个检测测试来验证设备已经注册成功。我们在 C 盘下创建名为 test-MDATP-test 的文件夹,然后运行下述 powershell 命令:

powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference = 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe'

image.png

如果运行后,命令行自动关闭,那么意味着检测测试通过。这里,在运行后,powershell 程序确实被关闭了。

我们可以在面板中看到注册后的设备,以及查看相应的告警。

image.png

检测日志的出现可能存在延迟,不过在运行 mimikatz 的几分钟后,我们便能看到对应的告警。

image.png


Elastic EDR

https://newtonpaul.com/how-to-install-elastic-siem-and-elastic-edr/#Installing_Elastic_EDR_Agent 

https://caueb.com/attackdefense/elasticonraspberrypi/ 

配置 Elastic Stack 以及 EDR 是个比较繁琐的任务,因此我们将用 Docker 简化这一过程。

我们将分别安装 Elasticsearch,Kibana,以及 Fleet。

卸载所有冲突的包:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

image.png

设置 docker 仓库

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

image.png

添加 Docker 的官方 PGP 密钥。

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

image.png

配置仓库:

echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

image.png

更新 APT 包索引

image.png

安装 docker 引擎

apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

image.png

安装依赖

apt-get install jq git curl

image.png

接下来,我们需要安装 elastic 容器

image.png

编辑 .env 文件

image.png

根据自己需要修改账号密码

image.png

开启 Windows 检测,并且根据需要调节 basic 或者 trial,其中 trial 是30天,提供高级检测特性

image.png

赋予执行权,并且启动,脚本将下载和配置容器。

image.png

几分钟后,配置完成。

image.png

于是,我们可以访问 kibana 与 elasticsearch 了。

image.png

image.png

进入左侧导航栏的 Management -> Fleet

image.png

配置 Settings 里的 Outputs Actions,确保 Advanced YAML configuration 的值如图所示。

image.png

添加一个 Agent

image.png

创建新的 policy

image.png

然后,在受控的 Windows 主机上运行下述命令,记得改成自己的 IP。

image.png

$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.12.2-windows-x86_64.zip -OutFile elastic-agent-8.12.2-windows-x86_64.zip
Expand-Archive .\elastic-agent-8.12.2-windows-x86_64.zip -DestinationPath .
cd elastic-agent-8.12.2-windows-x86_64
.\elastic-agent.exe install --url=https://192.168.1.165:8220 --enrollment-token=U1dHZnBvOEJlTFFfLVFjampldW46a3EzU3VqV2NSc2VVTlRxeVBvSkt1QQ== --insecure


image.png

安装完成后,我们便能在列表里看到新注册的设备了。

image.png

选择刚才新建的 Policy,点击 Add Integration,选择 Elastic Defend。

image.png

image.png

添加一个名称,选择 Complete EDR,作用于该 Policy,保存。

image.png

左侧导航栏进入 Security -> Alert

image.png

点击 Manage rules,我们可以看到已经安装的规则,确保他们都是启用的状态。

image.png

我们发现 elastic edr 能拦截恶意软件了。 

image.png

我们也能在面板里看到警告:

image.png