我的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的安装与配置的更多相关文章

  1. CentOs中mysql的安装与配置

    在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...

  2. CentOs中mysql的安装与配置(转)

    在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...

  3. Centos7 中Nginx的安装与配置

    安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...

  4. Linux中Hadoop的安装与配置

    一.准备 1,配通网络 ping www.baidu.com 之前安装虚拟机时配过 2,关闭防火墙 systemctl stop firewalld systemctl disable firewal ...

  5. CentOS7中Tomcat的安装和配置以及启动配置tomcat。启动过程中的易错点

    Tomcat运行需要设置JRE目录,全局变量配置,请参见: Linux下JDK的安装和配置   当然也可以直接修改Tomcat的配置文件,请自行度娘   1.下载并解压 请先去官网找到需要下载的tom ...

  6. linux中neovim+tmux安装与配置遇到的问题

    Neovim 安装与配置 安装 pip3 install neovim 之前安装过anaconda,默认安装python3和pip3 检查状态 :checkhealth 终端输入'nvim' 进入nv ...

  7. idea中maven的安装与配置

    说明:类似maven安装和配置的帖子在网上有很多,本人也有做过参照,但是有些帖子的步骤跳跃性比较大,故此,本人整理了一下,给大家做个参考. 一.下载安装 一般都是在官网进行下载 https://mav ...

  8. CentOS7中Tomcat的安装和配置

    Tomcat运行需要设置JRE目录,全局变量配置,请参见: Linux下JDK的安装和配置   当然也可以直接修改Tomcat的配置文件,请自行度娘   1.下载并解压 请先去官网找到需要下载的tom ...

  9. Kali Linux系统的安装、配置、使用

    这个随便写的,随便看看就好,主要给讲一下安装过程 这里因为我物理机装的本来就是kali.所以懒得重装了,直接拿虚拟机演示一下 物理机安装kali的话,推荐使用rufus使用dd模式刻盘,不会造成之后的 ...

  10. Ubuntu14中supervisor的安装及配置

    supervisor是一款很好用的进程管理工具,其命令也很简单,其安装过程如下: Ubuntu14: 首先保证本地的Python环境是OK的,并且已经安装supervisor包,如果没有安装可以用ea ...

随机推荐

  1. pycharm 关闭符号自动补全

    insert pair bracket 是三种括号的自动补全 insert pair quote 是两种引号的自动补全

  2. xml简单操作

    1.创建简单的XML 1 XmlDocument XmlDoc = new XmlDocument(); 2 //XML声明 3 var xmlDeclaration = XmlDoc.CreateX ...

  3. FPGA MIG调试bug(二)

    目标器件:复旦微FPGA:JFM7K325T8FCBGA676(对标Xilinx Kintex-7系的XC7K325T) 工程背景:送入FPGA的外部时钟为差分时钟,时钟送入FPGA后,经过PLL输出 ...

  4. 0627.selenium请求库*1

    今日内容: 一 Selenium请求库 一 Selenium请求库 1.什么是selenium? selenium是一个自动测试工具,它可以帮我通过代码 去实现驱动浏览器自动执行相应的操作. 所以我们 ...

  5. python中的上下文管理器以及python内建模块contextlib的contextmanager方法

    上下文管理器 上下文管理器是实现了上下文管理协议的对象,其特有的语法是"with -as".主要用于保存和恢复各种全局状态,关闭文件等,并为try-except-finally提供 ...

  6. PHP中的超级变量

    超级变量,又名超级全局变量,是PHP内置的变量,这些变量在代码的任意位置都能正常使用 PHP中的超级变量 9种超级变量 $GLOBALS $_SERVER 9种超级变量 目前,PHP提供了9种超级变量 ...

  7. element ui tabs 标签页支持展开收起修改

    <template> <div class="com-resource-legend" style=""> <el-tabs ty ...

  8. python中下拉框选择

    如选择省区城市 provice = driver.find_element_by_id('****') #先给定位的元素付个变量 select(prvice).select_by_bisible_te ...

  9. ubuntu配置docker全局系统代理

    (1)添加用户到docker用户组 sudo groupadd docker sudo gpasswd -a kang docker (注销系统当前用户,再次登录) #检查是否添加到组 cat /et ...

  10. Drift Programming | 漂移编程 | 哲学编程 | 架构设计 | TDD |DDD |Microservice