前言

什么是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

2.aoiawd的实例使用以及部署