تلگرام scheme مربوط به
tg:// رو در سیستمعامل register میکنه؛ کلیک روی چنین لینکی وقتی برنامه بازه، یک process دوم میسازه.بعد process دوم، لینک رو از طریق یک socket محلی به instance در حال اجرا میده؛ دستورها با
; جدا میشن ولی escape نمیشن.اول: یک
; داخل لینک، یک دستور رو به چند دستور تبدیل میکنه ( IPC Injection).دستور
OPEN:هر schemeای رو بدون filter قبول میکنه، از جمله scheme داخلی interpret:.دوم: تابع
InterpretSendPath یک فایل دلخواه رو از روی disk میخونه و بدون confirmation به یک chat میفرسته Arbitrary File Read)فایل instruction مهاجم بهخاطر auto-download در مسیر
Downloads\Telegram Desktop\ میشینه؛ با relative path نیازی به username هم نیست.تحویل لینک با یک https معمولی و 302
redirect به tg:// مخرب انجام میشه.با یک کلیک سه فایل session لو میره: key_datas، فایل authorization و فایل index.
چون local passcode پیشفرض نیست، کلید KEK از یک empty string ساخته میشه و همین برای decrypt کل session کافیه.
مهاجم فایلها رو در tdata تازه میریزه و وارد اکانت قربانی میشه.
@securation
