前言
什么是aoiawd?在GitHub中的aoiawd项目中是这样介绍的:AoiAWD 是一个由Aodzip(安恒信息 海特实验室研究员、HAC战队成员)维护的一个针对于CTF AWD模式的开源项目。专为比赛设计,便携性好,低权限运行的EDR系统。任何人都可以在 GNU AGPL-3.0 许可下使用该项目和分享该项目的源码。
那么aoiawd由什么组成呢?
官方文件将AoiAWD 分为六个组件,组件间互相配合实现系统的完整功能
- MongoDB Server: 日志数据存储数据库
- AoiAWD Core: 中心数据处理与插件后端服务器
- Frontend: 数据可视化平台前端
- Guardian: PWN行为探针
- TapeWorm: Web行为探针
- RoundWorm: 系统进程与文件系统行为探针
本篇文章写于2023年1月25日,这意味着往后部分操作同样有可能失效,因此仅供参考。
在文章中我将使用Ubuntu22.04操作系统作为演示,重点讲解MongoDB server和Frontend的安装,最后将分享一次aoiawd的详细使用方式。
构建aoiawd
步骤1:MongoDB server
由于Ubuntu22.04已经弃用mongodb
所以安装mongodb上面有一定的麻烦,在这里我提供两种方式来进行mongodb的安装
1.通过安装mongodb的依赖环境来进行mongodb的安装
在这里附上参考文章(52条消息) Ubuntu22.04下安装MongoDB(6.0版本)并进行相关数据库操作_lion_no_back的博客-CSDN博客
步骤如下:
apt install curl //安装curl服务
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - //导入MongoDB6.0版的公钥
apt-key list //检查公钥是否导入成功
echo “deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list //向APT导入MongoDB6.0版软件包的资源链接
sudo apt update //更新apt
curl -LO http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb //安装MongoDB的依赖libssl1.1
sudo dpkg -i ./libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb //安装MongoDB的依赖libssl1.1
sudo apt install mongodb-org //安装mongodb
sudo systemctl start mongod //启动MongoDB服务
sudo systemctl status mongod //检查MongoDB服务状态
sudo systemctl enable mongod //添加服务在系统启动的时候开启mongodb
2.通过peal安装mongodb
sudo apt-get install php7.4-dev php-pear //安装php-dev和php-pear
sudo pecl install mongodb //通过pecl
步骤2:Frontend server
frontend简而言之就是aoiawd的前端模块,安装frontend有以下步骤:
第一:首先我们需要安装npm依赖
apt install npm
第二:进入到aoiawd中的frontend项目中
cd AoiAWD
cd Frontend
第三:进行初始化项目
npm install
第四:打包,生成环境
npm run build
这便是安装aoiawd的frontend时所需要用到的几条命令,可是在Ubuntu22.04中使用时,由于系统自身所下载的npm和nodejs和shelljs版本与安装aoiawd所需要使用到的版本有所不同,因此会产生报错,解决方法如下:
降低nodejs和npm的版本,修改package,json中的shelljs
注意nodejs的版本要和npm的版本相互对应,不然也会产生报错。以往的版本 | Node.js (nodejs.org)
降低nodejs版本的方法:
首先安装nvm
npm install -g n
通过n安装nodejs
n 14.17.3
降低npm的方式:
npm install npm@6.14.13 -g
修改shelljs的版本为^0.8.5
步骤3:部署aoiawdcore
cd AoiAWD
rm -rf src/public/* #删除
cp -r ../Frontend/dist/* src/public/ #复制静态资源
php compile.php
步骤4:构建TapeWorm
cd TapeWorm
php compile.php
步骤5:构建Guardian
cd Guardian
php compile.php
步骤6:构建RoundWorm
cd RoundWorm
make
启动aoiawd以及aoiawd的使用
1.启动aoiawd
cd AoiAWD
./aoiawd.phar