引言
AoiAWD 是一个由Aodzip(安恒信息 海特实验室研究员、HAC战队成员)维护的一个针对于CTF AWD模式的开源项目。专为比赛设计,便携性好,低权限运行的EDR系统。任何人都可以在 GNU AGPL-3.0 许可下使用该项目和分享该项目的源码。
AoiAWD地址:https://github.com/DasSecurity-HatLab/AoiAWD
0x00 安装环境
- ubuntu-22.04.4
- mongodb-server&php-dev&php-pear
- npm&node
- inotify-tools
0x01更新系统
更换到国内源可以显著提高软件包的下载速度,特别是对于某些国际镜像源访问速度较慢的情况。以下是一些常见 Linux 发行版更换到国内源的基本步骤:
对于基于 Debian/Ubuntu 的系统
- 备份源列表文件:
sudocp /etc/apt/sources.list /etc/apt/sources.list.backup
- 打开源列表文件:
sudovim /etc/apt/sources.list
- 编辑源列表:- 按
i
进入插入模式。- 将文件中的所有deb
和deb-src
行替换为国内镜像源。
- 例如,使用清华大学的镜像源:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse# 预发布软件源,不建议启用# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
阿里源:
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
网易163源:
deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
保存并退出:
- 按
Esc
退出插入模式。 - 输入
:wq
并按回车键保存文件并退出vim
。
- 更新软件包列表:
sudoapt update
sudo apt upgrade
0x02下载项目
git clone https://github.com/DasSecurity-HatLab/AoiAWD.git
PS: 如果没有 git,请先安装 git
sudoaptinstallgit
0x03安装 mongdb 等 AoiAWD 所需依赖
安装mongodb
sudoaptinstall mongodb-server
PS:本人遇到的坑
Ubuntu 22.04
系统中使用
sudo apt install mogodb-server
进行安装mongdb时会报错
ubuntu-22.04.4Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package mongodb-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'mongodb-server' has no installation candidate
解决方法
参考链接
:官方文档
- 从终端安装 gnupg 和 curl(如果尚未安装):
sudoapt-getinstall gnupg curl
- 导入MongoDB的公共GPG密钥,以便系统能够验证软件包的真实性:
curl-fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |\sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \--dearmor
- 为您的 Ubuntu 版本创建一个用于MongoDB的APT源列表文件:
echo"deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse"|sudotee /etc/apt/sources.list.d/mongodb-org-7.0.list
- 更新包列表以包括MongoDB软件包:
sudo apt-get update
- 安装MongoDB:
sudoapt-getinstall-y mongodb-org
- 启动MongoDB服务:
sudo systemctl start mongod
- 设置MongoDB服务在启动时自动启动:
sudo systemctl enable mongod
- 检查MongoDB服务状态:
sudo systemctl status mongod
安装php-mongodb
sudo apt-get install php-dev php-pear
Ubuntu下的php-mongodb存在一些bug,请通过pecl安装并添加扩展
sudo pecl install mongodb
Build process completed successfully
Installing '/usr/lib/php/20210902/mongodb.so'install ok: channel://pecl.php.net/mongodb-1.19.3
configuration option "php_ini" is not set to php.ini location
You should add"extension=mongodb.so" to php.ini
出现这个代表MongoDB 的 PHP 扩展已经成功安装,但需要将扩展添加到 PHP 的配置文件中才能使用。以下是完成此操作的步骤:
- 找到 PHP 的配置文件: 首先,你需要找到
php.ini
文件的位置。你可以使用以下命令来查找:php --ini
- 编辑 PHP 配置文件: 使用文本编辑器编辑
php.ini
文件:【未安装vim?使用sudo apt install vim】``````sudovim /path/to/your/php.ini
将/path/to/your/php.ini
替换为实际的php.ini
文件路径。 - 添加扩展配置: 在
php.ini
文件中,找到[extensions]
部分,并添加以下行:extension=mongodb.so
确保这一行位于[extensions]
部分,或者你可以将其添加到文件的末尾。
按下:键,进入命令模式
输入/;extension定位到待修改的位置
- 按下Enter键再按下i键,进入插入模式
- 将光标通过方向键移动到需要添加的位置,新增一行extension=mongodb.so
!!!注意,前面不能有;否则修改无效,正确修改如下图
设置这两个为Off
phar.readonly = Off
和`phar.require_hash = Off``别忘了去掉前面的分号
保存并退出编辑器
- 验证扩展安装: 使用
php -m
命令来检查 MongoDB 扩展是否已经正确安装:php -m|grep mongodb
如果看到mongodb
在输出中,说明扩展已经成功安装并启用。
inotify-tools库安装
sudoaptinstall inotify-tools
sudoaptinstall libinotifytools-dev
安装完成后,你可以通过运行以下命令来验证 inotify-tools 是否已正确安装:
inotifywait -h
如果安装成功,该命令将输出 inotify-tools 的帮助信息。
安装npm
sudo apt install npm
为了防止出现问题可以将源改为国内
npm config set registry https://registry.npm.taobao.org
这里踩大坑了,因为项目比较老旧所以得安装老版本的npm
我采用NVM安装老版本node实现安装老版本npm的方案
安装NVM
这里用官方的一键脚本进行安装
sudocurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh |bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh |bash
PS:如果出现
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 2024 ms: Connection refused
可以尝试修改host
sudo vim /etc/hosts
在最后一行添加
185.199.108.133 raw.githubusercontent.com
安装node
nvm install14.17.0
将npm版本切换到6.14.13(node14.17.0对应的npm正好为6.14.13)
npminstall-g [email protected]
换国内源
npm config set registry https://registry.npmmirror.com/
0x04 构建Fronted项目
cd AoiAWD
cd Frontend
npm install
npm run build
- 命令执行爆红就安装
node-sass
模块,使用npm install node-sass
或cnpm install node-sass@latest
进行安装。 - 执行成功会在dist/目录下得到index.html和static目录
0x05构建AoiAWD Core
cd../AoiAWD
rm-rf src/public/*
cp-r../Frontend/dist/* src/public/
php compile.php
这样可以得到
aoiawd.phar
0x06构建TapeWorm
cd../TapeWorm
php compile.php
这样可以得到
tapeworm.phar
0x07 构建Guardian
cd../Guardian
php compile.php
这样可以得到
guardian.phar
0x08构建RoundWorm
cd../RoundWorm
make
这样可以得到
roundworm
0x09启动
cd../AoiAWD
./aoiawd.phar
启动成功则如下图:
会提供一个随机token(web控制台登录用)和开放两个端口,1337是控制台web访问端口,8023是探针的接收端口,然后我们通过ip:1337去访问开启的AoiAWD界面
访问AoiAWD界面输入随机生成的token进入,至此AoiAWD搭建完成
关注我们
剑芸信息安全团队:
剑芸安全团队于2022年9月正式成立,以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,重点关注网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多剑芸安全团队。
版权归原作者 厦门建州芸创信息科技有限公司 所有, 如有侵权,请联系我们删除。