All Projects → alexbakker → log4shell-tools

alexbakker / log4shell-tools

Licence: MIT License
Tool that runs a test to check whether one of your applications is affected by the recent vulnerabilities in log4j: CVE-2021-44228 and CVE-2021-45046

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
Nix
1067 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to log4shell-tools

log4shell-finder
Fastest filesystem scanner for log4shell (CVE-2021-44228, CVE-2021-45046) and other vulnerable (CVE-2017-5645, CVE-2019-17571, CVE-2022-23305, CVE-2022-23307 ... ) instances of log4j library. Excellent performance and low memory footprint.
Stars: ✭ 22 (-60%)
Mutual labels:  log4j, cve-2021-44228, log4shell, cve-2021-45046
log4jscanwin
Log4j Vulnerability Scanner for Windows
Stars: ✭ 142 (+158.18%)
Mutual labels:  log4j, cve-2021-44228, log4shell, cve-2021-45046
log4shelldetect
Rapidly scan filesystems for Java programs potentially vulnerable to Log4Shell (CVE-2021-44228) or "that Log4j JNDI exploit" by inspecting the class paths inside files
Stars: ✭ 40 (-27.27%)
Mutual labels:  log4j, cve-2021-44228, log4shell, cve-2021-45046
log4jshield
Log4j Shield - fast ⚡, scalable and easy to use Log4j vulnerability CVE-2021-44228 finder and patcher
Stars: ✭ 13 (-76.36%)
Mutual labels:  log4j, cve-2021-44228, log4shell, cve-2021-45046
log4j-detector
Log4J scanner that detects vulnerable Log4J versions (CVE-2021-44228, CVE-2021-45046, etc) on your file-system within any application. It is able to even find Log4J instances that are hidden several layers deep. Works on Linux, Windows, and Mac, and everywhere else Java runs, too!
Stars: ✭ 622 (+1030.91%)
Mutual labels:  log4j, cve-2021-44228, log4shell, cve-2021-45046
logmap
Log4j jndi injection fuzz tool
Stars: ✭ 60 (+9.09%)
Mutual labels:  jndi, cve-2021-44228, log4shell, cve-2021-45046
log4j-scanner
log4j-scanner is a project derived from other members of the open-source community by CISA to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.
Stars: ✭ 1,212 (+2103.64%)
Mutual labels:  log4j, cve-2021-44228, cve-2021-45046
log4jpwn
log4j rce test environment and poc
Stars: ✭ 306 (+456.36%)
Mutual labels:  log4j, cve-2021-44228, log4shell
nmap-log4shell
Nmap Log4Shell NSE script for discovery Apache Log4j RCE (CVE-2021-44228)
Stars: ✭ 54 (-1.82%)
Mutual labels:  log4j, cve-2021-44228, log4shell
log4j-cve-2021-44228
Ansible detector scanner playbook to verify target Linux hosts using the official Red Hat Log4j detector script RHSB-2021-009 Remote Code Execution - log4j (CVE-2021-44228)
Stars: ✭ 58 (+5.45%)
Mutual labels:  log4j, cve-2021-44228, log4shell
Log4jPatcher
A mitigation for CVE-2021-44228 (log4shell) that works by patching the vulnerability at runtime. (Works with any vulnerable java software, tested with java 6 and newer)
Stars: ✭ 43 (-21.82%)
Mutual labels:  log4j, cve-2021-44228, log4shell
fix4log4j
No description or website provided.
Stars: ✭ 21 (-61.82%)
Mutual labels:  ldap, log4j, jndi
Log4j-RCE-Scanner
Remote command execution vulnerability scanner for Log4j.
Stars: ✭ 200 (+263.64%)
Mutual labels:  log4j, cve-2021-44228, log4shell
HackLog4j
《HackLog4j-永恒之恶龙》致敬全宇宙最无敌的Java日志库!Tribute to the most invincible Java logging library in the universe!
Stars: ✭ 161 (+192.73%)
Mutual labels:  log4j, cve-2021-44228, log4shell
CVE-2021-44228-PoC-log4j-bypass-words
🐱‍💻 ✂️ 🤬 CVE-2021-44228 - LOG4J Java exploit - WAF bypass tricks
Stars: ✭ 760 (+1281.82%)
Mutual labels:  log4j, cve-2021-44228, cve-2021-45046
Vm4J
A tool for detect&exploit vmware product log4j(cve-2021-44228) vulnerability.Support VMware HCX/vCenter/NSX/Horizon/vRealize Operations Manager
Stars: ✭ 126 (+129.09%)
Mutual labels:  cve-2021-44228, log4shell
log4j-log4shell-affected
Lists of affected components and affected apps/vendors by CVE-2021-44228 (aka Log4shell or Log4j RCE). This list is meant as a resource for security responders to be able to find and address the vulnerability
Stars: ✭ 49 (-10.91%)
Mutual labels:  log4j, cve-2021-44228
safelog4j
Safelog4j is an instrumentation-based security tool to help teams discover, verify, and solve log4shell vulnerabilities without scanning or upgrading
Stars: ✭ 38 (-30.91%)
Mutual labels:  log4j, log4shell
python-log4rce
An All-In-One Pure Python PoC for CVE-2021-44228
Stars: ✭ 179 (+225.45%)
Mutual labels:  log4j, cve-2021-44228
log4j-shell-poc
A Proof-Of-Concept for the CVE-2021-44228 vulnerability.
Stars: ✭ 1,536 (+2692.73%)
Mutual labels:  log4j, cve-2021-44228

log4shell.tools build

log4shell.tools is a tool that allows you to run a test to check whether one of your applications is affected by the recent vulnerabilities in log4j: CVE-2021-44228 and CVE-2021-45046.

This is the code that runs https://log4shell.tools. If you'd like to inspect the code or run an instance in your own environment, you've come to the right place.

How does this work?

The tool generates a unique ID for you to test with. After you click start, we'll generate a piece of text for you that looks similar to this: ${jndi:ldap://*.dns.log4shell.tools:12345/*}. Copy it and paste it anywhere you suspect it might end up getting passed through log4j. For example: search boxes, form fields or HTTP headers.

Once an outdated version of log4j sees this string, it will perform a DNS lookup to get the IP address of *.dns.log4shell.tools. If this happens, it is considered the first sign of vulnerability to information leakage. Next, it will attempt and LDAP search request to log4shell.tools:12345. The tool responds with a Java class description, along with a URL for where to obtain it. Log4j may even attempt to fetch the class file. The tool will return a 404 and conclude the test.

Screenshot

Installation

The tool was tested with Go 1.16. Make sure it (or a more recent version of Go) is installed and run the following command:

go install github.com/alexbakker/log4shell-tools/cmd/log4shell-tools-server

The binary will be available in $GOPATH/bin

Usage

Since this tool compiles to a single binary, all you have to do is run it to start self hosting an instance of log4shell.tools. To make it accessible by other machines in your network, you'll want to pass a couple of flags to stop the tool from only listening on the loopback interface. If you're exposing this to the internet, you'll probably also want to put a reverse proxy in front of the HTTP server. Ignore the DNS options for now, they're not needed for simple internal deployments.

For the full list of available flags, run log4shell-tools-server -h:

Usage of ./log4shell-tools-server:

This tool only listens on 127.0.0.1 by default. Pass the flags below to customize for your environment.

  -dns-a string
    	the IPv4 address to respond with to any A record queries for 'dns-zone' (default "127.0.0.1")
  -dns-aaaa string
    	the IPv6 address to respond with to any AAAA record queries for 'dns-zone' (default "::1")
  -dns-addr string
    	listening address for the DNS server (default "127.0.0.1:12346")
  -dns-enable
    	enable the DNS server
  -dns-zone string
    	DNS zone that is forwarded to the tool's DNS server (example: "dns.log4shell.tools")
  -http-addr string
    	listening address for the HTTP server (default "127.0.0.1:8001")
  -http-addr-external string
    	address where the HTTP server can be reached externally (default "127.0.0.1:8001")
  -ldap-addr string
    	listening address for the LDAP server (default "127.0.0.1:12345")
  -ldap-addr-external string
    	address where the LDAP server can be reached externally (default "127.0.0.1:12345")
  -ldap-http-proto string
    	the HTTP protocol to use in the payload URL that the LDAP server responds with (default "http")
  -storage string
    	storage connection URI (either memory:// or a postgres:// URI (default "memory://")
  -test-timeout int
    	test timeout in minutes (default 30)

Storage

The tool uses its in-memory storage backend by default. If you need test results to persist across restarts, you may want to use the Postgres backend instead.

DNS

The DNS server is disabled by default, because its configuration options are currently very specific to the setup over at https://log4shell.tools. Let me know if you'd like to help make these more generic.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].