AoiAWD-轻量级EDR系统
AoiAWD 是一个由Aodzip(安恒信息 海特实验室研究员、HAC战队成员)维护的一个针对于CTF AWD模式的开源项目。专为比赛设计,便携性好,低权限运行的EDR系统。任何人都可以在 GNU AGPL-3.0 许可下使用该项目和分享该项目的源码。
AoiAWD地址:https://github.com/DasSecurity-HatLab/AoiAWD
应用场景
AoiAWD是针对以上场景的限制和痛点设计的,组件间基于socket通信以便灵活部署,具有图形可视化界面。所有行为探针均支持在最低系统权限下运行,且默认不会干扰题目业务逻辑的正常运行,可以绕过绝大部分check脚本的行为检查。支持如下维度的行为捕获能力:
FlagBuster:当检测到输出流量中包含了符合正则的flag字符串,产生大屏告警、标记触发规则的数据包、并将flag精准替换为看起来也像flag的随机数。
KingWatcher:KoH类比赛中,当有其他队伍替换掉了赛点文件时,产生大屏告警。
ZombieKiller:当文件系统上出现了不死马行为,标记可疑文件并产生大屏告警。
系统简介
AoiAWD 分为六个组件,组件间互相配合实现系统的完整功能
MongoDB Server: 日志数据存储数据库
AoiAWD Core:中心数据处理与插件后端服务器
Frontend: 数据可视化平台前端
Guardian: PWN行为探针
TapeWorm: Web行为探针
RoundWorm: 系统进程与文件系统行为探针
我们在正式进入安装Aoiawd之前要设置虚拟机的静态ip
先设置为桥接模式

编辑虚拟网络编辑器。
利用`ipconfig /all`找到网络的`连接描述`、`子网掩码`和`默认网关

更改桥接模式的描述

打开虚拟机用`ifconfig`获得虚拟机的网卡名称
打开Ubuntu网络接口配置
sudo vim /etc/network/interfaces
输入以下内容

输入:wq退出
重启网卡

在进行操作之前,习惯性先进行更新

然后下载`git`和利用`git`来下载`AoiAWD`


回到初始页面,安装所需要的mongdb依赖

在这里,提示我们要对`php.ini`进行更改
在`etc/php/7.2/cli`文件夹中找到`php.ini`进行修改
sudo vim /etc/php/7.2/cli/php.ini

然后把这两个开关改为

进行保存
下一步安装inotifywait

构建Fronted项目

(如果遇到npm WARN 可以直接用npm install -f和npm run build -f)
直接接入淘宝的源,这样npm的时候比较快,但是也需要比较长的时间。也可以选择另一种方式,直接更改为国内npm的源


清除缓存
重新进行`npm install`
安装成功会是这个画面


构建成功后将在dist/目录下得到
index.html
static/
构建AoiAWDcore
构建成功得到aoiawd.phar
构建TapeWorm

构建成功后得到tapeworm.phar
构建Guardian

构建成功后得到guardian.phar
构建RoundWorm

构建成功会得到roundworm
启动AoiAWD


可以得到一串token值作为本次登陆的临时密钥,默认访问端口为1337,监听端口为5023。这样就可以在本机中进行访问了。

恢复动态IP
把刚刚修改的ens33网卡修改为:

重启网卡之后,再将桥接模式改为NET模式即可恢复。
使用方法
搭建完后把刚刚那些文件夹中的生成的文件例如xxx.phar等发送到提供给我们的靶机上去,然后记得赋予权限,ip是云服务器ip,端口就是默认8023
参考文章:https://www.wlhhlc.top/posts/16692/




