-
Notifications
You must be signed in to change notification settings - Fork 740
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'fullhunt:master' into unit-tests
- Loading branch information
Showing
3 changed files
with
97 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Frequently Asked Questions | ||
|
||
## DNS callback error | ||
|
||
``` | ||
Traceback (most recent call last): | ||
File "/Users/user/src/log4j-scan/log4j-scan.py", line 362, in | ||
main() | ||
File "/Users/user/src/log4j-scan/log4j-scan.py", line 332, in main | ||
dns_callback = Interactsh() | ||
File "/Users/darkcode/src/log4j-scan/log4j-scan.py", line 195, in init | ||
self.register() | ||
File "/Users/user/src/log4j-scan/log4j-scan.py", line 206, in register | ||
raise Exception("Can not initiate interact.sh DNS callback client") | ||
Exception: Can not initiate interact.sh DNS callback client | ||
``` | ||
|
||
It means that the DNS callback provider is down, it's blocked on your network, or you can not connect to the DNS callback provider due to networking issues. You can use an different DNS Callback provider (eg.. with `--dns-callback-provider dnslog.cn`), or you can use a custom DNS callback host with ` --custom-dns-callback-host`. | ||
|
||
--- | ||
|
||
## Running with Python 2 | ||
|
||
``` | ||
File "log4j-scan.py", line 136 | ||
fuzzing_headers["Referer"] = f'https://{fuzzing_headers["Referer"]}' | ||
``` | ||
|
||
It should be related to Python 2 compatibility. The tool requires a modern version of Python 3. | ||
|
||
--- | ||
|
||
# Dependencies issue | ||
|
||
``` | ||
File "/home/parallels/Log4j-RCE-Scanner/log4j-scan/log4j-scan.py", line 22, in | ||
from Crypto.Cipher import AES, PKCS1_OAEP | ||
ModuleNotFoundError: No module named 'Crypto' | ||
``` | ||
|
||
This should be related to Pycrypto. Please install the latest Python PyCryptodome version. If you're still facing dependencies issues, you can use the Docker image. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,15 @@ | |
- Supports DNS callback for vulnerability discovery and validation. | ||
- WAF Bypass payloads. | ||
|
||
--- | ||
# 🚨 Announcement | ||
|
||
There is a patch bypass on Log4J v2.15.0 that allows a full RCE. FullHunt added community support for log4j-scan to reliably detect CVE-2021-45046. If you're having difficulty discovering and scanning your infrastructure at scale or keeping up with the Log4J threat, please get in touch at ([email protected]). | ||
|
||
![](https://dkh9ehwkisc4.cloudfront.net/static/files/d385f9d8-e2b1-4d72-b9c2-a62c4c1c34a0-Screenshot-cve-2021-45046-demo.png) | ||
|
||
--- | ||
|
||
# Description | ||
|
||
We have been researching the Log4J RCE (CVE-2021-44228) since it was released, and we worked in preventing this vulnerability with our customers. We are open-sourcing an open detection and scanning tool for discovering and fuzzing for Log4J RCE CVE-2021-44228 vulnerability. This shall be used by security teams to scan their infrastructure for Log4J RCE, and also test for WAF bypasses that can result in achiving code execution on the organization's environment. | ||
|
@@ -22,7 +31,6 @@ It supports DNS OOB callbacks out of the box, there is no need to setup a DNS ca | |
|
||
|
||
|
||
|
||
# Usage | ||
|
||
```python | ||
|
@@ -37,7 +45,8 @@ optional arguments: | |
-h, --help show this help message and exit | ||
-u URL, --url URL Check a single URL. | ||
-p PROXY, --proxy PROXY | ||
Send requests through proxy. | ||
Send requests through proxy. proxy should be specified in the format supported by requests | ||
(http[s]://<proxy-ip>:<proxy-port>) | ||
-l USEDLIST, --list USEDLIST | ||
Check a list of URLs. | ||
--request-type REQUEST_TYPE | ||
|
@@ -50,10 +59,14 @@ optional arguments: | |
--wait-time WAIT_TIME | ||
Wait time after all URLs are processed (in seconds) - [Default: 5]. | ||
--waf-bypass Extend scans with WAF bypass payloads. | ||
--test-CVE-2021-45046 | ||
Test using payloads for CVE-2021-45046 (detection payloads). | ||
--dns-callback-provider DNS_CALLBACK_PROVIDER | ||
DNS Callback provider (Options: dnslog.cn, interact.sh) - [Default: interact.sh]. | ||
--custom-dns-callback-host CUSTOM_DNS_CALLBACK_HOST | ||
Custom DNS Callback Host. | ||
--disable-http-redirects | ||
Disable HTTP redirects. Note: HTTP redirects are useful as it allows the payloads to have higher chance of reaching vulnerable systems. | ||
``` | ||
|
||
## Scan a Single URL | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters