少走弯路之marshalsec的编译(RMI必备工具)
0x00 实验环境
实验机:Ubuntu18(公网Linux系统)
0x01 安装包
私聊我博客将会第一时间提供安装包环境:
0x02 避坑指南
由上篇文章:https://www.cnblogs.com/cute-puli/p/13466362.html
使用marshalsec辅助开启 RMI环境,此时存在一些误区,如下我将阐明整个安装编译流程:
(1)第一步:安装java1.8.0版本
Ubuntu默认java环境为11,因此我们需要自行下载Linux下java的1.8版本:
这里直接在官网下载即可,此时下载后,我们需要解压该压缩包至/usr/local目录下:
在/usr/local目录下新建一个java目录,将上面的tar包解压至java目录下:
修改配置文件配置环境变量:/etc/profile
将如下配置方式原方不动的复制到该/etc/profile文件末尾即可:
export JAVA_HOME=/usr/local/java/jdk1.8.0_271
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
添加完成之后重启环境变量使之生效
source /etc/profile
查看此时的java版本是并没有变更的,使用以下命令即可将版本切换为java 1.8版本,输入number为对应的java的版本就完成了第一步安装1.8环境的java与切换使用的步骤:
update-alternatives --config java
(2)第二步:安装mvn命令
传统的Ubuntu是无法直接安装mvn命令的,直接使用apt-get 安装软件将提示:
复制Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ****
此时需要自行到如下官网下载maven安装包:
http://maven.apache.org/download.cgi
下载完成后需要将该安装包解压至/opt目录下:
接下来与java的安装流程基本一致,为mvn命令配置全局的环境变量,打开/etc/profile文件,在末尾添加命令:
export M2_HOME=/opt/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin
添加完后使环境生效:
source /etc/profile
进入到/opt/apache-maven-3.6.3/conf输入以下内容查看mvn命令是否安装完成,下图为安装完成的显示:
mvn -version 或者mvn -v
(3)第三步:编译marshalsec
进入到marshalsec文件夹输入如下命令:
mvn clean package -DskipTests
当查看到绿色的SUCCESS时,即可成功编译好marshalsec的jar包:
(4)第四步:marshalsec使用
marshalsec命令格式如下,在target目录下即可正常使用该java 反序列化利用工具 marshalsec:
java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller> [-a] [-v] [-t] [<gadget_type> [<arguments...>]]
使用方法参考如下网址:
https://blog.csdn.net/whatday/article/details/107942941