搭建 EDR 测试环境
Microsoft Defender for Business
除了 Windows 自带的 Windows Defender,微软还有着 EDR 和 XDR 产品。
XDR 乃至 EDR 的购买主要面向中大型企业,销售会验证企业资质,以及往往有着最低设备数量的要求。因此,对于我们做安全研究与测试有些不便与奢侈。
不过,Microsoft Defender for Business(https://www.microsoft.com/en-us/security/business/endpoint-security/microsoft-defender-business#Microsoft-defender-plans-and-pricing) 为我们提供了个门槛很低的选项,每个月 3 美元即可。
我们点击 Buy now,左边的套餐即可。我们输入一个有效的邮箱地址。
确认使用该邮箱地址
填写相关信息,之后需要接收手机验证码。
设置一个初始账户,记住自己的企业域名,是 *.onmicrosoft.com 的形式。
之后,我们可以选择需要购买的数量,1 个即可,输入支付方式信息,需要有借记卡或者信用卡。
核对信息,确认支付。
然后,我们便可以登录到管理员中心了。
我们不需要该订阅的时候,可以在 Billing -> Your products 这里选择取消。
接下来,我们需要注册设备。访问 https://security.microsoft.com/,进入 Settings -> Endpoints
首次配置,微软会建议我们分配用户权限和通知,但我们可以暂时跳过,因此我们只是用于个人研究,而非真正管理企业。
这里,我们选择 Local Script,即本地脚本。通过运行脚本,这会与 Entra ID 建立信任。
在高完整度下运行命令行,执行脚本
然后,我们可以运行一个检测测试来验证设备已经注册成功。我们在 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'
如果运行后,命令行自动关闭,那么意味着检测测试通过。这里,在运行后,powershell 程序确实被关闭了。
我们可以在面板中看到注册后的设备,以及查看相应的告警。
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
设置 docker 仓库
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
添加 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
配置仓库:
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
更新 APT 包索引
安装 docker 引擎
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装依赖
apt-get install jq git curl
接下来,我们需要安装 elastic 容器
编辑 .env 文件
根据自己需要修改账号密码
开启 Windows 检测,并且根据需要调节 basic 或者 trial,其中 trial 是30天,提供高级检测特性
赋予执行权,并且启动,脚本将下载和配置容器。
几分钟后,配置完成。
于是,我们可以访问 kibana 与 elasticsearch 了。
进入左侧导航栏的 Management -> Fleet
配置 Settings 里的 Outputs Actions,确保 Advanced YAML configuration 的值如图所示。
添加一个 Agent
创建新的 policy
然后,在受控的 Windows 主机上运行下述命令,记得改成自己的 IP。
$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
安装完成后,我们便能在列表里看到新注册的设备了。
选择刚才新建的 Policy,点击 Add Integration,选择 Elastic Defend。
添加一个名称,选择 Complete EDR,作用于该 Policy,保存。
左侧导航栏进入 Security -> Alert
点击 Manage rules,我们可以看到已经安装的规则,确保他们都是启用的状态。
我们发现 elastic edr 能拦截恶意软件了。
我们也能在面板里看到警告: