我的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里 能看到生成的文件

最新文章

  1. CSS——关于z-index及层叠上下文(stacking context)
  2. ipad和iphone的适配
  3. LVS简介
  4. Oracle 存储过程异常处理
  5. asp.net Core开启全新的时代,用视频来告诉你,学习就是这么SO easy。
  6. MD5签名方法
  7. Android笔记——简单解析XML
  8. Codeforces Round #285 (Div. 1) A. Misha and Forest 拓扑排序
  9. HDOJ/HDU 5686 Problem B(斐波拉契+大数~)
  10. weekend110(Hadoop)的 第七天笔记
  11. Java基础知识强化之集合框架笔记11:Collection集合之迭代器的原理及源码解析
  12. Java学习路线图·影响一代又一代程序员的经典书籍!(转)
  13. 牛腩公布系统--HTTP 错误 403.14 - Forbidden
  14. 修改User-Agent来伪装浏览器访问手机站点
  15. java宜立方商城项目
  16. monkey Test 环境配置
  17. spring简述
  18. C++回调:利用Sink
  19. linux 文件搜索
  20. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest C(记忆化搜索)

热门文章

  1. Object.assgin基本知识与相关深浅拷贝
  2. hdu-2544 最短路(SPFA)
  3. tasklist
  4. CodeGym自学笔记06——内存寻址和变量
  5. java原生生成验证码
  6. java 导入Excel数据校验判断哪行那列
  7. 渗透H5棋牌游戏-棋牌游戏开发
  8. 从个人角度谈为什么要使用git多分支?
  9. 容器之docker基础
  10. 将pyinstaller打包的exe文件制作成安装包