kali中MulVAL的安装与配置
我的Kali版本

配置JAVA环境
Kali 2021.3自带openjdk 11的环境
# 验证openjdk11
java --version
javac --version
能输出版本号则说明环境正常
我在验证javac时没有输出正常版本号,显示找不到命令
运行apt install default-jdk后openjdk自动被升级为17
决定删除重装openjdk11
# 确保删除所有openjdk相关
apt-get remove openjdk-11-jre\nsudo apt-get remove openjdk-11-jre-headless
apt-get remove openjdk-17-jre\nsudo apt-get remove openjdk-17-jre-headless
# 验证系统中没有openjdk了
java --version
javac --version
# 安装openjdk11
apt install openjdk-11-jdk openjdk-11-jre -y
# 验证安装成功
java --version
javac --version
配置flex和bison
虽然MulVAL安装文档中没有提示要用到,但不安装会导致编译错误
apt install flex
apt install bison
安装XSB
cd 你的安装目录 我安装在了opt目录下
wget http://xsb.sourceforge.net/downloads/XSB.tar.gz
tar xzvf XSB.tar.gz
cd ./XSB/build
./configure # 检查配置
./makexsb # 编译安装
配置xsb的环境变量
vim ~/.zshrc
将 export PATH=$PATH:/path/to/XSB/bin 添加到文件最末一行
# !!注意修改/path/to/XSB为你的电脑上XSB的实际路径
# :wq 保存文件
source ~/.zshrc
安装Graphviz
apt install graphviz graphviz-doc -y
配置MySQL
Kali自带了mariaDB,没有必要按照其他教程那样再去配置MySQL
但是Kali好像只安装了mariaDB-server或mariaDB-client中的一个,为了避免错误,直接两个都安装上
apt install mariadb-server mariadb-client -y
# 默认mariadb是关闭的,需要启动一下
systemctl start mysql
mysql -uroot -p
# 输入你自己的密码,默认密码为空
# ctrl+Z退出
安装MulVAL
cd 你的安装目录
我把XSB和mulval 都放在opt下的xsb文件夹下了 (命名套路非常迷惑了,别管!
# 用git 直接clone或者登录github先下载压缩包后解压都行,目前的MulVAL版本是1.2.1
git clone https://github.com/risksense/mulval.git mulval
# 设置临时变量,记得替换/path/to为你的安装目录
cd mulval
export MULVALROOT=/path/to/mulval
export PATH=$PATH:$MULVALROOT/bin:$MULVALROOT/utils
# 编译测试
make
此时出现第一个bug
../../bin/xxx 不是目录

解决方法:
mkdir bin
mkdir bin/adapter
mkdir bin/metrics
再次make 又报错

找不到graphit.tab.h文件
解决办法:选其中一个执行
法一:
cd mulval/src/attack_graph
vim Makefile

将图示部分的两个mv 改为cp
法二:
cd mulval/src/attack_graph
bison -d /home/tools/mulval-1.2.1/src/attack_graph/graphit.y
make clean # 清理编译缓存
make # 编译
再次报错 (我真的会谢!!

collect2: error: ld returned 1 exit status
解决办法:
vim src/attack_graph/graphit.l
原来的第5行为YYSTYPE* mylval;
在前面加上 extern 即可
修改后的第5行为:extern YYSTYPE* mylval;
再再再次编译
make clean # 清理编译缓存
make # 编译
这次终于没有报错了!
测试MulVAL
cd testcases
graph_gen.sh 3host/input.P -v -p
测试成功!
在testcases里 能看到生成的文件
kali中MulVAL的安装与配置的更多相关文章
- CentOs中mysql的安装与配置
在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...
- CentOs中mysql的安装与配置(转)
在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...
- Centos7 中Nginx的安装与配置
安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...
- Linux中Hadoop的安装与配置
一.准备 1,配通网络 ping www.baidu.com 之前安装虚拟机时配过 2,关闭防火墙 systemctl stop firewalld systemctl disable firewal ...
- CentOS7中Tomcat的安装和配置以及启动配置tomcat。启动过程中的易错点
Tomcat运行需要设置JRE目录,全局变量配置,请参见: Linux下JDK的安装和配置 当然也可以直接修改Tomcat的配置文件,请自行度娘 1.下载并解压 请先去官网找到需要下载的tom ...
- linux中neovim+tmux安装与配置遇到的问题
Neovim 安装与配置 安装 pip3 install neovim 之前安装过anaconda,默认安装python3和pip3 检查状态 :checkhealth 终端输入'nvim' 进入nv ...
- idea中maven的安装与配置
说明:类似maven安装和配置的帖子在网上有很多,本人也有做过参照,但是有些帖子的步骤跳跃性比较大,故此,本人整理了一下,给大家做个参考. 一.下载安装 一般都是在官网进行下载 https://mav ...
- CentOS7中Tomcat的安装和配置
Tomcat运行需要设置JRE目录,全局变量配置,请参见: Linux下JDK的安装和配置 当然也可以直接修改Tomcat的配置文件,请自行度娘 1.下载并解压 请先去官网找到需要下载的tom ...
- Kali Linux系统的安装、配置、使用
这个随便写的,随便看看就好,主要给讲一下安装过程 这里因为我物理机装的本来就是kali.所以懒得重装了,直接拿虚拟机演示一下 物理机安装kali的话,推荐使用rufus使用dd模式刻盘,不会造成之后的 ...
- Ubuntu14中supervisor的安装及配置
supervisor是一款很好用的进程管理工具,其命令也很简单,其安装过程如下: Ubuntu14: 首先保证本地的Python环境是OK的,并且已经安装supervisor包,如果没有安装可以用ea ...
随机推荐
- 若依-更换数据库-sqlite
基础 我是在ruoyi-vue已经安装了mybatis-plus的基础上进行的修改 关于SQLite SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎. ...
- 04-python垃圾回收机制
python垃圾回收机制 一.引入 解释器在执行定义变量的语法时,会申请内存空间来存放变量值,每一块内存空间都有其唯一的内存地址,我们在前面说过,变量名并不是存放的变量值,而是存放的内存地址,通过访问 ...
- 以图搜图功能实现(windows10版)
1,原理 存储:通过Core项目调取python接口,python通过使用towhee把图片转成向量存在milvus向量数据库中. 查询:通过Core项目调取python接口,python根据查询的图 ...
- Linux用rsync命令秒删十万文件
迁移网站和rm删除大量文件卡住怎么办? 昨天在服务器网站搬家的时候遇到一个小问题,在linux端现在用宝塔面板管理非常方便,于是搬家也偷懒用一键迁移的功能,可以把数据库网站配置等一次性迁移到新服务器, ...
- React Tree树形结构封装工具类
需要依赖 immutable,用于group by分组 buildTree 为入口方法,注意返回的是Immutable.List对象,使用需要调用.toJS()方法转为普通对象 其中 creatNod ...
- redis底层数据结构之字典(dict)
字典(dict) 字典又称为符号表或者关联数组.或映射(map),是一种用于保存键值对(key-value)的抽象数据结构 字典中的每个key都是唯一的,通过key对值来进行查找或修改,时间复杂度为 ...
- Cinder 对接本地LVM存储
系统安装lvm2 yum install lvm2 1.创建 loop 设备 dd if=/dev/zero of=volume_test bs=51200 count=1M 2.挂载loop设备 l ...
- Zabbix3.4 安装配置
第一.配置zabbix的yum源 # rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7 ...
- Postman 测试 Web Service 和 WCF
一.postman 测试web service(1)设置url http://www.oorsprong.org/websamples.countryinfo/countryinfoservice.w ...
- Markdown的在线使用
欢迎使用 Markdown在线编辑器 MdEditor Markdown是一种轻量级的「标记语言」 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容 ...